summaryrefslogtreecommitdiff
path: root/gtk2_ardour/port_matrix.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2009-07-20 00:22:09 +0000
committerCarl Hetherington <carl@carlh.net>2009-07-20 00:22:09 +0000
commit23f86529fd2c4d06285671d55f695438e9cb58ac (patch)
tree0c2c96da31a4353d5cc97e95e248ea9970f86201 /gtk2_ardour/port_matrix.h
parentde58b257ae2444e224543a5da8003e7c717fa5bc (diff)
Clean up handling of add/remove/rename channels in the port matrix. Hence make it possible to do these things for any bundle (give or take). Clean up port matrix context menu.
git-svn-id: svn://localhost/ardour2/branches/3.0@5393 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/port_matrix.h')
-rw-r--r--gtk2_ardour/port_matrix.h18
1 files changed, 9 insertions, 9 deletions
diff --git a/gtk2_ardour/port_matrix.h b/gtk2_ardour/port_matrix.h
index 6117e971db..15035fa594 100644
--- a/gtk2_ardour/port_matrix.h
+++ b/gtk2_ardour/port_matrix.h
@@ -125,15 +125,13 @@ public:
virtual PortMatrixNode::State get_state (ARDOUR::BundleChannel c[2]) const = 0;
virtual bool list_is_global (int) const = 0;
- /** If adding a channel is allowed in this situation, return the name of the
- * thing that it would be added to.
- * @return Name.
- */
- virtual std::string add_channel_name () const { return ""; }
- virtual void add_channel () {}
- virtual bool can_remove_channels (int) const = 0;
- virtual void remove_channel (ARDOUR::BundleChannel) = 0;
- virtual bool can_rename_channels (int) const = 0;
+ virtual bool can_add_channel (boost::shared_ptr<ARDOUR::Bundle>) const;
+ virtual void add_channel (boost::shared_ptr<ARDOUR::Bundle>);
+ virtual bool can_remove_channels (boost::shared_ptr<ARDOUR::Bundle>) const;
+ virtual void remove_channel (ARDOUR::BundleChannel);
+ virtual bool can_rename_channels (boost::shared_ptr<ARDOUR::Bundle>) const {
+ return false;
+ }
virtual void rename_channel (ARDOUR::BundleChannel) {}
virtual std::string disassociation_verb () const = 0;
virtual std::string channel_noun () const { return _("channel"); }
@@ -163,6 +161,7 @@ private:
void routes_changed ();
void reconnect_to_routes ();
void select_arrangement ();
+ void add_channel_proxy (boost::weak_ptr<ARDOUR::Bundle>);
void remove_channel_proxy (boost::weak_ptr<ARDOUR::Bundle>, uint32_t);
void rename_channel_proxy (boost::weak_ptr<ARDOUR::Bundle>, uint32_t);
void disassociate_all_on_channel (boost::weak_ptr<ARDOUR::Bundle>, uint32_t, int);
@@ -171,6 +170,7 @@ private:
void show_group (boost::weak_ptr<PortGroup>);
void toggle_show_only_bundles ();
bool on_scroll_event (GdkEventScroll *);
+ boost::shared_ptr<ARDOUR::IO> io_from_bundle (boost::shared_ptr<ARDOUR::Bundle>) const;
/// port type that we are working with
ARDOUR::DataType _type;