summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_track.cc
diff options
context:
space:
mode:
authorHans Baier <hansfbaier@googlemail.com>2008-04-03 21:47:47 +0000
committerHans Baier <hansfbaier@googlemail.com>2008-04-03 21:47:47 +0000
commitfbfe9a798313fcb98b2d25df8d23c5c90c76a7ef (patch)
tree4d99a55cb00c85b67c2936cddce46ae411f44fe8 /libs/ardour/midi_track.cc
parent6554200e66cc243e92818e6e74d4647d1c34ae9c (diff)
* implemented editing velocities (http://tracker.ardour.org/view.php?id=2148)
* added MIDI panic button (http://tracker.ardour.org/view.php?id=2118) * bugfix: moving notes above midi 127 or below 0 does not wrap around anymore * bugfix: deadlock on editing notes after playback (http://tracker.ardour.org/view.php?id=2140) due to unbalanced lock acquire/release * bugfix: First note off lost in playback (http://tracker.ardour.org/view.php?id=2132) * bugfix: Last note off lost in saving MIDI files (http://tracker.ardour.org/view.php?id=2132) * bandaid fix for http://tracker.ardour.org/view.php?id=1985 (Cannot reopen session because jack ports are not unregistered on session close) * bandaid fix: replaced conf.CheckPKGExists ('\"slv2 >= 0.6.0\"') by conf.CheckPKGExists ('slv2') in SConstruct, because the former would fail, even if SLV 0.6.0 was installed * added/enabled debugging output for debugging MIDI model (might be removed later) git-svn-id: svn://localhost/ardour2/branches/3.0@3211 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/midi_track.cc')
-rw-r--r--libs/ardour/midi_track.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc
index bf97b19106..cbd9c52bf6 100644
--- a/libs/ardour/midi_track.cc
+++ b/libs/ardour/midi_track.cc
@@ -697,6 +697,19 @@ MidiTrack::set_note_mode (NoteMode m)
midi_diskstream()->set_note_mode(m);
}
+void
+MidiTrack::midi_panic()
+{
+ for(uint8_t channel = 0; channel <= 0xF; channel++) {
+ Byte ev[3] = { MIDI_CMD_CONTROL | channel, MIDI_CTL_SUSTAIN, 0 };
+ write_immediate_event(3, ev);
+ ev[1] = MIDI_CTL_ALL_NOTES_OFF;
+ write_immediate_event(3, ev);
+ ev[1] = MIDI_CTL_RESET_CONTROLLERS;
+ write_immediate_event(3, ev);
+ }
+}
+
/** \return true on success, false on failure (no buffer space left)
*/
bool