Previously, the audio session was initialized immediately when the app launched, causing audio from other apps (like Music) to stop even when no video was playing in Yattee.
Changes:
- Remove audio session initialization from AppDelegate launch
- Remove audio session setup from MPVClient initialization
- Update setAudioSessionActive() to configure audio session category before activation
The audio session is now lazily initialized only when playback actually starts:
- For MPV backend: triggered by FILE_LOADED, PLAYBACK_RESTART, AUDIO_RECONFIG events
- For AVPlayer backend: triggered when play() is called
This allows music from other apps to continue playing until a video is actually played in Yattee.
This commit enables proper Now Playing Info Center integration on iOS, allowing video playback information to appear in Control Center and Lock Screen with working remote controls.
Key changes:
- Activate audio session on app launch with setCategory(.playback, mode: .moviePlayback) and setActive(true)
- Set up remote commands on first play() call instead of during app initialization to avoid claiming Now Playing slot prematurely
- Remove removeTarget(nil) calls that were claiming Now Playing without content
- Enable remote commands (play, pause, toggle, seek) explicitly and add proper target handlers
- Use backend.isPlaying instead of PlayerModel.isPlaying to avoid race conditions
- Include playback rate (1.0 for playing, 0.0 for paused) in Now Playing info
- Update Now Playing info on main queue for thread safety
- Update Now Playing when switching between backends
- Remove audio session deactivation from pause() and stop() methods
Note: This fix works for AVPlayer backend. MPV backend has fundamental incompatibility with iOS Now Playing system.
Changed UIRequiresFullScreen to NO to allow pixel-perfect window
resizing on iPad. Also moved ITSAppUsesNonExemptEncryption to
project settings for cleaner configuration.
- iPad: rotate to device orientation on startup
- fixed controls in portrait fullscreen
- iOS: don’t call setNeedsDrawing multiple times
- On iOS we call set needs drawing only once.
- Added cooldown time to MPV.Client setNeedsDrawing to avoid multiple successive calls
- make fullscreen animation smoother
- dragGesture now calls toggleFullScreenAction
- fix tvOS and macOS build
Signed-off-by: Toni Förster <toni.foerster@gmail.com>
This reverts commit 59da0e71b6.
Revert "Merge pull request #758 from stonerl/new-app-icons-second-try"
This reverts commit 7b26fdf400, reversing
changes made to 67b41e36d5.
Revert "Merge pull request #756 from stonerl/new-app-icons-second-try"
This reverts commit b51eadc7a9, reversing
changes made to 0c1fb02d50.
- added support for adaptive/tinted Icons on iOS.
- closes#700
- new macOS icon set, courtesy of @Kongolabongo (Discourse)
Signed-off-by: Toni Förster <toni.foerster@gmail.com>