feat(audio): add audio fading capabilities with configurable duration (in settings) - #438
Open
httperry wants to merge 101 commits into
Open
feat(audio): add audio fading capabilities with configurable duration (in settings)#438httperry wants to merge 101 commits into
httperry wants to merge 101 commits into
Conversation
…MainWindow and AudioFadingSettingsSection into MusicSettingsView
…mbnail in PlayerBar
…de Apple Music split layout
…deo on fade out completion
…o fade and add trace logs
httperry
force-pushed
the
feature/audio-fade
branch
from
August 18, 2026 16:33
54d0839 to
97796f0
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.
Description
Adds smooth, natural audio fade-in and fade-out functionality on play, pause, and track resume. Instead of abrupt audio cuts or linear volume steps that feel sudden to human hearing, volume changes are interpolated over an Equal-Power sine/cosine curve matching Apple Music and Spotify player standards. Also adds a configurable fade duration control under Music Settings.
Type of Change
Related Issues
N/A
Changes Made
SingletonPlayerWebView+PlaybackControlsto align with logarithmic human auditory perception.SettingsManagerand integrated seamlessly intoMusicSettingsView.isFadeOutInProgressstate guard inMiniPlayerWebViewto prevent rapid play/pause toggle glitches, and guardedenforceVolumeNow()against active fade intervals.AudioFaderServiceTestscovering fade progression calculations, duration clamping, and coordinator lifecycle.Usage
Enable the feature in settings if not already enabled, try pausing/playing the music
Testing
xcodebuild test -only-testing:KasetTests/swift test)Checklist
swiftlint --strict && swiftformat .Screenshots
N/A
Additional Notes