+
+ if (session->locations()->num_range_markers()) {
+ ActionManager::set_sensitive (ActionManager::range_sensitive_actions, true);
+ } else {
+ ActionManager::set_sensitive (ActionManager::range_sensitive_actions, false);
+ }
+
+ if (!session->control_out()) {
+ Glib::RefPtr<Action> act = ActionManager::get_action (X_("options"), X_("SoloViaBus"));
+ if (act) {
+ act->set_sensitive (false);
+ }
+ }
+
+ /* allow wastebasket flush again */
+
+ Glib::RefPtr<Action> act = ActionManager::get_action (X_("Main"), X_("FlushWastebasket"));
+ if (act) {
+ act->set_sensitive (true);
+ }
+
+ /* there are never any selections on startup */
+
+ ActionManager::set_sensitive (ActionManager::region_selection_sensitive_actions, false);
+ ActionManager::set_sensitive (ActionManager::time_selection_sensitive_actions, false);
+ ActionManager::set_sensitive (ActionManager::track_selection_sensitive_actions, false);
+ ActionManager::set_sensitive (ActionManager::line_selection_sensitive_actions, false);
+ ActionManager::set_sensitive (ActionManager::point_selection_sensitive_actions, false);
+ ActionManager::set_sensitive (ActionManager::playlist_selection_sensitive_actions, false);
+
+ session->locations()->added.connect (mem_fun (*this, &ARDOUR_UI::handle_locations_change));
+ session->locations()->removed.connect (mem_fun (*this, &ARDOUR_UI::handle_locations_change));