diff --git a/src/engine/song.cpp b/src/engine/song.cpp index 70d625597..8330f8f89 100644 --- a/src/engine/song.cpp +++ b/src/engine/song.cpp @@ -57,6 +57,12 @@ void DivSubSong::rearrangePatterns() { } } +void DivSubSong::sortOrders() { +} + +void DivSubSong::makePatUnique() { +} + void DivSong::clearSongData() { for (DivSubSong* i: subsong) { i->clearData(); diff --git a/src/engine/song.h b/src/engine/song.h index 932e3924d..3db07cec5 100644 --- a/src/engine/song.h +++ b/src/engine/song.h @@ -175,6 +175,8 @@ struct DivSubSong { void clearData(); void optimizePatterns(); void rearrangePatterns(); + void sortOrders(); + void makePatUnique(); DivSubSong(): hilightA(4), diff --git a/src/gui/patManager.cpp b/src/gui/patManager.cpp index 8721ef200..c93239b3b 100644 --- a/src/gui/patManager.cpp +++ b/src/gui/patManager.cpp @@ -33,7 +33,9 @@ void FurnaceGUI::drawPatManager() { unsigned char isUsed[DIV_MAX_PATTERNS]; bool isNull[DIV_MAX_PATTERNS]; if (ImGui::Begin("Pattern Manager",&patManagerOpen,globalWinFlags)) { - ImGui::Text("Global Tasks"); + ImGui::Text("Global Tasks:"); + + ImGui::SameLine(); if (ImGui::Button("De-duplicate patterns")) { e->lockEngine([this]() { @@ -48,6 +50,20 @@ void FurnaceGUI::drawPatManager() { }); MARK_MODIFIED; } + ImGui::SameLine(); + if (ImGui::Button("Sort orders")) { + e->lockEngine([this]() { + e->curSubSong->sortOrders(); + }); + MARK_MODIFIED; + } + ImGui::SameLine(); + if (ImGui::Button("Make patterns unique")) { + e->lockEngine([this]() { + e->curSubSong->makePatUnique(); + }); + MARK_MODIFIED; + } if (ImGui::BeginTable("PatManTable",257,ImGuiTableFlags_ScrollX|ImGuiTableFlags_SizingFixedFit)) { ImGui::PushFont(patFont);