FP8/16: Ignore "black" a strip color, always light select-button

This commit is contained in:
Robin Gareus 2017-12-21 02:23:11 +01:00
parent 1deb6525b8
commit 5a23719da3
3 changed files with 12 additions and 3 deletions

View File

@ -1007,7 +1007,7 @@ FaderPort8::assign_stripables (bool select_only)
if (select_only) {
/* used in send mode */
_ctrls.strip(id).set_text_line (3, (*s)->name (), true);
_ctrls.strip(id).select_button ().set_color ((*s)->presentation_info ().color());
_ctrls.strip(id).set_select_button_color ((*s)->presentation_info ().color());
/* update selection lights */
_ctrls.strip(id).select_button ().set_active ((*s)->is_selected ());
_ctrls.strip(id).select_button ().set_blinking (*s == first_selected_stripable ());
@ -1803,7 +1803,7 @@ FaderPort8::notify_stripable_property_changed (boost::weak_ptr<Stripable> ws, co
uint8_t id = _assigned_strips[s];
if (what_changed.contains (Properties::color)) {
_ctrls.strip(id).select_button ().set_color (s->presentation_info ().color());
_ctrls.strip(id).set_select_button_color (s->presentation_info ().color());
}
if (what_changed.empty ()) {

View File

@ -321,7 +321,8 @@ FP8Strip::set_stripable (boost::shared_ptr<Stripable> s, bool panmode)
set_select_controllable (boost::shared_ptr<AutomationControl>());
select_button ().set_active (s->is_selected ());
select_button ().set_color (s->presentation_info ().color());
set_select_button_color (s->presentation_info ().color());
//select_button ().set_blinking (false);
_stripable_name = s->name ();

View File

@ -68,6 +68,14 @@ public:
FP8ButtonInterface& recarm_button () { return *_selrec.button_shift(); }
FP8ButtonInterface& select_button () { return *_selrec.button(); }
void set_select_button_color (uint32_t color) {
if ((color & 0xffffff00) == 0) {
select_button ().set_color (0xffffffff);
} else {
select_button ().set_color (color);
}
}
bool midi_touch (bool t);
bool midi_fader (float val);