GUI: compact macro ADSR/LFO editor
when the window is too small
This commit is contained in:
parent
bfd1afa124
commit
301d7220e0
|
@ -2229,11 +2229,14 @@ void FurnaceGUI::drawMacroEdit(FurnaceGUIMacroDesc& i, int totalFit, float avail
|
||||||
ImGui::PopStyleVar();
|
ImGui::PopStyleVar();
|
||||||
} else {
|
} else {
|
||||||
if (i.macro->open&2) {
|
if (i.macro->open&2) {
|
||||||
if (ImGui::BeginTable("MacroADSR",4)) {
|
const bool compact=(availableWidth<300.0f*dpiScale);
|
||||||
|
if (ImGui::BeginTable("MacroADSR",compact?2:4)) {
|
||||||
ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed);
|
ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed);
|
||||||
ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthStretch,0.3);
|
ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthStretch,0.3);
|
||||||
|
if (!compact) {
|
||||||
ImGui::TableSetupColumn("c2",ImGuiTableColumnFlags_WidthFixed);
|
ImGui::TableSetupColumn("c2",ImGuiTableColumnFlags_WidthFixed);
|
||||||
ImGui::TableSetupColumn("c3",ImGuiTableColumnFlags_WidthStretch,0.3);
|
ImGui::TableSetupColumn("c3",ImGuiTableColumnFlags_WidthStretch,0.3);
|
||||||
|
}
|
||||||
//ImGui::TableSetupColumn("c4",ImGuiTableColumnFlags_WidthStretch,0.4);
|
//ImGui::TableSetupColumn("c4",ImGuiTableColumnFlags_WidthStretch,0.4);
|
||||||
|
|
||||||
ImGui::TableNextRow();
|
ImGui::TableNextRow();
|
||||||
|
@ -2247,7 +2250,9 @@ void FurnaceGUI::drawMacroEdit(FurnaceGUIMacroDesc& i, int totalFit, float avail
|
||||||
if (i.macro->val[0]>i.max) i.macro->val[0]=i.max;
|
if (i.macro->val[0]>i.max) i.macro->val[0]=i.max;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (compact) ImGui::TableNextRow();
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::AlignTextToFramePadding();
|
||||||
ImGui::Text(_("Top"));
|
ImGui::Text(_("Top"));
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
|
@ -2267,7 +2272,75 @@ void FurnaceGUI::drawMacroEdit(FurnaceGUIMacroDesc& i, int totalFit, float avail
|
||||||
if (i.macro->val[2]>255) i.macro->val[2]=255;
|
if (i.macro->val[2]>255) i.macro->val[2]=255;
|
||||||
} rightClickable
|
} rightClickable
|
||||||
|
|
||||||
|
if (compact) {
|
||||||
|
ImGui::TableNextRow();
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::AlignTextToFramePadding();
|
||||||
|
ImGui::Text(_("Hold"));
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
|
if (CWSliderInt("##MAHT",&i.macro->val[3],0,255)) { PARAMETER
|
||||||
|
if (i.macro->val[3]<0) i.macro->val[3]=0;
|
||||||
|
if (i.macro->val[3]>255) i.macro->val[3]=255;
|
||||||
|
} rightClickable
|
||||||
|
|
||||||
|
ImGui::TableNextRow();
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::AlignTextToFramePadding();
|
||||||
|
ImGui::Text(_("Decay"));
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
|
if (CWSliderInt("##MADR",&i.macro->val[4],0,255)) { PARAMETER
|
||||||
|
if (i.macro->val[4]<0) i.macro->val[4]=0;
|
||||||
|
if (i.macro->val[4]>255) i.macro->val[4]=255;
|
||||||
|
} rightClickable
|
||||||
|
|
||||||
|
ImGui::TableNextRow();
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::AlignTextToFramePadding();
|
||||||
|
ImGui::Text(_("Sustain"));
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
|
if (CWSliderInt("##MASL",&i.macro->val[5],0,255)) { PARAMETER
|
||||||
|
if (i.macro->val[5]<0) i.macro->val[5]=0;
|
||||||
|
if (i.macro->val[5]>255) i.macro->val[5]=255;
|
||||||
|
} rightClickable
|
||||||
|
|
||||||
|
ImGui::TableNextRow();
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::AlignTextToFramePadding();
|
||||||
|
ImGui::Text(_("SusTime"));
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
|
if (CWSliderInt("##MAST",&i.macro->val[6],0,255)) { PARAMETER
|
||||||
|
if (i.macro->val[6]<0) i.macro->val[6]=0;
|
||||||
|
if (i.macro->val[6]>255) i.macro->val[6]=255;
|
||||||
|
} rightClickable
|
||||||
|
|
||||||
|
ImGui::TableNextRow();
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::AlignTextToFramePadding();
|
||||||
|
ImGui::Text(_("SusDecay"));
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
|
if (CWSliderInt("##MASR",&i.macro->val[7],0,255)) { PARAMETER
|
||||||
|
if (i.macro->val[7]<0) i.macro->val[7]=0;
|
||||||
|
if (i.macro->val[7]>255) i.macro->val[7]=255;
|
||||||
|
} rightClickable
|
||||||
|
|
||||||
|
ImGui::TableNextRow();
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::AlignTextToFramePadding();
|
||||||
|
ImGui::Text(_("Release"));
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
|
if (CWSliderInt("##MARR",&i.macro->val[8],0,255)) { PARAMETER
|
||||||
|
if (i.macro->val[8]<0) i.macro->val[8]=0;
|
||||||
|
if (i.macro->val[8]>255) i.macro->val[8]=255;
|
||||||
|
} rightClickable
|
||||||
|
} else {
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::AlignTextToFramePadding();
|
||||||
ImGui::Text(_("Sustain"));
|
ImGui::Text(_("Sustain"));
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
|
@ -2288,6 +2361,7 @@ void FurnaceGUI::drawMacroEdit(FurnaceGUIMacroDesc& i, int totalFit, float avail
|
||||||
} rightClickable
|
} rightClickable
|
||||||
|
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::AlignTextToFramePadding();
|
||||||
ImGui::Text(_("SusTime"));
|
ImGui::Text(_("SusTime"));
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
|
@ -2308,6 +2382,7 @@ void FurnaceGUI::drawMacroEdit(FurnaceGUIMacroDesc& i, int totalFit, float avail
|
||||||
} rightClickable
|
} rightClickable
|
||||||
|
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::AlignTextToFramePadding();
|
||||||
ImGui::Text(_("SusDecay"));
|
ImGui::Text(_("SusDecay"));
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
|
@ -2329,17 +2404,20 @@ void FurnaceGUI::drawMacroEdit(FurnaceGUIMacroDesc& i, int totalFit, float avail
|
||||||
if (i.macro->val[8]<0) i.macro->val[8]=0;
|
if (i.macro->val[8]<0) i.macro->val[8]=0;
|
||||||
if (i.macro->val[8]>255) i.macro->val[8]=255;
|
if (i.macro->val[8]>255) i.macro->val[8]=255;
|
||||||
} rightClickable
|
} rightClickable
|
||||||
|
}
|
||||||
|
|
||||||
ImGui::EndTable();
|
ImGui::EndTable();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (i.macro->open&4) {
|
if (i.macro->open&4) {
|
||||||
if (ImGui::BeginTable("MacroLFO",4)) {
|
const bool compact=(availableWidth<300.0f*dpiScale);
|
||||||
|
if (ImGui::BeginTable("MacroLFO",compact?2:4)) {
|
||||||
ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed);
|
ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed);
|
||||||
ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthStretch,0.3);
|
ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthStretch,0.3);
|
||||||
|
if (!compact) {
|
||||||
ImGui::TableSetupColumn("c2",ImGuiTableColumnFlags_WidthFixed);
|
ImGui::TableSetupColumn("c2",ImGuiTableColumnFlags_WidthFixed);
|
||||||
ImGui::TableSetupColumn("c3",ImGuiTableColumnFlags_WidthStretch,0.3);
|
ImGui::TableSetupColumn("c3",ImGuiTableColumnFlags_WidthStretch,0.3);
|
||||||
//ImGui::TableSetupColumn("c4",ImGuiTableColumnFlags_WidthStretch,0.4);
|
}
|
||||||
|
|
||||||
ImGui::TableNextRow();
|
ImGui::TableNextRow();
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
|
@ -2352,7 +2430,9 @@ void FurnaceGUI::drawMacroEdit(FurnaceGUIMacroDesc& i, int totalFit, float avail
|
||||||
if (i.macro->val[0]>i.max) i.macro->val[0]=i.max;
|
if (i.macro->val[0]>i.max) i.macro->val[0]=i.max;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (compact) ImGui::TableNextRow();
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::AlignTextToFramePadding();
|
||||||
ImGui::Text(_("Top"));
|
ImGui::Text(_("Top"));
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
|
@ -2361,9 +2441,6 @@ void FurnaceGUI::drawMacroEdit(FurnaceGUIMacroDesc& i, int totalFit, float avail
|
||||||
if (i.macro->val[1]>i.max) i.macro->val[1]=i.max;
|
if (i.macro->val[1]>i.max) i.macro->val[1]=i.max;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*ImGui::TableNextColumn();
|
|
||||||
ImGui::Text("the envelope goes here");*/
|
|
||||||
|
|
||||||
ImGui::TableNextRow();
|
ImGui::TableNextRow();
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
ImGui::AlignTextToFramePadding();
|
ImGui::AlignTextToFramePadding();
|
||||||
|
@ -2375,7 +2452,9 @@ void FurnaceGUI::drawMacroEdit(FurnaceGUIMacroDesc& i, int totalFit, float avail
|
||||||
if (i.macro->val[11]>255) i.macro->val[11]=255;
|
if (i.macro->val[11]>255) i.macro->val[11]=255;
|
||||||
} rightClickable
|
} rightClickable
|
||||||
|
|
||||||
|
if (compact) ImGui::TableNextRow();
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::AlignTextToFramePadding();
|
||||||
ImGui::Text(_("Phase"));
|
ImGui::Text(_("Phase"));
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
|
@ -2384,6 +2463,7 @@ void FurnaceGUI::drawMacroEdit(FurnaceGUIMacroDesc& i, int totalFit, float avail
|
||||||
if (i.macro->val[13]>1023) i.macro->val[13]=1023;
|
if (i.macro->val[13]>1023) i.macro->val[13]=1023;
|
||||||
} rightClickable
|
} rightClickable
|
||||||
|
|
||||||
|
ImGui::TableNextRow();
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
ImGui::AlignTextToFramePadding();
|
ImGui::AlignTextToFramePadding();
|
||||||
ImGui::Text(_("Shape"));
|
ImGui::Text(_("Shape"));
|
||||||
|
|
Loading…
Reference in a new issue