Merge pull request #822 from redtide/ccknob-fix

UI: set CC knobs theme colors
This commit is contained in:
JP Cimalando 2021-04-12 23:05:47 +02:00 committed by GitHub
commit 6229bbe550
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 26 additions and 12 deletions

View file

@ -8,13 +8,15 @@
<color name="highlightedText">#fd9800</color> <color name="highlightedText">#fd9800</color>
<color name="titleBoxText">#ffffff</color> <color name="titleBoxText">#ffffff</color>
<color name="titleBoxBackground">#2e3436</color> <color name="titleBoxBackground">#2e3436</color>
<color name="icon">#000000</color>
<color name="iconHighlight">#fd9800</color>
<color name="valueText">#ffffff</color> <color name="valueText">#ffffff</color>
<color name="valueBackground">#2e3436</color> <color name="valueBackground">#2e3436</color>
<color name="knobActiveTrack">#00b62a</color> <color name="icon">#000000</color>
<color name="iconHighlight">#fd9800</color>
<color name="knobActiveTrack">#006b0b</color>
<color name="knobInactiveTrack">#303030</color> <color name="knobInactiveTrack">#303030</color>
<color name="knobLineIndicator">#000000</color> <color name="knobLineIndicator">#000000</color>
<color name="knobText">#000000</color>
<color name="knobLabelText">#ffffff</color>
</palette> </palette>
<palette name="inverted"> <palette name="inverted">
<color name="boxBackground">#2e3436</color> <color name="boxBackground">#2e3436</color>
@ -23,12 +25,14 @@
<color name="highlightedText">#fd9800</color> <color name="highlightedText">#fd9800</color>
<color name="titleBoxText">#000000</color> <color name="titleBoxText">#000000</color>
<color name="titleBoxBackground">#babdb6</color> <color name="titleBoxBackground">#babdb6</color>
<color name="icon">#b2b2b2</color>
<color name="iconHighlight">#fd9800</color>
<color name="valueText">#000000</color> <color name="valueText">#000000</color>
<color name="valueBackground">#9a9a9a</color> <color name="valueBackground">#9a9a9a</color>
<color name="knobActiveTrack">#00b62a</color> <color name="icon">#b2b2b2</color>
<color name="iconHighlight">#fd9800</color>
<color name="knobActiveTrack">#006b0b</color>
<color name="knobInactiveTrack">#606060</color> <color name="knobInactiveTrack">#606060</color>
<color name="knobLineIndicator">#ffffff</color> <color name="knobLineIndicator">#ffffff</color>
<color name="knobText">#ffffff</color>
<color name="knobLabelText">#ffffff</color>
</palette> </palette>
</sfizz-theme> </sfizz-theme>

View file

@ -604,7 +604,6 @@ void Editor::Impl::createFrameContents()
backgroundBitmap_ = background; backgroundBitmap_ = background;
{ {
// Try to load the Default theme from disk or hardcoded one as fallback
theme = new Theme; theme = new Theme;
theme_.reset(theme); theme_.reset(theme);
@ -876,12 +875,16 @@ void Editor::Impl::createFrameContents()
box->setNameLabelText(label); box->setNameLabelText(label);
box->setNameLabelFont(font); box->setNameLabelFont(font);
box->setKnobFont(font); box->setKnobFont(font);
box->setCCLabelText(label);
box->setCCLabelFont(font); box->setCCLabelFont(font);
OnThemeChanged.push_back([box, palette]() { OnThemeChanged.push_back([box, palette]() {
box->setNameLabelFontColor(palette->text); box->setNameLabelFontColor(palette->knobText);
box->setCCLabelFontColor(palette->text); box->setCCLabelFontColor(palette->knobLabelText);
box->setKnobFontColor(palette->text); box->setCCLabelBackColor(palette->knobActiveTrack);
box->setKnobFontColor(palette->knobText);
box->setKnobLineIndicatorColor(palette->knobLineIndicator); box->setKnobLineIndicatorColor(palette->knobLineIndicator);
box->setKnobActiveTrackColor(palette->knobActiveTrack);
box->setKnobInactiveTrackColor(palette->knobInactiveTrack);
}); });
box->setValueToStringFunction([](float value, std::string& text) -> bool { box->setValueToStringFunction([](float value, std::string& text) -> bool {
text = std::to_string(std::lround(value * 127)); text = std::to_string(std::lround(value * 127));
@ -1902,7 +1905,7 @@ void Editor::Impl::valueChanged(CControl* ctl)
{ {
currentThemeName_ = Theme::getAvailableNames()[int(value)]; currentThemeName_ = Theme::getAvailableNames()[int(value)];
Theme::storeCurrentName(currentThemeName_); Theme::storeCurrentName(currentThemeName_);
// TODO: live reload theme theme_->load(currentThemeName_);
} }
break; break;

View file

@ -264,6 +264,9 @@ public:
void setCCLabelFontColor(CColor color) { ccLabel_->setFontColor(color); ccLabel_->invalid(); } void setCCLabelFontColor(CColor color) { ccLabel_->setFontColor(color); ccLabel_->invalid(); }
CColor getCCLabelFontColor() const { return ccLabel_->getFontColor(); } CColor getCCLabelFontColor() const { return ccLabel_->getFontColor(); }
void setCCLabelBackColor(CColor color) { ccLabel_->setBackColor(color); ccLabel_->invalid(); }
CColor getCCLabelBackColor() const { return ccLabel_->getBackColor(); }
void setKnobActiveTrackColor(CColor color) { knob_->setActiveTrackColor(color); knob_->invalid(); } void setKnobActiveTrackColor(CColor color) { knob_->setActiveTrackColor(color); knob_->invalid(); }
CColor getKnobActiveTrackColor() const { return knob_->getActiveTrackColor(); } CColor getKnobActiveTrackColor() const { return knob_->getActiveTrackColor(); }

View file

@ -154,7 +154,9 @@ CColor* Theme::getColorFromName(absl::string_view name, bool fromInvertedPalette
PALETTE_COLOR_CASE(inactiveText); PALETTE_COLOR_CASE(inactiveText);
PALETTE_COLOR_CASE(knobActiveTrack); PALETTE_COLOR_CASE(knobActiveTrack);
PALETTE_COLOR_CASE(knobInactiveTrack); PALETTE_COLOR_CASE(knobInactiveTrack);
PALETTE_COLOR_CASE(knobLabelText);
PALETTE_COLOR_CASE(knobLineIndicator); PALETTE_COLOR_CASE(knobLineIndicator);
PALETTE_COLOR_CASE(knobText);
PALETTE_COLOR_CASE(text); PALETTE_COLOR_CASE(text);
PALETTE_COLOR_CASE(titleBoxBackground); PALETTE_COLOR_CASE(titleBoxBackground);
PALETTE_COLOR_CASE(titleBoxText); PALETTE_COLOR_CASE(titleBoxText);

View file

@ -29,6 +29,8 @@ struct Palette {
CColor knobActiveTrack; CColor knobActiveTrack;
CColor knobInactiveTrack; CColor knobInactiveTrack;
CColor knobLineIndicator; CColor knobLineIndicator;
CColor knobText;
CColor knobLabelText;
}; };
struct Theme { struct Theme {
@ -58,7 +60,7 @@ struct Theme {
static std::string loadCurrentName(); static std::string loadCurrentName();
static const std::vector<std::string>& getAvailableNames(); static const std::vector<std::string>& getAvailableNames();
CColor* getColorFromName(absl::string_view name, bool fromInvertedPalette); CColor* getColorFromName(absl::string_view name, bool fromInvertedPalette = false);
private: private:
static std::vector<std::string> extractAvailableNames(); static std::vector<std::string> extractAvailableNames();