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 | |
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...
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 13 | ||||
-rw-r--r-- | gtk2_ardour/midi_region_view.h | 5 |
2 files changed, 3 insertions, 15 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 { diff --git a/gtk2_ardour/midi_region_view.h b/gtk2_ardour/midi_region_view.h index 1cfefa9aff..776543041c 100644 --- a/gtk2_ardour/midi_region_view.h +++ b/gtk2_ardour/midi_region_view.h @@ -58,7 +58,6 @@ class AutomationRegionView; class MidiCutBuffer; class MidiListEditor; class EditNoteDialog; -class NotePlayer; class PatchChange; class ItemCounts; class CursorContext; @@ -244,8 +243,6 @@ public: MouseState mouse_state() const { return _mouse_state; } - void note_button_release (); - struct NoteResizeData { Note *note; ArdourCanvas::Rectangle *resize_rect; @@ -512,8 +509,6 @@ private: boost::shared_ptr<CursorContext> _press_cursor_ctx; - boost::shared_ptr<NotePlayer> _note_player; - ARDOUR::ChannelMode get_channel_mode() const; uint16_t get_selected_channels () const; }; |