chip flags rewrite, part 6

fix GUI (partially)
This commit is contained in:
tildearrow 2022-09-30 02:14:54 -05:00
parent 468f434b66
commit 89311690a0
6 changed files with 216 additions and 201 deletions

View file

@ -79,6 +79,8 @@ String DivConfig::toBase64() {
ret+=base64Table[(groupOfThree>>12)&63];
ret+="==";
}
logV("toBase64: %s",ret);
return ret;
}
@ -171,6 +173,8 @@ bool DivConfig::loadFromBase64(const char* buf) {
}
}
logV("fromBase64: %s",data);
return loadFromMemory(data.c_str());
}

View file

@ -3467,76 +3467,8 @@ void DivEngine::setOrder(unsigned char order) {
BUSY_END;
}
void DivEngine::setSysFlags(int system, String key, bool value, bool restart) {
void DivEngine::updateSysFlags(int system, bool restart) {
BUSY_BEGIN_SOFT;
saveLock.lock();
song.systemFlags[system].set(key,value);
saveLock.unlock();
disCont[system].dispatch->setFlags(song.systemFlags[system]);
disCont[system].setRates(got.rate);
if (restart && isPlaying()) {
playSub(false);
}
BUSY_END;
}
void DivEngine::setSysFlags(int system, String key, int value, bool restart) {
BUSY_BEGIN_SOFT;
saveLock.lock();
song.systemFlags[system].set(key,value);
saveLock.unlock();
disCont[system].dispatch->setFlags(song.systemFlags[system]);
disCont[system].setRates(got.rate);
if (restart && isPlaying()) {
playSub(false);
}
BUSY_END;
}
void DivEngine::setSysFlags(int system, String key, float value, bool restart) {
BUSY_BEGIN_SOFT;
saveLock.lock();
song.systemFlags[system].set(key,value);
saveLock.unlock();
disCont[system].dispatch->setFlags(song.systemFlags[system]);
disCont[system].setRates(got.rate);
if (restart && isPlaying()) {
playSub(false);
}
BUSY_END;
}
void DivEngine::setSysFlags(int system, String key, double value, bool restart) {
BUSY_BEGIN_SOFT;
saveLock.lock();
song.systemFlags[system].set(key,value);
saveLock.unlock();
disCont[system].dispatch->setFlags(song.systemFlags[system]);
disCont[system].setRates(got.rate);
if (restart && isPlaying()) {
playSub(false);
}
BUSY_END;
}
void DivEngine::setSysFlags(int system, String key, const char* value, bool restart) {
BUSY_BEGIN_SOFT;
saveLock.lock();
song.systemFlags[system].set(key,value);
saveLock.unlock();
disCont[system].dispatch->setFlags(song.systemFlags[system]);
disCont[system].setRates(got.rate);
if (restart && isPlaying()) {
playSub(false);
}
BUSY_END;
}
void DivEngine::setSysFlags(int system, String key, String value, bool restart) {
BUSY_BEGIN_SOFT;
saveLock.lock();
song.systemFlags[system].set(key,value);
saveLock.unlock();
disCont[system].dispatch->setFlags(song.systemFlags[system]);
disCont[system].setRates(got.rate);
if (restart && isPlaying()) {

View file

@ -821,13 +821,8 @@ class DivEngine {
// go to order
void setOrder(unsigned char order);
// set system flags
void setSysFlags(int system, String key, bool value, bool restart);
void setSysFlags(int system, String key, int value, bool restart);
void setSysFlags(int system, String key, float value, bool restart);
void setSysFlags(int system, String key, double value, bool restart);
void setSysFlags(int system, String key, const char* value, bool restart);
void setSysFlags(int system, String key, String value, bool restart);
// update system flags
void updateSysFlags(int system, bool restart);
// set Hz
void setSongRate(float hz, bool pal);