macro editor: add scaling option, show macro len

* extend "autoMacroStepSize" setting to include an option to set the horizontal scale in the macro view based on the longest macro (of the current tab). this means that you'll have a consistent horizontal scale across all the macros, rather than changing for each macro. existing options are unaffected.

* in "single" macro view, i noticed that there was no way of knowing which macros were actually being used (i.e. non-zero len) without selecting each of them individually and then trying to remember. so i added a len readout per macro to the listing.
This commit is contained in:
Adam Lederer 2024-09-11 11:52:42 -07:00
parent 5195f7562a
commit 035ac2978f
2 changed files with 42 additions and 11 deletions

View file

@ -3640,11 +3640,21 @@ void FurnaceGUI::drawSettings() {
}
ImGui::BeginDisabled(settings.macroLayout==2);
bool autoMacroStepSizeB=settings.autoMacroStepSize;
if (ImGui::Checkbox(_("Automatic macro step size/horizontal zoom"),&autoMacroStepSizeB)) {
settings.autoMacroStepSize=autoMacroStepSizeB;
ImGui::Text(_("Macro step size/horizontal zoom:"));
ImGui::Indent();
if (ImGui::RadioButton(_("Manual"),settings.autoMacroStepSize==0)) {
settings.autoMacroStepSize=0;
settingsChanged=true;
}
if (ImGui::RadioButton(_("Automatic per macro"),settings.autoMacroStepSize==1)) {
settings.autoMacroStepSize=1;
settingsChanged=true;
}
if (ImGui::RadioButton(_("Automatic (use longest macro)"),settings.autoMacroStepSize==2)) {
settings.autoMacroStepSize=2;
settingsChanged=true;
}
ImGui::Unindent();
ImGui::EndDisabled();
// SUBSECTION WAVE EDITOR
@ -5295,7 +5305,7 @@ void FurnaceGUI::readConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
clampSetting(settings.backupInterval,10,86400);
clampSetting(settings.backupMaxCopies,1,100);
clampSetting(settings.autoFillSave,0,1);
clampSetting(settings.autoMacroStepSize,0,1);
clampSetting(settings.autoMacroStepSize,0,2);
clampSetting(settings.s3mOPL3,0,1);
if (settings.exportLoops<0.0) settings.exportLoops=0.0;