prepare to implement stuff in cmd stream

vol slide with target, tremolo, panbrello and pan slide
This commit is contained in:
tildearrow 2025-04-05 04:33:46 -05:00
parent a49664a3f5
commit 110562c2c4
6 changed files with 80 additions and 160 deletions

View file

@ -68,6 +68,10 @@ const char* cmdName[]={
"HINT_PORTA",
"HINT_LEGATO",
"HINT_VOL_SLIDE_TARGET",
"HINT_TREMOLO",
"HINT_PANBRELLO",
"HINT_PAN_SLIDE",
"HINT_PANNING",
"SAMPLE_MODE",
"SAMPLE_FREQ",
@ -764,6 +768,7 @@ void DivEngine::processRow(int i, bool afterDelay) {
} else {
chan[i].panSpeed=0;
}
dispatchCmd(DivCommand(DIV_CMD_HINT_PAN_SLIDE,i,chan[i].panSpeed&0xff));
break;
case 0x84: // panbrello
if (chan[i].panDepth==0) {
@ -774,6 +779,7 @@ void DivEngine::processRow(int i, bool afterDelay) {
if (chan[i].panDepth!=0) {
chan[i].panSpeed=0;
}
dispatchCmd(DivCommand(DIV_CMD_HINT_PANBRELLO,i,effectVal));
break;
case 0x88: // panning rear (split 4-bit)
chan[i].panRL=(effectVal>>4)|(effectVal&0xf0);
@ -941,6 +947,7 @@ void DivEngine::processRow(int i, bool afterDelay) {
}
chan[i].tremoloDepth=effectVal&15;
chan[i].tremoloRate=effectVal>>4;
dispatchCmd(DivCommand(DIV_CMD_HINT_TREMOLO,i,effectVal));
if (chan[i].tremoloDepth!=0) {
chan[i].volSpeed=0;
chan[i].volSpeedTarget=-1;
@ -1229,6 +1236,7 @@ void DivEngine::processRow(int i, bool afterDelay) {
if (panChanged) {
dispatchCmd(DivCommand(DIV_CMD_PANNING,i,chan[i].panL,chan[i].panR));
dispatchCmd(DivCommand(DIV_CMD_HINT_PANNING,i,chan[i].panL,chan[i].panR));
}
if (surroundPanChanged) {
dispatchCmd(DivCommand(DIV_CMD_SURROUND_PANNING,i,2,chan[i].panRL));