better volume slide accuracy
volume slide seems to be kind of quirky: - sliding all the way down and then up suddenly sets the vol to max - apparently there is an overflow and the slide stops when it reaches its boundaries (instead of continuing)
This commit is contained in:
parent
67847d79cf
commit
9736b77401
8 changed files with 36 additions and 8 deletions
|
|
@ -32,6 +32,9 @@ int DivPlatformDummy::dispatch(DivCommand c) {
|
|||
case DIV_CMD_GET_VOLUME:
|
||||
return chan[c.chan].vol;
|
||||
break;
|
||||
case DIV_CMD_GET_VOLMAX:
|
||||
return 15;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -301,6 +301,9 @@ int DivPlatformGenesis::dispatch(DivCommand c) {
|
|||
|
||||
break;
|
||||
}
|
||||
case DIV_CMD_GET_VOLMAX:
|
||||
return 127;
|
||||
break;
|
||||
default:
|
||||
printf("WARNING: unimplemented command %d\n",c.cmd);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -20,6 +20,9 @@ int DivPlatformGenesisExt::dispatch(DivCommand c) {
|
|||
case DIV_CMD_VOLUME:
|
||||
chan[c.chan].vol=c.value;
|
||||
break;
|
||||
case DIV_CMD_GET_VOLMAX:
|
||||
return 127;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
@ -35,4 +38,4 @@ int DivPlatformGenesisExt::init(DivEngine* parent, int channels, int sugRate) {
|
|||
|
||||
extMode=true;
|
||||
return 13;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -144,6 +144,9 @@ int DivPlatformSMS::dispatch(DivCommand c) {
|
|||
case DIV_CMD_PRE_PORTA:
|
||||
chan[c.chan].std.init(parent->getIns(chan[c.chan].ins));
|
||||
break;
|
||||
case DIV_CMD_GET_VOLMAX:
|
||||
return 15;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue