Fix Ensoniq DOC swap mode behavior so Ninjaforce's NinjaTracker plays looped instruments correctly.

This commit is contained in:
Christopher Mason 2015-06-06 02:49:33 +00:00
parent 6ff24f85d0
commit eda058cd0b
1 changed files with 1 additions and 4 deletions

View File

@ -1229,11 +1229,8 @@ doc_sound_end(int osc, int can_repeat, double eff_dsamps, double dsamps)
rptr->cur_acc = 0; /* reset internal accumulator*/
if((mode == 3) || (omode == 3)) {
/* swap mode (even if we're one_shot and partner is swap)! */
/* unless we're one-shot and we hit a 0-byte--then */
/* Olivier Goguel says just stop */
rptr->ctl |= 1;
one_shot_stop = (mode == 1) && (!can_repeat);
if(!one_shot_stop && !orptr->running &&
if(!orptr->running &&
(orptr->ctl & 0x1)) {
orptr->ctl = orptr->ctl & (~1);
start_sound(other_osc, eff_dsamps, dsamps);