possible fix to #1356

This commit is contained in:
tildearrow 2023-08-14 16:28:43 -05:00
parent a79c82033c
commit 741d350fe2
5 changed files with 9 additions and 12 deletions

View File

@ -4417,8 +4417,12 @@ void DivEngine::updateSysFlags(int system, bool restart) {
saveLock.unlock();
}
if (restart && isPlaying()) {
playSub(false);
if (restart) {
if (isPlaying()) {
playSub(false);
} else if (freelance) {
reset();
}
}
BUSY_END;
}

View File

@ -754,6 +754,8 @@ void DivPlatformSNES::initEcho() {
}
void DivPlatformSNES::reset() {
writes.clear();
memcpy(sampleMem,copyOfSampleMem,65536);
dsp.init(sampleMem);
dsp.set_output(NULL,0);

View File

@ -1446,7 +1446,6 @@ class FurnaceGUI {
int sysSeparators;
int forceMono;
int controlLayout;
int restartOnFlagChange;
int statusDisplay;
float dpiScale;
int viewPrevPattern;
@ -1612,7 +1611,6 @@ class FurnaceGUI {
sysSeparators(1),
forceMono(0),
controlLayout(3),
restartOnFlagChange(1),
statusDisplay(0),
dpiScale(0.0f),
viewPrevPattern(1),

View File

@ -674,11 +674,6 @@ void FurnaceGUI::drawSettings() {
}
ImGui::Unindent();
bool restartOnFlagChangeB=settings.restartOnFlagChange;
if (ImGui::Checkbox("Restart song when changing chip properties",&restartOnFlagChangeB)) {
settings.restartOnFlagChange=restartOnFlagChangeB;
}
// SUBSECTION START-UP
CONFIG_SUBSECTION("Start-up");
ImGui::Text("Play intro on start-up:");
@ -2954,7 +2949,6 @@ void FurnaceGUI::syncSettings() {
settings.sysSeparators=e->getConfInt("sysSeparators",1);
settings.forceMono=e->getConfInt("forceMono",0);
settings.controlLayout=e->getConfInt("controlLayout",3);
settings.restartOnFlagChange=e->getConfInt("restartOnFlagChange",1);
settings.statusDisplay=e->getConfInt("statusDisplay",0);
settings.dpiScale=e->getConfFloat("dpiScale",0.0f);
settings.viewPrevPattern=e->getConfInt("viewPrevPattern",1);
@ -3327,7 +3321,6 @@ void FurnaceGUI::commitSettings() {
e->setConf("sysSeparators",settings.sysSeparators);
e->setConf("forceMono",settings.forceMono);
e->setConf("controlLayout",settings.controlLayout);
e->setConf("restartOnFlagChange",settings.restartOnFlagChange);
e->setConf("statusDisplay",settings.statusDisplay);
e->setConf("dpiScale",settings.dpiScale);
e->setConf("viewPrevPattern",settings.viewPrevPattern);

View File

@ -24,7 +24,7 @@
bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool modifyOnChange, bool fromMenu) {
bool altered=false;
bool restart=settings.restartOnFlagChange && modifyOnChange;
bool restart=modifyOnChange;
bool supportsCustomRate=true;
switch (type) {