[beast: 8/8] Merge branch 'fix-audio-timing'



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]