Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add local time sync ref (for AbletonLink etc.) selection to SoundManager #14164

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

JoergAtGithub
Copy link
Member

This PR implements the algorithm for determining a synchronization sound-device, that is explicitly selected for time synchronization with functions outside of audio processing in the engine. The synchronization itself, will be added in a follow-up PR.
Everything the DJ hears and sees must be in sync with the local PortAudio sound device, taking into account the full output latency (including the latency contributed by the particular sound API). Even in cases where we use the network clock as reference for the interval of the audio buffer in the engine.

This PR:

  • Adds local time sync ref selection to SoundManager
  • Moved pNewMainClockRef selection out of main loop and added proper handling of setups where only headphones or booth are configured.
  • Simplified fallback mechanisms and removed redundant code.
  • Added unit tests for new function selectLocalTimeSyncRef

Moved pNewMainClockRef selection out of main loop and added proper handling of setups where only headphones or booth are configured.
Simplified fallback mechanisms and removed redundant code.
Added unit tests for new function selectLocalTimeSyncRef
@JoergAtGithub JoergAtGithub force-pushed the localSyncRefSoundDeviceSelection branch from 0f6371f to ac2dae6 Compare January 12, 2025 19:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant