From abfaf941283264eb217da595b3373fed89a0ff22 Mon Sep 17 00:00:00 2001 From: alexmitchell Date: Sun, 23 May 2021 11:37:21 +0930 Subject: [PATCH 1/2] Add info tab --- plugins/editor/layout/main.fl | 41 ++- plugins/editor/src/editor/Editor.cpp | 4 + plugins/editor/src/editor/layout/main.hpp | 363 +++++++++++----------- 3 files changed, 214 insertions(+), 194 deletions(-) diff --git a/plugins/editor/layout/main.fl b/plugins/editor/layout/main.fl index 08f9c9ae..4f2d9d12 100644 --- a/plugins/editor/layout/main.fl +++ b/plugins/editor/layout/main.fl @@ -6,16 +6,16 @@ widget_class mainView {open xywh {439 94 800 475} type Double class LogicalGroup visible } { - Fl_Box imageContainer_ { - image {../resources/background.png} xywh {190 110 600 280} + Fl_Box imageContainer_ {selected + image {../resources/background.png} xywh {5 110 790 285} class Background } Fl_Group {} { - comment {palette=invertedPalette} open selected + comment {palette=invertedPalette} open xywh {0 0 800 110} class LogicalGroup } { - Fl_Group {} {open + Fl_Group {} { xywh {5 4 175 101} box ROUNDED_BOX align 0 class RoundedGroup } { @@ -24,23 +24,28 @@ widget_class mainView {open image {../resources/logo_text_shaded.png} xywh {32 9 120 60} class AboutButton } - Fl_Button {panelButtons_[kPanelGeneral]} { - comment {tag=kTagFirstChangePanel+kPanelGeneral} - xywh {36 73 32 32} labelsize 30 - class HomeButton + Fl_Button {panelButtons_[kPanelInfo]} { + comment {tag=kTagFirstChangePanel+kPanelInfo} + xywh {56 73 32 32} labelsize 30 + class InfoButton } Fl_Button {panelButtons_[kPanelControls]} { comment {tag=kTagFirstChangePanel+kPanelControls} - xywh {76 73 32 32} labelsize 30 + xywh {97 73 32 32} labelsize 30 class CCButton } Fl_Button {panelButtons_[kPanelSettings]} { comment {tag=kTagFirstChangePanel+kPanelSettings} - xywh {116 73 32 32} labelsize 30 + xywh {137 73 32 32} labelsize 30 class SettingsButton } + Fl_Button {panelButtons_[kPanelGeneral]} { + comment {tag=kTagFirstChangePanel+kPanelGeneral} + xywh {16 73 32 32} labelsize 30 + class HomeButton + } } - Fl_Group {} {open + Fl_Group {} { xywh {185 5 418 100} box ROUNDED_BOX class RoundedGroup } { @@ -121,7 +126,7 @@ widget_class mainView {open class ChevronValueDropDown } } - Fl_Group {} {open + Fl_Group {} { xywh {608 5 187 100} box ROUNDED_BOX class RoundedGroup } { @@ -156,12 +161,12 @@ widget_class mainView {open } } } - Fl_Group {subPanels_[kPanelGeneral]} { + Fl_Group {subPanels_[kPanelInfo]} {open xywh {5 110 791 285} hide class LogicalGroup } { Fl_Group {} {open - xywh {5 110 175 280} box ROUNDED_BOX + xywh {5 110 790 280} box ROUNDED_BOX class RoundedGroup } { Fl_Box {} { @@ -216,7 +221,7 @@ widget_class mainView {open } } } - Fl_Group {subPanels_[kPanelControls]} {open + Fl_Group {subPanels_[kPanelControls]} { xywh {5 110 790 285} hide class LogicalGroup } { @@ -230,7 +235,7 @@ widget_class mainView {open } {} } } - Fl_Group {subPanels_[kPanelSettings]} {open + Fl_Group {subPanels_[kPanelSettings]} { xywh {5 109 790 316} class LogicalGroup } { @@ -381,4 +386,8 @@ widget_class mainView {open xywh {5 400 790 70} labelsize 12 class Piano } + Fl_Group {subPanels_[kPanelGeneral]} {open + xywh {25 130 791 285} hide + class LogicalGroup + } {} } diff --git a/plugins/editor/src/editor/Editor.cpp b/plugins/editor/src/editor/Editor.cpp index 276afbac..67694856 100644 --- a/plugins/editor/src/editor/Editor.cpp +++ b/plugins/editor/src/editor/Editor.cpp @@ -66,6 +66,7 @@ struct Editor::Impl : EditorController::Receiver, enum { kPanelGeneral, + kPanelInfo, kPanelControls, kPanelSettings, kNumPanels, @@ -817,6 +818,9 @@ void Editor::Impl::createFrameContents() auto createHomeButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) { return createGlyphButton(u8"\ue1d6", bounds, tag, fontsize); }; + auto createInfoButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) { + return createGlyphButton(u8"\ue1e7", bounds, tag, fontsize); + }; auto createCCButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) { // return createGlyphButton(u8"\ue240", bounds, tag, fontsize); return createGlyphButton(u8"\ue253", bounds, tag, fontsize); diff --git a/plugins/editor/src/editor/layout/main.hpp b/plugins/editor/src/editor/layout/main.hpp index 5e6b208e..67198b74 100644 --- a/plugins/editor/src/editor/layout/main.hpp +++ b/plugins/editor/src/editor/layout/main.hpp @@ -1,7 +1,7 @@ /* This file is generated by the layout maker tool. */ auto* const view__0 = createLogicalGroup(CRect(0, 0, 800, 475), -1, "", kCenterText, 14); mainView = view__0; -auto* const view__1 = createBackground(CRect(190, 110, 790, 390), -1, "", kCenterText, 14); +auto* const view__1 = createBackground(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); imageContainer_ = view__1; view__0->addView(view__1); enterPalette(invertedPalette); @@ -11,190 +11,197 @@ auto* const view__3 = createRoundedGroup(CRect(5, 4, 180, 105), -1, "", kCenterT view__2->addView(view__3); auto* const view__4 = createAboutButton(CRect(27, 5, 147, 65), kTagAbout, "", kCenterText, 14); view__3->addView(view__4); -auto* const view__5 = createHomeButton(CRect(31, 69, 63, 101), kTagFirstChangePanel+kPanelGeneral, "", kCenterText, 30); -panelButtons_[kPanelGeneral] = view__5; +auto* const view__5 = createInfoButton(CRect(51, 69, 83, 101), kTagFirstChangePanel+kPanelInfo, "", kCenterText, 30); +panelButtons_[kPanelInfo] = view__5; view__3->addView(view__5); -auto* const view__6 = createCCButton(CRect(71, 69, 103, 101), kTagFirstChangePanel+kPanelControls, "", kCenterText, 30); +auto* const view__6 = createCCButton(CRect(92, 69, 124, 101), kTagFirstChangePanel+kPanelControls, "", kCenterText, 30); panelButtons_[kPanelControls] = view__6; view__3->addView(view__6); -auto* const view__7 = createSettingsButton(CRect(111, 69, 143, 101), kTagFirstChangePanel+kPanelSettings, "", kCenterText, 30); +auto* const view__7 = createSettingsButton(CRect(132, 69, 164, 101), kTagFirstChangePanel+kPanelSettings, "", kCenterText, 30); panelButtons_[kPanelSettings] = view__7; view__3->addView(view__7); -auto* const view__8 = createRoundedGroup(CRect(185, 5, 603, 105), -1, "", kCenterText, 14); -view__2->addView(view__8); -auto* const view__9 = createHLine(CRect(10, 36, 405, 41), -1, "", kCenterText, 14); -view__8->addView(view__9); -auto* const view__10 = createHLine(CRect(10, 68, 405, 73), -1, "", kCenterText, 14); -view__8->addView(view__10); -auto* const view__11 = createClickableLabel(CRect(10, 8, 330, 38), kTagLoadSfzFile, "DefaultInstrument.sfz", kLeftText, 20); -sfzFileLabel_ = view__11; -view__8->addView(view__11); -auto* const view__12 = createLabel(CRect(80, 40, 405, 75), -1, "", kLeftText, 20); -keyswitchLabel_ = view__12; -view__8->addView(view__12); -auto* const view__13 = createBadge(CRect(10, 42, 70, 68), -1, "", kCenterText, 20); -keyswitchBadge_ = view__13; -view__8->addView(view__13); -auto* const view__14 = createInactiveLabel(CRect(10, 40, 370, 70), -1, "No key switch", kLeftText, 20); -keyswitchInactiveLabel_ = view__14; -view__8->addView(view__14); -view__14->setVisible(false); -auto* const view__15 = createLabel(CRect(10, 73, 70, 98), -1, "Voices:", kRightText, 12); -view__8->addView(view__15); -auto* const view__16 = createPreviousFileButton(CRect(330, 13, 355, 38), kTagPreviousSfzFile, "", kCenterText, 24); -view__8->addView(view__16); -auto* const view__17 = createNextFileButton(CRect(355, 13, 380, 38), kTagNextSfzFile, "", kCenterText, 24); -view__8->addView(view__17); -auto* const view__18 = createChevronDropDown(CRect(380, 13, 405, 38), kTagFileOperations, "", kCenterText, 24); -fileOperationsMenu_ = view__18; -view__8->addView(view__18); -auto* const view__19 = createLabel(CRect(75, 73, 115, 98), -1, "", kCenterText, 12); -infoVoicesLabel_ = view__19; -view__8->addView(view__19); -auto* const view__20 = createLabel(CRect(147, 73, 187, 98), -1, "Max:", kRightText, 12); -view__8->addView(view__20); -auto* const view__21 = createLabel(CRect(193, 73, 228, 98), -1, "", kCenterText, 12); -numVoicesLabel_ = view__21; -view__8->addView(view__21); -auto* const view__22 = createLabel(CRect(274, 73, 334, 98), -1, "Memory:", kRightText, 12); -view__8->addView(view__22); -auto* const view__23 = createLabel(CRect(340, 73, 400, 98), -1, "", kCenterText, 12); -memoryLabel_ = view__23; -view__8->addView(view__23); -auto* const view__24 = createChevronValueDropDown(CRect(235, 77, 255, 97), kTagSetNumVoices, "", kCenterText, 16); -numVoicesSlider_ = view__24; -view__8->addView(view__24); -auto* const view__25 = createRoundedGroup(CRect(608, 5, 795, 105), -1, "", kCenterText, 14); -view__2->addView(view__25); -auto* const view__26 = createKnob48(CRect(7, 15, 55, 63), -1, "", kCenterText, 14); -view__25->addView(view__26); -view__26->setVisible(false); -auto* const view__27 = createValueLabel(CRect(2, 65, 62, 70), -1, "Center", kCenterText, 12); -view__25->addView(view__27); +auto* const view__8 = createHomeButton(CRect(11, 69, 43, 101), kTagFirstChangePanel+kPanelGeneral, "", kCenterText, 30); +panelButtons_[kPanelGeneral] = view__8; +view__3->addView(view__8); +auto* const view__9 = createRoundedGroup(CRect(185, 5, 603, 105), -1, "", kCenterText, 14); +view__2->addView(view__9); +auto* const view__10 = createHLine(CRect(10, 36, 405, 41), -1, "", kCenterText, 14); +view__9->addView(view__10); +auto* const view__11 = createHLine(CRect(10, 68, 405, 73), -1, "", kCenterText, 14); +view__9->addView(view__11); +auto* const view__12 = createClickableLabel(CRect(10, 8, 330, 38), kTagLoadSfzFile, "DefaultInstrument.sfz", kLeftText, 20); +sfzFileLabel_ = view__12; +view__9->addView(view__12); +auto* const view__13 = createLabel(CRect(80, 40, 405, 75), -1, "", kLeftText, 20); +keyswitchLabel_ = view__13; +view__9->addView(view__13); +auto* const view__14 = createBadge(CRect(10, 42, 70, 68), -1, "", kCenterText, 20); +keyswitchBadge_ = view__14; +view__9->addView(view__14); +auto* const view__15 = createInactiveLabel(CRect(10, 40, 370, 70), -1, "No key switch", kLeftText, 20); +keyswitchInactiveLabel_ = view__15; +view__9->addView(view__15); +view__15->setVisible(false); +auto* const view__16 = createLabel(CRect(10, 73, 70, 98), -1, "Voices:", kRightText, 12); +view__9->addView(view__16); +auto* const view__17 = createPreviousFileButton(CRect(330, 13, 355, 38), kTagPreviousSfzFile, "", kCenterText, 24); +view__9->addView(view__17); +auto* const view__18 = createNextFileButton(CRect(355, 13, 380, 38), kTagNextSfzFile, "", kCenterText, 24); +view__9->addView(view__18); +auto* const view__19 = createChevronDropDown(CRect(380, 13, 405, 38), kTagFileOperations, "", kCenterText, 24); +fileOperationsMenu_ = view__19; +view__9->addView(view__19); +auto* const view__20 = createLabel(CRect(75, 73, 115, 98), -1, "", kCenterText, 12); +infoVoicesLabel_ = view__20; +view__9->addView(view__20); +auto* const view__21 = createLabel(CRect(147, 73, 187, 98), -1, "Max:", kRightText, 12); +view__9->addView(view__21); +auto* const view__22 = createLabel(CRect(193, 73, 228, 98), -1, "", kCenterText, 12); +numVoicesLabel_ = view__22; +view__9->addView(view__22); +auto* const view__23 = createLabel(CRect(274, 73, 334, 98), -1, "Memory:", kRightText, 12); +view__9->addView(view__23); +auto* const view__24 = createLabel(CRect(340, 73, 400, 98), -1, "", kCenterText, 12); +memoryLabel_ = view__24; +view__9->addView(view__24); +auto* const view__25 = createChevronValueDropDown(CRect(235, 77, 255, 97), kTagSetNumVoices, "", kCenterText, 16); +numVoicesSlider_ = view__25; +view__9->addView(view__25); +auto* const view__26 = createRoundedGroup(CRect(608, 5, 795, 105), -1, "", kCenterText, 14); +view__2->addView(view__26); +auto* const view__27 = createKnob48(CRect(7, 15, 55, 63), -1, "", kCenterText, 14); +view__26->addView(view__27); view__27->setVisible(false); -auto* const view__28 = createKnobCCBox(CRect(6, 5, 76, 95), kTagSetCCVolume, "Volume", kCenterText, 12); -volumeCCKnob_ = view__28; -view__25->addView(view__28); -auto* const view__29 = createKnobCCBox(CRect(83, 5, 153, 95), kTagSetCCPan, "Pan", kCenterText, 12); -panCCKnob_ = view__29; -view__25->addView(view__29); -auto* const view__30 = createVMeter(CRect(159, 5, 168, 95), -1, "", kCenterText, 14); -leftMeter_ = view__30; -view__25->addView(view__30); -auto* const view__31 = createVMeter(CRect(171, 5, 180, 95), -1, "", kCenterText, 14); -rightMeter_ = view__31; -view__25->addView(view__31); +auto* const view__28 = createValueLabel(CRect(2, 65, 62, 70), -1, "Center", kCenterText, 12); +view__26->addView(view__28); +view__28->setVisible(false); +auto* const view__29 = createKnobCCBox(CRect(6, 5, 76, 95), kTagSetCCVolume, "Volume", kCenterText, 12); +volumeCCKnob_ = view__29; +view__26->addView(view__29); +auto* const view__30 = createKnobCCBox(CRect(83, 5, 153, 95), kTagSetCCPan, "Pan", kCenterText, 12); +panCCKnob_ = view__30; +view__26->addView(view__30); +auto* const view__31 = createVMeter(CRect(159, 5, 168, 95), -1, "", kCenterText, 14); +leftMeter_ = view__31; +view__26->addView(view__31); +auto* const view__32 = createVMeter(CRect(171, 5, 180, 95), -1, "", kCenterText, 14); +rightMeter_ = view__32; +view__26->addView(view__32); enterPalette(defaultPalette); -auto* const view__32 = createLogicalGroup(CRect(5, 110, 796, 395), -1, "", kCenterText, 14); -subPanels_[kPanelGeneral] = view__32; -view__0->addView(view__32); -view__32->setVisible(false); -auto* const view__33 = createRoundedGroup(CRect(0, 0, 175, 280), -1, "", kCenterText, 14); -view__32->addView(view__33); -auto* const view__34 = createLabel(CRect(15, 10, 75, 35), -1, "Curves:", kLeftText, 14); +auto* const view__33 = createLogicalGroup(CRect(5, 110, 796, 395), -1, "", kCenterText, 14); +subPanels_[kPanelInfo] = view__33; +view__0->addView(view__33); +view__33->setVisible(false); +auto* const view__34 = createRoundedGroup(CRect(0, 0, 790, 280), -1, "", kCenterText, 14); view__33->addView(view__34); -auto* const view__35 = createLabel(CRect(15, 35, 75, 60), -1, "Masters:", kLeftText, 14); -view__33->addView(view__35); -auto* const view__36 = createLabel(CRect(15, 60, 75, 85), -1, "Groups:", kLeftText, 14); -view__33->addView(view__36); -auto* const view__37 = createLabel(CRect(15, 85, 75, 110), -1, "Regions:", kLeftText, 14); -view__33->addView(view__37); -auto* const view__38 = createLabel(CRect(15, 110, 75, 135), -1, "Samples:", kLeftText, 14); -view__33->addView(view__38); -auto* const view__39 = createLabel(CRect(115, 10, 155, 35), -1, "0", kCenterText, 14); -infoCurvesLabel_ = view__39; -view__33->addView(view__39); -auto* const view__40 = createLabel(CRect(115, 35, 155, 60), -1, "0", kCenterText, 14); -infoMastersLabel_ = view__40; -view__33->addView(view__40); -auto* const view__41 = createLabel(CRect(115, 60, 155, 85), -1, "0", kCenterText, 14); -infoGroupsLabel_ = view__41; -view__33->addView(view__41); -auto* const view__42 = createLabel(CRect(115, 85, 155, 110), -1, "0", kCenterText, 14); -infoRegionsLabel_ = view__42; -view__33->addView(view__42); -auto* const view__43 = createLabel(CRect(115, 110, 155, 135), -1, "0", kCenterText, 14); -infoSamplesLabel_ = view__43; -view__33->addView(view__43); -auto* const view__44 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); -subPanels_[kPanelControls] = view__44; -view__0->addView(view__44); -view__44->setVisible(false); -auto* const view__45 = createRoundedGroup(CRect(0, 0, 790, 285), -1, "", kCenterText, 14); -view__44->addView(view__45); -auto* const view__46 = createControlsPanel(CRect(0, 0, 790, 285), -1, "", kCenterText, 12); -controlsPanel_ = view__46; +auto* const view__35 = createLabel(CRect(15, 10, 75, 35), -1, "Curves:", kLeftText, 14); +view__34->addView(view__35); +auto* const view__36 = createLabel(CRect(15, 35, 75, 60), -1, "Masters:", kLeftText, 14); +view__34->addView(view__36); +auto* const view__37 = createLabel(CRect(15, 60, 75, 85), -1, "Groups:", kLeftText, 14); +view__34->addView(view__37); +auto* const view__38 = createLabel(CRect(15, 85, 75, 110), -1, "Regions:", kLeftText, 14); +view__34->addView(view__38); +auto* const view__39 = createLabel(CRect(15, 110, 75, 135), -1, "Samples:", kLeftText, 14); +view__34->addView(view__39); +auto* const view__40 = createLabel(CRect(115, 10, 155, 35), -1, "0", kCenterText, 14); +infoCurvesLabel_ = view__40; +view__34->addView(view__40); +auto* const view__41 = createLabel(CRect(115, 35, 155, 60), -1, "0", kCenterText, 14); +infoMastersLabel_ = view__41; +view__34->addView(view__41); +auto* const view__42 = createLabel(CRect(115, 60, 155, 85), -1, "0", kCenterText, 14); +infoGroupsLabel_ = view__42; +view__34->addView(view__42); +auto* const view__43 = createLabel(CRect(115, 85, 155, 110), -1, "0", kCenterText, 14); +infoRegionsLabel_ = view__43; +view__34->addView(view__43); +auto* const view__44 = createLabel(CRect(115, 110, 155, 135), -1, "0", kCenterText, 14); +infoSamplesLabel_ = view__44; +view__34->addView(view__44); +auto* const view__45 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); +subPanels_[kPanelControls] = view__45; +view__0->addView(view__45); +view__45->setVisible(false); +auto* const view__46 = createRoundedGroup(CRect(0, 0, 790, 285), -1, "", kCenterText, 14); view__45->addView(view__46); -auto* const view__47 = createLogicalGroup(CRect(5, 109, 795, 425), -1, "", kCenterText, 14); -subPanels_[kPanelSettings] = view__47; -view__0->addView(view__47); -auto* const view__48 = createTitleGroup(CRect(300, 26, 495, 126), -1, "Engine", kCenterText, 12); -view__47->addView(view__48); -auto* const view__49 = createValueMenu(CRect(25, 60, 85, 85), kTagSetOversampling, "", kCenterText, 12); -oversamplingSlider_ = view__49; +auto* const view__47 = createControlsPanel(CRect(0, 0, 790, 285), -1, "", kCenterText, 12); +controlsPanel_ = view__47; +view__46->addView(view__47); +auto* const view__48 = createLogicalGroup(CRect(5, 109, 795, 425), -1, "", kCenterText, 14); +subPanels_[kPanelSettings] = view__48; +view__0->addView(view__48); +auto* const view__49 = createTitleGroup(CRect(300, 26, 495, 126), -1, "Engine", kCenterText, 12); view__48->addView(view__49); -auto* const view__50 = createValueLabel(CRect(15, 20, 95, 45), -1, "Oversampling", kCenterText, 12); -view__48->addView(view__50); -auto* const view__51 = createValueLabel(CRect(100, 20, 180, 45), -1, "Preload size", kCenterText, 12); -view__48->addView(view__51); -auto* const view__52 = createValueMenu(CRect(110, 60, 170, 85), kTagSetPreloadSize, "", kCenterText, 12); -preloadSizeSlider_ = view__52; -view__48->addView(view__52); -auto* const view__53 = createTitleGroup(CRect(170, 161, 585, 261), -1, "Tuning", kCenterText, 12); -view__47->addView(view__53); -auto* const view__54 = createValueLabel(CRect(155, 20, 235, 45), -1, "Root key", kCenterText, 12); -view__53->addView(view__54); -auto* const view__55 = createValueMenu(CRect(250, 60, 310, 85), kTagSetTuningFrequency, "", kCenterText, 12); -tuningFrequencySlider_ = view__55; -view__53->addView(view__55); -auto* const view__56 = createValueLabel(CRect(240, 20, 320, 45), -1, "Frequency", kCenterText, 12); -view__53->addView(view__56); -auto* const view__57 = createStyledKnob(CRect(340, 45, 388, 93), kTagSetStretchedTuning, "", kCenterText, 14); -stretchedTuningSlider_ = view__57; -view__53->addView(view__57); -auto* const view__58 = createValueLabel(CRect(325, 20, 405, 45), -1, "Stretch", kCenterText, 12); -view__53->addView(view__58); -auto* const view__59 = createValueLabel(CRect(20, 20, 120, 45), -1, "Scala file", kCenterText, 12); -view__53->addView(view__59); -auto* const view__60 = createValueButton(CRect(20, 60, 120, 85), kTagLoadScalaFile, "DefaultScale", kCenterText, 12); -scalaFileButton_ = view__60; -view__53->addView(view__60); -auto* const view__61 = createValueMenu(CRect(165, 60, 200, 85), kTagSetScalaRootKey, "", kCenterText, 12); -scalaRootKeySlider_ = view__61; -view__53->addView(view__61); -auto* const view__62 = createValueMenu(CRect(200, 60, 230, 85), kTagSetScalaRootKey, "", kCenterText, 12); -scalaRootOctaveSlider_ = view__62; -view__53->addView(view__62); -auto* const view__63 = createResetSomethingButton(CRect(120, 60, 145, 85), kTagResetScalaFile, "", kCenterText, 12); -scalaResetButton_ = view__63; -view__53->addView(view__63); -auto* const view__64 = createTitleGroup(CRect(615, 161, 754, 261), -1, "Files", kCenterText, 12); -userFilesGroup_ = view__64; -view__47->addView(view__64); -auto* const view__65 = createValueLabel(CRect(20, 20, 120, 45), -1, "User SFZ folder", kCenterText, 12); -view__64->addView(view__65); -auto* const view__66 = createValueButton(CRect(20, 60, 120, 85), kTagChooseUserFilesDir, "DefaultPath", kCenterText, 12); -userFilesDirButton_ = view__66; -view__64->addView(view__66); -auto* const view__67 = createTitleGroup(CRect(525, 26, 720, 126), -1, "Quality", kCenterText, 12); -view__47->addView(view__67); -auto* const view__68 = createValueMenu(CRect(15, 60, 95, 85), kTagSetSampleQuality, "", kCenterText, 12); -sampleQualitySlider_ = view__68; -view__67->addView(view__68); -auto* const view__69 = createValueLabel(CRect(15, 20, 95, 45), -1, "Sample", kCenterText, 12); -view__67->addView(view__69); -auto* const view__70 = createValueLabel(CRect(100, 20, 180, 45), -1, "Oscillator", kCenterText, 12); -view__67->addView(view__70); -auto* const view__71 = createValueMenu(CRect(100, 60, 180, 85), kTagSetOscillatorQuality, "", kCenterText, 12); -oscillatorQualitySlider_ = view__71; -view__67->addView(view__71); -auto* const view__72 = createTitleGroup(CRect(35, 161, 140, 261), -1, "Appearance", kCenterText, 12); -view__47->addView(view__72); -auto* const view__73 = createOptionMenu(CRect(20, 60, 85, 85), kTagThemeMenu, "", kCenterText, 12); -themeMenu_ = view__73; -view__72->addView(view__73); -auto* const view__74 = createValueLabel(CRect(10, 25, 90, 50), -1, "Theme", kCenterText, 12); -view__72->addView(view__74); -auto* const view__75 = createPiano(CRect(5, 400, 795, 470), -1, "", kCenterText, 12); -piano_ = view__75; -view__0->addView(view__75); +auto* const view__50 = createValueMenu(CRect(25, 60, 85, 85), kTagSetOversampling, "", kCenterText, 12); +oversamplingSlider_ = view__50; +view__49->addView(view__50); +auto* const view__51 = createValueLabel(CRect(15, 20, 95, 45), -1, "Oversampling", kCenterText, 12); +view__49->addView(view__51); +auto* const view__52 = createValueLabel(CRect(100, 20, 180, 45), -1, "Preload size", kCenterText, 12); +view__49->addView(view__52); +auto* const view__53 = createValueMenu(CRect(110, 60, 170, 85), kTagSetPreloadSize, "", kCenterText, 12); +preloadSizeSlider_ = view__53; +view__49->addView(view__53); +auto* const view__54 = createTitleGroup(CRect(170, 161, 585, 261), -1, "Tuning", kCenterText, 12); +view__48->addView(view__54); +auto* const view__55 = createValueLabel(CRect(155, 20, 235, 45), -1, "Root key", kCenterText, 12); +view__54->addView(view__55); +auto* const view__56 = createValueMenu(CRect(250, 60, 310, 85), kTagSetTuningFrequency, "", kCenterText, 12); +tuningFrequencySlider_ = view__56; +view__54->addView(view__56); +auto* const view__57 = createValueLabel(CRect(240, 20, 320, 45), -1, "Frequency", kCenterText, 12); +view__54->addView(view__57); +auto* const view__58 = createStyledKnob(CRect(340, 45, 388, 93), kTagSetStretchedTuning, "", kCenterText, 14); +stretchedTuningSlider_ = view__58; +view__54->addView(view__58); +auto* const view__59 = createValueLabel(CRect(325, 20, 405, 45), -1, "Stretch", kCenterText, 12); +view__54->addView(view__59); +auto* const view__60 = createValueLabel(CRect(20, 20, 120, 45), -1, "Scala file", kCenterText, 12); +view__54->addView(view__60); +auto* const view__61 = createValueButton(CRect(20, 60, 120, 85), kTagLoadScalaFile, "DefaultScale", kCenterText, 12); +scalaFileButton_ = view__61; +view__54->addView(view__61); +auto* const view__62 = createValueMenu(CRect(165, 60, 200, 85), kTagSetScalaRootKey, "", kCenterText, 12); +scalaRootKeySlider_ = view__62; +view__54->addView(view__62); +auto* const view__63 = createValueMenu(CRect(200, 60, 230, 85), kTagSetScalaRootKey, "", kCenterText, 12); +scalaRootOctaveSlider_ = view__63; +view__54->addView(view__63); +auto* const view__64 = createResetSomethingButton(CRect(120, 60, 145, 85), kTagResetScalaFile, "", kCenterText, 12); +scalaResetButton_ = view__64; +view__54->addView(view__64); +auto* const view__65 = createTitleGroup(CRect(615, 161, 754, 261), -1, "Files", kCenterText, 12); +userFilesGroup_ = view__65; +view__48->addView(view__65); +auto* const view__66 = createValueLabel(CRect(20, 20, 120, 45), -1, "User SFZ folder", kCenterText, 12); +view__65->addView(view__66); +auto* const view__67 = createValueButton(CRect(20, 60, 120, 85), kTagChooseUserFilesDir, "DefaultPath", kCenterText, 12); +userFilesDirButton_ = view__67; +view__65->addView(view__67); +auto* const view__68 = createTitleGroup(CRect(525, 26, 720, 126), -1, "Quality", kCenterText, 12); +view__48->addView(view__68); +auto* const view__69 = createValueMenu(CRect(15, 60, 95, 85), kTagSetSampleQuality, "", kCenterText, 12); +sampleQualitySlider_ = view__69; +view__68->addView(view__69); +auto* const view__70 = createValueLabel(CRect(15, 20, 95, 45), -1, "Sample", kCenterText, 12); +view__68->addView(view__70); +auto* const view__71 = createValueLabel(CRect(100, 20, 180, 45), -1, "Oscillator", kCenterText, 12); +view__68->addView(view__71); +auto* const view__72 = createValueMenu(CRect(100, 60, 180, 85), kTagSetOscillatorQuality, "", kCenterText, 12); +oscillatorQualitySlider_ = view__72; +view__68->addView(view__72); +auto* const view__73 = createTitleGroup(CRect(35, 161, 140, 261), -1, "Appearance", kCenterText, 12); +view__48->addView(view__73); +auto* const view__74 = createOptionMenu(CRect(20, 60, 85, 85), kTagThemeMenu, "", kCenterText, 12); +themeMenu_ = view__74; +view__73->addView(view__74); +auto* const view__75 = createValueLabel(CRect(10, 25, 90, 50), -1, "Theme", kCenterText, 12); +view__73->addView(view__75); +auto* const view__76 = createPiano(CRect(5, 400, 795, 470), -1, "", kCenterText, 12); +piano_ = view__76; +view__0->addView(view__76); +auto* const view__77 = createLogicalGroup(CRect(25, 130, 816, 415), -1, "", kCenterText, 14); +subPanels_[kPanelGeneral] = view__77; +view__0->addView(view__77); +view__77->setVisible(false); From 41519fbb67b45a95c95f3f6c2aded4ce2921377d Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Sun, 23 May 2021 04:50:25 +0200 Subject: [PATCH 2/2] Reposition and resize --- plugins/editor/layout/main.fl | 18 +++++++++--------- plugins/editor/src/editor/layout/main.hpp | 18 +++++++++--------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/plugins/editor/layout/main.fl b/plugins/editor/layout/main.fl index 4f2d9d12..e862d432 100644 --- a/plugins/editor/layout/main.fl +++ b/plugins/editor/layout/main.fl @@ -1,12 +1,12 @@ # data file for the Fltk User Interface Designer (fluid) -version 1.0305 +version 1.0306 header_name {.h} code_name {.cxx} widget_class mainView {open - xywh {439 94 800 475} type Double + xywh {108 91 800 475} type Double class LogicalGroup visible } { - Fl_Box imageContainer_ {selected + Fl_Box imageContainer_ { image {../resources/background.png} xywh {5 110 790 285} class Background } @@ -162,11 +162,11 @@ widget_class mainView {open } } Fl_Group {subPanels_[kPanelInfo]} {open - xywh {5 110 791 285} hide + xywh {5 110 790 285} hide class LogicalGroup } { Fl_Group {} {open - xywh {5 110 790 280} box ROUNDED_BOX + xywh {5 110 790 285} box ROUNDED_BOX class RoundedGroup } { Fl_Box {} { @@ -221,7 +221,7 @@ widget_class mainView {open } } } - Fl_Group {subPanels_[kPanelControls]} { + Fl_Group {subPanels_[kPanelControls]} {open xywh {5 110 790 285} hide class LogicalGroup } { @@ -236,7 +236,7 @@ widget_class mainView {open } } Fl_Group {subPanels_[kPanelSettings]} { - xywh {5 109 790 316} + xywh {5 110 790 285} class LogicalGroup } { Fl_Group {} { @@ -386,8 +386,8 @@ widget_class mainView {open xywh {5 400 790 70} labelsize 12 class Piano } - Fl_Group {subPanels_[kPanelGeneral]} {open - xywh {25 130 791 285} hide + Fl_Group {subPanels_[kPanelGeneral]} {open selected + xywh {5 110 790 285} hide class LogicalGroup } {} } diff --git a/plugins/editor/src/editor/layout/main.hpp b/plugins/editor/src/editor/layout/main.hpp index 67198b74..a14cb951 100644 --- a/plugins/editor/src/editor/layout/main.hpp +++ b/plugins/editor/src/editor/layout/main.hpp @@ -88,11 +88,11 @@ auto* const view__32 = createVMeter(CRect(171, 5, 180, 95), -1, "", kCenterText, rightMeter_ = view__32; view__26->addView(view__32); enterPalette(defaultPalette); -auto* const view__33 = createLogicalGroup(CRect(5, 110, 796, 395), -1, "", kCenterText, 14); +auto* const view__33 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); subPanels_[kPanelInfo] = view__33; view__0->addView(view__33); view__33->setVisible(false); -auto* const view__34 = createRoundedGroup(CRect(0, 0, 790, 280), -1, "", kCenterText, 14); +auto* const view__34 = createRoundedGroup(CRect(0, 0, 790, 285), -1, "", kCenterText, 14); view__33->addView(view__34); auto* const view__35 = createLabel(CRect(15, 10, 75, 35), -1, "Curves:", kLeftText, 14); view__34->addView(view__35); @@ -128,10 +128,10 @@ view__45->addView(view__46); auto* const view__47 = createControlsPanel(CRect(0, 0, 790, 285), -1, "", kCenterText, 12); controlsPanel_ = view__47; view__46->addView(view__47); -auto* const view__48 = createLogicalGroup(CRect(5, 109, 795, 425), -1, "", kCenterText, 14); +auto* const view__48 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); subPanels_[kPanelSettings] = view__48; view__0->addView(view__48); -auto* const view__49 = createTitleGroup(CRect(300, 26, 495, 126), -1, "Engine", kCenterText, 12); +auto* const view__49 = createTitleGroup(CRect(300, 25, 495, 125), -1, "Engine", kCenterText, 12); view__48->addView(view__49); auto* const view__50 = createValueMenu(CRect(25, 60, 85, 85), kTagSetOversampling, "", kCenterText, 12); oversamplingSlider_ = view__50; @@ -143,7 +143,7 @@ view__49->addView(view__52); auto* const view__53 = createValueMenu(CRect(110, 60, 170, 85), kTagSetPreloadSize, "", kCenterText, 12); preloadSizeSlider_ = view__53; view__49->addView(view__53); -auto* const view__54 = createTitleGroup(CRect(170, 161, 585, 261), -1, "Tuning", kCenterText, 12); +auto* const view__54 = createTitleGroup(CRect(170, 160, 585, 260), -1, "Tuning", kCenterText, 12); view__48->addView(view__54); auto* const view__55 = createValueLabel(CRect(155, 20, 235, 45), -1, "Root key", kCenterText, 12); view__54->addView(view__55); @@ -171,7 +171,7 @@ view__54->addView(view__63); auto* const view__64 = createResetSomethingButton(CRect(120, 60, 145, 85), kTagResetScalaFile, "", kCenterText, 12); scalaResetButton_ = view__64; view__54->addView(view__64); -auto* const view__65 = createTitleGroup(CRect(615, 161, 754, 261), -1, "Files", kCenterText, 12); +auto* const view__65 = createTitleGroup(CRect(615, 160, 754, 260), -1, "Files", kCenterText, 12); userFilesGroup_ = view__65; view__48->addView(view__65); auto* const view__66 = createValueLabel(CRect(20, 20, 120, 45), -1, "User SFZ folder", kCenterText, 12); @@ -179,7 +179,7 @@ view__65->addView(view__66); auto* const view__67 = createValueButton(CRect(20, 60, 120, 85), kTagChooseUserFilesDir, "DefaultPath", kCenterText, 12); userFilesDirButton_ = view__67; view__65->addView(view__67); -auto* const view__68 = createTitleGroup(CRect(525, 26, 720, 126), -1, "Quality", kCenterText, 12); +auto* const view__68 = createTitleGroup(CRect(525, 25, 720, 125), -1, "Quality", kCenterText, 12); view__48->addView(view__68); auto* const view__69 = createValueMenu(CRect(15, 60, 95, 85), kTagSetSampleQuality, "", kCenterText, 12); sampleQualitySlider_ = view__69; @@ -191,7 +191,7 @@ view__68->addView(view__71); auto* const view__72 = createValueMenu(CRect(100, 60, 180, 85), kTagSetOscillatorQuality, "", kCenterText, 12); oscillatorQualitySlider_ = view__72; view__68->addView(view__72); -auto* const view__73 = createTitleGroup(CRect(35, 161, 140, 261), -1, "Appearance", kCenterText, 12); +auto* const view__73 = createTitleGroup(CRect(35, 160, 140, 260), -1, "Appearance", kCenterText, 12); view__48->addView(view__73); auto* const view__74 = createOptionMenu(CRect(20, 60, 85, 85), kTagThemeMenu, "", kCenterText, 12); themeMenu_ = view__74; @@ -201,7 +201,7 @@ view__73->addView(view__75); auto* const view__76 = createPiano(CRect(5, 400, 795, 470), -1, "", kCenterText, 12); piano_ = view__76; view__0->addView(view__76); -auto* const view__77 = createLogicalGroup(CRect(25, 130, 816, 415), -1, "", kCenterText, 14); +auto* const view__77 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); subPanels_[kPanelGeneral] = view__77; view__0->addView(view__77); view__77->setVisible(false);