This branch/PR is where experiments are being conducted in making the audio system more robust.
As of VDP 2.3.0 the audio system works, but there are issues with changing waveforms on channels, which has been hilit by issues experienced by @HeathenUK 's experimental mod file player.
The primary suspicion of the underlying cause of these reasons is the multi-threaded nature of the audio system. No "atomic" primitives were being used, so there was no protection for values being adjusted from different threads
The work here is intended to try to fix things, making the audio system more thread-safe, and bring some more stability. It will be accompanied by a custom vdp-gl branch too, as the underlying audio system is also not thread-safe
There will inevitably be mis-steps along the way with this PR, and this branch will not be "stable" - commits may change and be edited out of the history, so don't bank on anything :grin:
This branch/PR is where experiments are being conducted in making the audio system more robust.
As of VDP 2.3.0 the audio system works, but there are issues with changing waveforms on channels, which has been hilit by issues experienced by @HeathenUK 's experimental mod file player.
The primary suspicion of the underlying cause of these reasons is the multi-threaded nature of the audio system. No "atomic" primitives were being used, so there was no protection for values being adjusted from different threads
The work here is intended to try to fix things, making the audio system more thread-safe, and bring some more stability. It will be accompanied by a custom vdp-gl branch too, as the underlying audio system is also not thread-safe
There will inevitably be mis-steps along the way with this PR, and this branch will not be "stable" - commits may change and be edited out of the history, so don't bank on anything :grin: