diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2020-02-24 18:44:45 -0700 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2020-02-24 18:44:58 -0700 |
commit | 4749fcef86ac572960ea5ecd1ce502ecd5b7e846 (patch) | |
tree | e22fe9575b0029b58d0e1a18b035f07d9d30b33f /tools/autowaf.py | |
parent | 42c13607a210b038f491a3afc36dbdb650a92748 (diff) |
fix incorrect handling of MIDI data by AsyncMIDIPort
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.
Diffstat (limited to 'tools/autowaf.py')
0 files changed, 0 insertions, 0 deletions