refactor effect sorting
This commit is contained in:
parent
90ce00ed4a
commit
ba1dc39238
|
|
@ -21,7 +21,7 @@ void FurnaceGUI::drawEffectList() {
|
|||
}
|
||||
ImGui::Button(ICON_FA_BARS "##SortEffects");
|
||||
if (ImGui::BeginPopupContextItem("effectSort",ImGuiPopupFlags_MouseButtonLeft)) {
|
||||
for (int i=0; i<9; i++) {
|
||||
for (int i=1; i<10; i++) {
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[fxColorsSort[i]]);
|
||||
ImGui::Checkbox(fxColorsNames[i],&effectsShow[i]);
|
||||
ImGui::PopStyleColor();
|
||||
|
|
@ -47,58 +47,25 @@ void FurnaceGUI::drawEffectList() {
|
|||
const char* prevName=NULL;
|
||||
for (int i=0; i<256; i++) {
|
||||
const char* name=e->getEffectDesc(i,cursor.xCoarse);
|
||||
bool effectShow=true;
|
||||
if (name==prevName) {
|
||||
continue;
|
||||
}
|
||||
prevName=name;
|
||||
switch (fxColors[i]) {
|
||||
case GUI_COLOR_PATTERN_EFFECT_MISC:
|
||||
effectShow=effectsShow[8];
|
||||
break;
|
||||
case GUI_COLOR_PATTERN_EFFECT_SONG:
|
||||
effectShow=effectsShow[1];
|
||||
break;
|
||||
case GUI_COLOR_PATTERN_EFFECT_SPEED:
|
||||
effectShow=effectsShow[3];
|
||||
break;
|
||||
case GUI_COLOR_PATTERN_EFFECT_TIME:
|
||||
effectShow=effectsShow[2];
|
||||
break;
|
||||
case GUI_COLOR_PATTERN_EFFECT_PITCH:
|
||||
effectShow=effectsShow[0];
|
||||
break;
|
||||
case GUI_COLOR_PATTERN_EFFECT_PANNING:
|
||||
effectShow=effectsShow[4];
|
||||
break;
|
||||
case GUI_COLOR_PATTERN_EFFECT_VOLUME:
|
||||
effectShow=effectsShow[5];
|
||||
break;
|
||||
case GUI_COLOR_PATTERN_EFFECT_SYS_PRIMARY:
|
||||
effectShow=effectsShow[6];
|
||||
break;
|
||||
case GUI_COLOR_PATTERN_EFFECT_SYS_SECONDARY:
|
||||
effectShow=effectsShow[7];
|
||||
break;
|
||||
default:
|
||||
effectShow=true;
|
||||
break;
|
||||
}
|
||||
if (fxColors[i]==GUI_COLOR_PATTERN_EFFECT_PANNING) {
|
||||
DivDispatch* dispatch=e->getDispatch(e->dispatchOfChan[cursor.xCoarse]);
|
||||
if (dispatch!=NULL) {
|
||||
int outputs=dispatch->getOutputCount();
|
||||
if (outputs<2) {
|
||||
effectShow=false;
|
||||
continue;
|
||||
}
|
||||
if (outputs<3) {
|
||||
if (i>=0x88 && i<=0x8f) {
|
||||
effectShow=false;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (name!=NULL && effectShow) {
|
||||
if (name!=NULL && effectsShow[fxColors[i]-GUI_COLOR_PATTERN_EFFECT_INVALID]) {
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::PushFont(patFont);
|
||||
|
|
|
|||
|
|
@ -217,30 +217,30 @@ const char* resampleStrats[]={
|
|||
"best possible"
|
||||
};
|
||||
|
||||
const FurnaceGUIColors fxColorsSort[]={//used for sorting
|
||||
const FurnaceGUIColors fxColorsSort[]={ // used for sorting
|
||||
GUI_COLOR_PATTERN_EFFECT_INVALID,
|
||||
GUI_COLOR_PATTERN_EFFECT_PITCH,
|
||||
GUI_COLOR_PATTERN_EFFECT_VOLUME,
|
||||
GUI_COLOR_PATTERN_EFFECT_PANNING,
|
||||
GUI_COLOR_PATTERN_EFFECT_SONG,
|
||||
GUI_COLOR_PATTERN_EFFECT_TIME,
|
||||
GUI_COLOR_PATTERN_EFFECT_SPEED,
|
||||
GUI_COLOR_PATTERN_EFFECT_PANNING,
|
||||
GUI_COLOR_PATTERN_EFFECT_VOLUME,
|
||||
GUI_COLOR_PATTERN_EFFECT_SYS_PRIMARY,
|
||||
GUI_COLOR_PATTERN_EFFECT_SYS_SECONDARY,
|
||||
GUI_COLOR_PATTERN_EFFECT_MISC,
|
||||
GUI_COLOR_PATTERN_EFFECT_INVALID
|
||||
GUI_COLOR_PATTERN_EFFECT_MISC
|
||||
};
|
||||
|
||||
const char* fxColorsNames[]={
|
||||
"Invalid",
|
||||
"Pitch",
|
||||
"Volume",
|
||||
"Panning",
|
||||
"Song",
|
||||
"Time",
|
||||
"Speed",
|
||||
"Panning",
|
||||
"Volume",
|
||||
"System Primary",
|
||||
"System Secondary",
|
||||
"Miscellaneous",
|
||||
"Invalid"
|
||||
"System (Primary)",
|
||||
"System (Secondary)",
|
||||
"Miscellaneous"
|
||||
};
|
||||
|
||||
const FurnaceGUIColors fxColors[256]={
|
||||
|
|
|
|||
Loading…
Reference in a new issue