Independent sound engine processing
Rework Mixxx's core sound generation engine to operate on a fixed real-time interval (not related to the latency setting,) rendering to a temporary (ring) buffer (which size would be affected by the latency setting) from which each sound card can pull at its own pace. This would completely eliminate problems with sound card sync, provide excellent control manipulation response even at high latencies (and scratching with high-resolution controllers,) allow for time-sensitive effects, and provide other benefits.
Blueprint information
- Status:
- Complete
- Approver:
- RJ Skerry-Ryan
- Priority:
- Medium
- Drafter:
- RJ Skerry-Ryan
- Direction:
- Needs approval
- Assignee:
- William Good
- Definition:
- Drafting
- Series goal:
- None
- Implementation:
-
Implemented
- Milestone target:
- None
- Started by
- Sean M. Pappalardo
- Completed by
- Sean M. Pappalardo
Related branches
Related bugs
Bug #198306: Quit-Log off applet makes you return to the Log In screen of Ubuntu | Invalid |
Bug #1203249: Headphone output has a crackling noise | Fix Released |
Sprints
Whiteboard
Portable nanosleep(): http://
Why not nanosleep(): http://
So I'm afraid we might be stuck with busy-wait using select() in a real-time thread in order to get the <10ms accuracy and predictability we need. Considering Mixxx is meant to be a foreground application, that's not the end of the world.