diff options
author | David Robillard <d@drobilla.net> | 2015-03-14 01:12:29 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2015-03-14 01:12:29 -0400 |
commit | b72fc759c05b16f707b998cbf2a7acea447c4001 (patch) | |
tree | 210346439536947191aa67db92ee9c28adf4556b /gtk2_ardour/midi_region_view.cc | |
parent | 0028630eceec67c22561c7c72ad758491257ddc4 (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.cc | 13 |
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 { |