Remove solo buttons from the master route in the route list (#4486).
authorCarl Hetherington <carl@carlh.net>
Fri, 18 Nov 2011 00:08:47 +0000 (00:08 +0000)
committerCarl Hetherington <carl@carlh.net>
Fri, 18 Nov 2011 00:08:47 +0000 (00:08 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@10667 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/editor_routes.cc
gtk2_ardour/editor_routes.h

index 015d42b3858ac5f24929abb61bb9055fc99ea2b6..402681587914791a10a6c9e21418ce1c35664278 100644 (file)
@@ -139,6 +139,7 @@ EditorRoutes::EditorRoutes (Editor* e)
        TreeViewColumn* solo_state_column = manage (new TreeViewColumn("S", *solo_col_renderer));
 
        solo_state_column->add_attribute(solo_col_renderer->property_state(), _columns.solo_state);
+       solo_state_column->add_attribute(solo_col_renderer->property_visible(), _columns.solo_visible);
        solo_state_column->set_sizing(TREE_VIEW_COLUMN_FIXED);
        solo_state_column->set_alignment(ALIGN_CENTER);
        solo_state_column->set_expand(false);
@@ -154,6 +155,7 @@ EditorRoutes::EditorRoutes (Editor* e)
        TreeViewColumn* solo_isolate_state_column = manage (new TreeViewColumn("SI", *solo_iso_renderer));
 
        solo_isolate_state_column->add_attribute(solo_iso_renderer->property_state(), _columns.solo_isolate_state);
+       solo_isolate_state_column->add_attribute(solo_iso_renderer->property_visible(), _columns.solo_visible);
        solo_isolate_state_column->set_sizing(TREE_VIEW_COLUMN_FIXED);
        solo_isolate_state_column->set_alignment(ALIGN_CENTER);
        solo_isolate_state_column->set_expand(false);
@@ -168,6 +170,7 @@ EditorRoutes::EditorRoutes (Editor* e)
 
        TreeViewColumn* solo_safe_state_column = manage (new TreeViewColumn(_("SS"), *solo_safe_renderer));
        solo_safe_state_column->add_attribute(solo_safe_renderer->property_state(), _columns.solo_safe_state);
+       solo_safe_state_column->add_attribute(solo_safe_renderer->property_visible(), _columns.solo_visible);
        solo_safe_state_column->set_sizing(TREE_VIEW_COLUMN_FIXED);
        solo_safe_state_column->set_alignment(ALIGN_CENTER);
        solo_safe_state_column->set_expand(false);
@@ -611,6 +614,7 @@ EditorRoutes::routes_added (list<RouteTimeAxisView*> routes)
 
                row[_columns.mute_state] = (*x)->route()->muted() ? Active : ActiveState (0);
                row[_columns.solo_state] = RouteUI::solo_active_state ((*x)->route());
+               row[_columns.solo_visible] = !(*x)->route()->is_master ();
                row[_columns.solo_isolate_state] = (*x)->route()->solo_isolated();
                row[_columns.solo_safe_state] = (*x)->route()->solo_safe();
                row[_columns.name_editable] = true;
index 5fdbc3a9c1366c320be4f21c85688b9cce853c67..5fad890faffff1260365e4b1da8dc892b130f9ac 100644 (file)
@@ -110,6 +110,7 @@ private:
                        add (rec_state);
                        add (mute_state);
                        add (solo_state);
+                       add (solo_visible);
                        add (solo_isolate_state);
                        add (solo_safe_state);
                        add (is_track);
@@ -126,6 +127,8 @@ private:
                Gtk::TreeModelColumn<uint32_t>       rec_state;
                Gtk::TreeModelColumn<uint32_t>       mute_state;
                Gtk::TreeModelColumn<uint32_t>       solo_state;
+               /** true if the solo buttons are visible for this route, otherwise false */
+               Gtk::TreeModelColumn<bool>           solo_visible;
                Gtk::TreeModelColumn<uint32_t>       solo_isolate_state;
                Gtk::TreeModelColumn<uint32_t>       solo_safe_state;
                Gtk::TreeModelColumn<bool>           is_track;