Decouple audio capture from projectM wrapper + GHA fixes - #135
Open
kblaschke wants to merge 1 commit into
Open
Conversation
This change uses notifications to notify the projectM wrapper that new audio is available, either from an async recording thread or via the FillBuffer() method. This pattern allows to pass audio in a thread-safe manner to projectM and remove any direct dependency on projectM from the capture implementations. Additionally, using notifications also allows to transparently pass the same audio data to multiple projectM instances. This enables implementation of multi-window support as well as animated preset preview windows.
kblaschke
force-pushed
the
decouple-audio-capture-from-projectm
branch
from
September 10, 2026 16:57
b1057f6 to
3f82eff
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This changeset removes the direct projectM dependency in the audio capture implementations, using notifications instead.
This provides a few advantages:
The audio capture driver can still capture asynchronously in a separate thread or read the audio data when its
FillBuffer()method is called. Audio data is transferred to the projectM instance immediately before the frame render function is called.Edit: merged the build fixed to master separately to re-enable build checks in other branches.