From 4774a38669d732738ee69ec3b8f2501a05be5f22 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 25 Jul 2024 19:36:40 -0500 Subject: [PATCH] GUI: two more options for SL position --- src/gui/insEdit.cpp | 18 +++++++++++++++--- src/gui/settings.cpp | 12 +++++++++++- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index 108964791..67a39d74a 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -3474,10 +3474,22 @@ void FurnaceGUI::insTabFM(DivInstrument* ins) { TOOLTIP_TEXT(FM_NAME(FM_SL)); } ImGui::TableNextColumn(); + if (settings.susPosition==2) { + ImGui::TableNextColumn(); + CENTER_TEXT(FM_SHORT_NAME(FM_SL)); + ImGui::TextUnformatted(FM_SHORT_NAME(FM_SL)); + TOOLTIP_TEXT(FM_NAME(FM_SL)); + } ImGui::TableNextColumn(); CENTER_TEXT(FM_SHORT_NAME(FM_TL)); ImGui::TextUnformatted(FM_SHORT_NAME(FM_TL)); TOOLTIP_TEXT(FM_NAME(FM_TL)); + if (settings.susPosition==3) { + ImGui::TableNextColumn(); + CENTER_TEXT(FM_SHORT_NAME(FM_SL)); + ImGui::TextUnformatted(FM_SHORT_NAME(FM_SL)); + TOOLTIP_TEXT(FM_NAME(FM_SL)); + } ImGui::TableNextColumn(); if (ins->type==DIV_INS_FM || ins->type==DIV_INS_OPZ || ins->type==DIV_INS_OPM) { CENTER_TEXT(FM_SHORT_NAME(FM_RS)); @@ -3716,7 +3728,7 @@ void FurnaceGUI::insTabFM(DivInstrument* ins) { CENTER_VSLIDER; P(CWVSliderScalar("##RR",ImVec2(20.0f*dpiScale,sliderHeight),ImGuiDataType_U8,&op.rr,&_FIFTEEN,&_ZERO)); rightClickable - if (settings.susPosition==1) { + if (settings.susPosition>0) { ImGui::TableNextColumn(); op.sl&=15; CENTER_VSLIDER; @@ -4204,7 +4216,7 @@ void FurnaceGUI::insTabFM(DivInstrument* ins) { float textX_RR=ImGui::GetCursorPosX(); P(CWVSliderScalar("##RR",ImVec2(20.0f*dpiScale,sliderHeight),ImGuiDataType_U8,&op.rr,&_FIFTEEN,&_ZERO)); rightClickable - if (settings.susPosition==1) { + if (settings.susPosition>0) { ImGui::SameLine(); op.sl&=15; textX_SL=ImGui::GetCursorPosX(); @@ -4920,7 +4932,7 @@ void FurnaceGUI::insTabFM(DivInstrument* ins) { ImGui::TableNextColumn(); ImGui::Text("%s",FM_NAME(FM_RR)); - if (settings.susPosition==1) { + if (settings.susPosition>0) { ImGui::TableNextRow(); ImGui::TableNextColumn(); ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x); diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index 44590ff64..d7bc53430 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -3690,6 +3690,16 @@ void FurnaceGUI::drawSettings() { settings.susPosition=1; settingsChanged=true; } + ImGui::BeginDisabled(settings.fmLayout!=0); + if (ImGui::RadioButton(_("After Release Rate, after spacing##susp2"),settings.susPosition==2)) { + settings.susPosition=2; + settingsChanged=true; + } + if (ImGui::RadioButton(_("After TL##susp3"),settings.susPosition==3)) { + settings.susPosition=3; + settingsChanged=true; + } + ImGui::EndDisabled(); ImGui::Unindent(); bool separateFMColorsB=settings.separateFMColors; @@ -5124,7 +5134,7 @@ void FurnaceGUI::readConfig(DivConfig& conf, FurnaceGUISettingGroups groups) { clampSetting(settings.loadKorean,0,1); clampSetting(settings.loadFallback,0,1); clampSetting(settings.fmLayout,0,6); - clampSetting(settings.susPosition,0,1); + clampSetting(settings.susPosition,0,3); clampSetting(settings.effectCursorDir,0,2); clampSetting(settings.cursorPastePos,0,1); clampSetting(settings.titleBarInfo,0,3);