use new action map API instead of ActionManager::get_action
[ardour.git] / gtk2_ardour / editor_routes.cc
index f631a73f37b1750b1e4aea0aa66bb87c283ef3fe..f6a5cffb0b25a3802e263ec77006719c42b1f226 100644 (file)
@@ -216,8 +216,6 @@ EditorRoutes::EditorRoutes (Editor* e)
        solo_safe_state_column->set_expand(false);
        solo_safe_state_column->set_fixed_width(column_width);
 
-       // TODO hide _columns.active for is_vca  with some  property_visible() trick..
-
        _name_column = _display.append_column ("", _columns.text) - 1;
        _visible_column = _display.append_column ("", _columns.visible) - 1;
        _active_column = _display.append_column ("", _columns.active) - 1;
@@ -306,6 +304,7 @@ EditorRoutes::EditorRoutes (Editor* e)
        active_col->set_sizing (TREE_VIEW_COLUMN_FIXED);
        active_col->set_fixed_width (30);
        active_col->set_alignment (ALIGN_CENTER);
+       active_col->add_attribute (active_cell->property_visible(), _columns.no_vca);
 
        _model->signal_row_deleted().connect (sigc::mem_fun (*this, &EditorRoutes::row_deleted));
        _model->signal_rows_reordered().connect (sigc::mem_fun (*this, &EditorRoutes::reordered));
@@ -550,10 +549,10 @@ EditorRoutes::build_menu ()
        items.push_back (MenuElem (_("Hide All"), sigc::mem_fun (*this, &EditorRoutes::hide_all_routes)));
        items.push_back (MenuElem (_("Show All Audio Tracks"), sigc::mem_fun (*this, &EditorRoutes::show_all_audiotracks)));
        items.push_back (MenuElem (_("Hide All Audio Tracks"), sigc::mem_fun (*this, &EditorRoutes::hide_all_audiotracks)));
-       items.push_back (MenuElem (_("Show All Audio Busses"), sigc::mem_fun (*this, &EditorRoutes::show_all_audiobus)));
-       items.push_back (MenuElem (_("Hide All Audio Busses"), sigc::mem_fun (*this, &EditorRoutes::hide_all_audiobus)));
        items.push_back (MenuElem (_("Show All Midi Tracks"), sigc::mem_fun (*this, &EditorRoutes::show_all_miditracks)));
        items.push_back (MenuElem (_("Hide All Midi Tracks"), sigc::mem_fun (*this, &EditorRoutes::hide_all_miditracks)));
+       items.push_back (MenuElem (_("Show All Busses"), sigc::mem_fun (*this, &EditorRoutes::show_all_audiobus)));
+       items.push_back (MenuElem (_("Hide All Busses"), sigc::mem_fun (*this, &EditorRoutes::hide_all_audiobus)));
        items.push_back (MenuElem (_("Only Show Tracks with Regions Under Playhead"), sigc::mem_fun (*this, &EditorRoutes::show_tracks_with_regions_at_playhead)));
 }
 
@@ -748,7 +747,7 @@ EditorRoutes::time_axis_views_added (list<TimeAxisView*> tavs)
                        row[_columns.is_track] = false;
                        row[_columns.is_input_active] = false;
                        row[_columns.is_midi] = false;
-                       row[_columns.is_vca] = true;
+                       row[_columns.no_vca] = false;
 
                } else if (rtav) {
 
@@ -756,7 +755,7 @@ EditorRoutes::time_axis_views_added (list<TimeAxisView*> tavs)
                        midi_trk= boost::dynamic_pointer_cast<MidiTrack> (stripable);
 
                        row[_columns.is_track] = (boost::dynamic_pointer_cast<Track> (stripable) != 0);
-                       row[_columns.is_vca] = false;
+                       row[_columns.no_vca] = true;
 
                        if (midi_trk) {
                                row[_columns.is_input_active] = midi_trk->input_active ();
@@ -779,7 +778,7 @@ EditorRoutes::time_axis_views_added (list<TimeAxisView*> tavs)
                row[_columns.mute_state] = RouteUI::mute_active_state (_session, stripable);
                row[_columns.solo_state] = RouteUI::solo_active_state (stripable);
                row[_columns.solo_visible] = !stripable->is_master ();
-               row[_columns.solo_lock_iso_visible] =  row[_columns.solo_visible] && !row[_columns.is_vca];
+               row[_columns.solo_lock_iso_visible] = row[_columns.solo_visible] && row[_columns.no_vca];
                row[_columns.solo_isolate_state] = RouteUI::solo_isolate_active_state (stripable);
                row[_columns.solo_safe_state] = RouteUI::solo_safe_active_state (stripable);
                row[_columns.name_editable] = true;
@@ -1478,7 +1477,7 @@ EditorRoutes::initial_display ()
 {
 
        if (!_session) {
-               _model->clear ();
+               clear ();
                return;
        }
 
@@ -1487,16 +1486,7 @@ EditorRoutes::initial_display ()
 
        StripableList s;
 
-       RouteList r (*_session->get_routes());
-       for (RouteList::iterator ri = r.begin(); ri != r.end(); ++ri) {
-               s.push_back (*ri);
-       }
-
-       VCAList v (_session->vca_manager().vcas());
-       for (VCAList::iterator vi = v.begin(); vi != v.end(); ++vi) {
-               s.push_back (*vi);
-       }
-
+       _session->get_stripables (s);
        _editor->add_stripables (s);
 
        sync_treeview_from_presentation_info (Properties::order);
@@ -1783,7 +1773,7 @@ EditorRoutes::solo_changed_so_update_mute ()
 void
 EditorRoutes::show_tracks_with_regions_at_playhead ()
 {
-       boost::shared_ptr<RouteList> const r = _session->get_routes_with_regions_at (_session->transport_frame ());
+       boost::shared_ptr<RouteList> const r = _session->get_routes_with_regions_at (_session->transport_sample ());
 
        set<TimeAxisView*> show;
        for (RouteList::const_iterator i = r->begin(); i != r->end(); ++i) {