mark song as modified when wt params edited

This commit is contained in:
Dalia 2024-11-28 21:42:06 -07:00 committed by tildearrow
parent 49e90f10f4
commit e8a173f17d

View file

@ -3099,7 +3099,7 @@ void FurnaceGUI::insTabWavetable(DivInstrument* ins)
ImGui::Text(_("Single-waveform")); ImGui::Text(_("Single-waveform"));
ImGui::Indent(); ImGui::Indent();
for (int i=0; i<DIV_WS_SINGLE_MAX; i++) { for (int i=0; i<DIV_WS_SINGLE_MAX; i++) {
if (ImGui::Selectable(_(singleWSEffects[i]))) { if (ImGui::Selectable(_(singleWSEffects[i]))) { PARAMETER
ins->ws.effect=i; ins->ws.effect=i;
wavePreviewInit=true; wavePreviewInit=true;
} }
@ -3108,7 +3108,7 @@ void FurnaceGUI::insTabWavetable(DivInstrument* ins)
ImGui::Text(_("Dual-waveform")); ImGui::Text(_("Dual-waveform"));
ImGui::Indent(); ImGui::Indent();
for (int i=129; i<DIV_WS_DUAL_MAX; i++) { for (int i=129; i<DIV_WS_DUAL_MAX; i++) {
if (ImGui::Selectable(_(dualWSEffects[i-128]))) { if (ImGui::Selectable(_(dualWSEffects[i-128]))) { PARAMETER
ins->ws.effect=i; ins->ws.effect=i;
wavePreviewInit=true; wavePreviewInit=true;
} }
@ -3191,7 +3191,7 @@ void FurnaceGUI::insTabWavetable(DivInstrument* ins)
} }
ImGui::SameLine(); ImGui::SameLine();
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x); ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
if (ImGui::InputInt("##SelWave1",&ins->ws.wave1,1,4)) { if (ImGui::InputInt("##SelWave1",&ins->ws.wave1,1,4)) { PARAMETER
if (ins->ws.wave1<0) ins->ws.wave1=0; if (ins->ws.wave1<0) ins->ws.wave1=0;
if (ins->ws.wave1>=(int)e->song.wave.size()) ins->ws.wave1=e->song.wave.size()-1; if (ins->ws.wave1>=(int)e->song.wave.size()) ins->ws.wave1=e->song.wave.size()-1;
wavePreviewInit=true; wavePreviewInit=true;
@ -3207,7 +3207,7 @@ void FurnaceGUI::insTabWavetable(DivInstrument* ins)
ImGui::Text(_("Wave 2")); ImGui::Text(_("Wave 2"));
ImGui::SameLine(); ImGui::SameLine();
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x); ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
if (ImGui::InputInt("##SelWave2",&ins->ws.wave2,1,4)) { if (ImGui::InputInt("##SelWave2",&ins->ws.wave2,1,4)) { PARAMETER
if (ins->ws.wave2<0) ins->ws.wave2=0; if (ins->ws.wave2<0) ins->ws.wave2=0;
if (ins->ws.wave2>=(int)e->song.wave.size()) ins->ws.wave2=e->song.wave.size()-1; if (ins->ws.wave2>=(int)e->song.wave.size()) ins->ws.wave2=e->song.wave.size()-1;
wavePreviewInit=true; wavePreviewInit=true;
@ -3256,28 +3256,28 @@ void FurnaceGUI::insTabWavetable(DivInstrument* ins)
ImGui::EndTable(); ImGui::EndTable();
} }
if (ImGui::InputScalar(_("Update Rate"),ImGuiDataType_U8,&ins->ws.rateDivider,&_ONE,&_EIGHT)) { if (ImGui::InputScalar(_("Update Rate"),ImGuiDataType_U8,&ins->ws.rateDivider,&_ONE,&_EIGHT)) { PARAMETER
wavePreviewInit=true; wavePreviewInit=true;
} }
int speed=ins->ws.speed+1; int speed=ins->ws.speed+1;
if (ImGui::InputInt(_("Speed"),&speed,1,8)) { if (ImGui::InputInt(_("Speed"),&speed,1,8)) { PARAMETER
if (speed<1) speed=1; if (speed<1) speed=1;
if (speed>256) speed=256; if (speed>256) speed=256;
ins->ws.speed=speed-1; ins->ws.speed=speed-1;
wavePreviewInit=true; wavePreviewInit=true;
} }
if (ImGui::InputScalar(_("Amount"),ImGuiDataType_U8,&ins->ws.param1,&_ONE,&_EIGHT)) { if (ImGui::InputScalar(_("Amount"),ImGuiDataType_U8,&ins->ws.param1,&_ONE,&_EIGHT)) { PARAMETER
wavePreviewInit=true; wavePreviewInit=true;
} }
if (ins->ws.effect==DIV_WS_PHASE_MOD) { if (ins->ws.effect==DIV_WS_PHASE_MOD) {
if (ImGui::InputScalar(_("Power"),ImGuiDataType_U8,&ins->ws.param2,&_ONE,&_EIGHT)) { if (ImGui::InputScalar(_("Power"),ImGuiDataType_U8,&ins->ws.param2,&_ONE,&_EIGHT)) { PARAMETER
wavePreviewInit=true; wavePreviewInit=true;
} }
} }
if (ImGui::Checkbox(_("Global"),&ins->ws.global)) { if (ImGui::Checkbox(_("Global"),&ins->ws.global)) { PARAMETER
wavePreviewInit=true; wavePreviewInit=true;
} }
} else { } else {