Merge pull request #1152 from redtide/image-layout

Centered, full-width background image and better labels readability
This commit is contained in:
redtide 2023-04-09 12:58:19 +02:00 committed by GitHub
commit 72aff04f2c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 117 additions and 101 deletions

View file

@ -7,7 +7,7 @@ widget_class mainView {open
class LogicalGroup visible class LogicalGroup visible
} { } {
Fl_Box imageContainer_ { Fl_Box imageContainer_ {
image {../resources/background.png} xywh {90 110 790 285} image {../resources/background.png} xywh {0 110 800 300}
class Background class Background
} }
Fl_Group {} { Fl_Group {} {
@ -80,7 +80,7 @@ widget_class mainView {open
} }
Fl_Box {} { Fl_Box {} {
label {Voices:} label {Voices:}
xywh {195 78 60 25} labelsize 12 align 24 xywh {195 78 60 25} labelsize 14 align 24
class Label class Label
} }
Fl_Button {} { Fl_Button {} {
@ -99,25 +99,25 @@ widget_class mainView {open
class ChevronDropDown class ChevronDropDown
} }
Fl_Box infoVoicesLabel_ { Fl_Box infoVoicesLabel_ {
xywh {260 78 40 25} labelsize 12 align 16 xywh {260 78 40 25} labelsize 14 align 16
class Label class Label
} }
Fl_Box {} { Fl_Box {} {
label {Max:} label {Max:}
xywh {322 78 40 25} labelsize 12 align 24 xywh {322 78 40 25} labelsize 14 align 24
class Label class Label
} }
Fl_Box numVoicesLabel_ { Fl_Box numVoicesLabel_ {
xywh {378 78 35 25} labelsize 12 align 16 xywh {378 78 35 25} labelsize 14 align 16
class Label class Label
} }
Fl_Box {} { Fl_Box {} {
label {Memory:} label {Memory:}
xywh {456 78 60 25} labelsize 12 align 24 xywh {456 78 60 25} labelsize 14 align 24
class Label class Label
} }
Fl_Box memoryLabel_ { Fl_Box memoryLabel_ {
xywh {522 78 50 25} labelsize 12 align 16 xywh {522 78 50 25} labelsize 14 align 16
class Label class Label
} }
Fl_Button numVoicesSlider_ { Fl_Button numVoicesSlider_ {
@ -136,19 +136,19 @@ widget_class mainView {open
} }
Fl_Box {} { Fl_Box {} {
label Center label Center
xywh {582 70 60 5} labelsize 12 hide xywh {582 70 60 5} labelsize 14 hide
class ValueLabel class ValueLabel
} }
Fl_Box volumeCCKnob_ { Fl_Box volumeCCKnob_ {
label Volume label Volume
comment {tag=kTagSetCCVolume} comment {tag=kTagSetCCVolume}
xywh {586 10 70 90} box BORDER_BOX labelsize 12 align 17 xywh {586 10 70 90} box BORDER_BOX labelsize 14 align 17
class KnobCCBox class KnobCCBox
} }
Fl_Box panCCKnob_ { Fl_Box panCCKnob_ {
label Pan label Pan
comment {tag=kTagSetCCPan} comment {tag=kTagSetCCPan}
xywh {663 10 70 90} box BORDER_BOX labelsize 12 align 17 xywh {663 10 70 90} box BORDER_BOX labelsize 14 align 17
class KnobCCBox class KnobCCBox
} }
Fl_Box {meters_[0]} { Fl_Box {meters_[0]} {
@ -162,11 +162,11 @@ widget_class mainView {open
} }
} }
Fl_Group {subPanels_[kPanelInfo]} { Fl_Group {subPanels_[kPanelInfo]} {
xywh {5 110 790 285} hide xywh {5 110 790 300} hide
class LogicalGroup class LogicalGroup
} { } {
Fl_Group {} { Fl_Group {} {
xywh {5 110 790 285} box ROUNDED_BOX xywh {5 110 790 300} box ROUNDED_BOX
class RoundedGroup class RoundedGroup
} { } {
Fl_Box {} { Fl_Box {} {
@ -222,15 +222,15 @@ widget_class mainView {open
} }
} }
Fl_Group {subPanels_[kPanelControls]} { Fl_Group {subPanels_[kPanelControls]} {
xywh {5 110 790 285} hide xywh {5 110 790 300} hide
class LogicalGroup class LogicalGroup
} { } {
Fl_Group {} { Fl_Group {} {
xywh {5 110 790 285} box ROUNDED_BOX xywh {5 110 790 300} box ROUNDED_BOX
class RoundedGroup class RoundedGroup
} { } {
Fl_Group controlsPanel_ { Fl_Group controlsPanel_ {
xywh {5 110 790 285} box THIN_DOWN_FRAME labelsize 12 xywh {5 110 790 300} box THIN_DOWN_FRAME labelsize 14
class ControlsPanel class ControlsPanel
} {} } {}
} }
@ -240,78 +240,78 @@ widget_class mainView {open
class LogicalGroup class LogicalGroup
} { } {
Fl_Group {} {open Fl_Group {} {open
xywh {5 110 790 285} box ROUNDED_BOX xywh {5 110 790 300} box ROUNDED_BOX
class RoundedGroup class RoundedGroup
} { } {
Fl_Spinner oversamplingSlider_ { Fl_Spinner oversamplingSlider_ {
comment {tag=kTagSetOversampling} comment {tag=kTagSetOversampling}
xywh {175 195 70 25} labelsize 12 textsize 12 xywh {175 195 70 25} labelsize 14 textsize 14
class ValueMenu class ValueMenu
} }
Fl_Box {} { Fl_Box {} {
label Oversampling label Oversampling
xywh {20 195 85 25} labelsize 12 align 20 xywh {20 195 85 25} labelsize 14 align 20
class Label class Label
} }
Fl_Box {} { Fl_Box {} {
label {Preload size} label {Preload size}
xywh {20 170 75 25} labelsize 12 align 20 xywh {20 170 75 25} labelsize 14 align 20
class Label class Label
} }
Fl_Spinner preloadSizeSlider_ { Fl_Spinner preloadSizeSlider_ {
comment {tag=kTagSetPreloadSize} comment {tag=kTagSetPreloadSize}
xywh {175 170 70 25} labelsize 12 textsize 12 xywh {175 170 70 25} labelsize 14 textsize 14
class ValueMenu class ValueMenu
} }
Fl_Spinner sampleQualitySlider_ { Fl_Spinner sampleQualitySlider_ {
comment {tag=kTagSetSampleQuality} comment {tag=kTagSetSampleQuality}
xywh {435 145 80 25} labelsize 12 textsize 12 xywh {435 145 80 25} labelsize 14 textsize 14
class ValueMenu class ValueMenu
} }
Fl_Box {} { Fl_Box {} {
label Sample label Sample
xywh {290 145 50 25} labelsize 12 align 20 xywh {290 145 50 25} labelsize 14 align 20
class Label class Label
} }
Fl_Box {} { Fl_Box {} {
label Oscillator label Oscillator
xywh {290 195 60 25} labelsize 12 align 20 xywh {290 195 60 25} labelsize 14 align 20
class Label class Label
} }
Fl_Spinner oscillatorQualitySlider_ { Fl_Spinner oscillatorQualitySlider_ {
comment {tag=kTagSetOscillatorQuality} comment {tag=kTagSetOscillatorQuality}
xywh {435 195 80 25} labelsize 12 textsize 12 xywh {435 195 80 25} labelsize 14 textsize 14
class ValueMenu class ValueMenu
} }
Fl_Spinner themeMenu_ { Fl_Spinner themeMenu_ {
comment {tag=kTagThemeMenu} comment {tag=kTagThemeMenu}
xywh {680 145 100 25} labelsize 12 textsize 12 xywh {680 145 100 25} labelsize 14 textsize 14
class OptionMenu class OptionMenu
} }
Fl_Box {} { Fl_Box {} {
label Theme label Theme
xywh {555 145 45 25} labelsize 12 align 20 xywh {555 145 45 25} labelsize 14 align 20
class Label class Label
} }
Fl_Box {} { Fl_Box {} {
label {User SFZ folder} label {User SFZ folder}
xywh {555 170 95 25} labelsize 12 align 20 xywh {555 170 95 25} labelsize 14 align 20
class Label class Label
} }
Fl_Button userFilesDirButton_ { Fl_Button userFilesDirButton_ {
label DefaultPath label DefaultPath
comment {tag=kTagChooseUserFilesDir} comment {tag=kTagChooseUserFilesDir}
xywh {680 170 100 25} labelsize 12 xywh {680 170 100 25} labelsize 14
class ValueButton class ValueButton
} }
Fl_Box {} { Fl_Box {} {
label {Root key} label {Root key}
xywh {555 285 60 25} labelsize 12 align 20 xywh {555 285 60 25} labelsize 14 align 20
class Label class Label
} }
Fl_Box {} { Fl_Box {} {
label Frequency label Frequency
xywh {555 310 70 25} labelsize 12 align 20 xywh {555 310 70 25} labelsize 14 align 20
class Label class Label
} }
Fl_Dial stretchedTuningSlider_ { Fl_Dial stretchedTuningSlider_ {
@ -321,48 +321,48 @@ widget_class mainView {open
} }
Fl_Box {} { Fl_Box {} {
label Stretch label Stretch
xywh {555 345 50 25} labelsize 12 align 20 xywh {555 345 50 25} labelsize 14 align 20
class Label class Label
} }
Fl_Box {} { Fl_Box {} {
label {Scala file} label {Scala file}
xywh {555 260 60 25} labelsize 12 align 20 xywh {555 260 60 25} labelsize 14 align 20
class Label class Label
} }
Fl_Button scalaFileButton_ { Fl_Button scalaFileButton_ {
label DefaultScale label DefaultScale
comment {tag=kTagLoadScalaFile} comment {tag=kTagLoadScalaFile}
xywh {655 260 100 25} labelsize 12 xywh {655 260 100 25} labelsize 14
class ValueButton class ValueButton
} }
Fl_Spinner scalaRootKeySlider_ { Fl_Spinner scalaRootKeySlider_ {
comment {tag=kTagSetScalaRootKey} comment {tag=kTagSetScalaRootKey}
xywh {715 285 35 25} labelsize 12 textsize 12 xywh {715 285 35 25} labelsize 14 textsize 14
class ValueMenu class ValueMenu
} }
Fl_Spinner scalaRootOctaveSlider_ { Fl_Spinner scalaRootOctaveSlider_ {
comment {tag=kTagSetScalaRootKey} comment {tag=kTagSetScalaRootKey}
xywh {750 285 30 25} labelsize 12 textsize 12 xywh {750 285 30 25} labelsize 14 textsize 14
class ValueMenu class ValueMenu
} }
Fl_Button scalaResetButton_ { Fl_Button scalaResetButton_ {
comment {tag=kTagResetScalaFile} comment {tag=kTagResetScalaFile}
xywh {755 260 25 25} labelsize 12 xywh {755 260 25 25} labelsize 14
class ResetSomethingButton class ResetSomethingButton
} }
Fl_Box {} { Fl_Box {} {
label {... when freewheeling} label {... when freewheeling}
xywh {290 170 145 25} labelsize 12 align 20 xywh {290 170 145 25} labelsize 14 align 20
class Label class Label
} }
Fl_Spinner freewheelingSampleQualitySlider_ { Fl_Spinner freewheelingSampleQualitySlider_ {
comment {tag=kTagSetFreewheelingSampleQuality} comment {tag=kTagSetFreewheelingSampleQuality}
xywh {435 170 80 25} labelsize 12 textsize 12 xywh {435 170 80 25} labelsize 14 textsize 14
class ValueMenu class ValueMenu
} }
Fl_Box {} { Fl_Box {} {
label {Sustain cancels release} label {Sustain cancels release}
xywh {20 220 145 25} labelsize 12 align 20 xywh {20 220 145 25} labelsize 14 align 20
class Label class Label
} }
Fl_Check_Button sustainCancelsReleaseCheckbox_ { Fl_Check_Button sustainCancelsReleaseCheckbox_ {
@ -372,12 +372,12 @@ widget_class mainView {open
} }
Fl_Box sfizzVersionLabel_ { Fl_Box sfizzVersionLabel_ {
label SFIZZ_VERSION label SFIZZ_VERSION
xywh {20 145 225 20} labelsize 10 xywh {20 145 225 20} labelsize 14
class Label class Label
} }
Fl_Box {} { Fl_Box {} {
label {Rendering quality} label {Rendering quality}
xywh {290 115 110 25} labelsize 12 align 20 xywh {290 115 110 25} labelsize 14 align 20
class Label class Label
} }
Fl_Box {} { Fl_Box {} {
@ -387,7 +387,7 @@ widget_class mainView {open
} }
Fl_Box {} { Fl_Box {} {
label {Engine options} label {Engine options}
xywh {20 115 95 25} labelsize 12 align 20 xywh {20 115 95 25} labelsize 14 align 20
class Label class Label
} }
Fl_Box {} { Fl_Box {} {
@ -397,12 +397,12 @@ widget_class mainView {open
} }
Fl_Box {} { Fl_Box {} {
label Other label Other
xywh {555 115 40 25} labelsize 12 align 20 xywh {555 115 40 25} labelsize 14 align 20
class Label class Label
} }
Fl_Box {} { Fl_Box {} {
label Tuning label Tuning
xywh {555 230 225 25} labelsize 12 align 20 xywh {555 230 225 25} labelsize 14 align 20
class Label class Label
} }
Fl_Box {} { Fl_Box {} {
@ -427,32 +427,32 @@ widget_class mainView {open
} }
Fl_Text_Editor tuningFrequencyEdit_ { Fl_Text_Editor tuningFrequencyEdit_ {
comment {tag=kTagSetTuningFrequency} comment {tag=kTagSetTuningFrequency}
xywh {695 310 60 25} labelsize 12 xywh {695 310 60 25} labelsize 14
class TextEdit class TextEdit
} }
Fl_Box {} { Fl_Box {} {
label {... when freewheeling} label {... when freewheeling}
xywh {290 220 145 25} labelsize 12 align 20 xywh {290 220 145 25} labelsize 14 align 20
class Label class Label
} }
Fl_Spinner freewheelingOscillatorQualitySlider_ { Fl_Spinner freewheelingOscillatorQualitySlider_ {
comment {tag=kTagSetFreewheelingOscillatorQuality} comment {tag=kTagSetFreewheelingOscillatorQuality}
xywh {435 220 80 25} labelsize 12 textsize 12 xywh {435 220 80 25} labelsize 14 textsize 14
class ValueMenu class ValueMenu
} }
} }
} }
Fl_Box piano_ { Fl_Box piano_ {
xywh {5 400 790 70} labelsize 12 xywh {0 410 800 70} labelsize 16
class Piano class Piano
} }
Fl_Group {subPanels_[kPanelGeneral]} { Fl_Group {subPanels_[kPanelGeneral]} {
xywh {5 110 790 285} hide xywh {5 110 790 300} hide
class LogicalGroup class LogicalGroup
} {} } {}
Fl_Box lblHover_ { Fl_Box lblHover_ {
comment {palette=invertedPalette} selected comment {palette=invertedPalette} selected
xywh {5 105 170 25} labelsize 12 hide xywh {5 105 170 25} labelsize 14 hide
class HoverBox class HoverBox
} }
} }

View file

@ -737,6 +737,13 @@ void Editor::Impl::createFrameContents()
return box; return box;
}; };
#if 0 #if 0
auto createSquaredGroup = [this, &palette](const CRect& bounds, int, const char*, CHoriTxtAlign, int) {
auto* box = new SBoxContainer(bounds);
OnThemeChanged.push_back([box, palette]() {
box->setBackgroundColor(palette->boxBackground);
});
return box;
};
auto createTitleGroup = [this, &palette](const CRect& bounds, int, const char* label, CHoriTxtAlign, int fontsize) { auto createTitleGroup = [this, &palette](const CRect& bounds, int, const char* label, CHoriTxtAlign, int fontsize) {
auto* box = new STitleContainer(bounds, label); auto* box = new STitleContainer(bounds, label);
box->setCornerRadius(10.0); box->setCornerRadius(10.0);
@ -1909,6 +1916,12 @@ void Editor::Impl::applyBackgroundForCurrentPanel()
bitmap = defaultBackgroundBitmap_; bitmap = defaultBackgroundBitmap_;
downscaleToWidthAndHeight(bitmap, imageContainer_->getViewSize().getSize()); downscaleToWidthAndHeight(bitmap, imageContainer_->getViewSize().getSize());
// Centered image
CCoord xoffset =
(imageContainer_->getViewSize().getWidth() - bitmap->getWidth()) / 2;
imageContainer_->setBackgroundOffset(CPoint(-xoffset, 0));
imageContainer_->setBackground(bitmap); imageContainer_->setBackground(bitmap);
} }

View file

@ -29,8 +29,9 @@ struct SPiano::Impl {
CCoord spacingY_ = 4.0; CCoord spacingY_ = 4.0;
CColor backgroundFill_ { 0xca, 0xca, 0xca, 0xff }; CColor backgroundFill_ { 0xca, 0xca, 0xca, 0xff };
#if 0
float backgroundRadius_ = 5.0; float backgroundRadius_ = 5.0;
#endif
float keyUsedHue_ = 0.55; float keyUsedHue_ = 0.55;
float keySwitchHue_ = 0.0; float keySwitchHue_ = 0.0;
float whiteKeyChroma_ = 0.9; float whiteKeyChroma_ = 0.9;
@ -170,7 +171,9 @@ void SPiano::draw(CDrawContext* dc)
if (impl.backgroundFill_.alpha > 0) { if (impl.backgroundFill_.alpha > 0) {
SharedPointer<CGraphicsPath> path; SharedPointer<CGraphicsPath> path;
path = owned(dc->createGraphicsPath()); path = owned(dc->createGraphicsPath());
#if 0
path->addRoundRect(dim.bounds, impl.backgroundRadius_); path->addRoundRect(dim.bounds, impl.backgroundRadius_);
#endif
dc->setFillColor(impl.backgroundFill_); dc->setFillColor(impl.backgroundFill_);
dc->drawGraphicsPath(path, CDrawContext::kPathFilled); dc->drawGraphicsPath(path, CDrawContext::kPathFilled);
} }

View file

@ -1,7 +1,7 @@
/* This file is generated by the layout maker tool. */ /* This file is generated by the layout maker tool. */
auto* const view__0 = createLogicalGroup(CRect(0, 0, 800, 475), -1, "", kCenterText, 14); auto* const view__0 = createLogicalGroup(CRect(0, 0, 800, 475), -1, "", kCenterText, 14);
mainView = view__0; mainView = view__0;
auto* const view__1 = createBackground(CRect(90, 110, 880, 395), -1, "", kCenterText, 14); auto* const view__1 = createBackground(CRect(0, 110, 800, 410), -1, "", kCenterText, 14);
imageContainer_ = view__1; imageContainer_ = view__1;
view__0->addView(view__1); view__0->addView(view__1);
enterPalette(invertedPalette); enterPalette(invertedPalette);
@ -42,7 +42,7 @@ auto* const view__15 = createInactiveLabel(CRect(10, 40, 370, 70), -1, "No key s
keyswitchInactiveLabel_ = view__15; keyswitchInactiveLabel_ = view__15;
view__9->addView(view__15); view__9->addView(view__15);
view__15->setVisible(false); view__15->setVisible(false);
auto* const view__16 = createLabel(CRect(10, 73, 70, 98), -1, "Voices:", kRightText, 12); auto* const view__16 = createLabel(CRect(10, 73, 70, 98), -1, "Voices:", kRightText, 14);
view__9->addView(view__16); view__9->addView(view__16);
auto* const view__17 = createPreviousFileButton(CRect(303, 13, 328, 38), kTagPreviousSfzFile, "", kCenterText, 24); auto* const view__17 = createPreviousFileButton(CRect(303, 13, 328, 38), kTagPreviousSfzFile, "", kCenterText, 24);
view__9->addView(view__17); view__9->addView(view__17);
@ -51,17 +51,17 @@ view__9->addView(view__18);
auto* const view__19 = createChevronDropDown(CRect(353, 13, 378, 38), kTagFileOperations, "", kCenterText, 24); auto* const view__19 = createChevronDropDown(CRect(353, 13, 378, 38), kTagFileOperations, "", kCenterText, 24);
fileOperationsMenu_ = view__19; fileOperationsMenu_ = view__19;
view__9->addView(view__19); view__9->addView(view__19);
auto* const view__20 = createLabel(CRect(75, 73, 115, 98), -1, "", kCenterText, 12); auto* const view__20 = createLabel(CRect(75, 73, 115, 98), -1, "", kCenterText, 14);
infoVoicesLabel_ = view__20; infoVoicesLabel_ = view__20;
view__9->addView(view__20); view__9->addView(view__20);
auto* const view__21 = createLabel(CRect(137, 73, 177, 98), -1, "Max:", kRightText, 12); auto* const view__21 = createLabel(CRect(137, 73, 177, 98), -1, "Max:", kRightText, 14);
view__9->addView(view__21); view__9->addView(view__21);
auto* const view__22 = createLabel(CRect(193, 73, 228, 98), -1, "", kCenterText, 12); auto* const view__22 = createLabel(CRect(193, 73, 228, 98), -1, "", kCenterText, 14);
numVoicesLabel_ = view__22; numVoicesLabel_ = view__22;
view__9->addView(view__22); view__9->addView(view__22);
auto* const view__23 = createLabel(CRect(271, 73, 331, 98), -1, "Memory:", kRightText, 12); auto* const view__23 = createLabel(CRect(271, 73, 331, 98), -1, "Memory:", kRightText, 14);
view__9->addView(view__23); view__9->addView(view__23);
auto* const view__24 = createLabel(CRect(337, 73, 387, 98), -1, "", kCenterText, 12); auto* const view__24 = createLabel(CRect(337, 73, 387, 98), -1, "", kCenterText, 14);
memoryLabel_ = view__24; memoryLabel_ = view__24;
view__9->addView(view__24); view__9->addView(view__24);
auto* const view__25 = createChevronValueDropDown(CRect(235, 77, 255, 97), kTagSetNumVoices, "", kCenterText, 16); auto* const view__25 = createChevronValueDropDown(CRect(235, 77, 255, 97), kTagSetNumVoices, "", kCenterText, 16);
@ -72,13 +72,13 @@ view__2->addView(view__26);
auto* const view__27 = createKnob48(CRect(7, 15, 55, 63), -1, "", kCenterText, 14); auto* const view__27 = createKnob48(CRect(7, 15, 55, 63), -1, "", kCenterText, 14);
view__26->addView(view__27); view__26->addView(view__27);
view__27->setVisible(false); view__27->setVisible(false);
auto* const view__28 = createValueLabel(CRect(2, 65, 62, 70), -1, "Center", kCenterText, 12); auto* const view__28 = createValueLabel(CRect(2, 65, 62, 70), -1, "Center", kCenterText, 14);
view__26->addView(view__28); view__26->addView(view__28);
view__28->setVisible(false); view__28->setVisible(false);
auto* const view__29 = createKnobCCBox(CRect(6, 5, 76, 95), kTagSetCCVolume, "Volume", kCenterText, 12); auto* const view__29 = createKnobCCBox(CRect(6, 5, 76, 95), kTagSetCCVolume, "Volume", kCenterText, 14);
volumeCCKnob_ = view__29; volumeCCKnob_ = view__29;
view__26->addView(view__29); view__26->addView(view__29);
auto* const view__30 = createKnobCCBox(CRect(83, 5, 153, 95), kTagSetCCPan, "Pan", kCenterText, 12); auto* const view__30 = createKnobCCBox(CRect(83, 5, 153, 95), kTagSetCCPan, "Pan", kCenterText, 14);
panCCKnob_ = view__30; panCCKnob_ = view__30;
view__26->addView(view__30); view__26->addView(view__30);
auto* const view__31 = createVMeter(CRect(159, 5, 182, 95), -1, "", kCenterText, 14); auto* const view__31 = createVMeter(CRect(159, 5, 182, 95), -1, "", kCenterText, 14);
@ -88,11 +88,11 @@ auto* const view__32 = createVMeter(CRect(183, 5, 206, 95), -1, "", kCenterText,
meters_[1] = view__32; meters_[1] = view__32;
view__26->addView(view__32); view__26->addView(view__32);
enterPalette(defaultPalette); enterPalette(defaultPalette);
auto* const view__33 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); auto* const view__33 = createLogicalGroup(CRect(5, 110, 795, 410), -1, "", kCenterText, 14);
subPanels_[kPanelInfo] = view__33; subPanels_[kPanelInfo] = view__33;
view__0->addView(view__33); view__0->addView(view__33);
view__33->setVisible(false); view__33->setVisible(false);
auto* const view__34 = createRoundedGroup(CRect(0, 0, 790, 285), -1, "", kCenterText, 14); auto* const view__34 = createRoundedGroup(CRect(0, 0, 790, 300), -1, "", kCenterText, 14);
view__33->addView(view__34); view__33->addView(view__34);
auto* const view__35 = createLabel(CRect(15, 10, 75, 35), -1, "Curves:", kLeftText, 14); auto* const view__35 = createLabel(CRect(15, 10, 75, 35), -1, "Curves:", kLeftText, 14);
view__34->addView(view__35); view__34->addView(view__35);
@ -119,97 +119,97 @@ view__34->addView(view__43);
auto* const view__44 = createLabel(CRect(115, 110, 155, 135), -1, "0", kCenterText, 14); auto* const view__44 = createLabel(CRect(115, 110, 155, 135), -1, "0", kCenterText, 14);
infoSamplesLabel_ = view__44; infoSamplesLabel_ = view__44;
view__34->addView(view__44); view__34->addView(view__44);
auto* const view__45 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); auto* const view__45 = createLogicalGroup(CRect(5, 110, 795, 410), -1, "", kCenterText, 14);
subPanels_[kPanelControls] = view__45; subPanels_[kPanelControls] = view__45;
view__0->addView(view__45); view__0->addView(view__45);
view__45->setVisible(false); view__45->setVisible(false);
auto* const view__46 = createRoundedGroup(CRect(0, 0, 790, 285), -1, "", kCenterText, 14); auto* const view__46 = createRoundedGroup(CRect(0, 0, 790, 300), -1, "", kCenterText, 14);
view__45->addView(view__46); view__45->addView(view__46);
auto* const view__47 = createControlsPanel(CRect(0, 0, 790, 285), -1, "", kCenterText, 12); auto* const view__47 = createControlsPanel(CRect(0, 0, 790, 300), -1, "", kCenterText, 14);
controlsPanel_ = view__47; controlsPanel_ = view__47;
view__46->addView(view__47); view__46->addView(view__47);
auto* const view__48 = createLogicalGroup(CRect(0, 110, 825, 470), -1, "", kCenterText, 14); auto* const view__48 = createLogicalGroup(CRect(0, 110, 825, 470), -1, "", kCenterText, 14);
subPanels_[kPanelSettings] = view__48; subPanels_[kPanelSettings] = view__48;
view__0->addView(view__48); view__0->addView(view__48);
auto* const view__49 = createRoundedGroup(CRect(5, 0, 795, 285), -1, "", kCenterText, 14); auto* const view__49 = createRoundedGroup(CRect(5, 0, 795, 300), -1, "", kCenterText, 14);
view__48->addView(view__49); view__48->addView(view__49);
auto* const view__50 = createValueMenu(CRect(170, 85, 240, 110), kTagSetOversampling, "", kCenterText, 12); auto* const view__50 = createValueMenu(CRect(170, 85, 240, 110), kTagSetOversampling, "", kCenterText, 14);
oversamplingSlider_ = view__50; oversamplingSlider_ = view__50;
view__49->addView(view__50); view__49->addView(view__50);
auto* const view__51 = createLabel(CRect(15, 85, 100, 110), -1, "Oversampling", kLeftText, 12); auto* const view__51 = createLabel(CRect(15, 85, 100, 110), -1, "Oversampling", kLeftText, 14);
view__49->addView(view__51); view__49->addView(view__51);
auto* const view__52 = createLabel(CRect(15, 60, 90, 85), -1, "Preload size", kLeftText, 12); auto* const view__52 = createLabel(CRect(15, 60, 90, 85), -1, "Preload size", kLeftText, 14);
view__49->addView(view__52); view__49->addView(view__52);
auto* const view__53 = createValueMenu(CRect(170, 60, 240, 85), kTagSetPreloadSize, "", kCenterText, 12); auto* const view__53 = createValueMenu(CRect(170, 60, 240, 85), kTagSetPreloadSize, "", kCenterText, 14);
preloadSizeSlider_ = view__53; preloadSizeSlider_ = view__53;
view__49->addView(view__53); view__49->addView(view__53);
auto* const view__54 = createValueMenu(CRect(430, 35, 510, 60), kTagSetSampleQuality, "", kCenterText, 12); auto* const view__54 = createValueMenu(CRect(430, 35, 510, 60), kTagSetSampleQuality, "", kCenterText, 14);
sampleQualitySlider_ = view__54; sampleQualitySlider_ = view__54;
view__49->addView(view__54); view__49->addView(view__54);
auto* const view__55 = createLabel(CRect(285, 35, 335, 60), -1, "Sample", kLeftText, 12); auto* const view__55 = createLabel(CRect(285, 35, 335, 60), -1, "Sample", kLeftText, 14);
view__49->addView(view__55); view__49->addView(view__55);
auto* const view__56 = createLabel(CRect(285, 85, 345, 110), -1, "Oscillator", kLeftText, 12); auto* const view__56 = createLabel(CRect(285, 85, 345, 110), -1, "Oscillator", kLeftText, 14);
view__49->addView(view__56); view__49->addView(view__56);
auto* const view__57 = createValueMenu(CRect(430, 85, 510, 110), kTagSetOscillatorQuality, "", kCenterText, 12); auto* const view__57 = createValueMenu(CRect(430, 85, 510, 110), kTagSetOscillatorQuality, "", kCenterText, 14);
oscillatorQualitySlider_ = view__57; oscillatorQualitySlider_ = view__57;
view__49->addView(view__57); view__49->addView(view__57);
auto* const view__58 = createOptionMenu(CRect(675, 35, 775, 60), kTagThemeMenu, "", kCenterText, 12); auto* const view__58 = createOptionMenu(CRect(675, 35, 775, 60), kTagThemeMenu, "", kCenterText, 14);
themeMenu_ = view__58; themeMenu_ = view__58;
view__49->addView(view__58); view__49->addView(view__58);
auto* const view__59 = createLabel(CRect(550, 35, 595, 60), -1, "Theme", kLeftText, 12); auto* const view__59 = createLabel(CRect(550, 35, 595, 60), -1, "Theme", kLeftText, 14);
view__49->addView(view__59); view__49->addView(view__59);
auto* const view__60 = createLabel(CRect(550, 60, 645, 85), -1, "User SFZ folder", kLeftText, 12); auto* const view__60 = createLabel(CRect(550, 60, 645, 85), -1, "User SFZ folder", kLeftText, 14);
view__49->addView(view__60); view__49->addView(view__60);
auto* const view__61 = createValueButton(CRect(675, 60, 775, 85), kTagChooseUserFilesDir, "DefaultPath", kCenterText, 12); auto* const view__61 = createValueButton(CRect(675, 60, 775, 85), kTagChooseUserFilesDir, "DefaultPath", kCenterText, 14);
userFilesDirButton_ = view__61; userFilesDirButton_ = view__61;
view__49->addView(view__61); view__49->addView(view__61);
auto* const view__62 = createLabel(CRect(550, 175, 610, 200), -1, "Root key", kLeftText, 12); auto* const view__62 = createLabel(CRect(550, 175, 610, 200), -1, "Root key", kLeftText, 14);
view__49->addView(view__62); view__49->addView(view__62);
auto* const view__63 = createLabel(CRect(550, 200, 620, 225), -1, "Frequency", kLeftText, 12); auto* const view__63 = createLabel(CRect(550, 200, 620, 225), -1, "Frequency", kLeftText, 14);
view__49->addView(view__63); view__49->addView(view__63);
auto* const view__64 = createStyledKnob(CRect(715, 227, 763, 275), kTagSetStretchedTuning, "", kCenterText, 14); auto* const view__64 = createStyledKnob(CRect(715, 227, 763, 275), kTagSetStretchedTuning, "", kCenterText, 14);
stretchedTuningSlider_ = view__64; stretchedTuningSlider_ = view__64;
view__49->addView(view__64); view__49->addView(view__64);
auto* const view__65 = createLabel(CRect(550, 235, 600, 260), -1, "Stretch", kLeftText, 12); auto* const view__65 = createLabel(CRect(550, 235, 600, 260), -1, "Stretch", kLeftText, 14);
view__49->addView(view__65); view__49->addView(view__65);
auto* const view__66 = createLabel(CRect(550, 150, 610, 175), -1, "Scala file", kLeftText, 12); auto* const view__66 = createLabel(CRect(550, 150, 610, 175), -1, "Scala file", kLeftText, 14);
view__49->addView(view__66); view__49->addView(view__66);
auto* const view__67 = createValueButton(CRect(650, 150, 750, 175), kTagLoadScalaFile, "DefaultScale", kCenterText, 12); auto* const view__67 = createValueButton(CRect(650, 150, 750, 175), kTagLoadScalaFile, "DefaultScale", kCenterText, 14);
scalaFileButton_ = view__67; scalaFileButton_ = view__67;
view__49->addView(view__67); view__49->addView(view__67);
auto* const view__68 = createValueMenu(CRect(710, 175, 745, 200), kTagSetScalaRootKey, "", kCenterText, 12); auto* const view__68 = createValueMenu(CRect(710, 175, 745, 200), kTagSetScalaRootKey, "", kCenterText, 14);
scalaRootKeySlider_ = view__68; scalaRootKeySlider_ = view__68;
view__49->addView(view__68); view__49->addView(view__68);
auto* const view__69 = createValueMenu(CRect(745, 175, 775, 200), kTagSetScalaRootKey, "", kCenterText, 12); auto* const view__69 = createValueMenu(CRect(745, 175, 775, 200), kTagSetScalaRootKey, "", kCenterText, 14);
scalaRootOctaveSlider_ = view__69; scalaRootOctaveSlider_ = view__69;
view__49->addView(view__69); view__49->addView(view__69);
auto* const view__70 = createResetSomethingButton(CRect(750, 150, 775, 175), kTagResetScalaFile, "", kCenterText, 12); auto* const view__70 = createResetSomethingButton(CRect(750, 150, 775, 175), kTagResetScalaFile, "", kCenterText, 14);
scalaResetButton_ = view__70; scalaResetButton_ = view__70;
view__49->addView(view__70); view__49->addView(view__70);
auto* const view__71 = createLabel(CRect(285, 60, 430, 85), -1, "... when freewheeling", kLeftText, 12); auto* const view__71 = createLabel(CRect(285, 60, 430, 85), -1, "... when freewheeling", kLeftText, 14);
view__49->addView(view__71); view__49->addView(view__71);
auto* const view__72 = createValueMenu(CRect(430, 60, 510, 85), kTagSetFreewheelingSampleQuality, "", kCenterText, 12); auto* const view__72 = createValueMenu(CRect(430, 60, 510, 85), kTagSetFreewheelingSampleQuality, "", kCenterText, 14);
freewheelingSampleQualitySlider_ = view__72; freewheelingSampleQualitySlider_ = view__72;
view__49->addView(view__72); view__49->addView(view__72);
auto* const view__73 = createLabel(CRect(15, 110, 160, 135), -1, "Sustain cancels release", kLeftText, 12); auto* const view__73 = createLabel(CRect(15, 110, 160, 135), -1, "Sustain cancels release", kLeftText, 14);
view__49->addView(view__73); view__49->addView(view__73);
auto* const view__74 = createCheckbox(CRect(195, 110, 220, 135), kTagSetSustainCancelsRelease, "", kCenterText, 14); auto* const view__74 = createCheckbox(CRect(195, 110, 220, 135), kTagSetSustainCancelsRelease, "", kCenterText, 14);
sustainCancelsReleaseCheckbox_ = view__74; sustainCancelsReleaseCheckbox_ = view__74;
view__49->addView(view__74); view__49->addView(view__74);
auto* const view__75 = createLabel(CRect(15, 35, 240, 55), -1, "SFIZZ_VERSION", kCenterText, 10); auto* const view__75 = createLabel(CRect(15, 35, 240, 55), -1, "SFIZZ_VERSION", kCenterText, 14);
sfizzVersionLabel_ = view__75; sfizzVersionLabel_ = view__75;
view__49->addView(view__75); view__49->addView(view__75);
auto* const view__76 = createLabel(CRect(285, 5, 395, 30), -1, "Rendering quality", kLeftText, 12); auto* const view__76 = createLabel(CRect(285, 5, 395, 30), -1, "Rendering quality", kLeftText, 14);
view__49->addView(view__76); view__49->addView(view__76);
auto* const view__77 = createHLine(CRect(15, 25, 240, 30), -1, "", kCenterText, 14); auto* const view__77 = createHLine(CRect(15, 25, 240, 30), -1, "", kCenterText, 14);
view__49->addView(view__77); view__49->addView(view__77);
auto* const view__78 = createLabel(CRect(15, 5, 110, 30), -1, "Engine options", kLeftText, 12); auto* const view__78 = createLabel(CRect(15, 5, 110, 30), -1, "Engine options", kLeftText, 14);
view__49->addView(view__78); view__49->addView(view__78);
auto* const view__79 = createHLine(CRect(575, 25, 760, 30), -1, "", kCenterText, 14); auto* const view__79 = createHLine(CRect(575, 25, 760, 30), -1, "", kCenterText, 14);
view__49->addView(view__79); view__49->addView(view__79);
auto* const view__80 = createLabel(CRect(550, 5, 590, 30), -1, "Other", kLeftText, 12); auto* const view__80 = createLabel(CRect(550, 5, 590, 30), -1, "Other", kLeftText, 14);
view__49->addView(view__80); view__49->addView(view__80);
auto* const view__81 = createLabel(CRect(550, 120, 775, 145), -1, "Tuning", kLeftText, 12); auto* const view__81 = createLabel(CRect(550, 120, 775, 145), -1, "Tuning", kLeftText, 14);
view__49->addView(view__81); view__49->addView(view__81);
auto* const view__82 = createHLine(CRect(285, 25, 510, 30), -1, "", kCenterText, 14); auto* const view__82 = createHLine(CRect(285, 25, 510, 30), -1, "", kCenterText, 14);
view__49->addView(view__82); view__49->addView(view__82);
@ -220,23 +220,23 @@ view__49->addView(view__84);
auto* const view__85 = createChevronValueDropDown(CRect(750, 200, 775, 225), kTagSetTuningFrequency, "", kCenterText, 24); auto* const view__85 = createChevronValueDropDown(CRect(750, 200, 775, 225), kTagSetTuningFrequency, "", kCenterText, 24);
tuningFrequencyDropdown_ = view__85; tuningFrequencyDropdown_ = view__85;
view__49->addView(view__85); view__49->addView(view__85);
auto* const view__86 = createTextEdit(CRect(690, 200, 750, 225), kTagSetTuningFrequency, "", kCenterText, 12); auto* const view__86 = createTextEdit(CRect(690, 200, 750, 225), kTagSetTuningFrequency, "", kCenterText, 14);
tuningFrequencyEdit_ = view__86; tuningFrequencyEdit_ = view__86;
view__49->addView(view__86); view__49->addView(view__86);
auto* const view__87 = createLabel(CRect(285, 110, 430, 135), -1, "... when freewheeling", kLeftText, 12); auto* const view__87 = createLabel(CRect(285, 110, 430, 135), -1, "... when freewheeling", kLeftText, 14);
view__49->addView(view__87); view__49->addView(view__87);
auto* const view__88 = createValueMenu(CRect(430, 110, 510, 135), kTagSetFreewheelingOscillatorQuality, "", kCenterText, 12); auto* const view__88 = createValueMenu(CRect(430, 110, 510, 135), kTagSetFreewheelingOscillatorQuality, "", kCenterText, 14);
freewheelingOscillatorQualitySlider_ = view__88; freewheelingOscillatorQualitySlider_ = view__88;
view__49->addView(view__88); view__49->addView(view__88);
auto* const view__89 = createPiano(CRect(5, 400, 795, 470), -1, "", kCenterText, 12); auto* const view__89 = createPiano(CRect(0, 410, 800, 480), -1, "", kCenterText, 16);
piano_ = view__89; piano_ = view__89;
view__0->addView(view__89); view__0->addView(view__89);
auto* const view__90 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); auto* const view__90 = createLogicalGroup(CRect(5, 110, 795, 410), -1, "", kCenterText, 14);
subPanels_[kPanelGeneral] = view__90; subPanels_[kPanelGeneral] = view__90;
view__0->addView(view__90); view__0->addView(view__90);
view__90->setVisible(false); view__90->setVisible(false);
enterPalette(invertedPalette); enterPalette(invertedPalette);
auto* const view__91 = createHoverBox(CRect(5, 105, 175, 130), -1, "", kCenterText, 12); auto* const view__91 = createHoverBox(CRect(5, 105, 175, 130), -1, "", kCenterText, 14);
lblHover_ = view__91; lblHover_ = view__91;
view__0->addView(view__91); view__0->addView(view__91);
view__91->setVisible(false); view__91->setVisible(false);