IT pan and pitch envelopes now carry regardless of new note action being cut

CQTexperiment
Chris Moeller 2013-11-07 19:41:01 -08:00
parent 3f12de6acd
commit 21db2de0cb
1 changed files with 6 additions and 4 deletions

View File

@ -1801,8 +1801,9 @@ static void it_retrigger_note(DUMB_IT_SIGRENDERER *sigrenderer, IT_CHANNEL *chan
else else
nna = channel->playing->instrument->new_note_action; nna = channel->playing->instrument->new_note_action;
if (!(channel->playing->flags & IT_PLAYING_SUSTAINOFF) && nna != NNA_NOTE_CUT) if (!(channel->playing->flags & IT_PLAYING_SUSTAINOFF))
{ {
if (nna != NNA_NOTE_CUT)
vol_env_tick = channel->playing->volume_envelope.tick; vol_env_tick = channel->playing->volume_envelope.tick;
pan_env_tick = channel->playing->pan_envelope.tick; pan_env_tick = channel->playing->pan_envelope.tick;
pitch_env_tick = channel->playing->pitch_envelope.tick; pitch_env_tick = channel->playing->pitch_envelope.tick;
@ -1910,11 +1911,12 @@ static void it_retrigger_note(DUMB_IT_SIGRENDERER *sigrenderer, IT_CHANNEL *chan
if (!channel->playing) if (!channel->playing)
return; return;
if (!envelopes_copied && sigdata->flags & IT_USE_INSTRUMENTS && nna != NNA_NOTE_CUT) { if (!envelopes_copied && sigdata->flags & IT_USE_INSTRUMENTS) {
for (i = 0; i < DUMB_IT_N_NNA_CHANNELS; i++) { for (i = 0; i < DUMB_IT_N_NNA_CHANNELS; i++) {
IT_PLAYING * playing = sigrenderer->playing[i]; IT_PLAYING * playing = sigrenderer->playing[i];
if (!playing || playing->channel != channel) continue; if (!playing || playing->channel != channel) continue;
if (playing->flags & IT_PLAYING_SUSTAINOFF) continue; if (playing->flags & IT_PLAYING_SUSTAINOFF) continue;
if (nna != NNA_NOTE_CUT)
vol_env_tick = playing->volume_envelope.tick; vol_env_tick = playing->volume_envelope.tick;
pan_env_tick = playing->pan_envelope.tick; pan_env_tick = playing->pan_envelope.tick;
pitch_env_tick = playing->pitch_envelope.tick; pitch_env_tick = playing->pitch_envelope.tick;