Tweaking the GUI
The instrument information can be on the main tab Put the button behind the logo Embed the ABeeZee font and use it everywhere Add hover colors to glyph buttons Replace the "file open" glyph by a folder
This commit is contained in:
parent
279382a7b2
commit
59c64bcb91
8 changed files with 269 additions and 279 deletions
|
|
@ -5,11 +5,14 @@ set(EDITOR_RESOURCES
|
|||
logo.png
|
||||
logo_text.png
|
||||
logo_text@2x.png
|
||||
logo_full_white.png
|
||||
icon_white.png
|
||||
icon_white@2x.png
|
||||
knob48.png
|
||||
knob48@2x.png
|
||||
Fonts/fluentui-system-regular-20.ttf
|
||||
Fonts/ABeeZee-Regular.ttf
|
||||
Fonts/ABeeZee-Regular.ttf
|
||||
PARENT_SCOPE)
|
||||
|
||||
function(copy_editor_resources SOURCE_DIR DESTINATION_DIR)
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
# data file for the Fltk User Interface Designer (fluid)
|
||||
version 1.0305
|
||||
version 1.0304
|
||||
header_name {.h}
|
||||
code_name {.cxx}
|
||||
widget_class mainView {open
|
||||
xywh {410 523 800 475} type Double
|
||||
xywh {572 266 800 475} type Double
|
||||
class LogicalGroup visible
|
||||
} {
|
||||
Fl_Group {} {
|
||||
|
|
@ -12,112 +12,104 @@ widget_class mainView {open
|
|||
class LogicalGroup
|
||||
} {
|
||||
Fl_Group {} {open
|
||||
xywh {5 4 100 101} box ROUNDED_BOX align 0
|
||||
xywh {5 4 175 101} box ROUNDED_BOX align 0
|
||||
class RoundedGroup
|
||||
} {
|
||||
Fl_Box {} {
|
||||
comment {tag=kTagFirstChangePanel+kPanelGeneral}
|
||||
image {../resources/icon_white.png} xywh {7 6 96 96}
|
||||
image {../resources/logo_full_white.png} xywh {10 11 165 63}
|
||||
class SfizzMainButton
|
||||
}
|
||||
Fl_Button {} {
|
||||
comment {tag=kTagFirstChangePanel+kPanelGeneral}
|
||||
xywh {55 75 25 25} labelsize 24
|
||||
class HomeButton
|
||||
}
|
||||
Fl_Button {} {
|
||||
comment {tag=kTagFirstChangePanel+kPanelControls}
|
||||
xywh {80 75 25 25} labelsize 24
|
||||
class CCButton
|
||||
}
|
||||
Fl_Button {} {
|
||||
comment {tag=kTagFirstChangePanel+kPanelSettings}
|
||||
xywh {105 75 25 25} labelsize 24
|
||||
class SettingsButton
|
||||
}
|
||||
}
|
||||
Fl_Group {} {open
|
||||
xywh {110 5 380 100} box ROUNDED_BOX
|
||||
xywh {185 5 380 100} box ROUNDED_BOX
|
||||
class RoundedGroup
|
||||
} {
|
||||
Fl_Box {} {
|
||||
label {File:}
|
||||
xywh {125 15 40 25} labelsize 16
|
||||
xywh {200 13 40 30} labelsize 16
|
||||
class Label
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {KS:}
|
||||
xywh {125 45 40 25} labelsize 16
|
||||
xywh {200 45 40 30} labelsize 16
|
||||
class Label
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {Separator 1}
|
||||
xywh {120 40 355 5} box BORDER_BOX labeltype NO_LABEL
|
||||
xywh {195 41 360 5} box BORDER_BOX labeltype NO_LABEL
|
||||
class HLine
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {Separator 2}
|
||||
xywh {120 70 355 5} box BORDER_BOX labeltype NO_LABEL
|
||||
xywh {195 73 360 5} box BORDER_BOX labeltype NO_LABEL
|
||||
class HLine
|
||||
}
|
||||
Fl_Box sfzFileLabel_ {
|
||||
label {DefaultInstrument.sfz}
|
||||
xywh {190 15 230 25} labelsize 20
|
||||
xywh {265 12 230 30} labelsize 20
|
||||
class Label
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {Key switch}
|
||||
xywh {190 45 230 25} labelsize 20
|
||||
xywh {265 44 230 30} labelsize 20
|
||||
class Label
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {Voices:}
|
||||
xywh {120 75 60 25} labelsize 12 align 24
|
||||
xywh {195 76 60 25} labelsize 12 align 24
|
||||
class Label
|
||||
}
|
||||
Fl_Button {} {
|
||||
comment {tag=kTagLoadSfzFile}
|
||||
xywh {425 15 25 25} labelsize 24
|
||||
xywh {500 14 25 25} labelsize 24
|
||||
class LoadFileButton
|
||||
}
|
||||
Fl_Button {} {
|
||||
comment {tag=kTagEditSfzFile}
|
||||
xywh {450 15 25 25} labelsize 24
|
||||
xywh {525 14 25 25} labelsize 24
|
||||
class EditFileButton
|
||||
}
|
||||
Fl_Box infoVoicesLabel_ {
|
||||
xywh {185 75 50 25} labelsize 12 align 16
|
||||
xywh {260 76 50 25} labelsize 12 align 16
|
||||
class Label
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {Max:}
|
||||
xywh {240 75 60 25} labelsize 12 align 24
|
||||
xywh {315 76 60 25} labelsize 12 align 24
|
||||
class Label
|
||||
}
|
||||
Fl_Box numVoicesLabel_ {
|
||||
xywh {305 75 50 25} labelsize 12 align 16
|
||||
xywh {380 76 50 25} labelsize 12 align 16
|
||||
class Label
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {Memory:}
|
||||
xywh {360 75 60 25} labelsize 12 align 24
|
||||
xywh {435 76 60 25} labelsize 12 align 24
|
||||
class Label
|
||||
}
|
||||
Fl_Box memoryLabel_ {
|
||||
xywh {425 75 50 25} labelsize 12 align 16
|
||||
xywh {500 76 50 25} labelsize 12 align 16
|
||||
class Label
|
||||
}
|
||||
}
|
||||
Fl_Group {} {open
|
||||
xywh {495 5 100 100} box ROUNDED_BOX
|
||||
class RoundedGroup
|
||||
} {
|
||||
Fl_Light_Button {} {
|
||||
label SETUP
|
||||
comment {tag=kTagFirstChangePanel+kPanelSettings}
|
||||
xywh {510 42 70 25}
|
||||
class LightButton
|
||||
}
|
||||
Fl_Light_Button {} {
|
||||
label CC
|
||||
comment {tag=kTagFirstChangePanel+kPanelControls}
|
||||
xywh {510 15 70 25}
|
||||
class LightButton
|
||||
}
|
||||
Fl_Light_Button {} {
|
||||
label INFO
|
||||
comment {tag=kTagFirstChangePanel+kPanelInfo}
|
||||
xywh {510 69 70 25}
|
||||
class LightButton
|
||||
}
|
||||
}
|
||||
Fl_Group {} {open
|
||||
xywh {600 5 195 100} box ROUNDED_BOX
|
||||
xywh {570 5 225 100} box ROUNDED_BOX
|
||||
class RoundedGroup
|
||||
} {
|
||||
Fl_Dial {} {
|
||||
|
|
@ -126,7 +118,7 @@ widget_class mainView {open
|
|||
}
|
||||
Fl_Box {} {
|
||||
label Center
|
||||
xywh {610 70 60 25} labelsize 12 hide
|
||||
xywh {610 70 60 5} labelsize 12 hide
|
||||
class ValueLabel
|
||||
}
|
||||
Fl_Dial volumeSlider_ {
|
||||
|
|
@ -136,83 +128,74 @@ widget_class mainView {open
|
|||
}
|
||||
Fl_Box volumeLabel_ {
|
||||
label {0.0 dB}
|
||||
xywh {675 70 60 25} labelsize 12
|
||||
xywh {675 70 60 22} labelsize 12
|
||||
class ValueLabel
|
||||
}
|
||||
Fl_Box {} {
|
||||
xywh {745 20 35 70} box BORDER_BOX
|
||||
xywh {745 20 35 55} box BORDER_BOX
|
||||
class VMeter
|
||||
}
|
||||
}
|
||||
}
|
||||
Fl_Group {subPanels_[kPanelGeneral]} {
|
||||
xywh {5 110 790 285} hide
|
||||
Fl_Group {subPanels_[kPanelGeneral]} {open selected
|
||||
xywh {5 110 791 285}
|
||||
class LogicalGroup
|
||||
} {
|
||||
Fl_Group {} {open
|
||||
xywh {5 110 120 285} box ROUNDED_BOX
|
||||
xywh {5 110 175 280} box ROUNDED_BOX
|
||||
class RoundedGroup
|
||||
} {
|
||||
Fl_Box {} {
|
||||
label {Curves:}
|
||||
xywh {15 120 60 25} labelsize 12 align 20
|
||||
xywh {20 120 60 25} align 20
|
||||
class Label
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {Masters:}
|
||||
xywh {15 145 60 25} labelsize 12 align 20
|
||||
xywh {20 145 60 25} align 20
|
||||
class Label
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {Groups:}
|
||||
xywh {15 170 60 25} labelsize 12 align 20
|
||||
xywh {20 170 60 25} align 20
|
||||
class Label
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {Regions:}
|
||||
xywh {15 195 60 25} labelsize 12 align 20
|
||||
xywh {20 195 60 25} align 20
|
||||
class Label
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {Samples:}
|
||||
xywh {15 220 60 25} labelsize 12 align 20
|
||||
xywh {20 220 60 25} align 20
|
||||
class Label
|
||||
}
|
||||
Fl_Box infoCurvesLabel_ {
|
||||
label 0
|
||||
xywh {75 120 40 25} labelsize 12 align 16
|
||||
xywh {120 120 40 25} align 16
|
||||
class Label
|
||||
}
|
||||
Fl_Box infoMastersLabel_ {
|
||||
label 0
|
||||
xywh {75 145 40 25} labelsize 12 align 16
|
||||
xywh {120 145 40 25} align 16
|
||||
class Label
|
||||
}
|
||||
Fl_Box infoGroupsLabel_ {
|
||||
label 0
|
||||
xywh {75 170 40 25} labelsize 12 align 16
|
||||
xywh {120 170 40 25} align 16
|
||||
class Label
|
||||
}
|
||||
Fl_Box infoRegionsLabel_ {
|
||||
label 0
|
||||
xywh {75 195 40 25} labelsize 12 align 16
|
||||
xywh {120 195 40 25} align 16
|
||||
class Label
|
||||
}
|
||||
Fl_Box infoSamplesLabel_ {
|
||||
label 0
|
||||
xywh {75 220 40 25} labelsize 12 align 16
|
||||
xywh {120 220 40 25} align 16
|
||||
class Label
|
||||
}
|
||||
}
|
||||
Fl_Group {} {open
|
||||
xywh {130 110 665 280}
|
||||
class LogicalGroup
|
||||
} {
|
||||
Fl_Box {} {
|
||||
image {../resources/logo_text.png} xywh {260 125 400 250}
|
||||
class SfizzLargePicture
|
||||
}
|
||||
}
|
||||
}
|
||||
Fl_Group {subPanels_[kPanelControls]} {
|
||||
xywh {5 110 790 285} hide
|
||||
|
|
@ -229,114 +212,99 @@ widget_class mainView {open
|
|||
}
|
||||
}
|
||||
}
|
||||
Fl_Group {subPanels_[kPanelSettings]} {open
|
||||
xywh {5 110 790 285}
|
||||
Fl_Group {subPanels_[kPanelSettings]} {
|
||||
xywh {5 109 790 286} hide
|
||||
class LogicalGroup
|
||||
} {
|
||||
Fl_Group {} {
|
||||
label Engine open selected
|
||||
xywh {260 125 280 110} box ROUNDED_BOX labelsize 12 align 17
|
||||
label Engine open
|
||||
xywh {260 110 280 110} box ROUNDED_BOX labelsize 12 align 17
|
||||
class TitleGroup
|
||||
} {
|
||||
Fl_Spinner numVoicesSlider_ {
|
||||
comment {tag=kTagSetNumVoices}
|
||||
xywh {285 185 60 25} labelsize 12 textsize 12
|
||||
xywh {285 170 60 25} labelsize 12 textsize 12
|
||||
class ValueMenu
|
||||
}
|
||||
Fl_Box {} {
|
||||
label Polyphony
|
||||
xywh {275 145 80 25} labelsize 12
|
||||
xywh {275 130 80 25} labelsize 12
|
||||
class ValueLabel
|
||||
}
|
||||
Fl_Spinner oversamplingSlider_ {
|
||||
comment {tag=kTagSetOversampling}
|
||||
xywh {370 185 60 25} labelsize 12 textsize 12
|
||||
xywh {370 170 60 25} labelsize 12 textsize 12
|
||||
class ValueMenu
|
||||
}
|
||||
Fl_Box {} {
|
||||
label Oversampling
|
||||
xywh {360 145 80 25} labelsize 12
|
||||
xywh {360 130 80 25} labelsize 12
|
||||
class ValueLabel
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {Preload size}
|
||||
xywh {445 145 80 25} labelsize 12
|
||||
xywh {445 130 80 25} labelsize 12
|
||||
class ValueLabel
|
||||
}
|
||||
Fl_Spinner preloadSizeSlider_ {
|
||||
comment {tag=kTagSetPreloadSize}
|
||||
xywh {455 185 60 25} labelsize 12 textsize 12
|
||||
xywh {455 170 60 25} labelsize 12 textsize 12
|
||||
class ValueMenu
|
||||
}
|
||||
}
|
||||
Fl_Group {} {
|
||||
label Tuning open
|
||||
xywh {205 260 390 120} box ROUNDED_BOX labelsize 12 align 17
|
||||
xywh {205 268 390 120} box ROUNDED_BOX labelsize 12 align 17
|
||||
class TitleGroup
|
||||
} {
|
||||
Fl_Box {} {
|
||||
label {Root key}
|
||||
xywh {330 280 80 25} labelsize 12
|
||||
xywh {330 288 80 25} labelsize 12
|
||||
class ValueLabel
|
||||
}
|
||||
Fl_Spinner tuningFrequencySlider_ {
|
||||
comment {tag=kTagSetTuningFrequency}
|
||||
xywh {425 320 60 25} labelsize 12 textsize 12
|
||||
xywh {425 328 60 25} labelsize 12 textsize 12
|
||||
class ValueMenu
|
||||
}
|
||||
Fl_Box {} {
|
||||
label Frequency
|
||||
xywh {415 280 80 25} labelsize 12
|
||||
xywh {415 288 80 25} labelsize 12
|
||||
class ValueLabel
|
||||
}
|
||||
Fl_Dial stretchedTuningSlider_ {
|
||||
comment {tag=kTagSetStretchedTuning}
|
||||
xywh {515 305 48 48} value 0.5
|
||||
xywh {515 313 48 48} value 0.5
|
||||
class Knob48
|
||||
}
|
||||
Fl_Box {} {
|
||||
label Stretch
|
||||
xywh {500 280 80 25} labelsize 12
|
||||
xywh {500 288 80 25} labelsize 12
|
||||
class ValueLabel
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {Scala file}
|
||||
xywh {225 280 100 25} labelsize 12
|
||||
xywh {225 288 100 25} labelsize 12
|
||||
class ValueLabel
|
||||
}
|
||||
Fl_Button scalaFileButton_ {
|
||||
label DefaultScale
|
||||
comment {tag=kTagLoadScalaFile}
|
||||
xywh {225 320 100 25} labelsize 12
|
||||
xywh {225 328 100 25} labelsize 12
|
||||
class ValueButton
|
||||
}
|
||||
Fl_Spinner scalaRootKeySlider_ {
|
||||
comment {tag=kTagSetScalaRootKey}
|
||||
xywh {340 320 35 25} labelsize 12 textsize 12
|
||||
xywh {340 328 35 25} labelsize 12 textsize 12
|
||||
class ValueMenu
|
||||
}
|
||||
Fl_Spinner scalaRootOctaveSlider_ {
|
||||
comment {tag=kTagSetScalaRootKey}
|
||||
xywh {375 320 30 25} labelsize 12 textsize 12
|
||||
xywh {375 328 30 25} labelsize 12 textsize 12
|
||||
class ValueMenu
|
||||
}
|
||||
}
|
||||
}
|
||||
Fl_Group {subPanels_[kPanelInfo]} {
|
||||
xywh {5 110 790 285} hide
|
||||
class LogicalGroup
|
||||
} {
|
||||
Fl_Group {} {open
|
||||
xywh {5 110 790 285} box ROUNDED_BOX
|
||||
class RoundedGroup
|
||||
} {
|
||||
Fl_Box {} {
|
||||
label {Informative text goes here}
|
||||
xywh {5 110 790 285} labelsize 40
|
||||
class Label
|
||||
}
|
||||
}
|
||||
}
|
||||
Fl_Box {} {
|
||||
xywh {5 400 790 70}
|
||||
class Piano
|
||||
|
|
|
|||
BIN
editor/resources/Fonts/ABeeZee-Italic.ttf
Normal file
BIN
editor/resources/Fonts/ABeeZee-Italic.ttf
Normal file
Binary file not shown.
BIN
editor/resources/Fonts/ABeeZee-Regular.ttf
Normal file
BIN
editor/resources/Fonts/ABeeZee-Regular.ttf
Normal file
Binary file not shown.
BIN
editor/resources/logo_full_white.png
Normal file
BIN
editor/resources/logo_full_white.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.4 KiB |
|
|
@ -35,7 +35,6 @@ struct Editor::Impl : EditorController::Receiver, IControlListener {
|
|||
kPanelGeneral,
|
||||
kPanelControls,
|
||||
kPanelSettings,
|
||||
kPanelInfo,
|
||||
kNumPanels,
|
||||
};
|
||||
|
||||
|
|
@ -314,12 +313,38 @@ void Editor::Impl::uiReceiveValue(EditId id, const EditValue& v)
|
|||
break;
|
||||
}
|
||||
}
|
||||
class CHoverButton: public CTextButton {
|
||||
public:
|
||||
CHoverButton(const CRect& size, IControlListener* listener = nullptr, int32_t tag = -1, UTF8StringPtr title = nullptr)
|
||||
: CTextButton(size, listener, tag, title) {}
|
||||
|
||||
void setHoverColor(const CColor& color)
|
||||
{
|
||||
hoverColor = color;
|
||||
}
|
||||
|
||||
CMouseEventResult onMouseEntered (CPoint& where, const CButtonState& buttons) override
|
||||
{
|
||||
backupColor = getTextColor();
|
||||
setTextColor(hoverColor);
|
||||
return CTextButton::onMouseEntered(where, buttons);
|
||||
}
|
||||
|
||||
CMouseEventResult onMouseExited (CPoint& where, const CButtonState& buttons) override
|
||||
{
|
||||
setTextColor(backupColor);
|
||||
return CTextButton::onMouseExited(where, buttons);
|
||||
}
|
||||
private:
|
||||
CColor hoverColor;
|
||||
CColor backupColor;
|
||||
};
|
||||
|
||||
void Editor::Impl::createFrameContents()
|
||||
{
|
||||
CViewContainer* mainView;
|
||||
|
||||
SharedPointer<CBitmap> iconWhite = owned(new CBitmap("icon_white.png"));
|
||||
SharedPointer<CBitmap> iconWhite = owned(new CBitmap("logo_full_white.png"));
|
||||
SharedPointer<CBitmap> knob48 = owned(new CBitmap("knob48.png"));
|
||||
SharedPointer<CBitmap> logoText = owned(new CBitmap("logo_text.png"));
|
||||
|
||||
|
|
@ -332,6 +357,7 @@ void Editor::Impl::createFrameContents()
|
|||
CColor titleBoxText;
|
||||
CColor titleBoxBackground;
|
||||
CColor icon;
|
||||
CColor iconHighlight;
|
||||
CColor valueText;
|
||||
CColor valueBackground;
|
||||
};
|
||||
|
|
@ -342,6 +368,7 @@ void Editor::Impl::createFrameContents()
|
|||
lightTheme.titleBoxText = { 0xff, 0xff, 0xff };
|
||||
lightTheme.titleBoxBackground = { 0x2e, 0x34, 0x36 };
|
||||
lightTheme.icon = lightTheme.text;
|
||||
lightTheme.iconHighlight = { 0xa8, 0x62, 0x34 };
|
||||
lightTheme.valueText = { 0xff, 0xff, 0xff };
|
||||
lightTheme.valueBackground = { 0x2e, 0x34, 0x36 };
|
||||
Theme darkTheme;
|
||||
|
|
@ -350,6 +377,7 @@ void Editor::Impl::createFrameContents()
|
|||
darkTheme.titleBoxText = { 0x00, 0x00, 0x00 };
|
||||
darkTheme.titleBoxBackground = { 0xba, 0xbd, 0xb6 };
|
||||
darkTheme.icon = darkTheme.text;
|
||||
darkTheme.iconHighlight = { 0xa8, 0x62, 0x34 };
|
||||
darkTheme.valueText = { 0x2e, 0x34, 0x36 };
|
||||
darkTheme.valueBackground = { 0xff, 0xff, 0xff };
|
||||
Theme& defaultTheme = lightTheme;
|
||||
|
|
@ -363,18 +391,19 @@ void Editor::Impl::createFrameContents()
|
|||
typedef CKickButton SfizzMainButton;
|
||||
typedef CTextLabel Label;
|
||||
typedef CViewContainer HLine;
|
||||
typedef CTextButton LightButton;
|
||||
typedef CAnimKnob Knob48;
|
||||
typedef CTextLabel ValueLabel;
|
||||
typedef CViewContainer VMeter;
|
||||
typedef CView SfizzLargePicture;
|
||||
typedef SValueMenu ValueMenu;
|
||||
#if 0
|
||||
typedef CTextButton Button;
|
||||
#endif
|
||||
typedef CTextButton ValueButton;
|
||||
typedef CTextButton LoadFileButton;
|
||||
typedef CTextButton EditFileButton;
|
||||
typedef CHoverButton LoadFileButton;
|
||||
typedef CHoverButton CCButton;
|
||||
typedef CHoverButton HomeButton;
|
||||
typedef CHoverButton SettingsButton;
|
||||
typedef CHoverButton EditFileButton;
|
||||
typedef SPiano Piano;
|
||||
|
||||
auto createLogicalGroup = [](const CRect& bounds, int, const char*, CHoriTxtAlign, int) {
|
||||
|
|
@ -394,7 +423,7 @@ void Editor::Impl::createFrameContents()
|
|||
box->setBackgroundColor(theme->boxBackground);
|
||||
box->setTitleFontColor(theme->titleBoxText);
|
||||
box->setTitleBackgroundColor(theme->titleBoxBackground);
|
||||
auto font = owned(new CFontDesc(*box->getTitleFont()));
|
||||
auto font = owned(new CFontDesc("ABeeZee", fontsize));
|
||||
font->setSize(fontsize);
|
||||
box->setTitleFont(font);
|
||||
return box;
|
||||
|
|
@ -408,7 +437,7 @@ void Editor::Impl::createFrameContents()
|
|||
lbl->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||
lbl->setFontColor(theme->text);
|
||||
lbl->setHoriAlign(align);
|
||||
auto font = owned(new CFontDesc(*lbl->getFont()));
|
||||
auto font = owned(new CFontDesc("ABeeZee", fontsize));
|
||||
font->setSize(fontsize);
|
||||
lbl->setFont(font);
|
||||
return lbl;
|
||||
|
|
@ -420,11 +449,6 @@ void Editor::Impl::createFrameContents()
|
|||
hline->setBackgroundColor(CColor(0xff, 0xff, 0xff, 0xff));
|
||||
return hline;
|
||||
};
|
||||
auto createLightButton = [this](const CRect& bounds, int tag, const char* label, CHoriTxtAlign align, int) {
|
||||
CTextButton* button = new CTextButton(bounds, this, tag, label);
|
||||
button->setTextAlignment(align);
|
||||
return button;
|
||||
};
|
||||
auto createKnob48 = [this, &knob48](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int) {
|
||||
return new CAnimKnob(bounds, this, tag, 31, 48, knob48);
|
||||
};
|
||||
|
|
@ -434,7 +458,7 @@ void Editor::Impl::createFrameContents()
|
|||
lbl->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||
lbl->setFontColor(theme->text);
|
||||
lbl->setHoriAlign(align);
|
||||
auto font = owned(new CFontDesc(*lbl->getFont()));
|
||||
auto font = owned(new CFontDesc("ABeeZee", fontsize));
|
||||
font->setSize(fontsize);
|
||||
lbl->setFont(font);
|
||||
return lbl;
|
||||
|
|
@ -445,11 +469,6 @@ void Editor::Impl::createFrameContents()
|
|||
container->setBackgroundColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||
return container;
|
||||
};
|
||||
auto createSfizzLargePicture = [&logoText](const CRect& bounds, int, const char*, CHoriTxtAlign, int) {
|
||||
CView* picture = new CView(bounds);
|
||||
picture->setBackground(logoText);
|
||||
return picture;
|
||||
};
|
||||
#if 0
|
||||
auto createButton = [this](const CRect& bounds, int tag, const char* label, CHoriTxtAlign align, int fontsize) {
|
||||
CTextButton* button = new CTextButton(bounds, this, tag, label);
|
||||
|
|
@ -462,7 +481,7 @@ void Editor::Impl::createFrameContents()
|
|||
#endif
|
||||
auto createValueButton = [this, &theme](const CRect& bounds, int tag, const char* label, CHoriTxtAlign align, int fontsize) {
|
||||
CTextButton* button = new CTextButton(bounds, this, tag, label);
|
||||
auto font = owned(new CFontDesc(*button->getFont()));
|
||||
auto font = owned(new CFontDesc("ABeeZee", fontsize));
|
||||
font->setSize(fontsize);
|
||||
button->setFont(font);
|
||||
button->setTextAlignment(align);
|
||||
|
|
@ -476,7 +495,7 @@ void Editor::Impl::createFrameContents()
|
|||
auto createValueMenu = [this, &theme](const CRect& bounds, int tag, const char*, CHoriTxtAlign align, int fontsize) {
|
||||
SValueMenu* vm = new SValueMenu(bounds, this, tag);
|
||||
vm->setHoriAlign(align);
|
||||
auto font = owned(new CFontDesc(*vm->getFont()));
|
||||
auto font = owned(new CFontDesc("ABeeZee", fontsize));
|
||||
font->setSize(fontsize);
|
||||
vm->setFont(font);
|
||||
vm->setFontColor(theme->valueText);
|
||||
|
|
@ -487,19 +506,30 @@ void Editor::Impl::createFrameContents()
|
|||
return vm;
|
||||
};
|
||||
auto createGlyphButton = [this, &theme](UTF8StringPtr glyph, const CRect& bounds, int tag, int fontsize) {
|
||||
CTextButton* btn = new CTextButton(bounds, this, tag, glyph);
|
||||
CHoverButton* btn = new CHoverButton(bounds, this, tag, glyph);
|
||||
btn->setFont(new CFontDesc("Fluent System Regular W20", fontsize));
|
||||
btn->setTextColor(theme->icon);
|
||||
btn->setHoverColor(theme->iconHighlight);
|
||||
btn->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||
btn->setGradient(nullptr);
|
||||
btn->setGradientHighlighted(nullptr);
|
||||
return btn;
|
||||
};
|
||||
auto createLoadFileButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) {
|
||||
return createGlyphButton(u8"\ue142", bounds, tag, fontsize);
|
||||
auto createHomeButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) {
|
||||
return createGlyphButton(u8"\ue1d6", 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"\ue140", bounds, tag, fontsize);
|
||||
};
|
||||
auto createSettingsButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) {
|
||||
return createGlyphButton(u8"\ue2e4", bounds, tag, fontsize);
|
||||
};
|
||||
auto createEditFileButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) {
|
||||
return createGlyphButton(u8"\ue148", bounds, tag, fontsize);
|
||||
return createGlyphButton(u8"\ue142", bounds, tag, fontsize);
|
||||
};
|
||||
auto createLoadFileButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) {
|
||||
return createGlyphButton(u8"\ue1a3", bounds, tag, fontsize);
|
||||
};
|
||||
auto createPiano = [](const CRect& bounds, int, const char*, CHoriTxtAlign, int) {
|
||||
SPiano* piano = new SPiano(bounds);
|
||||
|
|
|
|||
|
|
@ -408,6 +408,9 @@ CMouseEventResult SValueMenu::onMouseDown(CPoint& where, const CButtonState& but
|
|||
menu->addEntry(item);
|
||||
item->remember(); // above call does not increment refcount
|
||||
}
|
||||
menu->setFont(self->getFont());
|
||||
menu->setFontColor(self->getFontColor());
|
||||
menu->setBackColor(self->getBackColor());
|
||||
menu->popup(frame, frameWhere + CPoint(0.0, 1.0));
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -4,164 +4,150 @@ mainView = view__0;
|
|||
enterTheme(darkTheme);
|
||||
LogicalGroup* const view__1 = createLogicalGroup(CRect(0, 0, 800, 110), -1, "", kCenterText, 14);
|
||||
view__0->addView(view__1);
|
||||
RoundedGroup* const view__2 = createRoundedGroup(CRect(5, 4, 105, 105), -1, "", kCenterText, 14);
|
||||
RoundedGroup* const view__2 = createRoundedGroup(CRect(5, 4, 180, 105), -1, "", kCenterText, 14);
|
||||
view__1->addView(view__2);
|
||||
SfizzMainButton* const view__3 = createSfizzMainButton(CRect(2, 2, 98, 98), kTagFirstChangePanel+kPanelGeneral, "", kCenterText, 14);
|
||||
SfizzMainButton* const view__3 = createSfizzMainButton(CRect(5, 7, 170, 70), kTagFirstChangePanel+kPanelGeneral, "", kCenterText, 14);
|
||||
view__2->addView(view__3);
|
||||
RoundedGroup* const view__4 = createRoundedGroup(CRect(110, 5, 490, 105), -1, "", kCenterText, 14);
|
||||
view__1->addView(view__4);
|
||||
Label* const view__5 = createLabel(CRect(15, 10, 55, 35), -1, "File:", kCenterText, 16);
|
||||
view__4->addView(view__5);
|
||||
Label* const view__6 = createLabel(CRect(15, 40, 55, 65), -1, "KS:", kCenterText, 16);
|
||||
view__4->addView(view__6);
|
||||
HLine* const view__7 = createHLine(CRect(10, 35, 365, 40), -1, "", kCenterText, 14);
|
||||
view__4->addView(view__7);
|
||||
HLine* const view__8 = createHLine(CRect(10, 65, 365, 70), -1, "", kCenterText, 14);
|
||||
view__4->addView(view__8);
|
||||
Label* const view__9 = createLabel(CRect(80, 10, 310, 35), -1, "DefaultInstrument.sfz", kCenterText, 20);
|
||||
sfzFileLabel_ = view__9;
|
||||
view__4->addView(view__9);
|
||||
Label* const view__10 = createLabel(CRect(80, 40, 310, 65), -1, "Key switch", kCenterText, 20);
|
||||
view__4->addView(view__10);
|
||||
Label* const view__11 = createLabel(CRect(10, 70, 70, 95), -1, "Voices:", kRightText, 12);
|
||||
view__4->addView(view__11);
|
||||
LoadFileButton* const view__12 = createLoadFileButton(CRect(315, 10, 340, 35), kTagLoadSfzFile, "", kCenterText, 24);
|
||||
view__4->addView(view__12);
|
||||
EditFileButton* const view__13 = createEditFileButton(CRect(340, 10, 365, 35), kTagEditSfzFile, "", kCenterText, 24);
|
||||
view__4->addView(view__13);
|
||||
Label* const view__14 = createLabel(CRect(75, 70, 125, 95), -1, "", kCenterText, 12);
|
||||
infoVoicesLabel_ = view__14;
|
||||
view__4->addView(view__14);
|
||||
Label* const view__15 = createLabel(CRect(130, 70, 190, 95), -1, "Max:", kRightText, 12);
|
||||
view__4->addView(view__15);
|
||||
Label* const view__16 = createLabel(CRect(195, 70, 245, 95), -1, "", kCenterText, 12);
|
||||
numVoicesLabel_ = view__16;
|
||||
view__4->addView(view__16);
|
||||
Label* const view__17 = createLabel(CRect(250, 70, 310, 95), -1, "Memory:", kRightText, 12);
|
||||
view__4->addView(view__17);
|
||||
Label* const view__18 = createLabel(CRect(315, 70, 365, 95), -1, "", kCenterText, 12);
|
||||
memoryLabel_ = view__18;
|
||||
view__4->addView(view__18);
|
||||
RoundedGroup* const view__19 = createRoundedGroup(CRect(495, 5, 595, 105), -1, "", kCenterText, 14);
|
||||
view__1->addView(view__19);
|
||||
LightButton* const view__20 = createLightButton(CRect(15, 37, 85, 62), kTagFirstChangePanel+kPanelSettings, "SETUP", kCenterText, 14);
|
||||
view__19->addView(view__20);
|
||||
LightButton* const view__21 = createLightButton(CRect(15, 10, 85, 35), kTagFirstChangePanel+kPanelControls, "CC", kCenterText, 14);
|
||||
view__19->addView(view__21);
|
||||
LightButton* const view__22 = createLightButton(CRect(15, 64, 85, 89), kTagFirstChangePanel+kPanelInfo, "INFO", kCenterText, 14);
|
||||
view__19->addView(view__22);
|
||||
RoundedGroup* const view__23 = createRoundedGroup(CRect(600, 5, 795, 105), -1, "", kCenterText, 14);
|
||||
view__1->addView(view__23);
|
||||
Knob48* const view__24 = createKnob48(CRect(15, 15, 63, 63), -1, "", kCenterText, 14);
|
||||
view__23->addView(view__24);
|
||||
HomeButton* const view__4 = createHomeButton(CRect(50, 71, 75, 96), kTagFirstChangePanel+kPanelGeneral, "", kCenterText, 24);
|
||||
view__2->addView(view__4);
|
||||
CCButton* const view__5 = createCCButton(CRect(75, 71, 100, 96), kTagFirstChangePanel+kPanelControls, "", kCenterText, 24);
|
||||
view__2->addView(view__5);
|
||||
SettingsButton* const view__6 = createSettingsButton(CRect(100, 71, 125, 96), kTagFirstChangePanel+kPanelSettings, "", kCenterText, 24);
|
||||
view__2->addView(view__6);
|
||||
RoundedGroup* const view__7 = createRoundedGroup(CRect(185, 5, 565, 105), -1, "", kCenterText, 14);
|
||||
view__1->addView(view__7);
|
||||
Label* const view__8 = createLabel(CRect(15, 8, 55, 38), -1, "File:", kCenterText, 16);
|
||||
view__7->addView(view__8);
|
||||
Label* const view__9 = createLabel(CRect(15, 40, 55, 70), -1, "KS:", kCenterText, 16);
|
||||
view__7->addView(view__9);
|
||||
HLine* const view__10 = createHLine(CRect(10, 36, 370, 41), -1, "", kCenterText, 14);
|
||||
view__7->addView(view__10);
|
||||
HLine* const view__11 = createHLine(CRect(10, 68, 370, 73), -1, "", kCenterText, 14);
|
||||
view__7->addView(view__11);
|
||||
Label* const view__12 = createLabel(CRect(80, 7, 310, 37), -1, "DefaultInstrument.sfz", kCenterText, 20);
|
||||
sfzFileLabel_ = view__12;
|
||||
view__7->addView(view__12);
|
||||
Label* const view__13 = createLabel(CRect(80, 39, 310, 69), -1, "Key switch", kCenterText, 20);
|
||||
view__7->addView(view__13);
|
||||
Label* const view__14 = createLabel(CRect(10, 71, 70, 96), -1, "Voices:", kRightText, 12);
|
||||
view__7->addView(view__14);
|
||||
LoadFileButton* const view__15 = createLoadFileButton(CRect(315, 9, 340, 34), kTagLoadSfzFile, "", kCenterText, 24);
|
||||
view__7->addView(view__15);
|
||||
EditFileButton* const view__16 = createEditFileButton(CRect(340, 9, 365, 34), kTagEditSfzFile, "", kCenterText, 24);
|
||||
view__7->addView(view__16);
|
||||
Label* const view__17 = createLabel(CRect(75, 71, 125, 96), -1, "", kCenterText, 12);
|
||||
infoVoicesLabel_ = view__17;
|
||||
view__7->addView(view__17);
|
||||
Label* const view__18 = createLabel(CRect(130, 71, 190, 96), -1, "Max:", kRightText, 12);
|
||||
view__7->addView(view__18);
|
||||
Label* const view__19 = createLabel(CRect(195, 71, 245, 96), -1, "", kCenterText, 12);
|
||||
numVoicesLabel_ = view__19;
|
||||
view__7->addView(view__19);
|
||||
Label* const view__20 = createLabel(CRect(250, 71, 310, 96), -1, "Memory:", kRightText, 12);
|
||||
view__7->addView(view__20);
|
||||
Label* const view__21 = createLabel(CRect(315, 71, 365, 96), -1, "", kCenterText, 12);
|
||||
memoryLabel_ = view__21;
|
||||
view__7->addView(view__21);
|
||||
RoundedGroup* const view__22 = createRoundedGroup(CRect(570, 5, 795, 105), -1, "", kCenterText, 14);
|
||||
view__1->addView(view__22);
|
||||
Knob48* const view__23 = createKnob48(CRect(45, 15, 93, 63), -1, "", kCenterText, 14);
|
||||
view__22->addView(view__23);
|
||||
view__23->setVisible(false);
|
||||
ValueLabel* const view__24 = createValueLabel(CRect(40, 65, 100, 70), -1, "Center", kCenterText, 12);
|
||||
view__22->addView(view__24);
|
||||
view__24->setVisible(false);
|
||||
ValueLabel* const view__25 = createValueLabel(CRect(10, 65, 70, 90), -1, "Center", kCenterText, 12);
|
||||
view__23->addView(view__25);
|
||||
view__25->setVisible(false);
|
||||
Knob48* const view__26 = createKnob48(CRect(80, 15, 128, 63), kTagSetVolume, "", kCenterText, 14);
|
||||
volumeSlider_ = view__26;
|
||||
view__23->addView(view__26);
|
||||
ValueLabel* const view__27 = createValueLabel(CRect(75, 65, 135, 90), -1, "0.0 dB", kCenterText, 12);
|
||||
volumeLabel_ = view__27;
|
||||
view__23->addView(view__27);
|
||||
VMeter* const view__28 = createVMeter(CRect(145, 15, 180, 85), -1, "", kCenterText, 14);
|
||||
view__23->addView(view__28);
|
||||
Knob48* const view__25 = createKnob48(CRect(110, 15, 158, 63), kTagSetVolume, "", kCenterText, 14);
|
||||
volumeSlider_ = view__25;
|
||||
view__22->addView(view__25);
|
||||
ValueLabel* const view__26 = createValueLabel(CRect(105, 65, 165, 87), -1, "0.0 dB", kCenterText, 12);
|
||||
volumeLabel_ = view__26;
|
||||
view__22->addView(view__26);
|
||||
VMeter* const view__27 = createVMeter(CRect(175, 15, 210, 70), -1, "", kCenterText, 14);
|
||||
view__22->addView(view__27);
|
||||
enterTheme(defaultTheme);
|
||||
LogicalGroup* const view__29 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14);
|
||||
subPanels_[kPanelGeneral] = view__29;
|
||||
view__0->addView(view__29);
|
||||
view__29->setVisible(false);
|
||||
RoundedGroup* const view__30 = createRoundedGroup(CRect(0, 0, 120, 285), -1, "", kCenterText, 14);
|
||||
LogicalGroup* const view__28 = createLogicalGroup(CRect(5, 110, 796, 395), -1, "", kCenterText, 14);
|
||||
subPanels_[kPanelGeneral] = view__28;
|
||||
view__0->addView(view__28);
|
||||
RoundedGroup* const view__29 = createRoundedGroup(CRect(0, 0, 175, 280), -1, "", kCenterText, 14);
|
||||
view__28->addView(view__29);
|
||||
Label* const view__30 = createLabel(CRect(15, 10, 75, 35), -1, "Curves:", kLeftText, 14);
|
||||
view__29->addView(view__30);
|
||||
Label* const view__31 = createLabel(CRect(10, 10, 70, 35), -1, "Curves:", kLeftText, 12);
|
||||
view__30->addView(view__31);
|
||||
Label* const view__32 = createLabel(CRect(10, 35, 70, 60), -1, "Masters:", kLeftText, 12);
|
||||
view__30->addView(view__32);
|
||||
Label* const view__33 = createLabel(CRect(10, 60, 70, 85), -1, "Groups:", kLeftText, 12);
|
||||
view__30->addView(view__33);
|
||||
Label* const view__34 = createLabel(CRect(10, 85, 70, 110), -1, "Regions:", kLeftText, 12);
|
||||
view__30->addView(view__34);
|
||||
Label* const view__35 = createLabel(CRect(10, 110, 70, 135), -1, "Samples:", kLeftText, 12);
|
||||
view__30->addView(view__35);
|
||||
Label* const view__36 = createLabel(CRect(70, 10, 110, 35), -1, "0", kCenterText, 12);
|
||||
infoCurvesLabel_ = view__36;
|
||||
view__30->addView(view__36);
|
||||
Label* const view__37 = createLabel(CRect(70, 35, 110, 60), -1, "0", kCenterText, 12);
|
||||
infoMastersLabel_ = view__37;
|
||||
view__30->addView(view__37);
|
||||
Label* const view__38 = createLabel(CRect(70, 60, 110, 85), -1, "0", kCenterText, 12);
|
||||
infoGroupsLabel_ = view__38;
|
||||
view__30->addView(view__38);
|
||||
Label* const view__39 = createLabel(CRect(70, 85, 110, 110), -1, "0", kCenterText, 12);
|
||||
infoRegionsLabel_ = view__39;
|
||||
view__30->addView(view__39);
|
||||
Label* const view__40 = createLabel(CRect(70, 110, 110, 135), -1, "0", kCenterText, 12);
|
||||
infoSamplesLabel_ = view__40;
|
||||
view__30->addView(view__40);
|
||||
LogicalGroup* const view__41 = createLogicalGroup(CRect(125, 0, 790, 280), -1, "", kCenterText, 14);
|
||||
view__29->addView(view__41);
|
||||
SfizzLargePicture* const view__42 = createSfizzLargePicture(CRect(130, 15, 530, 265), -1, "", kCenterText, 14);
|
||||
Label* const view__31 = createLabel(CRect(15, 35, 75, 60), -1, "Masters:", kLeftText, 14);
|
||||
view__29->addView(view__31);
|
||||
Label* const view__32 = createLabel(CRect(15, 60, 75, 85), -1, "Groups:", kLeftText, 14);
|
||||
view__29->addView(view__32);
|
||||
Label* const view__33 = createLabel(CRect(15, 85, 75, 110), -1, "Regions:", kLeftText, 14);
|
||||
view__29->addView(view__33);
|
||||
Label* const view__34 = createLabel(CRect(15, 110, 75, 135), -1, "Samples:", kLeftText, 14);
|
||||
view__29->addView(view__34);
|
||||
Label* const view__35 = createLabel(CRect(115, 10, 155, 35), -1, "0", kCenterText, 14);
|
||||
infoCurvesLabel_ = view__35;
|
||||
view__29->addView(view__35);
|
||||
Label* const view__36 = createLabel(CRect(115, 35, 155, 60), -1, "0", kCenterText, 14);
|
||||
infoMastersLabel_ = view__36;
|
||||
view__29->addView(view__36);
|
||||
Label* const view__37 = createLabel(CRect(115, 60, 155, 85), -1, "0", kCenterText, 14);
|
||||
infoGroupsLabel_ = view__37;
|
||||
view__29->addView(view__37);
|
||||
Label* const view__38 = createLabel(CRect(115, 85, 155, 110), -1, "0", kCenterText, 14);
|
||||
infoRegionsLabel_ = view__38;
|
||||
view__29->addView(view__38);
|
||||
Label* const view__39 = createLabel(CRect(115, 110, 155, 135), -1, "0", kCenterText, 14);
|
||||
infoSamplesLabel_ = view__39;
|
||||
view__29->addView(view__39);
|
||||
LogicalGroup* const view__40 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14);
|
||||
subPanels_[kPanelControls] = view__40;
|
||||
view__0->addView(view__40);
|
||||
view__40->setVisible(false);
|
||||
RoundedGroup* const view__41 = createRoundedGroup(CRect(0, 0, 790, 285), -1, "", kCenterText, 14);
|
||||
view__40->addView(view__41);
|
||||
Label* const view__42 = createLabel(CRect(0, 0, 790, 285), -1, "Controls not available", kCenterText, 40);
|
||||
view__41->addView(view__42);
|
||||
LogicalGroup* const view__43 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14);
|
||||
subPanels_[kPanelControls] = view__43;
|
||||
LogicalGroup* const view__43 = createLogicalGroup(CRect(5, 109, 795, 395), -1, "", kCenterText, 14);
|
||||
subPanels_[kPanelSettings] = view__43;
|
||||
view__0->addView(view__43);
|
||||
view__43->setVisible(false);
|
||||
RoundedGroup* const view__44 = createRoundedGroup(CRect(0, 0, 790, 285), -1, "", kCenterText, 14);
|
||||
TitleGroup* const view__44 = createTitleGroup(CRect(255, 1, 535, 111), -1, "Engine", kCenterText, 12);
|
||||
view__43->addView(view__44);
|
||||
Label* const view__45 = createLabel(CRect(0, 0, 790, 285), -1, "Controls not available", kCenterText, 40);
|
||||
ValueMenu* const view__45 = createValueMenu(CRect(25, 60, 85, 85), kTagSetNumVoices, "", kCenterText, 12);
|
||||
numVoicesSlider_ = view__45;
|
||||
view__44->addView(view__45);
|
||||
LogicalGroup* const view__46 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14);
|
||||
subPanels_[kPanelSettings] = view__46;
|
||||
view__0->addView(view__46);
|
||||
TitleGroup* const view__47 = createTitleGroup(CRect(255, 15, 535, 125), -1, "Engine", kCenterText, 12);
|
||||
view__46->addView(view__47);
|
||||
ValueMenu* const view__48 = createValueMenu(CRect(25, 60, 85, 85), kTagSetNumVoices, "", kCenterText, 12);
|
||||
numVoicesSlider_ = view__48;
|
||||
view__47->addView(view__48);
|
||||
ValueLabel* const view__49 = createValueLabel(CRect(15, 20, 95, 45), -1, "Polyphony", kCenterText, 12);
|
||||
view__47->addView(view__49);
|
||||
ValueMenu* const view__50 = createValueMenu(CRect(110, 60, 170, 85), kTagSetOversampling, "", kCenterText, 12);
|
||||
oversamplingSlider_ = view__50;
|
||||
view__47->addView(view__50);
|
||||
ValueLabel* const view__51 = createValueLabel(CRect(100, 20, 180, 45), -1, "Oversampling", kCenterText, 12);
|
||||
view__47->addView(view__51);
|
||||
ValueLabel* const view__52 = createValueLabel(CRect(185, 20, 265, 45), -1, "Preload size", kCenterText, 12);
|
||||
view__47->addView(view__52);
|
||||
ValueMenu* const view__53 = createValueMenu(CRect(195, 60, 255, 85), kTagSetPreloadSize, "", kCenterText, 12);
|
||||
preloadSizeSlider_ = view__53;
|
||||
view__47->addView(view__53);
|
||||
TitleGroup* const view__54 = createTitleGroup(CRect(200, 150, 590, 270), -1, "Tuning", kCenterText, 12);
|
||||
view__46->addView(view__54);
|
||||
ValueLabel* const view__55 = createValueLabel(CRect(125, 20, 205, 45), -1, "Root key", kCenterText, 12);
|
||||
view__54->addView(view__55);
|
||||
ValueMenu* const view__56 = createValueMenu(CRect(220, 60, 280, 85), kTagSetTuningFrequency, "", kCenterText, 12);
|
||||
tuningFrequencySlider_ = view__56;
|
||||
view__54->addView(view__56);
|
||||
ValueLabel* const view__57 = createValueLabel(CRect(210, 20, 290, 45), -1, "Frequency", kCenterText, 12);
|
||||
view__54->addView(view__57);
|
||||
Knob48* const view__58 = createKnob48(CRect(310, 45, 358, 93), kTagSetStretchedTuning, "", kCenterText, 14);
|
||||
stretchedTuningSlider_ = view__58;
|
||||
view__54->addView(view__58);
|
||||
ValueLabel* const view__59 = createValueLabel(CRect(295, 20, 375, 45), -1, "Stretch", kCenterText, 12);
|
||||
view__54->addView(view__59);
|
||||
ValueLabel* const view__60 = createValueLabel(CRect(20, 20, 120, 45), -1, "Scala file", kCenterText, 12);
|
||||
view__54->addView(view__60);
|
||||
ValueButton* const view__61 = createValueButton(CRect(20, 60, 120, 85), kTagLoadScalaFile, "DefaultScale", kCenterText, 12);
|
||||
scalaFileButton_ = view__61;
|
||||
view__54->addView(view__61);
|
||||
ValueMenu* const view__62 = createValueMenu(CRect(135, 60, 170, 85), kTagSetScalaRootKey, "", kCenterText, 12);
|
||||
scalaRootKeySlider_ = view__62;
|
||||
view__54->addView(view__62);
|
||||
ValueMenu* const view__63 = createValueMenu(CRect(170, 60, 200, 85), kTagSetScalaRootKey, "", kCenterText, 12);
|
||||
scalaRootOctaveSlider_ = view__63;
|
||||
view__54->addView(view__63);
|
||||
LogicalGroup* const view__64 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14);
|
||||
subPanels_[kPanelInfo] = view__64;
|
||||
view__0->addView(view__64);
|
||||
view__64->setVisible(false);
|
||||
RoundedGroup* const view__65 = createRoundedGroup(CRect(0, 0, 790, 285), -1, "", kCenterText, 14);
|
||||
view__64->addView(view__65);
|
||||
Label* const view__66 = createLabel(CRect(0, 0, 790, 285), -1, "Informative text goes here", kCenterText, 40);
|
||||
view__65->addView(view__66);
|
||||
Piano* const view__67 = createPiano(CRect(5, 400, 795, 470), -1, "", kCenterText, 14);
|
||||
view__0->addView(view__67);
|
||||
ValueLabel* const view__46 = createValueLabel(CRect(15, 20, 95, 45), -1, "Polyphony", kCenterText, 12);
|
||||
view__44->addView(view__46);
|
||||
ValueMenu* const view__47 = createValueMenu(CRect(110, 60, 170, 85), kTagSetOversampling, "", kCenterText, 12);
|
||||
oversamplingSlider_ = view__47;
|
||||
view__44->addView(view__47);
|
||||
ValueLabel* const view__48 = createValueLabel(CRect(100, 20, 180, 45), -1, "Oversampling", kCenterText, 12);
|
||||
view__44->addView(view__48);
|
||||
ValueLabel* const view__49 = createValueLabel(CRect(185, 20, 265, 45), -1, "Preload size", kCenterText, 12);
|
||||
view__44->addView(view__49);
|
||||
ValueMenu* const view__50 = createValueMenu(CRect(195, 60, 255, 85), kTagSetPreloadSize, "", kCenterText, 12);
|
||||
preloadSizeSlider_ = view__50;
|
||||
view__44->addView(view__50);
|
||||
TitleGroup* const view__51 = createTitleGroup(CRect(200, 159, 590, 279), -1, "Tuning", kCenterText, 12);
|
||||
view__43->addView(view__51);
|
||||
ValueLabel* const view__52 = createValueLabel(CRect(125, 20, 205, 45), -1, "Root key", kCenterText, 12);
|
||||
view__51->addView(view__52);
|
||||
ValueMenu* const view__53 = createValueMenu(CRect(220, 60, 280, 85), kTagSetTuningFrequency, "", kCenterText, 12);
|
||||
tuningFrequencySlider_ = view__53;
|
||||
view__51->addView(view__53);
|
||||
ValueLabel* const view__54 = createValueLabel(CRect(210, 20, 290, 45), -1, "Frequency", kCenterText, 12);
|
||||
view__51->addView(view__54);
|
||||
Knob48* const view__55 = createKnob48(CRect(310, 45, 358, 93), kTagSetStretchedTuning, "", kCenterText, 14);
|
||||
stretchedTuningSlider_ = view__55;
|
||||
view__51->addView(view__55);
|
||||
ValueLabel* const view__56 = createValueLabel(CRect(295, 20, 375, 45), -1, "Stretch", kCenterText, 12);
|
||||
view__51->addView(view__56);
|
||||
ValueLabel* const view__57 = createValueLabel(CRect(20, 20, 120, 45), -1, "Scala file", kCenterText, 12);
|
||||
view__51->addView(view__57);
|
||||
ValueButton* const view__58 = createValueButton(CRect(20, 60, 120, 85), kTagLoadScalaFile, "DefaultScale", kCenterText, 12);
|
||||
scalaFileButton_ = view__58;
|
||||
view__51->addView(view__58);
|
||||
ValueMenu* const view__59 = createValueMenu(CRect(135, 60, 170, 85), kTagSetScalaRootKey, "", kCenterText, 12);
|
||||
scalaRootKeySlider_ = view__59;
|
||||
view__51->addView(view__59);
|
||||
ValueMenu* const view__60 = createValueMenu(CRect(170, 60, 200, 85), kTagSetScalaRootKey, "", kCenterText, 12);
|
||||
scalaRootOctaveSlider_ = view__60;
|
||||
view__51->addView(view__60);
|
||||
Piano* const view__61 = createPiano(CRect(5, 400, 795, 470), -1, "", kCenterText, 14);
|
||||
view__0->addView(view__61);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue