add back-pointer to TempoMap from points, and push dirty=true into map
[ardour.git] / gtk2_ardour / midi_region_view.cc
index 2ce865e3b0e21828af70f3c05d279fb6b64d7249..a8124a9675196d2d714806ead6f2ba956fb7b62e 100644 (file)
@@ -956,7 +956,6 @@ MidiRegionView::create_note_at (framepos_t t, double y, Evoral::Beats length, ui
 
        start_note_diff_command(_("add note"));
 
-       clear_editor_note_selection ();
        note_diff_add_note (new_note, true, false);
 
        apply_diff();
@@ -1094,6 +1093,7 @@ MidiRegionView::abort_command()
 {
        delete _note_diff_command;
        _note_diff_command = 0;
+       trackview.editor().abort_reversible_command();
        clear_editor_note_selection();
 }
 
@@ -1424,11 +1424,13 @@ MidiRegionView::display_sysexes()
                }
 
                // Show unless message is beyond the region bounds
-               if (time - _region->start() >= _region->length() || time < _region->start()) {
-                       sysex->hide();
-               } else {
-                       sysex->show();
-               }
+// XXX REQUIRES APPROPRIATE OPERATORS FOR Evoral::Beats and framepos? say what?
+#warning paul fix this
+//             if (time - _region->start() >= _region->length() || time < _region->start()) {
+//                     sysex->hide();
+//             } else {
+//                     sysex->show();
+//             }
        }
 }
 
@@ -2082,7 +2084,6 @@ MidiRegionView::change_patch_change (MidiModel::PatchChangePtr old_change, const
 void
 MidiRegionView::add_patch_change (framecnt_t t, Evoral::PatchChange<Evoral::Beats> const & patch)
 {
-       MidiTimeAxisView* const mtv = dynamic_cast<MidiTimeAxisView*>(&trackview);
        string name = _("add patch change");
 
        trackview.editor().begin_reversible_command (name);
@@ -2090,7 +2091,7 @@ MidiRegionView::add_patch_change (framecnt_t t, Evoral::PatchChange<Evoral::Beat
        c->add (MidiModel::PatchChangePtr (
                        new Evoral::PatchChange<Evoral::Beats> (
                                absolute_frames_to_source_beats (_region->position() + t),
-                               mtv->get_channel_for_add(), patch.program(), patch.bank()
+                               patch.channel(), patch.program(), patch.bank()
                                )
                        )
                );
@@ -2396,7 +2397,7 @@ MidiRegionView::note_selected (NoteBase* ev, bool add, bool extend)
        } else {
                /* find end of latest note selected, select all between that and the start of "ev" */
 
-               Evoral::Beats earliest = Evoral::MaxBeats;
+               Evoral::Beats earliest = std::numeric_limits<Evoral::Beats>::max();
                Evoral::Beats latest   = Evoral::Beats();
 
                for (Selection::iterator i = _selection.begin(); i != _selection.end(); ++i) {
@@ -2552,7 +2553,7 @@ MidiRegionView::add_to_selection (NoteBase* ev)
 Evoral::Beats
 MidiRegionView::earliest_in_selection ()
 {
-       Evoral::Beats earliest = Evoral::MaxBeats;
+       Evoral::Beats earliest = std::numeric_limits<Evoral::Beats>::max();
 
        for (Selection::iterator i = _selection.begin(); i != _selection.end(); ++i) {
                if ((*i)->note()->time() < earliest) {