diff options
author | Carl Hetherington <carl@carlh.net> | 2012-06-08 13:21:05 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2012-06-08 13:21:05 +0000 |
commit | fa19e1a9d0b97233e130d301d906b3867a585950 (patch) | |
tree | 24d9e680073065545cc173ac0d0760d4f6fdc0eb /gtk2_ardour/note_player.cc | |
parent | 33ffe733f1bb10c7a53951e2092443524545dc32 (diff) |
When sounding notes on selection / note movements, play the note for as long as the mouse button is held down (#4574).
git-svn-id: svn://localhost/ardour2/branches/3.0@12606 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/note_player.cc')
-rw-r--r-- | gtk2_ardour/note_player.cc | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gtk2_ardour/note_player.cc b/gtk2_ardour/note_player.cc index b9f480a6be..cd5c058209 100644 --- a/gtk2_ardour/note_player.cc +++ b/gtk2_ardour/note_player.cc @@ -31,6 +31,11 @@ NotePlayer::NotePlayer (boost::shared_ptr<MidiTrack> mt) { } +NotePlayer::~NotePlayer () +{ + clear (); +} + void NotePlayer::add (boost::shared_ptr<NoteType> note) { @@ -45,11 +50,17 @@ NotePlayer::clear () } void -NotePlayer::play () +NotePlayer::on () { for (Notes::iterator n = notes.begin(); n != notes.end(); ++n) { track->write_immediate_event ((*n)->on_event().size(), (*n)->on_event().buffer()); } +} + +void +NotePlayer::play () +{ + on (); /* note: if there is more than 1 note, we will silence them all at the same time */ |