summaryrefslogtreecommitdiff
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
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...
-rw-r--r--gtk2_ardour/midi_region_view.cc13
-rw-r--r--gtk2_ardour/midi_region_view.h5
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;
};