summaryrefslogtreecommitdiff
path: root/gtk2_ardour
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
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')
-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;
};