#include "ardour/debug.h"
#include "ardour/midi_track.h"
#include "ardour/midiport_manager.h"
+#include "ardour/panner_shell.h"
#include "ardour/plugin.h"
#include "ardour/plugin_insert.h"
#include "ardour/processor.h"
(*s)->presentation_info ().PropertyChanged.connect (assigned_stripable_connections, MISSING_INVALIDATOR,
boost::bind (&FaderPort8::notify_stripable_property_changed, this, boost::weak_ptr<Stripable> (*s), _1), this);
+ if (boost::shared_ptr<Route> r = boost::dynamic_pointer_cast<Route>(*s)) {
+ if (r->panner_shell()) {
+ r->panner_shell()->Changed.connect (assigned_stripable_connections, MISSING_INVALIDATOR,
+ boost::bind (&FaderPort8::notify_stripable_property_changed, this, boost::weak_ptr<Stripable> (*s), PropertyChange()), this);
+ }
+ }
+
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 ());
for (uint32_t i = 0; 0 != (proc = r->nth_plugin (i)); ++i) {
if (!proc->display_to_user ()) {
+ continue;
+ }
#ifdef MIXBUS
- boost::shared_ptr<PluginInsert> pi = boost::dynamic_pointer_cast<PluginInsert> (proc);
- if (pi->is_channelstrip ()) // don't skip MB PRE
-#endif
+ /* don't show channelstrip plugins, use "well known" */
+ if (boost::dynamic_pointer_cast<PluginInsert> (proc)->is_channelstrip ()) {
continue;
}
+#endif
int n_controls = 0;
set<Evoral::Parameter> p = proc->what_can_be_automated ();
for (set<Evoral::Parameter>::iterator j = p.begin(); j != p.end(); ++j) {
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 ()) {
+ _ctrls.strip(id).set_stripable (s, _ctrls.fader_mode() == ModePan);
}
if (what_changed.contains (Properties::name)) {
int wk = _showing_well_known;
drop_ctrl_connections ();
select_plugin (wk);
+ } else if (_proc_params.size() == 0) {
+ /* selecting plugin, update available */
+ spill_plugins ();
}
return;
case ModeSend: