possibly implement envelope release points

no way to set them yet tho other than the MML string
This commit is contained in:
tildearrow 2022-02-08 13:11:04 -05:00
parent 480ae960e4
commit bf537881ce
13 changed files with 80 additions and 0 deletions

View file

@ -416,6 +416,22 @@ int DivPlatformYM2610::dispatch(DivCommand c) {
chan[c.chan].active=false;
chan[c.chan].std.init(NULL);
break;
case DIV_CMD_NOTE_OFF_ENV:
if (c.chan>6) {
immWrite(0x100,0x80|(1<<(c.chan-7)));
break;
}
if (c.chan>3) {
chan[c.chan].std.release();
break;
}
chan[c.chan].keyOff=true;
chan[c.chan].active=false;
chan[c.chan].std.release();
break;
case DIV_CMD_ENV_RELEASE:
chan[c.chan].std.release();
break;
case DIV_CMD_VOLUME: {
chan[c.chan].vol=c.value;
if (!chan[c.chan].std.hasVol) {