GUI: ability to add/del effect cols and EExx value

This commit is contained in:
tildearrow 2021-12-20 19:46:49 -05:00
parent 969d673e0e
commit 7f3885d2b1
5 changed files with 57 additions and 4 deletions

View file

@ -1408,6 +1408,7 @@ void DivEngine::play() {
void DivEngine::stop() {
isBusy.lock();
playing=false;
extValuePresent=false;
isBusy.unlock();
}
@ -1417,6 +1418,8 @@ void DivEngine::reset() {
chan[i].volMax=(dispatch->dispatch(DivCommand(DIV_CMD_GET_VOLMAX,i))<<8)|0xff;
chan[i].volume=chan[i].volMax;
}
extValue=0;
extValuePresent=0;
dispatch->reset();
}
@ -1442,6 +1445,14 @@ int DivEngine::getRow() {
return curRow;
}
bool DivEngine::hasExtValue() {
return extValuePresent;
}
unsigned char DivEngine::getExtValue() {
return extValue;
}
bool DivEngine::isPlaying() {
return playing;
}

View file

@ -77,8 +77,10 @@ class DivEngine {
bool speedAB;
bool endOfSong;
bool consoleMode;
bool extValuePresent;
int ticks, cycles, curRow, curOrder, remainingLoops, nextSpeed, clockDrift;
int changeOrd, changePos, totalTicks, totalCmds, lastCmds, cmdsPerSecond;
unsigned char extValue;
DivStatusView view;
DivChannelState chan[17];
DivAudioEngines audioEngine;
@ -204,6 +206,12 @@ class DivEngine {
// get current row
int getRow();
// has ext value
bool hasExtValue();
// get ext value
unsigned char getExtValue();
// is playing
bool isPlaying();
@ -273,6 +281,7 @@ class DivEngine {
speedAB(false),
endOfSong(false),
consoleMode(false),
extValuePresent(false),
ticks(0),
cycles(0),
curRow(0),
@ -286,6 +295,7 @@ class DivEngine {
totalCmds(0),
lastCmds(0),
cmdsPerSecond(0),
extValue(0),
view(DIV_STATUS_NOTHING),
audioEngine(DIV_AUDIO_SDL),
bbInLen(0),

View file

@ -516,6 +516,8 @@ void DivEngine::processRow(int i, bool afterDelay) {
break;
case 0xee: // external command
//printf("\x1b[1;36m%d: extern command %d\x1b[m\n",i,effectVal);
extValue=effectVal;
extValuePresent=true;
break;
}
}