From 2fb6ea021b7cca10018c878be672106ccde72385 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 9 Mar 2022 15:43:30 -0500 Subject: [PATCH] GUI: this menu is packed with features that DON'T WORK YET --- src/gui/gui.cpp | 5 +++++ src/gui/gui.h | 2 ++ src/gui/pattern.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 25d662d0..7317385b 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -6135,6 +6135,11 @@ FurnaceGUI::FurnaceGUI(): bindSetPending(false), nextScroll(-1.0f), nextAddScroll(0.0f), + transposeAmount(0), + randomizeMin(0), + randomizeMax(255), + scaleMin(0.0f), + scaleMax(100.0f), oldOrdersLen(0) { // octave 1 diff --git a/src/gui/gui.h b/src/gui/gui.h index 7d7f6b4a..e64fe4a0 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -650,6 +650,8 @@ class FurnaceGUI { ImVec2 threeChars, twoChars; SelectionPoint sel1, sel2; int dummyRows, demandX; + int transposeAmount, randomizeMin, randomizeMax; + float scaleMin, scaleMax; int oldOrdersLen; DivOrders oldOrders; diff --git a/src/gui/pattern.cpp b/src/gui/pattern.cpp index 9bf6eee5..2b3f2d6a 100644 --- a/src/gui/pattern.cpp +++ b/src/gui/pattern.cpp @@ -817,6 +817,24 @@ void FurnaceGUI::drawPattern() { ImGui::Selectable("cut"); ImGui::Selectable("copy"); ImGui::Selectable("paste"); + if (ImGui::BeginMenu("paste special...")) { + ImGui::Selectable("paste mix"); + ImGui::Selectable("paste mix (background)"); + ImGui::Selectable("paste flood"); + ImGui::Selectable("paste overflow"); + ImGui::EndMenu(); + } + ImGui::Selectable("delete"); + ImGui::Separator(); + + ImGui::InputInt("##TransposeAmount",&transposeAmount,1,1); + ImGui::SameLine(); + ImGui::Button("Transpose"); + + ImGui::Separator(); + ImGui::Selectable("interpolate"); + ImGui::Selectable("fade in"); + ImGui::Selectable("fade out"); if (ImGui::BeginMenu("change instrument...")) { if (e->song.ins.empty()) { ImGui::Text("no instruments available"); @@ -828,6 +846,26 @@ void FurnaceGUI::drawPattern() { } ImGui::EndMenu(); } + if (ImGui::BeginMenu("scale...")) { + ImGui::InputFloat("Bottom",&scaleMin,1,1); + ImGui::InputFloat("Top",&scaleMax,1,1); + ImGui::Button("Scale"); + ImGui::EndMenu(); + } + if (ImGui::BeginMenu("randomize...")) { + ImGui::InputInt("Minimum",&randomizeMin,1,1); + ImGui::InputInt("Maximum",&randomizeMax,1,1); + ImGui::Button("Randomize"); + ImGui::EndMenu(); + } + ImGui::Selectable("invert values"); + + ImGui::SameLine(); + + ImGui::Selectable("flip selection"); + ImGui::Selectable("collapse"); + ImGui::Selectable("expand"); + ImGui::EndPopup(); } }