Mercurial > hg > dmlib
changeset 184:50f55def91e5
Add a minor optimization in the conversion.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sat, 06 Oct 2012 15:10:49 +0300 |
parents | a65f0c3deaa7 |
children | 1f8f4d7cb33b |
files | xm2jss.c |
diffstat | 1 files changed, 22 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/xm2jss.c Sat Oct 06 14:58:29 2012 +0300 +++ b/xm2jss.c Sat Oct 06 15:10:49 2012 +0300 @@ -9,10 +9,14 @@ #include <errno.h> #include "jss.h" #include "jssmod.h" +#include "jssplr.h" #include "dmlib.h" #include "dmargs.h" #include "dmres.h" +#define jmpNMODEffectTable (36) +static const char jmpMODEffectTable[jmpNMODEffectTable] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + char *srcFilename = NULL, *destFilename = NULL; BOOL optIgnoreErrors = FALSE, @@ -866,9 +870,25 @@ for (row = 0; row < p->nrows; row++) for (channel = 0; channel < p->nchannels; channel++, n++) - if (n->instrument >= 0 && n->instrument <= jsetMaxInstruments) { - n->instrument = mapExtInstruments[n->instrument]; + char effect; + + if (n->instrument >= 0 && n->instrument <= jsetMaxInstruments) + n->instrument = mapExtInstruments[n->instrument]; + + JMPGETEFFECT(effect, n->effect); + + switch (effect) + { + case 'C': // Cxx = Set volume + if (n->volume == jsetNotSet) + { + n->volume = n->param; + n->effect = jsetNotSet; + n->param = jsetNotSet; + } + break; + } } }