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 Tracks With Regions Under Playhead"), sigc::mem_fun (*this, &EditorRoutes::show_tracks_with_regions_at_playhead)));
+ items.push_back (MenuElem (_("Only Show Tracks with Regions Under Playhead"), sigc::mem_fun (*this, &EditorRoutes::show_tracks_with_regions_at_playhead)));
}
void
}
bool visible = tv->marked_for_display ();
-
+
/* show or hide the TimeAxisView */
if (visible) {
position += tv->show_at (position, n, &_editor->edit_controls_vbox);
for (ri = rows.begin(); ri != rows.end(); ++ri) {
/* skip two special values */
-
+
if (rid == Route::MasterBusRemoteControlID) {
rid++;
}
-
+
if (rid == Route::MonitorBusRemoteControlID) {
rid++;
}
if ((atv = dynamic_cast<AudioTimeAxisView*>(tv)) != 0) {
switch (tracks) {
case 0:
+ atv->set_marked_for_display (yn);
(*i)[_columns.visible] = yn;
break;
case 1:
if (atv->is_audio_track()) {
+ atv->set_marked_for_display (yn);
(*i)[_columns.visible] = yn;
}
break;
case 2:
if (!atv->is_audio_track()) {
+ atv->set_marked_for_display (yn);
(*i)[_columns.visible] = yn;
}
break;
else if ((mtv = dynamic_cast<MidiTimeAxisView*>(tv)) != 0) {
switch (tracks) {
case 0:
+ mtv->set_marked_for_display (yn);
(*i)[_columns.visible] = yn;
break;
case 3:
if (mtv->is_midi_track()) {
+ mtv->set_marked_for_display (yn);
(*i)[_columns.visible] = yn;
}
break;
}
RouteList r (*_session->get_routes());
-
+
r.sort (EditorOrderRouteSorter ());
_editor->add_routes (r);
}
(*i)[_columns.active] = route->active ();
if (boost::dynamic_pointer_cast<Track> (route)) {
boost::shared_ptr<MidiTrack> mt = boost::dynamic_pointer_cast<MidiTrack> (route);
-
+
if (route->record_enabled()) {
if (_session->record_status() == Session::Recording) {
(*i)[_columns.rec_state] = 1;
} else {
(*i)[_columns.rec_state] = 0;
}
-
+
(*i)[_columns.name_editable] = !route->record_enabled ();
}
}
TreeModel::Children rows = _model->children ();
for (TreeModel::Children::iterator i = rows.begin(); i != rows.end(); ++i) {
TimeAxisView* tv = (*i)[_columns.tv];
- (*i)[_columns.visible] = (show.find (tv) != show.end());
+ bool to_show = (show.find (tv) != show.end());
+
+ tv->set_marked_for_display (to_show);
+ (*i)[_columns.visible] = to_show;
}
+
+ /* force route order keys catch up with visibility changes
+ */
+
+ sync_order_keys_from_treeview ();
}