summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_track.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-08-13 03:40:04 +0000
committerDavid Robillard <d@drobilla.net>2006-08-13 03:40:04 +0000
commit0b572cdd84151335594965a3f0ed16f1665dfa56 (patch)
tree25818906a95bd0c47c190793d7924b75b5076fde /libs/ardour/midi_track.cc
parenta98a67120eea8ebb817eebea048affc182ea054e (diff)
More signal path cleanup, IO now has one deliver_output function that should do the reasonable thing in all cases.
Including deliver MIDI. You can now create a MIDI Track, run some MIDI through it, and toggle the mute button on and off, hearing either silence or a large amount of stuck notes depending on your luck. Woooo. git-svn-id: svn://localhost/ardour2/branches/midi@818 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/midi_track.cc')
-rw-r--r--libs/ardour/midi_track.cc20
1 files changed, 19 insertions, 1 deletions
diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc
index 8cc3a453d0..cdbd441cd6 100644
--- a/libs/ardour/midi_track.cc
+++ b/libs/ardour/midi_track.cc
@@ -482,6 +482,8 @@ int
MidiTrack::roll (jack_nframes_t nframes, jack_nframes_t start_frame, jack_nframes_t end_frame, jack_nframes_t offset, int declick,
bool can_record, bool rec_monitors_input)
{
+ passthru (start_frame, end_frame, nframes, offset, declick, false);
+
return 0;
}
@@ -512,7 +514,23 @@ MidiTrack::process_output_buffers (BufferSet& bufs,
jack_nframes_t nframes, jack_nframes_t offset, bool with_redirects, int declick,
bool meter)
{
- // Do nothing (just bypass the Route version to avoid flaming death)
+ // There's no such thing as a MIDI bus for the time being, to avoid diverging from trunk
+ // too much until the SoC settles down. We'll do all the MIDI route work here for now
+
+ // Main output stage is the only stage we've got.
+ // I think it's a pretty good stage though, wouldn't you say?
+
+
+ if (muted()) {
+
+ IO::silence(nframes, offset);
+
+ } else {
+
+ deliver_output(bufs, start_frame, end_frame, nframes, offset);
+
+ }
+
}
int