GUI: more mobilework
This commit is contained in:
parent
769a89852f
commit
a34481205a
|
@ -29,7 +29,7 @@ void FurnaceGUI::drawChanOsc() {
|
||||||
}
|
}
|
||||||
if (!chanOscOpen) return;
|
if (!chanOscOpen) return;
|
||||||
ImGui::SetNextWindowSizeConstraints(ImVec2(64.0f*dpiScale,32.0f*dpiScale),ImVec2(scrW*dpiScale,scrH*dpiScale));
|
ImGui::SetNextWindowSizeConstraints(ImVec2(64.0f*dpiScale,32.0f*dpiScale),ImVec2(scrW*dpiScale,scrH*dpiScale));
|
||||||
if (ImGui::Begin("Oscilloscope (per-channel)",&chanOscOpen)) {
|
if (ImGui::Begin("Oscilloscope (per-channel)",&chanOscOpen,globalWinFlags)) {
|
||||||
if (ImGui::BeginTable("ChanOscSettings",3)) {
|
if (ImGui::BeginTable("ChanOscSettings",3)) {
|
||||||
ImGui::TableNextRow();
|
ImGui::TableNextRow();
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
|
@ -150,4 +150,4 @@ void FurnaceGUI::drawChanOsc() {
|
||||||
}
|
}
|
||||||
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_CHAN_OSC;
|
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_CHAN_OSC;
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ void FurnaceGUI::drawChannels() {
|
||||||
nextWindow=GUI_WINDOW_NOTHING;
|
nextWindow=GUI_WINDOW_NOTHING;
|
||||||
}
|
}
|
||||||
if (!channelsOpen) return;
|
if (!channelsOpen) return;
|
||||||
if (ImGui::Begin("Channels",&channelsOpen)) {
|
if (ImGui::Begin("Channels",&channelsOpen,globalWinFlags)) {
|
||||||
if (ImGui::BeginTable("ChannelList",3)) {
|
if (ImGui::BeginTable("ChannelList",3)) {
|
||||||
ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed,0.0);
|
ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed,0.0);
|
||||||
ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthStretch,0.0);
|
ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthStretch,0.0);
|
||||||
|
@ -64,4 +64,4 @@ void FurnaceGUI::drawChannels() {
|
||||||
}
|
}
|
||||||
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_CHANNELS;
|
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_CHANNELS;
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ void FurnaceGUI::drawCompatFlags() {
|
||||||
nextWindow=GUI_WINDOW_NOTHING;
|
nextWindow=GUI_WINDOW_NOTHING;
|
||||||
}
|
}
|
||||||
if (!compatFlagsOpen) return;
|
if (!compatFlagsOpen) return;
|
||||||
if (ImGui::Begin("Compatibility Flags",&compatFlagsOpen)) {
|
if (ImGui::Begin("Compatibility Flags",&compatFlagsOpen,globalWinFlags)) {
|
||||||
ImGui::TextWrapped("these flags are designed to provide better DefleMask/older Furnace compatibility.");
|
ImGui::TextWrapped("these flags are designed to provide better DefleMask/older Furnace compatibility.");
|
||||||
ImGui::Checkbox("Limit slide range",&e->song.limitSlides);
|
ImGui::Checkbox("Limit slide range",&e->song.limitSlides);
|
||||||
if (ImGui::IsItemHovered()) {
|
if (ImGui::IsItemHovered()) {
|
||||||
|
|
|
@ -36,7 +36,7 @@ void FurnaceGUI::drawInsList() {
|
||||||
nextWindow=GUI_WINDOW_NOTHING;
|
nextWindow=GUI_WINDOW_NOTHING;
|
||||||
}
|
}
|
||||||
if (!insListOpen) return;
|
if (!insListOpen) return;
|
||||||
if (ImGui::Begin("Instruments",&insListOpen)) {
|
if (ImGui::Begin("Instruments",&insListOpen,globalWinFlags)) {
|
||||||
if (settings.unifiedDataView) settings.horizontalDataView=0;
|
if (settings.unifiedDataView) settings.horizontalDataView=0;
|
||||||
if (ImGui::Button(ICON_FA_PLUS "##InsAdd")) {
|
if (ImGui::Button(ICON_FA_PLUS "##InsAdd")) {
|
||||||
doAction(GUI_ACTION_INS_LIST_ADD);
|
doAction(GUI_ACTION_INS_LIST_ADD);
|
||||||
|
@ -295,7 +295,7 @@ void FurnaceGUI::drawWaveList() {
|
||||||
nextWindow=GUI_WINDOW_NOTHING;
|
nextWindow=GUI_WINDOW_NOTHING;
|
||||||
}
|
}
|
||||||
if (!waveListOpen) return;
|
if (!waveListOpen) return;
|
||||||
if (ImGui::Begin("Wavetables",&waveListOpen)) {
|
if (ImGui::Begin("Wavetables",&waveListOpen,globalWinFlags)) {
|
||||||
if (ImGui::Button(ICON_FA_PLUS "##WaveAdd")) {
|
if (ImGui::Button(ICON_FA_PLUS "##WaveAdd")) {
|
||||||
doAction(GUI_ACTION_WAVE_LIST_ADD);
|
doAction(GUI_ACTION_WAVE_LIST_ADD);
|
||||||
}
|
}
|
||||||
|
@ -340,7 +340,7 @@ void FurnaceGUI::drawSampleList() {
|
||||||
nextWindow=GUI_WINDOW_NOTHING;
|
nextWindow=GUI_WINDOW_NOTHING;
|
||||||
}
|
}
|
||||||
if (!sampleListOpen) return;
|
if (!sampleListOpen) return;
|
||||||
if (ImGui::Begin("Samples",&sampleListOpen)) {
|
if (ImGui::Begin("Samples",&sampleListOpen,globalWinFlags)) {
|
||||||
if (ImGui::Button(ICON_FA_FILE "##SampleAdd")) {
|
if (ImGui::Button(ICON_FA_FILE "##SampleAdd")) {
|
||||||
doAction(GUI_ACTION_SAMPLE_LIST_ADD);
|
doAction(GUI_ACTION_SAMPLE_LIST_ADD);
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ void FurnaceGUI::drawDebug() {
|
||||||
}
|
}
|
||||||
if (!debugOpen) return;
|
if (!debugOpen) return;
|
||||||
ImGui::SetNextWindowSizeConstraints(ImVec2(400.0f*dpiScale,200.0f*dpiScale),ImVec2(scrW*dpiScale,scrH*dpiScale));
|
ImGui::SetNextWindowSizeConstraints(ImVec2(400.0f*dpiScale,200.0f*dpiScale),ImVec2(scrW*dpiScale,scrH*dpiScale));
|
||||||
if (ImGui::Begin("Debug",&debugOpen,ImGuiWindowFlags_NoDocking)) {
|
if (ImGui::Begin("Debug",&debugOpen,globalWinFlags|ImGuiWindowFlags_NoDocking)) {
|
||||||
ImGui::Text("NOTE: use with caution.");
|
ImGui::Text("NOTE: use with caution.");
|
||||||
if (ImGui::TreeNode("Debug Controls")) {
|
if (ImGui::TreeNode("Debug Controls")) {
|
||||||
if (e->isHalted()) {
|
if (e->isHalted()) {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include "IconsFontAwesome4.h"
|
#include "IconsFontAwesome4.h"
|
||||||
|
|
||||||
void FurnaceGUI::drawMobileControls() {
|
void FurnaceGUI::drawMobileControls() {
|
||||||
if (ImGui::Begin("Mobile Controls",NULL,ImGuiWindowFlags_NoScrollbar|ImGuiWindowFlags_NoScrollWithMouse)) {
|
if (ImGui::Begin("Mobile Controls",NULL,ImGuiWindowFlags_NoScrollbar|ImGuiWindowFlags_NoScrollWithMouse|globalWinFlags)) {
|
||||||
float availX=ImGui::GetContentRegionAvail().x;
|
float availX=ImGui::GetContentRegionAvail().x;
|
||||||
ImVec2 buttonSize=ImVec2(availX,availX);
|
ImVec2 buttonSize=ImVec2(availX,availX);
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ void FurnaceGUI::drawEditControls() {
|
||||||
if (!editControlsOpen) return;
|
if (!editControlsOpen) return;
|
||||||
switch (settings.controlLayout) {
|
switch (settings.controlLayout) {
|
||||||
case 0: // classic
|
case 0: // classic
|
||||||
if (ImGui::Begin("Play/Edit Controls",&editControlsOpen)) {
|
if (ImGui::Begin("Play/Edit Controls",&editControlsOpen,globalWinFlags)) {
|
||||||
ImGui::Text("Octave");
|
ImGui::Text("Octave");
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
if (ImGui::InputInt("##Octave",&curOctave,1,1)) {
|
if (ImGui::InputInt("##Octave",&curOctave,1,1)) {
|
||||||
|
@ -141,7 +141,7 @@ void FurnaceGUI::drawEditControls() {
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
break;
|
break;
|
||||||
case 1: // compact
|
case 1: // compact
|
||||||
if (ImGui::Begin("Play/Edit Controls",&editControlsOpen,ImGuiWindowFlags_NoScrollbar|ImGuiWindowFlags_NoScrollWithMouse)) {
|
if (ImGui::Begin("Play/Edit Controls",&editControlsOpen,ImGuiWindowFlags_NoScrollbar|ImGuiWindowFlags_NoScrollWithMouse|globalWinFlags)) {
|
||||||
if (ImGui::Button(ICON_FA_STOP "##Stop")) {
|
if (ImGui::Button(ICON_FA_STOP "##Stop")) {
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
@ -218,7 +218,7 @@ void FurnaceGUI::drawEditControls() {
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
break;
|
break;
|
||||||
case 2: // compact vertical
|
case 2: // compact vertical
|
||||||
if (ImGui::Begin("Play/Edit Controls",&editControlsOpen,ImGuiWindowFlags_NoScrollbar|ImGuiWindowFlags_NoScrollWithMouse)) {
|
if (ImGui::Begin("Play/Edit Controls",&editControlsOpen,ImGuiWindowFlags_NoScrollbar|ImGuiWindowFlags_NoScrollWithMouse|globalWinFlags)) {
|
||||||
ImGui::PushStyleColor(ImGuiCol_Button,TOGGLE_COLOR(e->isPlaying()));
|
ImGui::PushStyleColor(ImGuiCol_Button,TOGGLE_COLOR(e->isPlaying()));
|
||||||
if (ImGui::Button(ICON_FA_PLAY "##Play")) {
|
if (ImGui::Button(ICON_FA_PLAY "##Play")) {
|
||||||
play();
|
play();
|
||||||
|
@ -292,7 +292,7 @@ void FurnaceGUI::drawEditControls() {
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
break;
|
break;
|
||||||
case 3: // split
|
case 3: // split
|
||||||
if (ImGui::Begin("Play Controls",&editControlsOpen,ImGuiWindowFlags_NoScrollbar|ImGuiWindowFlags_NoScrollWithMouse)) {
|
if (ImGui::Begin("Play Controls",&editControlsOpen,ImGuiWindowFlags_NoScrollbar|ImGuiWindowFlags_NoScrollWithMouse|globalWinFlags)) {
|
||||||
if (e->isPlaying()) {
|
if (e->isPlaying()) {
|
||||||
ImGui::PushStyleColor(ImGuiCol_Button,uiColors[GUI_COLOR_TOGGLE_ON]);
|
ImGui::PushStyleColor(ImGuiCol_Button,uiColors[GUI_COLOR_TOGGLE_ON]);
|
||||||
if (ImGui::Button(ICON_FA_STOP "##Stop")) {
|
if (ImGui::Button(ICON_FA_STOP "##Stop")) {
|
||||||
|
@ -346,7 +346,7 @@ void FurnaceGUI::drawEditControls() {
|
||||||
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_EDIT_CONTROLS;
|
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_EDIT_CONTROLS;
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
|
|
||||||
if (ImGui::Begin("Edit Controls",&editControlsOpen)) {
|
if (ImGui::Begin("Edit Controls",&editControlsOpen,globalWinFlags)) {
|
||||||
ImGui::Columns(2);
|
ImGui::Columns(2);
|
||||||
ImGui::Text("Octave");
|
ImGui::Text("Octave");
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
|
|
|
@ -9,7 +9,7 @@ void FurnaceGUI::drawEffectList() {
|
||||||
nextWindow=GUI_WINDOW_NOTHING;
|
nextWindow=GUI_WINDOW_NOTHING;
|
||||||
}
|
}
|
||||||
if (!effectListOpen) return;
|
if (!effectListOpen) return;
|
||||||
if (ImGui::Begin("Effect List",&effectListOpen)) {
|
if (ImGui::Begin("Effect List",&effectListOpen,globalWinFlags)) {
|
||||||
ImGui::Text("System at cursor: %s",e->getSystemName(e->sysOfChan[cursor.xCoarse]));
|
ImGui::Text("System at cursor: %s",e->getSystemName(e->sysOfChan[cursor.xCoarse]));
|
||||||
if (ImGui::BeginTable("effectList",2)) {
|
if (ImGui::BeginTable("effectList",2)) {
|
||||||
ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed);
|
ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed);
|
||||||
|
@ -50,4 +50,4 @@ void FurnaceGUI::drawEffectList() {
|
||||||
}
|
}
|
||||||
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_EFFECT_LIST;
|
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_EFFECT_LIST;
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
}
|
}
|
||||||
|
|
|
@ -3013,40 +3013,15 @@ bool FurnaceGUI::loop() {
|
||||||
ImGui::EndMainMenuBar();
|
ImGui::EndMainMenuBar();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mobileUI) {
|
|
||||||
ImGui::DockSpaceOverViewport(NULL,lockLayout?(ImGuiDockNodeFlags_NoResize|ImGuiDockNodeFlags_NoCloseButton|ImGuiDockNodeFlags_NoDocking|ImGuiDockNodeFlags_NoDockingSplitMe|ImGuiDockNodeFlags_NoDockingSplitOther):0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mobileUI) {
|
if (mobileUI) {
|
||||||
ImGuiViewport* mainView=ImGui::GetMainViewport();
|
globalWinFlags=ImGuiWindowFlags_NoTitleBar|ImGuiWindowFlags_NoMove|ImGuiWindowFlags_NoResize|ImGuiWindowFlags_NoBringToFrontOnFocus;
|
||||||
ImGui::SetNextWindowPos(mainView->Pos);
|
|
||||||
ImGui::SetNextWindowSize(mainView->Size);
|
|
||||||
ImGui::SetNextWindowViewport(mainView->ID);
|
|
||||||
ImGuiID dockID=ImGui::GetID("MobileUISpace");
|
|
||||||
ImGuiWindowFlags muiFlags=ImGuiWindowFlags_NoTitleBar|ImGuiWindowFlags_NoCollapse|ImGuiWindowFlags_NoResize|ImGuiWindowFlags_NoMove|ImGuiWindowFlags_NoDocking|ImGuiWindowFlags_NoBringToFrontOnFocus|ImGuiWindowFlags_NoNavFocus;
|
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, 0.0f);
|
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_WindowBorderSize, 0.0f);
|
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(0.0f, 0.0f));
|
|
||||||
ImGui::Begin("MobileUI",NULL,muiFlags);
|
|
||||||
ImGui::PopStyleVar(3);
|
|
||||||
if (ImGui::DockBuilderGetNode(dockID)==NULL) {
|
|
||||||
ImGui::DockBuilderRemoveNode(dockID);
|
|
||||||
ImGuiID dn=ImGui::DockBuilderAddNode(dockID);
|
|
||||||
ImGuiID upper, lower, left, right;
|
|
||||||
ImGui::DockBuilderSplitNode(dn,ImGuiDir_Left,0.1f,&left,&right);
|
|
||||||
ImGui::DockBuilderSplitNode(right,ImGuiDir_Down,0.2f,&lower,&upper);
|
|
||||||
ImGui::DockBuilderDockWindow("Mobile Controls",left);
|
|
||||||
ImGui::DockBuilderDockWindow("Pattern",upper);
|
|
||||||
ImGui::DockBuilderDockWindow("Piano",lower);
|
|
||||||
ImGui::DockBuilderFinish(dn);
|
|
||||||
}
|
|
||||||
ImGui::DockSpace(dockID);
|
|
||||||
ImGui::End();
|
|
||||||
|
|
||||||
drawMobileControls();
|
drawMobileControls();
|
||||||
drawPattern();
|
drawPattern();
|
||||||
drawPiano();
|
drawPiano();
|
||||||
} else {
|
} else {
|
||||||
|
globalWinFlags=0;
|
||||||
|
ImGui::DockSpaceOverViewport(NULL,lockLayout?(ImGuiDockNodeFlags_NoResize|ImGuiDockNodeFlags_NoCloseButton|ImGuiDockNodeFlags_NoDocking|ImGuiDockNodeFlags_NoDockingSplitMe|ImGuiDockNodeFlags_NoDockingSplitOther):0);
|
||||||
|
|
||||||
drawSubSongs();
|
drawSubSongs();
|
||||||
drawPattern();
|
drawPattern();
|
||||||
drawEditControls();
|
drawEditControls();
|
||||||
|
@ -4122,6 +4097,7 @@ FurnaceGUI::FurnaceGUI():
|
||||||
vgmExportVersion(0x171),
|
vgmExportVersion(0x171),
|
||||||
drawHalt(10),
|
drawHalt(10),
|
||||||
macroPointSize(16),
|
macroPointSize(16),
|
||||||
|
globalWinFlags(0),
|
||||||
curFileDialog(GUI_FILE_OPEN),
|
curFileDialog(GUI_FILE_OPEN),
|
||||||
warnAction(GUI_WARN_OPEN),
|
warnAction(GUI_WARN_OPEN),
|
||||||
postWarnAction(GUI_WARN_GENERIC),
|
postWarnAction(GUI_WARN_GENERIC),
|
||||||
|
|
|
@ -816,6 +816,8 @@ class FurnaceGUI {
|
||||||
int drawHalt;
|
int drawHalt;
|
||||||
int macroPointSize;
|
int macroPointSize;
|
||||||
|
|
||||||
|
ImGuiWindowFlags globalWinFlags;
|
||||||
|
|
||||||
FurnaceGUIFileDialogs curFileDialog;
|
FurnaceGUIFileDialogs curFileDialog;
|
||||||
FurnaceGUIWarnings warnAction;
|
FurnaceGUIWarnings warnAction;
|
||||||
FurnaceGUIWarnings postWarnAction;
|
FurnaceGUIWarnings postWarnAction;
|
||||||
|
|
|
@ -1344,7 +1344,7 @@ void FurnaceGUI::drawInsEdit() {
|
||||||
}
|
}
|
||||||
if (!insEditOpen) return;
|
if (!insEditOpen) return;
|
||||||
ImGui::SetNextWindowSizeConstraints(ImVec2(440.0f*dpiScale,400.0f*dpiScale),ImVec2(scrW*dpiScale,scrH*dpiScale));
|
ImGui::SetNextWindowSizeConstraints(ImVec2(440.0f*dpiScale,400.0f*dpiScale),ImVec2(scrW*dpiScale,scrH*dpiScale));
|
||||||
if (ImGui::Begin("Instrument Editor",&insEditOpen,settings.allowEditDocking?0:ImGuiWindowFlags_NoDocking)) {
|
if (ImGui::Begin("Instrument Editor",&insEditOpen,globalWinFlags|(settings.allowEditDocking?0:ImGuiWindowFlags_NoDocking))) {
|
||||||
if (curIns<0 || curIns>=(int)e->song.ins.size()) {
|
if (curIns<0 || curIns>=(int)e->song.ins.size()) {
|
||||||
ImGui::Text("no instrument selected");
|
ImGui::Text("no instrument selected");
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -44,7 +44,7 @@ void FurnaceGUI::drawLog() {
|
||||||
nextWindow=GUI_WINDOW_NOTHING;
|
nextWindow=GUI_WINDOW_NOTHING;
|
||||||
}
|
}
|
||||||
if (!logOpen) return;
|
if (!logOpen) return;
|
||||||
if (ImGui::Begin("Log Viewer",&logOpen)) {
|
if (ImGui::Begin("Log Viewer",&logOpen,globalWinFlags)) {
|
||||||
ImGui::Checkbox("Follow",&followLog);
|
ImGui::Checkbox("Follow",&followLog);
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
ImGui::Text("Level");
|
ImGui::Text("Level");
|
||||||
|
|
|
@ -28,7 +28,7 @@ void FurnaceGUI::drawMixer() {
|
||||||
}
|
}
|
||||||
if (!mixerOpen) return;
|
if (!mixerOpen) return;
|
||||||
ImGui::SetNextWindowSizeConstraints(ImVec2(400.0f*dpiScale,200.0f*dpiScale),ImVec2(scrW*dpiScale,scrH*dpiScale));
|
ImGui::SetNextWindowSizeConstraints(ImVec2(400.0f*dpiScale,200.0f*dpiScale),ImVec2(scrW*dpiScale,scrH*dpiScale));
|
||||||
if (ImGui::Begin("Mixer",&mixerOpen,settings.allowEditDocking?0:ImGuiWindowFlags_NoDocking)) {
|
if (ImGui::Begin("Mixer",&mixerOpen,globalWinFlags|(settings.allowEditDocking?0:ImGuiWindowFlags_NoDocking))) {
|
||||||
char id[32];
|
char id[32];
|
||||||
if (ImGui::SliderFloat("Master Volume",&e->song.masterVol,0,3,"%.2fx")) {
|
if (ImGui::SliderFloat("Master Volume",&e->song.masterVol,0,3,"%.2fx")) {
|
||||||
if (e->song.masterVol<0) e->song.masterVol=0;
|
if (e->song.masterVol<0) e->song.masterVol=0;
|
||||||
|
@ -56,4 +56,4 @@ void FurnaceGUI::drawMixer() {
|
||||||
}
|
}
|
||||||
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_MIXER;
|
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_MIXER;
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ void FurnaceGUI::drawOrders() {
|
||||||
nextWindow=GUI_WINDOW_NOTHING;
|
nextWindow=GUI_WINDOW_NOTHING;
|
||||||
}
|
}
|
||||||
if (!ordersOpen) return;
|
if (!ordersOpen) return;
|
||||||
if (ImGui::Begin("Orders",&ordersOpen)) {
|
if (ImGui::Begin("Orders",&ordersOpen,globalWinFlags)) {
|
||||||
float regionX=ImGui::GetContentRegionAvail().x;
|
float regionX=ImGui::GetContentRegionAvail().x;
|
||||||
ImVec2 prevSpacing=ImGui::GetStyle().ItemSpacing;
|
ImVec2 prevSpacing=ImGui::GetStyle().ItemSpacing;
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing,ImVec2(1.0f*dpiScale,1.0f*dpiScale));
|
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing,ImVec2(1.0f*dpiScale,1.0f*dpiScale));
|
||||||
|
|
|
@ -89,7 +89,7 @@ void FurnaceGUI::drawOsc() {
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing,ImVec2(0,0));
|
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing,ImVec2(0,0));
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_ItemInnerSpacing,ImVec2(0,0));
|
ImGui::PushStyleVar(ImGuiStyleVar_ItemInnerSpacing,ImVec2(0,0));
|
||||||
}
|
}
|
||||||
if (ImGui::Begin("Oscilloscope",&oscOpen)) {
|
if (ImGui::Begin("Oscilloscope",&oscOpen,globalWinFlags)) {
|
||||||
if (oscZoomSlider) {
|
if (oscZoomSlider) {
|
||||||
if (ImGui::VSliderFloat("##OscZoom",ImVec2(20.0f*dpiScale,ImGui::GetContentRegionAvail().y),&oscZoom,0.5,2.0)) {
|
if (ImGui::VSliderFloat("##OscZoom",ImVec2(20.0f*dpiScale,ImGui::GetContentRegionAvail().y),&oscZoom,0.5,2.0)) {
|
||||||
if (oscZoom<0.5) oscZoom=0.5;
|
if (oscZoom<0.5) oscZoom=0.5;
|
||||||
|
|
|
@ -343,7 +343,7 @@ void FurnaceGUI::drawPattern() {
|
||||||
sel2.xFine^=sel1.xFine;
|
sel2.xFine^=sel1.xFine;
|
||||||
}
|
}
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding,ImVec2(0.0f,0.0f));
|
ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding,ImVec2(0.0f,0.0f));
|
||||||
if (ImGui::Begin("Pattern",&patternOpen,settings.avoidRaisingPattern?ImGuiWindowFlags_NoBringToFrontOnFocus:0)) {
|
if (ImGui::Begin("Pattern",&patternOpen,globalWinFlags|(settings.avoidRaisingPattern?ImGuiWindowFlags_NoBringToFrontOnFocus:0))) {
|
||||||
//ImGui::SetWindowSize(ImVec2(scrW*dpiScale,scrH*dpiScale));
|
//ImGui::SetWindowSize(ImVec2(scrW*dpiScale,scrH*dpiScale));
|
||||||
patWindowPos=ImGui::GetWindowPos();
|
patWindowPos=ImGui::GetWindowPos();
|
||||||
patWindowSize=ImGui::GetWindowSize();
|
patWindowSize=ImGui::GetWindowSize();
|
||||||
|
|
|
@ -52,7 +52,7 @@ void FurnaceGUI::drawPiano() {
|
||||||
nextWindow=GUI_WINDOW_NOTHING;
|
nextWindow=GUI_WINDOW_NOTHING;
|
||||||
}
|
}
|
||||||
if (!pianoOpen) return;
|
if (!pianoOpen) return;
|
||||||
if (ImGui::Begin("Piano",&pianoOpen,((pianoOptions)?0:ImGuiWindowFlags_NoTitleBar)|ImGuiWindowFlags_NoScrollbar|ImGuiWindowFlags_NoScrollWithMouse)) {
|
if (ImGui::Begin("Piano",&pianoOpen,((pianoOptions)?0:ImGuiWindowFlags_NoTitleBar)|ImGuiWindowFlags_NoScrollbar|ImGuiWindowFlags_NoScrollWithMouse|globalWinFlags)) {
|
||||||
bool oldPianoKeyPressed[180];
|
bool oldPianoKeyPressed[180];
|
||||||
memcpy(oldPianoKeyPressed,pianoKeyPressed,180*sizeof(bool));
|
memcpy(oldPianoKeyPressed,pianoKeyPressed,180*sizeof(bool));
|
||||||
memset(pianoKeyPressed,0,180*sizeof(bool));
|
memset(pianoKeyPressed,0,180*sizeof(bool));
|
||||||
|
|
|
@ -26,7 +26,7 @@ void FurnaceGUI::drawRegView() {
|
||||||
nextWindow=GUI_WINDOW_NOTHING;
|
nextWindow=GUI_WINDOW_NOTHING;
|
||||||
}
|
}
|
||||||
if (!regViewOpen) return;
|
if (!regViewOpen) return;
|
||||||
if (ImGui::Begin("Register View",®ViewOpen)) {
|
if (ImGui::Begin("Register View",®ViewOpen,globalWinFlags)) {
|
||||||
for (int i=0; i<e->song.systemLen; i++) {
|
for (int i=0; i<e->song.systemLen; i++) {
|
||||||
ImGui::Text("%d. %s",i+1,getSystemName(e->song.system[i]));
|
ImGui::Text("%d. %s",i+1,getSystemName(e->song.system[i]));
|
||||||
int size=0;
|
int size=0;
|
||||||
|
@ -68,4 +68,4 @@ void FurnaceGUI::drawRegView() {
|
||||||
}
|
}
|
||||||
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_REGISTER_VIEW;
|
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_REGISTER_VIEW;
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ void FurnaceGUI::drawSampleEdit() {
|
||||||
nextWindow=GUI_WINDOW_NOTHING;
|
nextWindow=GUI_WINDOW_NOTHING;
|
||||||
}
|
}
|
||||||
if (!sampleEditOpen) return;
|
if (!sampleEditOpen) return;
|
||||||
if (ImGui::Begin("Sample Editor",&sampleEditOpen,settings.allowEditDocking?0:ImGuiWindowFlags_NoDocking)) {
|
if (ImGui::Begin("Sample Editor",&sampleEditOpen,globalWinFlags|(settings.allowEditDocking?0:ImGuiWindowFlags_NoDocking))) {
|
||||||
if (curSample<0 || curSample>=(int)e->song.sample.size()) {
|
if (curSample<0 || curSample>=(int)e->song.sample.size()) {
|
||||||
ImGui::Text("no sample selected");
|
ImGui::Text("no sample selected");
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -218,7 +218,7 @@ void FurnaceGUI::drawSettings() {
|
||||||
nextWindow=GUI_WINDOW_NOTHING;
|
nextWindow=GUI_WINDOW_NOTHING;
|
||||||
}
|
}
|
||||||
if (!settingsOpen) return;
|
if (!settingsOpen) return;
|
||||||
if (ImGui::Begin("Settings",&settingsOpen,ImGuiWindowFlags_NoDocking)) {
|
if (ImGui::Begin("Settings",&settingsOpen,ImGuiWindowFlags_NoDocking|globalWinFlags)) {
|
||||||
if (!settingsOpen) {
|
if (!settingsOpen) {
|
||||||
settingsOpen=true;
|
settingsOpen=true;
|
||||||
showWarning("Do you want to save your settings?",GUI_WARN_CLOSE_SETTINGS);
|
showWarning("Do you want to save your settings?",GUI_WARN_CLOSE_SETTINGS);
|
||||||
|
|
|
@ -29,7 +29,7 @@ void FurnaceGUI::drawSongInfo() {
|
||||||
nextWindow=GUI_WINDOW_NOTHING;
|
nextWindow=GUI_WINDOW_NOTHING;
|
||||||
}
|
}
|
||||||
if (!songInfoOpen) return;
|
if (!songInfoOpen) return;
|
||||||
if (ImGui::Begin("Song Information",&songInfoOpen)) {
|
if (ImGui::Begin("Song Information",&songInfoOpen,globalWinFlags)) {
|
||||||
if (ImGui::BeginTable("NameAuthor",2,ImGuiTableFlags_SizingStretchProp)) {
|
if (ImGui::BeginTable("NameAuthor",2,ImGuiTableFlags_SizingStretchProp)) {
|
||||||
ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed,0.0);
|
ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed,0.0);
|
||||||
ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthStretch,0.0);
|
ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthStretch,0.0);
|
||||||
|
|
|
@ -29,9 +29,9 @@ void FurnaceGUI::drawNotes() {
|
||||||
nextWindow=GUI_WINDOW_NOTHING;
|
nextWindow=GUI_WINDOW_NOTHING;
|
||||||
}
|
}
|
||||||
if (!notesOpen) return;
|
if (!notesOpen) return;
|
||||||
if (ImGui::Begin("Song Comments",¬esOpen)) {
|
if (ImGui::Begin("Song Comments",¬esOpen,globalWinFlags)) {
|
||||||
ImGui::InputTextMultiline("##SongNotes",&e->song.notes,ImGui::GetContentRegionAvail());
|
ImGui::InputTextMultiline("##SongNotes",&e->song.notes,ImGui::GetContentRegionAvail());
|
||||||
}
|
}
|
||||||
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_NOTES;
|
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_NOTES;
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ void FurnaceGUI::drawStats() {
|
||||||
nextWindow=GUI_WINDOW_NOTHING;
|
nextWindow=GUI_WINDOW_NOTHING;
|
||||||
}
|
}
|
||||||
if (!statsOpen) return;
|
if (!statsOpen) return;
|
||||||
if (ImGui::Begin("Statistics",&statsOpen)) {
|
if (ImGui::Begin("Statistics",&statsOpen,globalWinFlags)) {
|
||||||
size_t lastProcTime=e->processTime;
|
size_t lastProcTime=e->processTime;
|
||||||
double maxGot=1000000000.0*(double)e->getAudioDescGot().bufsize/(double)e->getAudioDescGot().rate;
|
double maxGot=1000000000.0*(double)e->getAudioDescGot().bufsize/(double)e->getAudioDescGot().rate;
|
||||||
String procStr=fmt::sprintf("%.1f%%",100.0*((double)lastProcTime/(double)maxGot));
|
String procStr=fmt::sprintf("%.1f%%",100.0*((double)lastProcTime/(double)maxGot));
|
||||||
|
@ -50,4 +50,4 @@ void FurnaceGUI::drawStats() {
|
||||||
}
|
}
|
||||||
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_STATS;
|
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_STATS;
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ void FurnaceGUI::drawSubSongs() {
|
||||||
}
|
}
|
||||||
if (!subSongsOpen) return;
|
if (!subSongsOpen) return;
|
||||||
ImGui::SetNextWindowSizeConstraints(ImVec2(64.0f*dpiScale,32.0f*dpiScale),ImVec2(scrW*dpiScale,scrH*dpiScale));
|
ImGui::SetNextWindowSizeConstraints(ImVec2(64.0f*dpiScale,32.0f*dpiScale),ImVec2(scrW*dpiScale,scrH*dpiScale));
|
||||||
if (ImGui::Begin("Subsongs",&subSongsOpen,ImGuiWindowFlags_NoScrollWithMouse|ImGuiWindowFlags_NoScrollbar)) {
|
if (ImGui::Begin("Subsongs",&subSongsOpen,ImGuiWindowFlags_NoScrollWithMouse|ImGuiWindowFlags_NoScrollbar|globalWinFlags)) {
|
||||||
char id[1024];
|
char id[1024];
|
||||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x-ImGui::GetFrameHeightWithSpacing()*2.0f-ImGui::GetStyle().ItemSpacing.x);
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x-ImGui::GetFrameHeightWithSpacing()*2.0f-ImGui::GetStyle().ItemSpacing.x);
|
||||||
if (e->curSubSong->name.empty()) {
|
if (e->curSubSong->name.empty()) {
|
||||||
|
|
|
@ -33,7 +33,7 @@ void FurnaceGUI::drawVolMeter() {
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding,ImVec2(0,0));
|
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding,ImVec2(0,0));
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing,ImVec2(0,0));
|
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing,ImVec2(0,0));
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_ItemInnerSpacing,ImVec2(0,0));
|
ImGui::PushStyleVar(ImGuiStyleVar_ItemInnerSpacing,ImVec2(0,0));
|
||||||
if (ImGui::Begin("Volume Meter",&volMeterOpen)) {
|
if (ImGui::Begin("Volume Meter",&volMeterOpen,globalWinFlags)) {
|
||||||
ImDrawList* dl=ImGui::GetWindowDrawList();
|
ImDrawList* dl=ImGui::GetWindowDrawList();
|
||||||
bool aspectRatio=(ImGui::GetWindowSize().x/ImGui::GetWindowSize().y)>1.0;
|
bool aspectRatio=(ImGui::GetWindowSize().x/ImGui::GetWindowSize().y)>1.0;
|
||||||
|
|
||||||
|
@ -100,4 +100,4 @@ void FurnaceGUI::drawVolMeter() {
|
||||||
ImGui::PopStyleVar(4);
|
ImGui::PopStyleVar(4);
|
||||||
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_VOL_METER;
|
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_VOL_METER;
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@ void FurnaceGUI::drawWaveEdit() {
|
||||||
if (!waveEditOpen) return;
|
if (!waveEditOpen) return;
|
||||||
float wavePreview[256];
|
float wavePreview[256];
|
||||||
ImGui::SetNextWindowSizeConstraints(ImVec2(300.0f*dpiScale,300.0f*dpiScale),ImVec2(scrW*dpiScale,scrH*dpiScale));
|
ImGui::SetNextWindowSizeConstraints(ImVec2(300.0f*dpiScale,300.0f*dpiScale),ImVec2(scrW*dpiScale,scrH*dpiScale));
|
||||||
if (ImGui::Begin("Wavetable Editor",&waveEditOpen,settings.allowEditDocking?0:ImGuiWindowFlags_NoDocking)) {
|
if (ImGui::Begin("Wavetable Editor",&waveEditOpen,globalWinFlags|(settings.allowEditDocking?0:ImGuiWindowFlags_NoDocking))) {
|
||||||
if (curWave<0 || curWave>=(int)e->song.wave.size()) {
|
if (curWave<0 || curWave>=(int)e->song.wave.size()) {
|
||||||
ImGui::Text("no wavetable selected");
|
ImGui::Text("no wavetable selected");
|
||||||
} else {
|
} else {
|
||||||
|
@ -163,4 +163,4 @@ void FurnaceGUI::drawWaveEdit() {
|
||||||
}
|
}
|
||||||
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_WAVE_EDIT;
|
if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_WAVE_EDIT;
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue