summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/processor_box.cc9
-rw-r--r--gtk2_ardour/processor_box.h4
2 files changed, 13 insertions, 0 deletions
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc
index ff67923935..f095896f40 100644
--- a/gtk2_ardour/processor_box.cc
+++ b/gtk2_ardour/processor_box.cc
@@ -103,6 +103,7 @@ static const uint32_t midi_port_color = 0x960909FF; //Red
ProcessorEntry::ProcessorEntry (ProcessorBox* parent, boost::shared_ptr<Processor> p, Width w)
: _button (ArdourButton::led_default_elements)
, _position (PreFader)
+ , _selectable(true)
, _parent (parent)
, _processor (p)
, _width (w)
@@ -1753,6 +1754,7 @@ ProcessorBox::add_processor_to_display (boost::weak_ptr<Processor> p)
}
boost::shared_ptr<PluginInsert> plugin_insert = boost::dynamic_pointer_cast<PluginInsert> (processor);
+
ProcessorEntry* e = 0;
if (plugin_insert) {
e = new PluginInsertProcessorEntry (this, plugin_insert, _width);
@@ -1760,6 +1762,13 @@ ProcessorBox::add_processor_to_display (boost::weak_ptr<Processor> p)
e = new ProcessorEntry (this, processor, _width);
}
+ boost::shared_ptr<Send> send = boost::dynamic_pointer_cast<Send> (processor);
+ boost::shared_ptr<PortInsert> ext = boost::dynamic_pointer_cast<PortInsert> (processor);
+
+ //faders and meters are not deletable, copy/paste-able, so they shouldn't be selectable
+ if (!send && !plugin_insert && !ext)
+ e->set_selectable(false);
+
/* Set up this entry's state from the GUIObjectState */
XMLNode* proc = entry_gui_object_state (e);
if (proc) {
diff --git a/gtk2_ardour/processor_box.h b/gtk2_ardour/processor_box.h
index 52ed36a9b2..8caee04006 100644
--- a/gtk2_ardour/processor_box.h
+++ b/gtk2_ardour/processor_box.h
@@ -119,6 +119,9 @@ public:
std::string drag_text () const;
void set_visual_state (Gtkmm2ext::VisualState, bool);
+ bool is_selectable() const {return _selectable;}
+ void set_selectable(bool s) { _selectable = s; }
+
enum Position {
PreFader,
Fader,
@@ -149,6 +152,7 @@ protected:
virtual void setup_visuals ();
private:
+ bool _selectable;
void led_clicked();
void processor_active_changed ();
void processor_property_changed (const PBD::PropertyChange&);