ref: d1fe0fdbd105df23a2f879b54385074a3891ce2d
parent: 1c44d72e13bbd62790f71206fb061c606ec96337
author: Chris Moeller <kode54@gmail.com>
date: Fri Aug 23 11:56:35 EDT 2013
Fixed XM arpeggio
--- a/dumb/src/it/itrender.c
+++ b/dumb/src/it/itrender.c
@@ -4189,6 +4189,10 @@
int tick = sigrenderer->tick - 1;
if ((sigrenderer->sigdata->flags & (IT_WAS_AN_XM|IT_WAS_A_MOD))!=IT_WAS_AN_XM)
tick = sigrenderer->speed - tick - 1;
+ else if (tick == sigrenderer->speed - 1)
+ tick = 0;
+ else
+ ++tick;
playing->delta *= (float)pow(DUMB_SEMITONE_BASE, channel->arpeggio_offsets[channel->arpeggio_table[tick&31]]);
}
/*