mark session dirty if video is moved
[ardour.git] / gtk2_ardour / mixer_ui.cc
index 18ad28d7744258d8100af4c98e622244b15d0aaa..74556c8edab740aa2aeb708be6ea3636076edf95 100644 (file)
@@ -97,6 +97,9 @@ Mixer_UI::Mixer_UI ()
 
        Route::SyncOrderKeys.connect (*this, invalidator (*this), boost::bind (&Mixer_UI::sync_treeview_from_order_keys, this, _1), gui_context());
 
+       scroller.set_can_default (true);
+       set_default (scroller);
+
        scroller_base.set_flags (Gtk::CAN_FOCUS);
        scroller_base.add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK);
        scroller_base.set_name ("MixerWindow");
@@ -123,7 +126,7 @@ Mixer_UI::Mixer_UI ()
        group_display.get_column (1)->set_data (X_("colnum"), GUINT_TO_POINTER(1));
        group_display.get_column (0)->set_expand(true);
        group_display.get_column (1)->set_expand(false);
-       group_display.set_name ("LHSList");
+       group_display.set_name ("EditGroupList");
        group_display.get_selection()->set_mode (Gtk::SELECTION_SINGLE);
        group_display.set_reorderable (true);
        group_display.set_headers_visible (true);
@@ -311,13 +314,14 @@ Mixer_UI::add_strips (RouteList& routes)
 {
        MixerStrip* strip;
 
-       {
-               Unwinder<bool> uw (no_track_list_redisplay, true);
-               
+       try {
+               no_track_list_redisplay = true;
+               track_display.set_model (Glib::RefPtr<ListStore>());
+
                for (RouteList::iterator x = routes.begin(); x != routes.end(); ++x) {
                        boost::shared_ptr<Route> route = (*x);
                        
-                       if (route->is_hidden()) {
+                       if (route->is_auditioner()) {
                                continue;
                        }
                        
@@ -345,7 +349,7 @@ Mixer_UI::add_strips (RouteList& routes)
                        
                        strip = new MixerStrip (*this, _session, route);
                        strips.push_back (strip);
-                       
+
                        Config->get_default_narrow_ms() ? _strip_width = Narrow : _strip_width = Wide;
                        
                        if (strip->width_owner() != strip) {
@@ -365,8 +369,13 @@ Mixer_UI::add_strips (RouteList& routes)
                        strip->WidthChanged.connect (sigc::mem_fun(*this, &Mixer_UI::strip_width_changed));
                        strip->signal_button_release_event().connect (sigc::bind (sigc::mem_fun(*this, &Mixer_UI::strip_button_release_event), strip));
                }
+
+       } catch (...) {
        }
 
+       no_track_list_redisplay = false;
+       track_display.set_model (track_model);
+       
        sync_order_keys_from_treeview ();
        redisplay_track_list ();
 }
@@ -1785,7 +1794,7 @@ Mixer_UI::setup_track_display ()
        track_display.get_column (1)->set_data (X_("colnum"), GUINT_TO_POINTER(1));
        track_display.get_column (0)->set_expand(true);
        track_display.get_column (1)->set_expand(false);
-       track_display.set_name (X_("LHSList"));
+       track_display.set_name (X_("EditGroupList"));
        track_display.get_selection()->set_mode (Gtk::SELECTION_NONE);
        track_display.set_reorderable (true);
        track_display.set_headers_visible (true);
@@ -1929,3 +1938,4 @@ Mixer_UI::toggle_midi_input_active (bool flip_others)
        
        _session->set_exclusive_input_active (rl, onoff, flip_others);
 }
+