[beast: 8/8] Merge branch 'fix-audio-timing'
- From: Tim Janik <timj src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [beast: 8/8] Merge branch 'fix-audio-timing'
- Date: Thu, 23 Mar 2017 17:14:26 +0000 (UTC)
commit 09da6147e45218d6b0cb637454e695889e2c67bc
Merge: 4235554 c1deeab
Author: Tim Janik <timj gnu org>
Date: Thu Mar 23 17:37:44 2017 +0100
Merge branch 'fix-audio-timing'
* fix-audio-timing:
BSE: bsemidireceiver.cc: allow midi-events and midi-voice change dumps
BSE: bsemidireceiver.cc: assert there's only one VoiceInput per voice at maximum
BSE: bsemidireceiver.cc: fix detection of polyphony voice underruns
BSE: bsemidireceiver.cc: fix missing memory fence
TESTS: increase n-voices in audio tests to work around sequencer timings
Currently, Bse::Sequencer calculates note-on events for 7 engine blocks
ahead of time which are instantly passed on to BseMidiReceiver.
BseMidiReceiver attempts to instantly allocate voices for all note-on
events it sees and rejects note-on events if voice allocation falls short.
The rejection occours too early, since more voices could be freed up at
future engine block boundaries until a particular note-on event actually
needs a voice.
This problem is most likely to trigger with bsetool render2wav.
BSE: bsesequencer: allow sequencer-events dumps
BSE: synchronize PcmWriter output with song start
Currently, PcmWriterImpl::trigger_tick() only works correctly for a scenario
where one project with one song is played back. A comment outlines the short
commings.
Signed-off-by: Tim Janik <timj gnu org>
bse/bsemidireceiver.cc | 98 ++++++++++++++++++++++++++-------------------
bse/bsepcmmodule.cc | 3 +-
bse/bsepcmwriter.cc | 48 ++++++++++++++++++-----
bse/bsepcmwriter.hh | 20 ++++-----
bse/bseproject.cc | 5 ++-
bse/bsesequencer.cc | 35 ++++++++++------
bse/bsesequencer.hh | 4 +-
tests/audio/minisong.bse | 4 +-
tests/audio/syndrum.bse | 2 +-
9 files changed, 137 insertions(+), 82 deletions(-)
---
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]