first vaguely working version using PresentationInfo
[ardour.git] / gtk2_ardour / editor_ops.cc
index 960b7b3123fda7dfa71346de68bf1cc84ff1e679..598725c72cd3ab019d192e3d4eeb7773f32e7d61 100644 (file)
@@ -5699,11 +5699,11 @@ Editor::toggle_record_enable ()
                        continue;
 
                if (first) {
-                       new_state = !rtav->track()->record_enabled();
+                       new_state = !rtav->track()->rec_enable_control()->get_value();
                        first = false;
                }
 
-               rtav->track()->set_record_enabled (new_state, Controllable::UseGroup);
+               rtav->track()->rec_enable_control()->set_value (new_state, Controllable::UseGroup);
        }
 }
 
@@ -5712,7 +5712,7 @@ Editor::toggle_solo ()
 {
        bool new_state = false;
        bool first = true;
-       boost::shared_ptr<RouteList> rl (new RouteList);
+       boost::shared_ptr<ControlList> cl (new ControlList);
 
        for (TrackSelection::iterator i = selection->tracks.begin(); i != selection->tracks.end(); ++i) {
                RouteTimeAxisView *rtav = dynamic_cast<RouteTimeAxisView *>(*i);
@@ -5726,10 +5726,10 @@ Editor::toggle_solo ()
                        first = false;
                }
 
-               rl->push_back (rtav->route());
+               cl->push_back (rtav->route()->solo_control());
        }
 
-       _session->set_solo (rl, new_state, Session::rt_cleanup, Controllable::UseGroup);
+       _session->set_controls (cl, new_state ? 1.0 : 0.0, Controllable::UseGroup);
 }
 
 void
@@ -5754,7 +5754,7 @@ Editor::toggle_mute ()
                rl->push_back (rtav->route());
        }
 
-       _session->set_mute (rl, new_state, Session::rt_cleanup, Controllable::UseGroup);
+       _session->set_controls (route_list_to_control_list (rl, &Route::mute_control), new_state, Controllable::UseGroup);
 }
 
 void
@@ -6153,12 +6153,6 @@ Editor::split_region ()
        }
 }
 
-struct EditorOrderRouteSorter {
-    bool operator() (boost::shared_ptr<Route> a, boost::shared_ptr<Route> b) {
-           return a->order_key () < b->order_key ();
-    }
-};
-
 void
 Editor::select_next_route()
 {
@@ -6476,7 +6470,7 @@ Editor::define_one_bar (framepos_t start, framepos_t end)
 {
        framepos_t length = end - start;
 
-       const Meter& m (_session->tempo_map().meter_at (start));
+       const Meter& m (_session->tempo_map().meter_at_frame (start));
 
        /* length = 1 bar */
 
@@ -6501,7 +6495,7 @@ Editor::define_one_bar (framepos_t start, framepos_t end)
 
        */
 
-       const TempoSection& t (_session->tempo_map().tempo_section_at (start));
+       const TempoSection& t (_session->tempo_map().tempo_section_at_frame (start));
 
        bool do_global = false;
 
@@ -6552,7 +6546,7 @@ Editor::define_one_bar (framepos_t start, framepos_t end)
        } else if (t.frame() == start) {
                _session->tempo_map().change_existing_tempo_at (start, beats_per_minute, t.note_type());
        } else {
-               _session->tempo_map().add_tempo (Tempo (beats_per_minute, t.note_type()), start, TempoSection::Constant);
+               _session->tempo_map().add_tempo (Tempo (beats_per_minute, t.note_type()), 0.0, start, TempoSection::Constant, AudioTime);
        }
 
        XMLNode& after (_session->tempo_map().get_state());