diff --git a/src/gui/editControls.cpp b/src/gui/editControls.cpp index 912665f60..173b64de4 100644 --- a/src/gui/editControls.cpp +++ b/src/gui/editControls.cpp @@ -449,6 +449,10 @@ void FurnaceGUI::drawMobileControls() { mobScene=GUI_SCENE_CHIPS; } ImGui::TableNextColumn(); + if (ImGui::Button("Mixer",buttonSize)) { + mobScene=GUI_SCENE_MIXER; + } + ImGui::TableNextColumn(); if (ImGui::Button("Other",buttonSize)) { mobScene=GUI_SCENE_OTHER; } @@ -521,6 +525,9 @@ void FurnaceGUI::drawMobileControls() { case GUI_SCENE_CHIPS: ImGui::Text("Chips here..."); break; + case GUI_SCENE_MIXER: + ImGui::Text("What the hell..."); + break; case GUI_SCENE_OTHER: { if (ImGui::Button("Osc")) { oscOpen=!oscOpen; diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 72195bb48..0b122a53c 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3863,6 +3863,11 @@ bool FurnaceGUI::loop() { curWindow=GUI_WINDOW_SYS_MANAGER; drawSysManager(); break; + case GUI_SCENE_MIXER: + mixerOpen=true; + curWindow=GUI_WINDOW_MIXER; + drawMixer(); + break; default: patternOpen=true; curWindow=GUI_WINDOW_PATTERN; diff --git a/src/gui/gui.h b/src/gui/gui.h index c4a78da7c..dddaf923c 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -325,6 +325,7 @@ enum FurnaceGUIMobileScenes { GUI_SCENE_SONG, GUI_SCENE_CHANNELS, GUI_SCENE_CHIPS, + GUI_SCENE_MIXER, GUI_SCENE_OTHER, }; diff --git a/src/gui/mixer.cpp b/src/gui/mixer.cpp index 9da9c6441..d234e8205 100644 --- a/src/gui/mixer.cpp +++ b/src/gui/mixer.cpp @@ -27,7 +27,14 @@ void FurnaceGUI::drawMixer() { nextWindow=GUI_WINDOW_NOTHING; } if (!mixerOpen) return; - ImGui::SetNextWindowSizeConstraints(ImVec2(400.0f*dpiScale,200.0f*dpiScale),ImVec2(canvasW,canvasH)); + if (mobileUI) { + patWindowPos=(portrait?ImVec2(0.0f,(mobileMenuPos*-0.65*canvasH)):ImVec2((0.16*canvasH)+0.5*canvasW*mobileMenuPos,0.0f)); + patWindowSize=(portrait?ImVec2(canvasW,canvasH-(0.16*canvasW)):ImVec2(canvasW-(0.16*canvasH),canvasH)); + ImGui::SetNextWindowPos(patWindowPos); + ImGui::SetNextWindowSize(patWindowSize); + } else { + ImGui::SetNextWindowSizeConstraints(ImVec2(400.0f*dpiScale,200.0f*dpiScale),ImVec2(canvasW,canvasH)); + } if (ImGui::Begin("Mixer",&mixerOpen,globalWinFlags|(settings.allowEditDocking?0:ImGuiWindowFlags_NoDocking))) { char id[32]; if (ImGui::SliderFloat("Master Volume",&e->song.masterVol,0,3,"%.2fx")) {