mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-30 17:03:06 +01:00
This type of MIDI port fetches all of its data from inside ::cycle_start(), and delivers it to a FIFO connected to another thread (typically a control surface). Unlike regular MidiPorts, which will be read from inside a Session::process() call, these ports will read their data once per AudioEngine::process() cycle. They therefore cannot use MidiPort::get_midi_buffer() which scales and adjusts event timestamps as if the data is being accessed from within Session::process(). It is still an open question whether or not AsyncMIDIPort::cycle_start() should still scale event timestamps by speed. In some respects it seems more appropriate to do so, and the reading thread (e.g. a control surface) doesn't care about the "nframes" limit on timestamps that exists for calls within a Session::process() tree. For now, leave the timestamps unscaled by speed. |
||
|---|---|---|
| .. | ||
| appleutility | ||
| ardour | ||
| ardouralsautil | ||
| audiographer | ||
| backends | ||
| canvas | ||
| clearlooks-newer | ||
| evoral | ||
| fluidsynth | ||
| fst | ||
| gtkmm2ext | ||
| hidapi | ||
| libltc | ||
| lua | ||
| midi++2 | ||
| panners | ||
| pbd | ||
| plugins | ||
| ptformat | ||
| qm-dsp | ||
| surfaces | ||
| temporal | ||
| vamp-plugins | ||
| vamp-pyin | ||
| vfork | ||
| waveview | ||
| widgets | ||
| zita-convolver | ||
| zita-resampler | ||