summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_region_view.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2015-03-14 01:12:29 -0400
committerDavid Robillard <d@drobilla.net>2015-03-14 01:12:29 -0400
commitb72fc759c05b16f707b998cbf2a7acea447c4001 (patch)
tree210346439536947191aa67db92ee9c28adf4556b /gtk2_ardour/midi_region_view.cc
parent0028630eceec67c22561c7c72ad758491257ddc4 (diff)
Only sound selected notes momentarily (#6142).
This is debatable, the "sustained until mouse release" behaviour is handy sometimes, but this way seems like what most people probably want. Also, this "fire it and forget it and let it delete itself a bit later" thing with MidiPlayer makes me nervous. I guess it's unlikely someone manages to select a note then delete a track within 100ms, but, well...
Diffstat (limited to 'gtk2_ardour/midi_region_view.cc')
-rw-r--r--gtk2_ardour/midi_region_view.cc13
1 files changed, 3 insertions, 10 deletions
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc
index d8305a1111..1934da937f 100644
--- a/gtk2_ardour/midi_region_view.cc
+++ b/gtk2_ardour/midi_region_view.cc
@@ -391,7 +391,6 @@ MidiRegionView::canvas_group_event(GdkEvent* ev)
case GDK_BUTTON_RELEASE:
r = button_release (&ev->button);
- _note_player.reset();
return r;
case GDK_MOTION_NOTIFY:
@@ -1647,13 +1646,13 @@ MidiRegionView::start_playing_midi_chord (vector<boost::shared_ptr<NoteType> > n
return;
}
- _note_player = boost::shared_ptr<NotePlayer>(new NotePlayer(route_ui->midi_track()));
+ NotePlayer* player = new NotePlayer (route_ui->midi_track());
for (vector<boost::shared_ptr<NoteType> >::iterator n = notes.begin(); n != notes.end(); ++n) {
- _note_player->add (*n);
+ player->add (*n);
}
- _note_player->on ();
+ player->play ();
}
@@ -4028,12 +4027,6 @@ MidiRegionView::selection_cleared (MidiRegionView* rv)
clear_selection (false);
}
-void
-MidiRegionView::note_button_release ()
-{
- _note_player.reset();
-}
-
ChannelMode
MidiRegionView::get_channel_mode () const
{