ref: 2c9ca950a32cd2de05ed8ae384ad08248793fecd
parent: e07088e5f65186f78681116f3337a89d9db3f5ae
author: Chris Moeller <kode54@gmail.com>
date: Thu Nov 7 14:36:22 EST 2013
Pan and pitch envelopes carry regardless of NNA being note cut
--- a/dumb/src/it/itrender.c
+++ b/dumb/src/it/itrender.c
@@ -1801,9 +1801,10 @@
else
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))
{
- vol_env_tick = channel->playing->volume_envelope.tick;
+ if (nna != NNA_NOTE_CUT)
+ vol_env_tick = channel->playing->volume_envelope.tick;
pan_env_tick = channel->playing->pan_envelope.tick;
pitch_env_tick = channel->playing->pitch_envelope.tick;
envelopes_copied = 1;
@@ -1910,12 +1911,13 @@
if (!channel->playing)
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++) {
IT_PLAYING * playing = sigrenderer->playing[i];
if (!playing || playing->channel != channel) continue;
if (playing->flags & IT_PLAYING_SUSTAINOFF) continue;
- vol_env_tick = playing->volume_envelope.tick;
+ if (nna != NNA_NOTE_CUT)
+ vol_env_tick = playing->volume_envelope.tick;
pan_env_tick = playing->pan_envelope.tick;
pitch_env_tick = playing->pitch_envelope.tick;
envelopes_copied = 1;