summaryrefslogtreecommitdiff
path: root/gtk2_ardour/note_player.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2012-06-08 13:21:05 +0000
committerCarl Hetherington <carl@carlh.net>2012-06-08 13:21:05 +0000
commitfa19e1a9d0b97233e130d301d906b3867a585950 (patch)
tree24d9e680073065545cc173ac0d0760d4f6fdc0eb /gtk2_ardour/note_player.cc
parent33ffe733f1bb10c7a53951e2092443524545dc32 (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.cc13
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
*/