mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-16 01:35:07 +00:00
GUI: vertical C64 envelope editor
This commit is contained in:
parent
0258342324
commit
c9324e04bd
1 changed files with 41 additions and 6 deletions
|
@ -2331,13 +2331,48 @@ void FurnaceGUI::drawInsEdit() {
|
||||||
}
|
}
|
||||||
ImGui::PopStyleColor();
|
ImGui::PopStyleColor();
|
||||||
|
|
||||||
P(CWSliderScalar("Attack",ImGuiDataType_U8,&ins->c64.a,&_ZERO,&_FIFTEEN)); rightClickable
|
ImVec2 sliderSize=ImVec2(20.0f*dpiScale,128.0*dpiScale);
|
||||||
P(CWSliderScalar("Decay",ImGuiDataType_U8,&ins->c64.d,&_ZERO,&_FIFTEEN)); rightClickable
|
|
||||||
P(CWSliderScalar("Sustain",ImGuiDataType_U8,&ins->c64.s,&_ZERO,&_FIFTEEN)); rightClickable
|
|
||||||
P(CWSliderScalar("Release",ImGuiDataType_U8,&ins->c64.r,&_ZERO,&_FIFTEEN)); rightClickable
|
|
||||||
P(CWSliderScalar("Duty",ImGuiDataType_U16,&ins->c64.duty,&_ZERO,&_FOUR_THOUSAND_NINETY_FIVE)); rightClickable
|
|
||||||
|
|
||||||
drawFMEnv(0,16-ins->c64.a,16-ins->c64.d,15-ins->c64.r,15-ins->c64.r,15-ins->c64.s,0,0,0,15,16,ImVec2(ImGui::GetContentRegionAvail().x,100.0f*dpiScale),ins->type);
|
if (ImGui::BeginTable("C64EnvParams",5,ImGuiTableFlags_NoHostExtendX)) {
|
||||||
|
ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed,sliderSize.x);
|
||||||
|
ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthFixed,sliderSize.x);
|
||||||
|
ImGui::TableSetupColumn("c2",ImGuiTableColumnFlags_WidthFixed,sliderSize.x);
|
||||||
|
ImGui::TableSetupColumn("c3",ImGuiTableColumnFlags_WidthFixed,sliderSize.x);
|
||||||
|
ImGui::TableSetupColumn("c4",ImGuiTableColumnFlags_WidthStretch);
|
||||||
|
|
||||||
|
ImGui::TableNextRow();
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
CENTER_TEXT("A");
|
||||||
|
ImGui::TextUnformatted("A");
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
CENTER_TEXT("D");
|
||||||
|
ImGui::TextUnformatted("D");
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
CENTER_TEXT("S");
|
||||||
|
ImGui::TextUnformatted("S");
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
CENTER_TEXT("R");
|
||||||
|
ImGui::TextUnformatted("R");
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
CENTER_TEXT("Envelope");
|
||||||
|
ImGui::TextUnformatted("Envelope");
|
||||||
|
|
||||||
|
ImGui::TableNextRow();
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
P(CWVSliderScalar("##Attack",sliderSize,ImGuiDataType_U8,&ins->c64.a,&_ZERO,&_FIFTEEN));
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
P(CWVSliderScalar("##Decay",sliderSize,ImGuiDataType_U8,&ins->c64.d,&_ZERO,&_FIFTEEN));
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
P(CWVSliderScalar("##Sustain",sliderSize,ImGuiDataType_U8,&ins->c64.s,&_ZERO,&_FIFTEEN));
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
P(CWVSliderScalar("##Release",sliderSize,ImGuiDataType_U8,&ins->c64.r,&_ZERO,&_FIFTEEN));
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
drawFMEnv(0,16-ins->c64.a,16-ins->c64.d,15-ins->c64.r,15-ins->c64.r,15-ins->c64.s,0,0,0,15,16,ImVec2(ImGui::GetContentRegionAvail().x,sliderSize.y),ins->type);
|
||||||
|
|
||||||
|
ImGui::EndTable();
|
||||||
|
}
|
||||||
|
|
||||||
|
P(CWSliderScalar("Duty",ImGuiDataType_U16,&ins->c64.duty,&_ZERO,&_FOUR_THOUSAND_NINETY_FIVE)); rightClickable
|
||||||
|
|
||||||
bool ringMod=ins->c64.ringMod;
|
bool ringMod=ins->c64.ringMod;
|
||||||
if (ImGui::Checkbox("Ring Modulation",&ringMod)) { PARAMETER
|
if (ImGui::Checkbox("Ring Modulation",&ringMod)) { PARAMETER
|
||||||
|
|
Loading…
Reference in a new issue