WIP: Change Audio backend to SoundFlow #47

Draft
AnthonyKwon wants to merge 2 commits from change-audio-backend into player-ui
Owner

This PR changes Audio backend from LibVLCSharp to SoundFlow.
It resolves most issues caused by VLC, like

  • Freeze on audio open due to plugin cache (re-)generation
  • Separate OffsetStopwatch due to slow event frequency
  • Pitch shifting on some environments
  • EndReached workaround requirements
This PR changes Audio backend from `LibVLCSharp` to `SoundFlow`. It resolves most issues caused by VLC, like - Freeze on audio open due to plugin cache (re-)generation - Separate `OffsetStopwatch` due to slow event frequency - Pitch shifting on some environments - `EndReached` workaround requirements
Author
Owner

currently not planned to merge due to several reasons:

  • no built-in resampler (separate resampler could be used)
  • no state change event available (might cause reliability issue like unable to detect UI-backend desync)

since lead developer is offline until Feb 2027, I'll leave it as draft.

currently not planned to merge due to several reasons: - no built-in resampler (separate resampler could be used) - no state change event available (might cause reliability issue like unable to detect UI-backend desync) since lead developer is offline until Feb 2027, I'll leave it as draft.
AnthonyKwon changed title from Change Audio backend to SoundFlow to WIP: Change Audio backend to SoundFlow 2026-08-04 00:16:25 +09:00
It's using heavily unreliable method, so it's recommended to switch to other method later.
This pull request has changes conflicting with the target branch.
  • ti_lyricstudio/Models/AudioPlayer.cs
  • ti_lyricstudio/ti_lyricstudio.csproj
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin change-audio-backend:change-audio-backend
git switch change-audio-backend

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch player-ui
git merge --no-ff change-audio-backend
git switch change-audio-backend
git rebase player-ui
git switch player-ui
git merge --ff-only change-audio-backend
git switch change-audio-backend
git rebase player-ui
git switch player-ui
git merge --no-ff change-audio-backend
git switch player-ui
git merge --squash change-audio-backend
git switch player-ui
git merge --ff-only change-audio-backend
git switch player-ui
git merge change-audio-backend
git push origin player-ui
Sign in to join this conversation.
No description provided.