diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-06-05 16:29:22 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-06-05 16:33:02 -0400 |
commit | 4ca69e346ff2427e50a07062763594c8f07a7cc0 (patch) | |
tree | 40031003b4a7d6b562717dd277d405d7b89ea2f4 /gtk2_ardour/mixer_ui.h | |
parent | 1d5d98589a477ed0a2eb13d36471177c45cc0740 (diff) |
substantive redesign of Gtk::TreeModel used inside Mixer_UI to hold both VCAs and Routes
Diffstat (limited to 'gtk2_ardour/mixer_ui.h')
-rw-r--r-- | gtk2_ardour/mixer_ui.h | 53 |
1 files changed, 26 insertions, 27 deletions
diff --git a/gtk2_ardour/mixer_ui.h b/gtk2_ardour/mixer_ui.h index 9008b66111..1be03132cc 100644 --- a/gtk2_ardour/mixer_ui.h +++ b/gtk2_ardour/mixer_ui.h @@ -55,6 +55,7 @@ namespace ARDOUR { class RouteGroup; }; +class AxisView; class MixerStrip; class PluginSelector; class MixerGroupTabs; @@ -165,7 +166,9 @@ class Mixer_UI : public Gtkmm2ext::Tabbable, public PBD::ScopedConnectionList, p void scroll_right (); void toggle_midi_input_active (bool flip_others); - void add_strips (ARDOUR::RouteList&); + void add_stripables (ARDOUR::StripableList&); + + void add_routes (ARDOUR::RouteList&); void remove_strip (MixerStrip *); void add_masters (ARDOUR::VCAList&); @@ -265,49 +268,45 @@ class Mixer_UI : public Gtkmm2ext::Tabbable, public PBD::ScopedConnectionList, p /* various treeviews */ - struct TrackDisplayModelColumns : public Gtk::TreeModel::ColumnRecord { - TrackDisplayModelColumns () { + struct StripableDisplayModelColumns : public Gtk::TreeModel::ColumnRecord { + StripableDisplayModelColumns () { add (text); add (visible); - add (route); + add (stripable); add (strip); - add (vca); } Gtk::TreeModelColumn<bool> visible; Gtk::TreeModelColumn<std::string> text; - Gtk::TreeModelColumn<boost::shared_ptr<ARDOUR::Route> > route; - /* if route is non-null, this must be non-null */ - Gtk::TreeModelColumn<MixerStrip*> strip; - /* if route is null, this may be non-null */ - Gtk::TreeModelColumn<VCAMasterStrip*> vca; + Gtk::TreeModelColumn<boost::shared_ptr<ARDOUR::Stripable> > stripable; + Gtk::TreeModelColumn<AxisView*> strip; }; struct GroupDisplayModelColumns : public Gtk::TreeModel::ColumnRecord { - GroupDisplayModelColumns() { - add (visible); - add (text); - add (group); - } - Gtk::TreeModelColumn<bool> visible; - Gtk::TreeModelColumn<std::string> text; - Gtk::TreeModelColumn<ARDOUR::RouteGroup*> group; + GroupDisplayModelColumns() { + add (visible); + add (text); + add (group); + } + Gtk::TreeModelColumn<bool> visible; + Gtk::TreeModelColumn<std::string> text; + Gtk::TreeModelColumn<ARDOUR::RouteGroup*> group; }; struct PluginsDisplayModelColumns : public Gtk::TreeModel::ColumnRecord { - PluginsDisplayModelColumns() { - add (name); - add (plugin); - } - Gtk::TreeModelColumn<std::string> name; - Gtk::TreeModelColumn<ARDOUR::PluginPresetPtr> plugin; + PluginsDisplayModelColumns() { + add (name); + add (plugin); + } + Gtk::TreeModelColumn<std::string> name; + Gtk::TreeModelColumn<ARDOUR::PluginPresetPtr> plugin; }; ARDOUR::PluginInfoList favorite_order; std::map<std::string, bool> favorite_ui_state; - TrackDisplayModelColumns track_columns; - GroupDisplayModelColumns group_columns; - PluginsDisplayModelColumns favorite_plugins_columns; + StripableDisplayModelColumns stripable_columns; + GroupDisplayModelColumns group_columns; + PluginsDisplayModelColumns favorite_plugins_columns; Gtk::TreeView track_display; Gtk::TreeView group_display; |