GUI: now let's put these config options into group
s
This commit is contained in:
parent
27f4f6830e
commit
e0108e5635
|
@ -478,6 +478,7 @@ enum FurnaceGUISettingGroups: unsigned int {
|
||||||
GUI_SETTINGS_APPEARANCE=64,
|
GUI_SETTINGS_APPEARANCE=64,
|
||||||
GUI_SETTINGS_LAYOUTS=128,
|
GUI_SETTINGS_LAYOUTS=128,
|
||||||
GUI_SETTINGS_COLOR=256,
|
GUI_SETTINGS_COLOR=256,
|
||||||
|
GUI_SETTINGS_EMULATION=512,
|
||||||
|
|
||||||
GUI_SETTINGS_ALL=0xffffffff
|
GUI_SETTINGS_ALL=0xffffffff
|
||||||
};
|
};
|
||||||
|
|
|
@ -4121,51 +4121,141 @@ void FurnaceGUI::readConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void FurnaceGUI::writeConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
|
void FurnaceGUI::writeConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
|
||||||
conf.set("mainFontSize",settings.mainFontSize);
|
// general
|
||||||
conf.set("headFontSize",settings.headFontSize);
|
if (groups&GUI_SETTINGS_GENERAL) {
|
||||||
conf.set("patFontSize",settings.patFontSize);
|
conf.set("renderDriver",settings.renderDriver);
|
||||||
conf.set("iconSize",settings.iconSize);
|
conf.set("noDMFCompat",settings.noDMFCompat);
|
||||||
conf.set("audioEngine",String(audioBackends[settings.audioEngine]));
|
|
||||||
conf.set("audioDevice",settings.audioDevice);
|
conf.set("dpiScale",settings.dpiScale);
|
||||||
conf.set("midiInDevice",settings.midiInDevice);
|
|
||||||
conf.set("midiOutDevice",settings.midiOutDevice);
|
conf.set("initialSys2",settings.initialSys.toBase64());
|
||||||
conf.set("renderDriver",settings.renderDriver);
|
conf.set("initialSysName",settings.initialSysName);
|
||||||
conf.set("sdlAudioDriver",settings.sdlAudioDriver);
|
}
|
||||||
conf.set("audioQuality",settings.audioQuality);
|
|
||||||
conf.set("audioHiPass",settings.audioHiPass);
|
// audio
|
||||||
conf.set("audioBufSize",settings.audioBufSize);
|
if (groups&GUI_SETTINGS_AUDIO) {
|
||||||
conf.set("audioRate",settings.audioRate);
|
conf.set("audioEngine",String(audioBackends[settings.audioEngine]));
|
||||||
conf.set("audioChans",settings.audioChans);
|
conf.set("audioDevice",settings.audioDevice);
|
||||||
conf.set("arcadeCore",settings.arcadeCore);
|
conf.set("midiInDevice",settings.midiInDevice);
|
||||||
conf.set("ym2612Core",settings.ym2612Core);
|
conf.set("midiOutDevice",settings.midiOutDevice);
|
||||||
conf.set("snCore",settings.snCore);
|
conf.set("sdlAudioDriver",settings.sdlAudioDriver);
|
||||||
conf.set("nesCore",settings.nesCore);
|
conf.set("audioQuality",settings.audioQuality);
|
||||||
conf.set("fdsCore",settings.fdsCore);
|
conf.set("audioHiPass",settings.audioHiPass);
|
||||||
conf.set("c64Core",settings.c64Core);
|
conf.set("audioBufSize",settings.audioBufSize);
|
||||||
conf.set("pokeyCore",settings.pokeyCore);
|
conf.set("audioRate",settings.audioRate);
|
||||||
conf.set("opnCore",settings.opnCore);
|
conf.set("audioChans",settings.audioChans);
|
||||||
conf.set("opl2Core",settings.opl2Core);
|
}
|
||||||
conf.set("opl3Core",settings.opl3Core);
|
|
||||||
conf.set("arcadeCoreRender",settings.arcadeCoreRender);
|
// MIDI
|
||||||
conf.set("ym2612CoreRender",settings.ym2612CoreRender);
|
if (groups&GUI_SETTINGS_MIDI) {
|
||||||
conf.set("snCoreRender",settings.snCoreRender);
|
|
||||||
conf.set("nesCoreRender",settings.nesCoreRender);
|
}
|
||||||
conf.set("fdsCoreRender",settings.fdsCoreRender);
|
|
||||||
conf.set("c64CoreRender",settings.c64CoreRender);
|
// keyboard
|
||||||
conf.set("pokeyCoreRender",settings.pokeyCoreRender);
|
if (groups&GUI_SETTINGS_KEYBOARD) {
|
||||||
conf.set("opnCoreRender",settings.opnCoreRender);
|
// keybinds
|
||||||
conf.set("opl2CoreRender",settings.opl2CoreRender);
|
for (int i=0; i<GUI_ACTION_MAX; i++) {
|
||||||
conf.set("opl3CoreRender",settings.opl3CoreRender);
|
if (guiActions[i].defaultBind==-1) continue; // not a bind
|
||||||
conf.set("pcSpeakerOutMethod",settings.pcSpeakerOutMethod);
|
conf.set(String("keybind_GUI_ACTION_")+String(guiActions[i].name),actionKeys[i]);
|
||||||
conf.set("yrw801Path",settings.yrw801Path);
|
}
|
||||||
conf.set("tg100Path",settings.tg100Path);
|
|
||||||
conf.set("mu5Path",settings.mu5Path);
|
conf.set("noteKeys",encodeKeyMap(noteKeys));
|
||||||
conf.set("mainFont",settings.mainFont);
|
}
|
||||||
conf.set("headFont",settings.headFont);
|
|
||||||
conf.set("patFont",settings.patFont);
|
// behavior
|
||||||
conf.set("mainFontPath",settings.mainFontPath);
|
if (groups&GUI_SETTINGS_BEHAVIOR) {
|
||||||
conf.set("headFontPath",settings.headFontPath);
|
|
||||||
conf.set("patFontPath",settings.patFontPath);
|
}
|
||||||
|
|
||||||
|
// font
|
||||||
|
if (groups&GUI_SETTINGS_FONT) {
|
||||||
|
conf.set("mainFontSize",settings.mainFontSize);
|
||||||
|
conf.set("headFontSize",settings.headFontSize);
|
||||||
|
conf.set("patFontSize",settings.patFontSize);
|
||||||
|
conf.set("iconSize",settings.iconSize);
|
||||||
|
|
||||||
|
conf.set("mainFont",settings.mainFont);
|
||||||
|
conf.set("headFont",settings.headFont);
|
||||||
|
conf.set("patFont",settings.patFont);
|
||||||
|
conf.set("mainFontPath",settings.mainFontPath);
|
||||||
|
conf.set("headFontPath",settings.headFontPath);
|
||||||
|
conf.set("patFontPath",settings.patFontPath);
|
||||||
|
|
||||||
|
conf.set("loadJapanese",settings.loadJapanese);
|
||||||
|
conf.set("loadChinese",settings.loadChinese);
|
||||||
|
conf.set("loadChineseTraditional",settings.loadChineseTraditional);
|
||||||
|
conf.set("loadKorean",settings.loadKorean);
|
||||||
|
}
|
||||||
|
|
||||||
|
// appearance
|
||||||
|
if (groups&GUI_SETTINGS_APPEARANCE) {
|
||||||
|
conf.set("oscRoundedCorners",settings.oscRoundedCorners);
|
||||||
|
conf.set("oscTakesEntireWindow",settings.oscTakesEntireWindow);
|
||||||
|
conf.set("oscBorder",settings.oscBorder);
|
||||||
|
conf.set("oscEscapesBoundary",settings.oscEscapesBoundary);
|
||||||
|
conf.set("oscMono",settings.oscMono);
|
||||||
|
conf.set("oscAntiAlias",settings.oscAntiAlias);
|
||||||
|
|
||||||
|
conf.set("channelColors",settings.channelColors);
|
||||||
|
conf.set("channelTextColors",settings.channelTextColors);
|
||||||
|
conf.set("channelStyle",settings.channelStyle);
|
||||||
|
conf.set("channelVolStyle",settings.channelVolStyle);
|
||||||
|
conf.set("channelFeedbackStyle",settings.channelFeedbackStyle);
|
||||||
|
conf.set("channelFont",settings.channelFont);
|
||||||
|
conf.set("channelTextCenter",settings.channelTextCenter);
|
||||||
|
}
|
||||||
|
|
||||||
|
// layout
|
||||||
|
if (groups&GUI_SETTINGS_LAYOUTS) {
|
||||||
|
conf.set("fmLayout",settings.fmLayout);
|
||||||
|
conf.set("sampleLayout",settings.sampleLayout);
|
||||||
|
conf.set("waveLayout",settings.waveLayout);
|
||||||
|
conf.set("exportOptionsLayout",settings.exportOptionsLayout);
|
||||||
|
}
|
||||||
|
|
||||||
|
// color
|
||||||
|
if (groups&GUI_SETTINGS_COLOR) {
|
||||||
|
conf.set("guiColorsBase",settings.guiColorsBase);
|
||||||
|
conf.set("guiColorsShading",settings.guiColorsShading);
|
||||||
|
conf.set("basicColors",settings.basicColors);
|
||||||
|
|
||||||
|
// colors
|
||||||
|
for (int i=0; i<GUI_COLOR_MAX; i++) {
|
||||||
|
conf.set(guiColors[i].name,(int)ImGui::ColorConvertFloat4ToU32(uiColors[i]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// emulation
|
||||||
|
if (groups&GUI_SETTINGS_EMULATION) {
|
||||||
|
conf.set("arcadeCore",settings.arcadeCore);
|
||||||
|
conf.set("ym2612Core",settings.ym2612Core);
|
||||||
|
conf.set("snCore",settings.snCore);
|
||||||
|
conf.set("nesCore",settings.nesCore);
|
||||||
|
conf.set("fdsCore",settings.fdsCore);
|
||||||
|
conf.set("c64Core",settings.c64Core);
|
||||||
|
conf.set("pokeyCore",settings.pokeyCore);
|
||||||
|
conf.set("opnCore",settings.opnCore);
|
||||||
|
conf.set("opl2Core",settings.opl2Core);
|
||||||
|
conf.set("opl3Core",settings.opl3Core);
|
||||||
|
conf.set("arcadeCoreRender",settings.arcadeCoreRender);
|
||||||
|
conf.set("ym2612CoreRender",settings.ym2612CoreRender);
|
||||||
|
conf.set("snCoreRender",settings.snCoreRender);
|
||||||
|
conf.set("nesCoreRender",settings.nesCoreRender);
|
||||||
|
conf.set("fdsCoreRender",settings.fdsCoreRender);
|
||||||
|
conf.set("c64CoreRender",settings.c64CoreRender);
|
||||||
|
conf.set("pokeyCoreRender",settings.pokeyCoreRender);
|
||||||
|
conf.set("opnCoreRender",settings.opnCoreRender);
|
||||||
|
conf.set("opl2CoreRender",settings.opl2CoreRender);
|
||||||
|
conf.set("opl3CoreRender",settings.opl3CoreRender);
|
||||||
|
|
||||||
|
conf.set("pcSpeakerOutMethod",settings.pcSpeakerOutMethod);
|
||||||
|
|
||||||
|
conf.set("yrw801Path",settings.yrw801Path);
|
||||||
|
conf.set("tg100Path",settings.tg100Path);
|
||||||
|
conf.set("mu5Path",settings.mu5Path);
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: the fucking rest
|
||||||
conf.set("patRowsBase",settings.patRowsBase);
|
conf.set("patRowsBase",settings.patRowsBase);
|
||||||
conf.set("orderRowsBase",settings.orderRowsBase);
|
conf.set("orderRowsBase",settings.orderRowsBase);
|
||||||
conf.set("soloAction",settings.soloAction);
|
conf.set("soloAction",settings.soloAction);
|
||||||
|
@ -4186,10 +4276,7 @@ void FurnaceGUI::writeConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
|
||||||
conf.set("forceMono",settings.forceMono);
|
conf.set("forceMono",settings.forceMono);
|
||||||
conf.set("controlLayout",settings.controlLayout);
|
conf.set("controlLayout",settings.controlLayout);
|
||||||
conf.set("statusDisplay",settings.statusDisplay);
|
conf.set("statusDisplay",settings.statusDisplay);
|
||||||
conf.set("dpiScale",settings.dpiScale);
|
|
||||||
conf.set("viewPrevPattern",settings.viewPrevPattern);
|
conf.set("viewPrevPattern",settings.viewPrevPattern);
|
||||||
conf.set("guiColorsBase",settings.guiColorsBase);
|
|
||||||
conf.set("guiColorsShading",settings.guiColorsShading);
|
|
||||||
conf.set("avoidRaisingPattern",settings.avoidRaisingPattern);
|
conf.set("avoidRaisingPattern",settings.avoidRaisingPattern);
|
||||||
conf.set("insFocusesPattern",settings.insFocusesPattern);
|
conf.set("insFocusesPattern",settings.insFocusesPattern);
|
||||||
conf.set("stepOnInsert",settings.stepOnInsert);
|
conf.set("stepOnInsert",settings.stepOnInsert);
|
||||||
|
@ -4198,13 +4285,6 @@ void FurnaceGUI::writeConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
|
||||||
conf.set("roundedWindows",settings.roundedWindows);
|
conf.set("roundedWindows",settings.roundedWindows);
|
||||||
conf.set("roundedButtons",settings.roundedButtons);
|
conf.set("roundedButtons",settings.roundedButtons);
|
||||||
conf.set("roundedMenus",settings.roundedMenus);
|
conf.set("roundedMenus",settings.roundedMenus);
|
||||||
conf.set("loadJapanese",settings.loadJapanese);
|
|
||||||
conf.set("loadChinese",settings.loadChinese);
|
|
||||||
conf.set("loadChineseTraditional",settings.loadChineseTraditional);
|
|
||||||
conf.set("loadKorean",settings.loadKorean);
|
|
||||||
conf.set("fmLayout",settings.fmLayout);
|
|
||||||
conf.set("sampleLayout",settings.sampleLayout);
|
|
||||||
conf.set("waveLayout",settings.waveLayout);
|
|
||||||
conf.set("susPosition",settings.susPosition);
|
conf.set("susPosition",settings.susPosition);
|
||||||
conf.set("effectCursorDir",settings.effectCursorDir);
|
conf.set("effectCursorDir",settings.effectCursorDir);
|
||||||
conf.set("cursorPastePos",settings.cursorPastePos);
|
conf.set("cursorPastePos",settings.cursorPastePos);
|
||||||
|
@ -4212,12 +4292,7 @@ void FurnaceGUI::writeConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
|
||||||
conf.set("titleBarSys",settings.titleBarSys);
|
conf.set("titleBarSys",settings.titleBarSys);
|
||||||
conf.set("frameBorders",settings.frameBorders);
|
conf.set("frameBorders",settings.frameBorders);
|
||||||
conf.set("effectDeletionAltersValue",settings.effectDeletionAltersValue);
|
conf.set("effectDeletionAltersValue",settings.effectDeletionAltersValue);
|
||||||
conf.set("oscRoundedCorners",settings.oscRoundedCorners);
|
|
||||||
conf.set("oscTakesEntireWindow",settings.oscTakesEntireWindow);
|
|
||||||
conf.set("oscBorder",settings.oscBorder);
|
|
||||||
conf.set("oscEscapesBoundary",settings.oscEscapesBoundary);
|
|
||||||
conf.set("oscMono",settings.oscMono);
|
|
||||||
conf.set("oscAntiAlias",settings.oscAntiAlias);
|
|
||||||
conf.set("separateFMColors",settings.separateFMColors);
|
conf.set("separateFMColors",settings.separateFMColors);
|
||||||
conf.set("insEditColorize",settings.insEditColorize);
|
conf.set("insEditColorize",settings.insEditColorize);
|
||||||
conf.set("metroVol",settings.metroVol);
|
conf.set("metroVol",settings.metroVol);
|
||||||
|
@ -4233,8 +4308,6 @@ void FurnaceGUI::writeConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
|
||||||
conf.set("eventDelay",settings.eventDelay);
|
conf.set("eventDelay",settings.eventDelay);
|
||||||
conf.set("moveWindowTitle",settings.moveWindowTitle);
|
conf.set("moveWindowTitle",settings.moveWindowTitle);
|
||||||
conf.set("hiddenSystems",settings.hiddenSystems);
|
conf.set("hiddenSystems",settings.hiddenSystems);
|
||||||
conf.set("initialSys2",settings.initialSys.toBase64());
|
|
||||||
conf.set("initialSysName",settings.initialSysName);
|
|
||||||
conf.set("horizontalDataView",settings.horizontalDataView);
|
conf.set("horizontalDataView",settings.horizontalDataView);
|
||||||
conf.set("noMultiSystem",settings.noMultiSystem);
|
conf.set("noMultiSystem",settings.noMultiSystem);
|
||||||
conf.set("oldMacroVSlider",settings.oldMacroVSlider);
|
conf.set("oldMacroVSlider",settings.oldMacroVSlider);
|
||||||
|
@ -4258,13 +4331,6 @@ void FurnaceGUI::writeConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
|
||||||
conf.set("emptyLabel",settings.emptyLabel);
|
conf.set("emptyLabel",settings.emptyLabel);
|
||||||
conf.set("emptyLabel2",settings.emptyLabel2);
|
conf.set("emptyLabel2",settings.emptyLabel2);
|
||||||
conf.set("saveUnusedPatterns",settings.saveUnusedPatterns);
|
conf.set("saveUnusedPatterns",settings.saveUnusedPatterns);
|
||||||
conf.set("channelColors",settings.channelColors);
|
|
||||||
conf.set("channelTextColors",settings.channelTextColors);
|
|
||||||
conf.set("channelStyle",settings.channelStyle);
|
|
||||||
conf.set("channelVolStyle",settings.channelVolStyle);
|
|
||||||
conf.set("channelFeedbackStyle",settings.channelFeedbackStyle);
|
|
||||||
conf.set("channelFont",settings.channelFont);
|
|
||||||
conf.set("channelTextCenter",settings.channelTextCenter);
|
|
||||||
conf.set("maxRecentFile",settings.maxRecentFile);
|
conf.set("maxRecentFile",settings.maxRecentFile);
|
||||||
conf.set("midiOutClock",settings.midiOutClock);
|
conf.set("midiOutClock",settings.midiOutClock);
|
||||||
conf.set("midiOutTime",settings.midiOutTime);
|
conf.set("midiOutTime",settings.midiOutTime);
|
||||||
|
@ -4293,7 +4359,6 @@ void FurnaceGUI::writeConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
|
||||||
conf.set("newSongBehavior",settings.newSongBehavior);
|
conf.set("newSongBehavior",settings.newSongBehavior);
|
||||||
conf.set("memUsageUnit",settings.memUsageUnit);
|
conf.set("memUsageUnit",settings.memUsageUnit);
|
||||||
conf.set("cursorFollowsWheel",settings.cursorFollowsWheel);
|
conf.set("cursorFollowsWheel",settings.cursorFollowsWheel);
|
||||||
conf.set("noDMFCompat",settings.noDMFCompat);
|
|
||||||
conf.set("removeInsOff",settings.removeInsOff);
|
conf.set("removeInsOff",settings.removeInsOff);
|
||||||
conf.set("removeVolOff",settings.removeVolOff);
|
conf.set("removeVolOff",settings.removeVolOff);
|
||||||
conf.set("playOnLoad",settings.playOnLoad);
|
conf.set("playOnLoad",settings.playOnLoad);
|
||||||
|
@ -4302,7 +4367,6 @@ void FurnaceGUI::writeConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
|
||||||
conf.set("centerPopup",settings.centerPopup);
|
conf.set("centerPopup",settings.centerPopup);
|
||||||
conf.set("insIconsStyle",settings.insIconsStyle);
|
conf.set("insIconsStyle",settings.insIconsStyle);
|
||||||
conf.set("classicChipOptions",settings.classicChipOptions);
|
conf.set("classicChipOptions",settings.classicChipOptions);
|
||||||
conf.set("exportOptionsLayout",settings.exportOptionsLayout);
|
|
||||||
conf.set("wasapiEx",settings.wasapiEx);
|
conf.set("wasapiEx",settings.wasapiEx);
|
||||||
conf.set("chanOscThreads",settings.chanOscThreads);
|
conf.set("chanOscThreads",settings.chanOscThreads);
|
||||||
conf.set("renderPoolThreads",settings.renderPoolThreads);
|
conf.set("renderPoolThreads",settings.renderPoolThreads);
|
||||||
|
@ -4316,20 +4380,6 @@ void FurnaceGUI::writeConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
|
||||||
conf.set("fontAutoHint",settings.fontAutoHint);
|
conf.set("fontAutoHint",settings.fontAutoHint);
|
||||||
conf.set("fontAntiAlias",settings.fontAntiAlias);
|
conf.set("fontAntiAlias",settings.fontAntiAlias);
|
||||||
conf.set("selectAssetOnLoad",settings.selectAssetOnLoad);
|
conf.set("selectAssetOnLoad",settings.selectAssetOnLoad);
|
||||||
conf.set("basicColors",settings.basicColors);
|
|
||||||
|
|
||||||
// colors
|
|
||||||
for (int i=0; i<GUI_COLOR_MAX; i++) {
|
|
||||||
conf.set(guiColors[i].name,(int)ImGui::ColorConvertFloat4ToU32(uiColors[i]));
|
|
||||||
}
|
|
||||||
|
|
||||||
// keybinds
|
|
||||||
for (int i=0; i<GUI_ACTION_MAX; i++) {
|
|
||||||
if (guiActions[i].defaultBind==-1) continue; // not a bind
|
|
||||||
conf.set(String("keybind_GUI_ACTION_")+String(guiActions[i].name),actionKeys[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
conf.set("noteKeys",encodeKeyMap(noteKeys));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void FurnaceGUI::syncSettings() {
|
void FurnaceGUI::syncSettings() {
|
||||||
|
|
Loading…
Reference in a new issue