mirror of
https://github.com/tildearrow/furnace.git
synced 2025-01-05 07:01:21 +00:00
GUI: add an option to exit mobile UI
This commit is contained in:
parent
0ac92209d0
commit
f2e519d71e
3 changed files with 121 additions and 74 deletions
|
@ -135,89 +135,127 @@ void FurnaceGUI::drawMobileControls() {
|
||||||
if (ImGui::Button("Sample",buttonSize)) {
|
if (ImGui::Button("Sample",buttonSize)) {
|
||||||
mobScene=GUI_SCENE_SAMPLE;
|
mobScene=GUI_SCENE_SAMPLE;
|
||||||
}
|
}
|
||||||
|
ImGui::TableNextRow();
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
if (ImGui::Button("Song",buttonSize)) {
|
||||||
|
mobScene=GUI_SCENE_SONG;
|
||||||
|
}
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
if (ImGui::Button("Channels",buttonSize)) {
|
||||||
|
mobScene=GUI_SCENE_CHANNELS;
|
||||||
|
}
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
if (ImGui::Button("Chips",buttonSize)) {
|
||||||
|
mobScene=GUI_SCENE_CHIPS;
|
||||||
|
}
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
if (ImGui::Button("Other",buttonSize)) {
|
||||||
|
mobScene=GUI_SCENE_OTHER;
|
||||||
|
}
|
||||||
ImGui::EndTable();
|
ImGui::EndTable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ImGui::Separator();
|
||||||
|
|
||||||
if (settings.unifiedDataView) {
|
if (settings.unifiedDataView) {
|
||||||
drawInsList(true);
|
drawInsList(true);
|
||||||
} else {
|
} else {
|
||||||
switch (mobScene) {
|
switch (mobScene) {
|
||||||
|
case GUI_SCENE_PATTERN:
|
||||||
|
case GUI_SCENE_ORDERS:
|
||||||
|
case GUI_SCENE_INSTRUMENT:
|
||||||
|
drawInsList(true);
|
||||||
|
break;
|
||||||
case GUI_SCENE_WAVETABLE:
|
case GUI_SCENE_WAVETABLE:
|
||||||
drawWaveList(true);
|
drawWaveList(true);
|
||||||
break;
|
break;
|
||||||
case GUI_SCENE_SAMPLE:
|
case GUI_SCENE_SAMPLE:
|
||||||
drawSampleList(true);
|
drawSampleList(true);
|
||||||
break;
|
break;
|
||||||
default:
|
case GUI_SCENE_SONG: {
|
||||||
drawInsList(true);
|
if (ImGui::Button("New")) {
|
||||||
|
mobileMenuOpen=false;
|
||||||
|
//doAction(GUI_ACTION_NEW);
|
||||||
|
if (modified) {
|
||||||
|
showWarning("Unsaved changes! Save changes before creating a new song?",GUI_WARN_NEW);
|
||||||
|
} else {
|
||||||
|
displayNew=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGui::Button("Open")) {
|
||||||
|
mobileMenuOpen=false;
|
||||||
|
doAction(GUI_ACTION_OPEN);
|
||||||
|
}
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGui::Button("Save")) {
|
||||||
|
mobileMenuOpen=false;
|
||||||
|
doAction(GUI_ACTION_SAVE);
|
||||||
|
}
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGui::Button("Save as...")) {
|
||||||
|
mobileMenuOpen=false;
|
||||||
|
doAction(GUI_ACTION_SAVE_AS);
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui::Button("1.1+ .dmf");
|
||||||
|
ImGui::SameLine();
|
||||||
|
ImGui::Button("Legacy .dmf");
|
||||||
|
ImGui::SameLine();
|
||||||
|
ImGui::Button("Export Audio");
|
||||||
|
ImGui::SameLine();
|
||||||
|
ImGui::Button("Export VGM");
|
||||||
|
|
||||||
|
ImGui::Button("CmdStream");
|
||||||
|
|
||||||
|
ImGui::Separator();
|
||||||
|
|
||||||
|
ImGui::Text("Song info here...");
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
case GUI_SCENE_CHANNELS:
|
||||||
|
ImGui::Text("Channels here...");
|
||||||
|
break;
|
||||||
|
case GUI_SCENE_CHIPS:
|
||||||
|
ImGui::Text("Chips here...");
|
||||||
|
break;
|
||||||
|
case GUI_SCENE_OTHER: {
|
||||||
|
if (ImGui::Button("Osc")) {
|
||||||
|
oscOpen=!oscOpen;
|
||||||
|
}
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGui::Button("ChanOsc")) {
|
||||||
|
chanOscOpen=!chanOscOpen;
|
||||||
|
}
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGui::Button("RegView")) {
|
||||||
|
regViewOpen=!regViewOpen;
|
||||||
|
}
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGui::Button("Stats")) {
|
||||||
|
statsOpen=!statsOpen;
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui::Separator();
|
||||||
|
|
||||||
|
ImGui::Button("Panic");
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGui::Button("Settings")) {
|
||||||
|
mobileMenuOpen=false;
|
||||||
|
}
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGui::Button("About")) {
|
||||||
|
mobileMenuOpen=false;
|
||||||
|
mobileMenuPos=0.0f;
|
||||||
|
aboutOpen=true;
|
||||||
|
}
|
||||||
|
if (ImGui::Button("Switch to Desktop Mode")) {
|
||||||
|
toggleMobileUI(!mobileUI);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ImGui::Button("New")) {
|
|
||||||
mobileMenuOpen=false;
|
|
||||||
//doAction(GUI_ACTION_NEW);
|
|
||||||
if (modified) {
|
|
||||||
showWarning("Unsaved changes! Save changes before creating a new song?",GUI_WARN_NEW);
|
|
||||||
} else {
|
|
||||||
displayNew=true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ImGui::SameLine();
|
|
||||||
if (ImGui::Button("Open")) {
|
|
||||||
mobileMenuOpen=false;
|
|
||||||
doAction(GUI_ACTION_OPEN);
|
|
||||||
}
|
|
||||||
ImGui::SameLine();
|
|
||||||
if (ImGui::Button("Save")) {
|
|
||||||
mobileMenuOpen=false;
|
|
||||||
doAction(GUI_ACTION_SAVE);
|
|
||||||
}
|
|
||||||
ImGui::SameLine();
|
|
||||||
if (ImGui::Button("Save as...")) {
|
|
||||||
mobileMenuOpen=false;
|
|
||||||
doAction(GUI_ACTION_SAVE_AS);
|
|
||||||
}
|
|
||||||
|
|
||||||
ImGui::Button("1.1+ .dmf");
|
|
||||||
ImGui::SameLine();
|
|
||||||
ImGui::Button("Legacy .dmf");
|
|
||||||
ImGui::SameLine();
|
|
||||||
ImGui::Button("Export Audio");
|
|
||||||
ImGui::SameLine();
|
|
||||||
ImGui::Button("Export VGM");
|
|
||||||
|
|
||||||
ImGui::Button("CmdStream");
|
|
||||||
ImGui::SameLine();
|
|
||||||
ImGui::Button("Panic");
|
|
||||||
ImGui::SameLine();
|
|
||||||
if (ImGui::Button("Settings")) {
|
|
||||||
mobileMenuOpen=false;
|
|
||||||
}
|
|
||||||
ImGui::SameLine();
|
|
||||||
if (ImGui::Button("About")) {
|
|
||||||
mobileMenuOpen=false;
|
|
||||||
mobileMenuPos=0.0f;
|
|
||||||
aboutOpen=true;
|
|
||||||
}
|
|
||||||
|
|
||||||
ImGui::Separator();
|
|
||||||
|
|
||||||
if (ImGui::Button("Osc")) {
|
|
||||||
oscOpen=!oscOpen;
|
|
||||||
}
|
|
||||||
ImGui::SameLine();
|
|
||||||
if (ImGui::Button("ChanOsc")) {
|
|
||||||
chanOscOpen=!chanOscOpen;
|
|
||||||
}
|
|
||||||
ImGui::SameLine();
|
|
||||||
if (ImGui::Button("RegView")) {
|
|
||||||
regViewOpen=!regViewOpen;
|
|
||||||
}
|
|
||||||
ImGui::SameLine();
|
|
||||||
if (ImGui::Button("Stats")) {
|
|
||||||
statsOpen=!statsOpen;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
}
|
}
|
||||||
|
|
|
@ -3245,6 +3245,11 @@ bool FurnaceGUI::loop() {
|
||||||
if (ImGui::MenuItem("reset layout")) {
|
if (ImGui::MenuItem("reset layout")) {
|
||||||
showWarning("Are you sure you want to reset the workspace layout?",GUI_WARN_RESET_LAYOUT);
|
showWarning("Are you sure you want to reset the workspace layout?",GUI_WARN_RESET_LAYOUT);
|
||||||
}
|
}
|
||||||
|
#ifdef IS_MOBILE
|
||||||
|
if (ImGui::MenuItem("switch to mobile view")) {
|
||||||
|
toggleMobileUI(!mobileUI);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
if (ImGui::MenuItem("settings...",BIND_FOR(GUI_ACTION_WINDOW_SETTINGS))) {
|
if (ImGui::MenuItem("settings...",BIND_FOR(GUI_ACTION_WINDOW_SETTINGS))) {
|
||||||
syncSettings();
|
syncSettings();
|
||||||
settingsOpen=true;
|
settingsOpen=true;
|
||||||
|
@ -3372,12 +3377,6 @@ bool FurnaceGUI::loop() {
|
||||||
pianoOpen=true;
|
pianoOpen=true;
|
||||||
drawMobileControls();
|
drawMobileControls();
|
||||||
switch (mobScene) {
|
switch (mobScene) {
|
||||||
case GUI_SCENE_PATTERN:
|
|
||||||
patternOpen=true;
|
|
||||||
curWindow=GUI_WINDOW_PATTERN;
|
|
||||||
drawPattern();
|
|
||||||
drawPiano();
|
|
||||||
break;
|
|
||||||
case GUI_SCENE_ORDERS:
|
case GUI_SCENE_ORDERS:
|
||||||
ordersOpen=true;
|
ordersOpen=true;
|
||||||
curWindow=GUI_WINDOW_ORDERS;
|
curWindow=GUI_WINDOW_ORDERS;
|
||||||
|
@ -3401,6 +3400,12 @@ bool FurnaceGUI::loop() {
|
||||||
drawSampleEdit();
|
drawSampleEdit();
|
||||||
drawPiano();
|
drawPiano();
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
patternOpen=true;
|
||||||
|
curWindow=GUI_WINDOW_PATTERN;
|
||||||
|
drawPattern();
|
||||||
|
drawPiano();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
globalWinFlags=0;
|
globalWinFlags=0;
|
||||||
|
|
|
@ -265,7 +265,11 @@ enum FurnaceGUIMobileScenes {
|
||||||
GUI_SCENE_ORDERS,
|
GUI_SCENE_ORDERS,
|
||||||
GUI_SCENE_INSTRUMENT,
|
GUI_SCENE_INSTRUMENT,
|
||||||
GUI_SCENE_WAVETABLE,
|
GUI_SCENE_WAVETABLE,
|
||||||
GUI_SCENE_SAMPLE
|
GUI_SCENE_SAMPLE,
|
||||||
|
GUI_SCENE_SONG,
|
||||||
|
GUI_SCENE_CHANNELS,
|
||||||
|
GUI_SCENE_CHIPS,
|
||||||
|
GUI_SCENE_OTHER,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum FurnaceGUIFileDialogs {
|
enum FurnaceGUIFileDialogs {
|
||||||
|
|
Loading…
Reference in a new issue