part 2 of more work

This commit is contained in:
tildearrow 2023-12-22 18:23:11 -05:00
parent f80340ebcc
commit 15f0f50def
3 changed files with 50 additions and 4 deletions

View file

@ -66,7 +66,7 @@ void FurnaceGUI::doAction(int what) {
openFileDialog(GUI_FILE_SAVE);
break;
case GUI_ACTION_EXPORT:
curExportType=-1;
curExportType=GUI_EXPORT_NONE;
displayExport=true;
break;
case GUI_ACTION_UNDO:

View file

@ -4139,7 +4139,42 @@ bool FurnaceGUI::loop() {
ImGui::EndMenu();
}
} else if (settings.exportOptionsLayout==2) {
if (ImGui::MenuItem("export audio...")) {
curExportType=GUI_EXPORT_AUDIO;
displayExport=true;
}
if (ImGui::MenuItem("export VGM...")) {
curExportType=GUI_EXPORT_VGM;
displayExport=true;
}
int numZSMCompat=0;
for (int i=0; i<e->song.systemLen; i++) {
if ((e->song.system[i]==DIV_SYSTEM_VERA) || (e->song.system[i]==DIV_SYSTEM_YM2151)) numZSMCompat++;
}
if (numZSMCompat>0) {
if (ImGui::MenuItem("export ZSM...")) {
curExportType=GUI_EXPORT_ZSM;
displayExport=true;
}
}
int numAmiga=0;
for (int i=0; i<e->song.systemLen; i++) {
if (e->song.system[i]==DIV_SYSTEM_AMIGA) numAmiga++;
}
if (numAmiga && settings.iCannotWait) {
if (ImGui::MenuItem("export Amiga validation data...")) {
curExportType=GUI_EXPORT_AMIGA_VAL;
displayExport=true;
}
}
if (ImGui::MenuItem("export text...")) {
curExportType=GUI_EXPORT_TEXT;
displayExport=true;
}
if (ImGui::MenuItem("export command stream...")) {
curExportType=GUI_EXPORT_CMD_STREAM;
displayExport=true;
}
} else {
if (ImGui::MenuItem("export...",BIND_FOR(GUI_ACTION_EXPORT))) {
displayExport=true;
@ -7597,7 +7632,7 @@ FurnaceGUI::FurnaceGUI():
curTutorial(-1),
curTutorialStep(0),
audioExportType(0),
curExportType(-1) {
curExportType(GUI_EXPORT_NONE) {
// value keys
valueKeys[SDLK_0]=0;
valueKeys[SDLK_1]=1;

View file

@ -549,6 +549,17 @@ enum FurnaceGUIWarnings {
GUI_WARN_GENERIC
};
enum FurnaceGUIExportTypes {
GUI_EXPORT_NONE=-1,
GUI_EXPORT_AUDIO=0,
GUI_EXPORT_VGM,
GUI_EXPORT_ZSM,
GUI_EXPORT_CMD_STREAM,
GUI_EXPORT_AMIGA_VAL,
GUI_EXPORT_TEXT
};
enum FurnaceGUIFMAlgs {
FM_ALGS_4OP,
FM_ALGS_2OP_OPL,
@ -2336,7 +2347,7 @@ class FurnaceGUI {
// export options
int audioExportType;
int curExportType;
FurnaceGUIExportTypes curExportType;
void drawExportAudio();
void drawExportVGM();