Audio engine and DSP library for Android, written in C++ providing low latency performance within a musical context, while providing a Java/Kotlin API. Supports both OpenSL and AAudio.
MIT License
259
stars
45
forks
source link
Move sequencer related logic to sequencer namespace #100
Sequencer (static, collects events to playback at given time)
AudioEngine (static, caches properties of the sequencer - time as samples -)
SequencerController (constructor, directly modifies AudioEngine properties)
It is likely that SequencerController has a constructor for SWIG purposes when exposing it to Java (should still be possible to be exposed as a static class).
Move all cached properties out of the AudioEngine and into the sequencer to declutter the engine.
Sequencing works via three actors:
Sequencer (static, collects events to playback at given time) AudioEngine (static, caches properties of the sequencer - time as samples -) SequencerController (constructor, directly modifies AudioEngine properties)
It is likely that SequencerController has a constructor for SWIG purposes when exposing it to Java (should still be possible to be exposed as a static class).
Move all cached properties out of the AudioEngine and into the sequencer to declutter the engine.