Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge...
[ardour.git] / gtk2_ardour / editor_ops.cc
index 8013574cfa063d747107f7ace09ef1b5df0240aa..f2990751708dac5471d7ecd6c7b7429c396fda06 100644 (file)
@@ -1391,8 +1391,12 @@ Editor::temporal_zoom (framecnt_t fpp)
        // Imposing an arbitrary limit to zoom out as too much zoom out produces 
        // segfaults for lack of memory. If somebody decides this is not high enough I
        // believe it can be raisen to higher values but some limit must be in place.
+       //
+       // This constant represents 1 day @ 48kHz on a 1600 pixel wide display
+       // all of which is used for the editor track displays. The whole day
+       // would be 4147200000 samples, so 2592000 samples per pixel.
 
-       nfpp = min (fpp, (framecnt_t) 8589934592);
+       nfpp = min (fpp, (framecnt_t) 2592000);
        nfpp = max ((framecnt_t) 1, fpp);
 
        new_page_size = (framepos_t) floor (_visible_canvas_width * nfpp);
@@ -4704,7 +4708,7 @@ Editor::apply_midi_note_edit_op_to_region (MidiOperator& op, MidiRegionView& mrv
        vector<Evoral::Sequence<Evoral::MusicalTime>::Notes> v;
        v.push_back (selected);
 
-       framepos_t pos_frames = mrv.midi_region()->position();
+       framepos_t pos_frames = mrv.midi_region()->position() - mrv.midi_region()->start();
        double     pos_beats  = _session->tempo_map().framewalk_to_beats(0, pos_frames);
 
        return op (mrv.midi_region()->model(), pos_beats, v);
@@ -5520,7 +5524,7 @@ Editor::split_region ()
 
 struct EditorOrderRouteSorter {
     bool operator() (boost::shared_ptr<Route> a, boost::shared_ptr<Route> b) {
-           return a->order_key (EditorSort) < b->order_key (EditorSort);
+           return a->order_key () < b->order_key ();
     }
 };