From: Paul Davis Date: Fri, 23 Sep 2016 18:56:27 +0000 (-0500) Subject: update pad colors when selected track colors chane X-Git-Tag: 5.4~87 X-Git-Url: https://main.carlh.net/gitweb/?p=ardour.git;a=commitdiff_plain;h=ae01ac238482311f08c706c594f7ed5717cd50ef update pad colors when selected track colors chane --- diff --git a/libs/surfaces/push2/push2.cc b/libs/surfaces/push2/push2.cc index ccc541296f..8f581f41da 100644 --- a/libs/surfaces/push2/push2.cc +++ b/libs/surfaces/push2/push2.cc @@ -1274,6 +1274,21 @@ Push2::pad_note (int row, int col) const return 0; } +void +Push2::update_selection_color () +{ + boost::shared_ptr current_midi_track = current_pad_target.lock(); + + if (!current_midi_track) { + return; + } + + selection_color = get_color_index (current_midi_track->presentation_info().color()); + contrast_color = get_color_index (ArdourCanvas::HSV (current_midi_track->presentation_info().color()).opposite().color()); + + reset_pad_colors (); +} + void Push2::reset_pad_colors () { diff --git a/libs/surfaces/push2/push2.h b/libs/surfaces/push2/push2.h index 47e4ab051e..30422775d4 100644 --- a/libs/surfaces/push2/push2.h +++ b/libs/surfaces/push2/push2.h @@ -329,6 +329,8 @@ class Push2 : public ARDOUR::ControlProtocol int pad_note (int row, int col) const; PBD::Signal0 PadChange; + void update_selection_color (); + void set_pad_scale (int root, int octave, MusicalMode::Type mode, bool inkey); PBD::Signal0 ScaleChange;