Mercurial > hg > dmlib
changeset 299:26ead9094940
Implement correct handling of 'M' and '3xx' effects together (aka volume
column tone portamento and effect column tone portamento on same channel.)
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 11 Oct 2012 17:50:06 +0300 |
parents | 6f36a34626cb |
children | 4972ca91d062 |
files | jssplr.c |
diffstat | 1 files changed, 5 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/jssplr.c Thu Oct 11 17:24:47 2012 +0300 +++ b/jssplr.c Thu Oct 11 17:50:06 2012 +0300 @@ -901,7 +901,7 @@ static void jmpProcessNewRow(JSSPlayer * mp, int channel) { JSSNote *currNote; - BOOL newNote = FALSE, newExtInstrument = FALSE; + BOOL newNote = FALSE, newExtInstrument = FALSE, volumePortaSet = FALSE; char effect; int param, paramX, paramY; JSSPlayerChannel *chn = &(mp->channels[channel]); @@ -984,6 +984,7 @@ chn->pitch = chn->oldPitch; chn->note = chn->oldNote; JMPUNSETNDFLAGS(cdfNewPitch | cdfPlay); + volumePortaSet = TRUE; } break; } @@ -1014,6 +1015,9 @@ break; case '3': // 3xy = Porta To Note + if (volumePortaSet) + break; + if (param) chn->iLastPortaToNoteParam = param;