react-native-audio-browser 0.2.0-next.8 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AudioBrowser.podspec +1 -1
- package/README.md +2 -180
- package/android/build.gradle +1 -17
- package/android/gradle.properties +1 -1
- package/android/src/main/AndroidManifest.xml +0 -15
- package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +141 -401
- package/android/src/main/java/com/audiobrowser/Callbacks.kt +6 -4
- package/android/src/main/java/com/audiobrowser/Service.kt +18 -67
- package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +178 -442
- package/android/src/main/java/com/audiobrowser/browser/JsonModels.kt +4 -41
- package/android/src/main/java/com/audiobrowser/browser/TrackLoadHandler.kt +4 -4
- package/android/src/main/java/com/audiobrowser/http/RequestConfigBuilder.kt +97 -109
- package/android/src/main/java/com/audiobrowser/model/PlaybackMetadata.kt +10 -6
- package/android/src/main/java/com/audiobrowser/model/PlayerSetupOptions.kt +8 -40
- package/android/src/main/java/com/audiobrowser/model/PlayerUpdateOptions.kt +46 -40
- package/android/src/main/java/com/audiobrowser/player/AutomaticBufferManager.kt +1 -4
- package/android/src/main/java/com/audiobrowser/player/DynamicLoadControl.kt +1 -18
- package/android/src/main/java/com/audiobrowser/player/MediaFactory.kt +3 -15
- package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +134 -422
- package/android/src/main/java/com/audiobrowser/player/MediaSessionCommandManager.kt +404 -248
- package/android/src/main/java/com/audiobrowser/player/PlaybackProgressUpdateManager.kt +59 -0
- package/android/src/main/java/com/audiobrowser/player/PlaybackStateStore.kt +5 -25
- package/android/src/main/java/com/audiobrowser/player/Player.kt +582 -469
- package/android/src/main/java/com/audiobrowser/player/PlayerListener.kt +67 -190
- package/android/src/main/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicy.kt +53 -118
- package/android/src/main/java/com/audiobrowser/player/SleepTimer.kt +3 -37
- package/android/src/main/java/com/audiobrowser/player/TransformingDataSource.kt +40 -85
- package/android/src/main/java/com/audiobrowser/util/BrowserPathHelper.kt +0 -24
- package/android/src/main/java/com/audiobrowser/util/CoilBitmapLoader.kt +300 -23
- package/android/src/main/java/com/audiobrowser/util/EqualizerManager.kt +23 -13
- package/android/src/main/java/com/audiobrowser/util/MediaExtrasBuilder.kt +2 -2
- package/android/src/main/java/com/audiobrowser/util/MetadataAdapter.kt +3 -4
- package/android/src/main/java/com/audiobrowser/util/PlayingStateFactory.kt +1 -2
- package/android/src/main/java/com/audiobrowser/util/RatingFactory.kt +72 -0
- package/android/src/main/java/com/audiobrowser/util/ResolvedTrackFactory.kt +36 -0
- package/android/src/main/java/com/audiobrowser/util/SvgArtworkRenderer.kt +111 -6
- package/android/src/main/java/com/audiobrowser/util/SystemVolumeMonitor.kt +8 -22
- package/android/src/main/java/com/audiobrowser/util/TrackFactory.kt +80 -112
- package/android/src/main/res/values/strings.xml +0 -4
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerTest.kt +0 -4
- package/android/src/test/java/com/audiobrowser/browser/SimpleRouterTest.kt +2 -1
- package/android/src/test/java/com/audiobrowser/http/RequestConfigBuilderTest.kt +0 -72
- package/android/src/test/java/com/audiobrowser/player/PlaybackProgressUpdateManagerTest.kt +146 -0
- package/ios/Browser/BrowserConfig.swift +11 -41
- package/ios/Browser/BrowserManager+URLResolution.swift +93 -213
- package/ios/Browser/BrowserManager.swift +110 -303
- package/ios/Browser/BrowserPathHelper.swift +3 -32
- package/ios/Browser/JsonModels.swift +66 -287
- package/ios/CarPlay/CarPlayArtworkResolver.swift +6 -6
- package/ios/CarPlay/CarPlayController.swift +149 -739
- package/ios/CarPlay/CarPlayImageLoader.swift +8 -57
- package/ios/CarPlay/CarPlayListItemFactory.swift +35 -44
- package/ios/CarPlay/CarPlayNowPlayingManager.swift +36 -180
- package/ios/CarPlay/RNABAudioBrowser.h +10 -15
- package/ios/CarPlay/RNABAudioBrowser.m +14 -15
- package/ios/CarPlay/RNABCarPlaySceneDelegate.m +0 -2
- package/ios/CarPlay/RNABMediaIntentHandler.swift +43 -53
- package/ios/CarPlay/Track+CarPlay.swift +63 -0
- package/ios/Extension/Capability+RemoteCommand.swift +9 -7
- package/ios/Extension/ChapterMetadata+AVFoundation.swift +1 -1
- package/ios/Extension/NavigationError+Conversion.swift +1 -8
- package/ios/Extension/ResolvedTrack+Copying.swift +4 -10
- package/ios/Extension/TimedMetadata+AVFoundation.swift +1 -1
- package/ios/Extension/Track+AVPlayer.swift +4 -4
- package/ios/Extension/Track+Copying.swift +3 -9
- package/ios/Extension/TrackMetadata+AVFoundation.swift +1 -1
- package/ios/HybridAudioBrowser.swift +173 -751
- package/ios/Model/NitroTypeStubs.swift +224 -299
- package/ios/Model/PlayerUpdateOptions.swift +23 -23
- package/ios/Model/RemoteCommand.swift +6 -24
- package/ios/Model/TrackPlayerError.swift +18 -82
- package/ios/NowPlayingInfo/NowPlayingInfoCenter.swift +9 -0
- package/ios/NowPlayingInfo/NowPlayingInfoController.swift +121 -99
- package/ios/Observer/PlayerItemNotificationObserver.swift +5 -45
- package/ios/Observer/PlayerItemPropertyObserver.swift +4 -27
- package/ios/Observer/PlayerTimeObserver.swift +53 -3
- package/ios/Option/SessionCategories.swift +11 -34
- package/ios/Player/LoadSeekCoordinator.swift +1 -16
- package/ios/Player/MediaLoader.swift +11 -31
- package/ios/Player/NowPlayingUpdater.swift +26 -119
- package/ios/Player/PlaybackCoordinator.swift +51 -285
- package/ios/Player/PlaybackCoordinatorCallbacks.swift +1 -6
- package/ios/Player/PlaybackEffectHandler.swift +9 -19
- package/ios/Player/PlaybackErrorHandler.swift +13 -97
- package/ios/Player/PlaybackProgressUpdateManager.swift +68 -0
- package/ios/Player/PlaybackStateMachine.swift +13 -18
- package/ios/Player/PlayingStateManager.swift +2 -3
- package/ios/Player/QueueManager.swift +61 -67
- package/ios/Player/RetryManager.swift +21 -98
- package/ios/Player/SleepTimerHandling.swift +0 -8
- package/ios/Player/SleepTimerManager.swift +11 -72
- package/ios/RemoteCommand/RemoteCommandController.swift +21 -40
- package/ios/Tests/BrowserPathHelperTests.swift +0 -28
- package/ios/Tests/CarPlayArtworkResolverTests.swift +39 -39
- package/ios/Tests/ChapterMetadataAVFoundationTests.swift +2 -2
- package/ios/Tests/LoadSeekCoordinatorTests.swift +7 -40
- package/ios/Tests/MediaLoaderTests.swift +20 -32
- package/ios/Tests/PlaybackCoordinatorTests.swift +13 -787
- package/ios/Tests/PlaybackErrorHandlerTests.swift +46 -380
- package/ios/Tests/PlaybackProgressUpdateManagerTests.swift +166 -0
- package/ios/Tests/PlaybackStateMachineTests.swift +8 -33
- package/ios/Tests/QueueManagerTests.swift +18 -149
- package/ios/Tests/ResolvedTrackCopyingTests.swift +8 -15
- package/ios/Tests/Support/TestTypes.swift +20 -61
- package/ios/Tests/TrackSelectorTests.swift +15 -15
- package/ios/TrackPlayer.swift +58 -380
- package/ios/TrackPlayerCallbacks.swift +44 -5
- package/ios/TrackSelector.swift +5 -5
- package/ios/Util/ArtworkImageFetcher.swift +2 -4
- package/ios/Util/NetworkMonitor.swift +3 -7
- package/ios/Util/OnceValue.swift +0 -34
- package/lib/commonjs/AudioBrowser.js +11 -0
- package/lib/commonjs/AudioBrowser.js.map +1 -1
- package/lib/commonjs/features/browser.js +158 -59
- package/lib/commonjs/features/browser.js.map +1 -1
- package/lib/commonjs/features/equalizer.js +1 -1
- package/lib/commonjs/features/errors.js +5 -37
- package/lib/commonjs/features/errors.js.map +1 -1
- package/lib/commonjs/features/favorites.js +1 -1
- package/lib/commonjs/features/index.js +0 -22
- package/lib/commonjs/features/index.js.map +1 -1
- package/lib/commonjs/features/metadata.js +3 -3
- package/lib/commonjs/features/metadata.js.map +1 -1
- package/lib/commonjs/features/network.js +1 -1
- package/lib/commonjs/features/nowPlaying.js +1 -36
- package/lib/commonjs/features/nowPlaying.js.map +1 -1
- package/lib/commonjs/features/output.js +23 -37
- package/lib/commonjs/features/output.js.map +1 -1
- package/lib/commonjs/features/playback/controls.js +0 -9
- package/lib/commonjs/features/playback/controls.js.map +1 -1
- package/lib/commonjs/features/playback/index.js +0 -11
- package/lib/commonjs/features/playback/index.js.map +1 -1
- package/lib/commonjs/features/playback/playWhenReady.js +1 -1
- package/lib/commonjs/features/playback/playing.js +1 -1
- package/lib/commonjs/features/playback/progress.js +13 -29
- package/lib/commonjs/features/playback/progress.js.map +1 -1
- package/lib/commonjs/features/playback/state.js +1 -1
- package/lib/commonjs/features/playback/volume.js +2 -2
- package/lib/commonjs/features/player/options.js +29 -79
- package/lib/commonjs/features/player/options.js.map +1 -1
- package/lib/commonjs/features/player/setup.js +3 -256
- package/lib/commonjs/features/player/setup.js.map +1 -1
- package/lib/commonjs/features/queue/activeTrack.js +1 -1
- package/lib/commonjs/features/queue/queue.js +5 -12
- package/lib/commonjs/features/queue/queue.js.map +1 -1
- package/lib/commonjs/features/queue/repeatMode.js +1 -1
- package/lib/commonjs/features/queue/shuffle.js +1 -1
- package/lib/commonjs/features/rating.js +2 -0
- package/lib/commonjs/features/rating.js.map +1 -0
- package/lib/commonjs/features/remoteControls.js +104 -14
- package/lib/commonjs/features/remoteControls.js.map +1 -1
- package/lib/commonjs/features/sleepTimer.js +5 -10
- package/lib/commonjs/features/sleepTimer.js.map +1 -1
- package/lib/commonjs/native.js +0 -5
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/native.web.js +1 -4
- package/lib/commonjs/native.web.js.map +1 -1
- package/lib/commonjs/types/player.js +2 -0
- package/lib/commonjs/types/player.js.map +1 -0
- package/lib/commonjs/utils/LazyNativeEmitter.js +8 -8
- package/lib/commonjs/utils/LazyNativeEmitter.js.map +1 -1
- package/lib/commonjs/utils/NativeUpdatedValue.js +3 -0
- package/lib/commonjs/utils/NativeUpdatedValue.js.map +1 -1
- package/lib/commonjs/web/NativeAudioBrowser.js +124 -301
- package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -1
- package/lib/commonjs/web/SimpleRouter.test.js +174 -0
- package/lib/commonjs/web/SimpleRouter.test.js.map +1 -0
- package/lib/commonjs/web/TrackPlayer/Player.js +26 -90
- package/lib/commonjs/web/TrackPlayer/Player.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/PlaylistPlayer.js +293 -0
- package/lib/commonjs/web/TrackPlayer/PlaylistPlayer.js.map +1 -0
- package/lib/commonjs/web/TrackPlayer/RepeatMode.js +1 -1
- package/lib/commonjs/web/TrackPlayer/RepeatMode.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/SleepTimer.js +3 -34
- package/lib/commonjs/web/TrackPlayer/SleepTimer.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/index.js +5 -13
- package/lib/commonjs/web/TrackPlayer/index.js.map +1 -1
- package/lib/commonjs/web/browser/BrowserManager.js +50 -176
- package/lib/commonjs/web/browser/BrowserManager.js.map +1 -1
- package/lib/commonjs/web/browser/NavigationErrorManager.js +1 -3
- package/lib/commonjs/web/browser/NavigationErrorManager.js.map +1 -1
- package/lib/commonjs/web/browser/SearchManager.js +9 -11
- package/lib/commonjs/web/browser/SearchManager.js.map +1 -1
- package/lib/commonjs/web/http/HttpClient.js +23 -4
- package/lib/commonjs/web/http/HttpClient.js.map +1 -1
- package/lib/commonjs/web/http/RequestConfigBuilder.js +58 -107
- package/lib/commonjs/web/http/RequestConfigBuilder.js.map +1 -1
- package/lib/commonjs/web/player/NowPlayingManager.js +5 -6
- package/lib/commonjs/web/player/NowPlayingManager.js.map +1 -1
- package/lib/commonjs/web/player/OptionsManager.js +17 -9
- package/lib/commonjs/web/player/OptionsManager.js.map +1 -1
- package/lib/module/AudioBrowser.js +1 -4
- package/lib/module/AudioBrowser.js.map +1 -1
- package/lib/module/features/browser.js +156 -53
- package/lib/module/features/browser.js.map +1 -1
- package/lib/module/features/equalizer.js +1 -1
- package/lib/module/features/errors.js +5 -37
- package/lib/module/features/errors.js.map +1 -1
- package/lib/module/features/favorites.js +1 -1
- package/lib/module/features/index.js +0 -2
- package/lib/module/features/index.js.map +1 -1
- package/lib/module/features/metadata.js +3 -3
- package/lib/module/features/metadata.js.map +1 -1
- package/lib/module/features/network.js +1 -1
- package/lib/module/features/nowPlaying.js +1 -34
- package/lib/module/features/nowPlaying.js.map +1 -1
- package/lib/module/features/output.js +19 -32
- package/lib/module/features/output.js.map +1 -1
- package/lib/module/features/playback/controls.js +0 -8
- package/lib/module/features/playback/controls.js.map +1 -1
- package/lib/module/features/playback/index.js +0 -1
- package/lib/module/features/playback/index.js.map +1 -1
- package/lib/module/features/playback/playWhenReady.js +1 -1
- package/lib/module/features/playback/playing.js +1 -1
- package/lib/module/features/playback/progress.js +13 -29
- package/lib/module/features/playback/progress.js.map +1 -1
- package/lib/module/features/playback/state.js +1 -1
- package/lib/module/features/playback/volume.js +2 -2
- package/lib/module/features/player/options.js +29 -79
- package/lib/module/features/player/options.js.map +1 -1
- package/lib/module/features/player/setup.js +3 -256
- package/lib/module/features/player/setup.js.map +1 -1
- package/lib/module/features/queue/activeTrack.js +1 -1
- package/lib/module/features/queue/queue.js +5 -12
- package/lib/module/features/queue/queue.js.map +1 -1
- package/lib/module/features/queue/repeatMode.js +1 -1
- package/lib/module/features/queue/shuffle.js +1 -1
- package/lib/module/features/rating.js +2 -0
- package/lib/module/features/rating.js.map +1 -0
- package/lib/module/features/remoteControls.js +103 -13
- package/lib/module/features/remoteControls.js.map +1 -1
- package/lib/module/features/sleepTimer.js +5 -10
- package/lib/module/features/sleepTimer.js.map +1 -1
- package/lib/module/native.js +0 -5
- package/lib/module/native.js.map +1 -1
- package/lib/module/native.web.js +1 -4
- package/lib/module/native.web.js.map +1 -1
- package/lib/module/types/player.js +2 -0
- package/lib/module/types/player.js.map +1 -0
- package/lib/module/utils/LazyNativeEmitter.js +8 -8
- package/lib/module/utils/LazyNativeEmitter.js.map +1 -1
- package/lib/module/utils/NativeUpdatedValue.js +3 -0
- package/lib/module/utils/NativeUpdatedValue.js.map +1 -1
- package/lib/module/web/NativeAudioBrowser.js +125 -302
- package/lib/module/web/NativeAudioBrowser.js.map +1 -1
- package/lib/module/web/SimpleRouter.test.js +174 -0
- package/lib/module/web/SimpleRouter.test.js.map +1 -0
- package/lib/module/web/TrackPlayer/Player.js +26 -90
- package/lib/module/web/TrackPlayer/Player.js.map +1 -1
- package/lib/module/web/TrackPlayer/PlaylistPlayer.js +288 -0
- package/lib/module/web/TrackPlayer/PlaylistPlayer.js.map +1 -0
- package/lib/module/web/TrackPlayer/RepeatMode.js +1 -1
- package/lib/module/web/TrackPlayer/RepeatMode.js.map +1 -1
- package/lib/module/web/TrackPlayer/SleepTimer.js +3 -34
- package/lib/module/web/TrackPlayer/SleepTimer.js.map +1 -1
- package/lib/module/web/TrackPlayer/index.js +1 -2
- package/lib/module/web/TrackPlayer/index.js.map +1 -1
- package/lib/module/web/browser/BrowserManager.js +50 -176
- package/lib/module/web/browser/BrowserManager.js.map +1 -1
- package/lib/module/web/browser/NavigationErrorManager.js +1 -3
- package/lib/module/web/browser/NavigationErrorManager.js.map +1 -1
- package/lib/module/web/browser/SearchManager.js +9 -11
- package/lib/module/web/browser/SearchManager.js.map +1 -1
- package/lib/module/web/http/HttpClient.js +23 -4
- package/lib/module/web/http/HttpClient.js.map +1 -1
- package/lib/module/web/http/RequestConfigBuilder.js +58 -107
- package/lib/module/web/http/RequestConfigBuilder.js.map +1 -1
- package/lib/module/web/player/NowPlayingManager.js +5 -7
- package/lib/module/web/player/NowPlayingManager.js.map +1 -1
- package/lib/module/web/player/OptionsManager.js +17 -9
- package/lib/module/web/player/OptionsManager.js.map +1 -1
- package/lib/typescript/src/AudioBrowser.d.ts +1 -0
- package/lib/typescript/src/AudioBrowser.d.ts.map +1 -1
- package/lib/typescript/src/features/browser.d.ts +1 -40
- package/lib/typescript/src/features/browser.d.ts.map +1 -1
- package/lib/typescript/src/features/equalizer.d.ts +1 -1
- package/lib/typescript/src/features/errors.d.ts +6 -61
- package/lib/typescript/src/features/errors.d.ts.map +1 -1
- package/lib/typescript/src/features/favorites.d.ts +1 -1
- package/lib/typescript/src/features/index.d.ts +0 -2
- package/lib/typescript/src/features/index.d.ts.map +1 -1
- package/lib/typescript/src/features/metadata.d.ts +7 -9
- package/lib/typescript/src/features/metadata.d.ts.map +1 -1
- package/lib/typescript/src/features/network.d.ts +1 -1
- package/lib/typescript/src/features/nowPlaying.d.ts +1 -28
- package/lib/typescript/src/features/nowPlaying.d.ts.map +1 -1
- package/lib/typescript/src/features/output.d.ts +18 -28
- package/lib/typescript/src/features/output.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/controls.d.ts +0 -5
- package/lib/typescript/src/features/playback/controls.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/index.d.ts +0 -1
- package/lib/typescript/src/features/playback/index.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/playWhenReady.d.ts +1 -1
- package/lib/typescript/src/features/playback/playing.d.ts +1 -1
- package/lib/typescript/src/features/playback/progress.d.ts +1 -4
- package/lib/typescript/src/features/playback/progress.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/state.d.ts +1 -1
- package/lib/typescript/src/features/playback/volume.d.ts +2 -2
- package/lib/typescript/src/features/player/options.d.ts +127 -176
- package/lib/typescript/src/features/player/options.d.ts.map +1 -1
- package/lib/typescript/src/features/player/setup.d.ts +167 -213
- package/lib/typescript/src/features/player/setup.d.ts.map +1 -1
- package/lib/typescript/src/features/queue/activeTrack.d.ts +1 -1
- package/lib/typescript/src/features/queue/queue.d.ts +4 -11
- package/lib/typescript/src/features/queue/queue.d.ts.map +1 -1
- package/lib/typescript/src/features/queue/repeatMode.d.ts +1 -1
- package/lib/typescript/src/features/queue/shuffle.d.ts +1 -1
- package/lib/typescript/src/features/rating.d.ts +14 -0
- package/lib/typescript/src/features/rating.d.ts.map +1 -0
- package/lib/typescript/src/features/remoteControls.d.ts +35 -23
- package/lib/typescript/src/features/remoteControls.d.ts.map +1 -1
- package/lib/typescript/src/features/sleepTimer.d.ts +4 -19
- package/lib/typescript/src/features/sleepTimer.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/native.d.ts +2 -1
- package/lib/typescript/src/native.d.ts.map +1 -1
- package/lib/typescript/src/native.web.d.ts +3 -0
- package/lib/typescript/src/native.web.d.ts.map +1 -0
- package/lib/typescript/src/specs/audio-browser.nitro.d.ts +225 -17
- package/lib/typescript/src/specs/audio-browser.nitro.d.ts.map +1 -1
- package/lib/typescript/src/types/browser-native.d.ts +3 -9
- package/lib/typescript/src/types/browser-native.d.ts.map +1 -1
- package/lib/typescript/src/types/browser-nodes.d.ts +13 -145
- package/lib/typescript/src/types/browser-nodes.d.ts.map +1 -1
- package/lib/typescript/src/types/browser.d.ts +85 -349
- package/lib/typescript/src/types/browser.d.ts.map +1 -1
- package/lib/typescript/src/types/player.d.ts +64 -0
- package/lib/typescript/src/types/player.d.ts.map +1 -0
- package/lib/typescript/src/utils/LazyNativeEmitter.d.ts +6 -8
- package/lib/typescript/src/utils/LazyNativeEmitter.d.ts.map +1 -1
- package/lib/typescript/src/utils/NativeUpdatedValue.d.ts +2 -0
- package/lib/typescript/src/utils/NativeUpdatedValue.d.ts.map +1 -1
- package/lib/typescript/src/utils/resolveAssetSource.d.ts.map +1 -1
- package/lib/typescript/src/web/NativeAudioBrowser.d.ts +188 -0
- package/lib/typescript/src/web/NativeAudioBrowser.d.ts.map +1 -0
- package/lib/typescript/src/web/SimpleRouter.d.ts +40 -0
- package/lib/typescript/src/web/SimpleRouter.d.ts.map +1 -0
- package/lib/typescript/src/web/SimpleRouter.test.d.ts +2 -0
- package/lib/typescript/src/web/SimpleRouter.test.d.ts.map +1 -0
- package/lib/typescript/src/web/TrackPlayer/Event.d.ts +11 -0
- package/lib/typescript/src/web/TrackPlayer/Event.d.ts.map +1 -0
- package/lib/typescript/src/web/TrackPlayer/Player.d.ts +59 -0
- package/lib/typescript/src/web/TrackPlayer/Player.d.ts.map +1 -0
- package/lib/typescript/src/web/TrackPlayer/PlaylistPlayer.d.ts +39 -0
- package/lib/typescript/src/web/TrackPlayer/PlaylistPlayer.d.ts.map +1 -0
- package/lib/typescript/src/web/TrackPlayer/RepeatMode.d.ts +6 -0
- package/lib/typescript/src/web/TrackPlayer/RepeatMode.d.ts.map +1 -0
- package/lib/typescript/src/web/TrackPlayer/SetupNotCalledError.d.ts +4 -0
- package/lib/typescript/src/web/TrackPlayer/SetupNotCalledError.d.ts.map +1 -0
- package/lib/typescript/src/web/TrackPlayer/SleepTimer.d.ts +34 -0
- package/lib/typescript/src/web/TrackPlayer/SleepTimer.d.ts.map +1 -0
- package/lib/typescript/src/web/TrackPlayer/State.d.ts +13 -0
- package/lib/typescript/src/web/TrackPlayer/State.d.ts.map +1 -0
- package/lib/typescript/src/web/TrackPlayer/index.d.ts +5 -0
- package/lib/typescript/src/web/TrackPlayer/index.d.ts.map +1 -0
- package/lib/typescript/src/web/browser/BrowserManager.d.ts +154 -0
- package/lib/typescript/src/web/browser/BrowserManager.d.ts.map +1 -0
- package/lib/typescript/src/web/browser/FavoriteManager.d.ts +42 -0
- package/lib/typescript/src/web/browser/FavoriteManager.d.ts.map +1 -0
- package/lib/typescript/src/web/browser/NavigationErrorManager.d.ts +40 -0
- package/lib/typescript/src/web/browser/NavigationErrorManager.d.ts.map +1 -0
- package/lib/typescript/src/web/browser/SearchManager.d.ts +22 -0
- package/lib/typescript/src/web/browser/SearchManager.d.ts.map +1 -0
- package/lib/typescript/src/web/http/HttpClient.d.ts +25 -0
- package/lib/typescript/src/web/http/HttpClient.d.ts.map +1 -0
- package/lib/typescript/src/web/http/RequestConfigBuilder.d.ts +98 -0
- package/lib/typescript/src/web/http/RequestConfigBuilder.d.ts.map +1 -0
- package/lib/typescript/src/web/player/NowPlayingManager.d.ts +34 -0
- package/lib/typescript/src/web/player/NowPlayingManager.d.ts.map +1 -0
- package/lib/typescript/src/web/player/OptionsManager.d.ts +32 -0
- package/lib/typescript/src/web/player/OptionsManager.d.ts.map +1 -0
- package/lib/typescript/src/web/util/BrowserPathHelper.d.ts +69 -0
- package/lib/typescript/src/web/util/BrowserPathHelper.d.ts.map +1 -0
- package/lib/typescript/src/web/util/shuffle.d.ts +8 -0
- package/lib/typescript/src/web/util/shuffle.d.ts.map +1 -0
- package/nitrogen/generated/android/AudioBrowser+autolinking.cmake +2 -4
- package/nitrogen/generated/android/AudioBrowserOnLoad.cpp +10 -24
- package/nitrogen/generated/android/c++/JAndroidAudioContentType.hpp +6 -6
- package/nitrogen/generated/android/c++/JAndroidOptions.hpp +20 -10
- package/nitrogen/generated/android/c++/JAndroidUpdateOptions.hpp +86 -0
- package/nitrogen/generated/android/c++/JArtworkRequestConfig.hpp +1 -33
- package/nitrogen/generated/android/c++/JBrowseResult.hpp +0 -5
- package/nitrogen/generated/android/c++/JCarPlayNowPlayingButton.hpp +3 -3
- package/nitrogen/generated/android/c++/JFavoriteChangedEvent.hpp +0 -6
- package/nitrogen/generated/android/c++/JFormattedNavigationError.hpp +2 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.hpp +0 -6
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.hpp +147 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.hpp +0 -8
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.hpp +0 -6
- package/nitrogen/generated/android/c++/JFunc_void_FavoriteChangedEvent.hpp +0 -6
- package/nitrogen/generated/android/c++/JFunc_void_IosOutput.hpp +80 -0
- package/nitrogen/generated/android/c++/JFunc_void_NowPlayingMetadata.hpp +10 -0
- package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +9 -14
- package/nitrogen/generated/android/c++/JFunc_void_Playback.hpp +0 -2
- package/nitrogen/generated/android/c++/JFunc_void_PlaybackActiveTrackChangedEvent.hpp +0 -6
- package/nitrogen/generated/android/c++/JFunc_void_PlaybackErrorEvent.hpp +0 -2
- package/nitrogen/generated/android/c++/JFunc_void_RemoteSetRatingEvent.hpp +87 -0
- package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +10 -10
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_ResolvedTrack_.hpp +0 -6
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_Track_.hpp +0 -6
- package/nitrogen/generated/android/c++/JHeartRating.hpp +57 -0
- package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +221 -245
- package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.hpp +22 -25
- package/nitrogen/generated/android/c++/JImageRowItem.hpp +3 -33
- package/nitrogen/generated/android/c++/{JOutput.hpp → JIosOutput.hpp} +15 -15
- package/nitrogen/generated/android/c++/JIosOutputType.hpp +85 -0
- package/nitrogen/generated/android/c++/JMediaRequestConfig.hpp +1 -33
- package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +28 -61
- package/nitrogen/generated/android/c++/JNativeRouteEntry.hpp +9 -20
- package/nitrogen/generated/android/c++/JNativeUpdateOptions.hpp +24 -21
- package/nitrogen/generated/android/c++/JNavigationErrorType.hpp +0 -6
- package/nitrogen/generated/android/c++/JNitroAndroidUpdateOptions.hpp +20 -10
- package/nitrogen/generated/android/c++/{JRemoteButton.hpp → JNotificationButton.hpp} +20 -20
- package/nitrogen/generated/android/c++/JNotificationButtonLayout.hpp +94 -0
- package/nitrogen/generated/android/c++/JNowPlayingMetadata.hpp +17 -3
- package/nitrogen/generated/android/c++/JNowPlayingUpdate.hpp +3 -7
- package/nitrogen/generated/android/c++/JOptions.hpp +14 -19
- package/nitrogen/generated/android/c++/{JNativeAndroidSetupOptions.hpp → JPartialAndroidSetupPlayerOptions.hpp} +10 -10
- package/nitrogen/generated/android/c++/{JNativeIOSSetupOptions.hpp → JPartialIOSSetupPlayerOptions.hpp} +10 -10
- package/nitrogen/generated/android/c++/JPartialSetupPlayerOptions.hpp +96 -0
- package/nitrogen/generated/android/c++/JPercentageRating.hpp +57 -0
- package/nitrogen/generated/android/c++/JPlayback.hpp +0 -2
- package/nitrogen/generated/android/c++/JPlaybackActiveTrackChangedEvent.hpp +0 -6
- package/nitrogen/generated/android/c++/JPlaybackError.hpp +3 -18
- package/nitrogen/generated/android/c++/JPlaybackErrorEvent.hpp +0 -2
- package/nitrogen/generated/android/c++/JPlaybackState.hpp +3 -3
- package/nitrogen/generated/android/c++/JPlayerCapabilities.hpp +5 -11
- package/nitrogen/generated/android/c++/JRatingType.hpp +73 -0
- package/nitrogen/generated/android/c++/JRemoteSetRatingEvent.hpp +66 -0
- package/nitrogen/generated/android/c++/JResolvedTrack.hpp +5 -23
- package/nitrogen/generated/android/c++/JRetryConfig.hpp +7 -11
- package/nitrogen/generated/android/c++/JSearchMode.hpp +9 -27
- package/nitrogen/generated/android/c++/JSearchParams.hpp +3 -9
- package/nitrogen/generated/android/c++/JStarRating.hpp +57 -0
- package/nitrogen/generated/android/c++/{JGateEvent.hpp → JThumbsRating.hpp} +15 -16
- package/nitrogen/generated/android/c++/JTrack.hpp +5 -23
- package/nitrogen/generated/android/c++/JTrackLoadEvent.hpp +0 -6
- package/nitrogen/generated/android/c++/JTransformableRequestConfig.hpp +1 -14
- package/nitrogen/generated/android/c++/JUpdateOptions.hpp +105 -0
- package/nitrogen/generated/android/c++/JVariant_HeartRating_ThumbsRating_StarRating_PercentageRating.cpp +34 -0
- package/nitrogen/generated/android/c++/JVariant_HeartRating_ThumbsRating_StarRating_PercentageRating.hpp +105 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.hpp +75 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidAudioContentType.kt +4 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidOptions.kt +9 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidUpdateOptions.kt +50 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ArtworkRequestConfig.kt +4 -10
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CarPlayNowPlayingButton.kt +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormattedNavigationError.kt +2 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.kt → Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.kt} +12 -12
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_void_Output.kt → Func_void_IosOutput.kt} +9 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_void_GateEvent.kt → Func_void_RemoteSetRatingEvent.kt} +9 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_bool.kt +9 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Gate.kt → HeartRating.kt} +6 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/HybridAudioBrowserSpec.kt +109 -103
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageRowItem.kt +3 -24
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Output.kt → IosOutput.kt} +6 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IosOutputType.kt +32 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaRequestConfig.kt +4 -10
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeBrowserConfiguration.kt +6 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeRouteEntry.kt +4 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeUpdateOptions.kt +6 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NavigationErrorType.kt +1 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroAndroidUpdateOptions.kt +9 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoritesMatchMode.kt → NotificationButton.kt} +8 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NotificationButtonLayout.kt +50 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingMetadata.kt +6 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingUpdate.kt +3 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Options.kt +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{NativeAndroidSetupOptions.kt → PartialAndroidSetupPlayerOptions.kt} +5 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{NativeIOSSetupOptions.kt → PartialIOSSetupPlayerOptions.kt} +5 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PartialSetupPlayerOptions.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{GateDecision.kt → PercentageRating.kt} +6 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackError.kt +3 -12
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackState.kt +6 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlayerCapabilities.kt +2 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{GateReason.kt → RatingType.kt} +10 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{ArtworkVariants.kt → RemoteSetRatingEvent.kt} +6 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ResolvedTrack.kt +3 -12
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RetryConfig.kt +4 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SearchMode.kt +6 -12
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SearchParams.kt +3 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{GateEvent.kt → StarRating.kt} +6 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoriteConfig.kt → ThumbsRating.kt} +6 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Track.kt +3 -12
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TransformableRequestConfig.kt +4 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/UpdateOptions.kt +53 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_HeartRating_ThumbsRating_StarRating_PercentageRating.kt +77 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Variant_NullType_RemoteButtonLayout.kt → Variant_NullType_NotificationButtonLayout.kt} +9 -9
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.cpp +28 -139
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +489 -1125
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +45 -66
- package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +118 -176
- package/nitrogen/generated/ios/swift/AndroidAudioContentType.swift +8 -8
- package/nitrogen/generated/ios/swift/AndroidOptions.swift +22 -12
- package/nitrogen/generated/ios/swift/AndroidUpdateOptions.swift +119 -0
- package/nitrogen/generated/ios/swift/ArtworkRequestConfig.swift +1 -95
- package/nitrogen/generated/ios/swift/CarPlayNowPlayingButton.swift +4 -4
- package/nitrogen/generated/ios/swift/FormattedNavigationError.swift +4 -17
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.swift +68 -0
- package/nitrogen/generated/ios/swift/{Func_void_Output.swift → Func_void_IosOutput.swift} +10 -10
- package/nitrogen/generated/ios/swift/{Func_void_GateEvent.swift → Func_void_RemoteSetRatingEvent.swift} +10 -10
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +5 -5
- package/nitrogen/generated/ios/swift/{Func_void_std__shared_ptr_Promise_GateDecision__.swift → Func_void_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___.swift} +17 -17
- package/nitrogen/generated/ios/swift/HeartRating.swift +29 -0
- package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec.swift +14 -20
- package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec_cxx.swift +197 -230
- package/nitrogen/generated/ios/swift/ImageRowItem.swift +2 -121
- package/nitrogen/generated/ios/swift/{Output.swift → IosOutput.swift} +7 -7
- package/nitrogen/generated/ios/swift/IosOutputType.swift +76 -0
- package/nitrogen/generated/ios/swift/MediaRequestConfig.swift +1 -107
- package/nitrogen/generated/ios/swift/NativeBrowserConfiguration.swift +22 -161
- package/nitrogen/generated/ios/swift/NativeRouteEntry.swift +19 -19
- package/nitrogen/generated/ios/swift/NativeUpdateOptions.swift +25 -12
- package/nitrogen/generated/ios/swift/NavigationErrorType.swift +0 -8
- package/nitrogen/generated/ios/swift/NitroAndroidUpdateOptions.swift +41 -12
- package/nitrogen/generated/ios/swift/{RemoteButton.swift → NotificationButton.swift} +10 -10
- package/nitrogen/generated/ios/swift/NotificationButtonLayout.swift +92 -0
- package/nitrogen/generated/ios/swift/NowPlayingMetadata.swift +48 -1
- package/nitrogen/generated/ios/swift/NowPlayingUpdate.swift +1 -19
- package/nitrogen/generated/ios/swift/Options.swift +4 -10
- package/nitrogen/generated/ios/swift/{NativeAndroidSetupOptions.swift → PartialAndroidSetupPlayerOptions.swift} +5 -5
- package/nitrogen/generated/ios/swift/{NativeIOSSetupOptions.swift → PartialIOSSetupPlayerOptions.swift} +5 -5
- package/nitrogen/generated/ios/swift/PartialSetupPlayerOptions.swift +101 -0
- package/nitrogen/generated/ios/swift/PercentageRating.swift +29 -0
- package/nitrogen/generated/ios/swift/PlaybackError.swift +2 -43
- package/nitrogen/generated/ios/swift/PlaybackState.swift +4 -4
- package/nitrogen/generated/ios/swift/PlayerCapabilities.swift +8 -27
- package/nitrogen/generated/ios/swift/RatingType.swift +60 -0
- package/nitrogen/generated/ios/swift/RemoteSetRatingEvent.swift +58 -0
- package/nitrogen/generated/ios/swift/ResolvedTrack.swift +8 -74
- package/nitrogen/generated/ios/swift/RetryConfig.swift +4 -35
- package/nitrogen/generated/ios/swift/SearchMode.swift +12 -36
- package/nitrogen/generated/ios/swift/SearchParams.swift +2 -7
- package/nitrogen/generated/ios/swift/StarRating.swift +29 -0
- package/nitrogen/generated/ios/swift/ThumbsRating.swift +29 -0
- package/nitrogen/generated/ios/swift/Track.swift +8 -74
- package/nitrogen/generated/ios/swift/TransformableRequestConfig.swift +1 -60
- package/nitrogen/generated/ios/swift/UpdateOptions.swift +143 -0
- package/nitrogen/generated/ios/swift/Variant_HeartRating_ThumbsRating_StarRating_PercentageRating.swift +20 -0
- package/nitrogen/generated/ios/swift/{Variant_NullType_RemoteButtonLayout.swift → Variant_NullType_NotificationButtonLayout.swift} +3 -3
- package/nitrogen/generated/shared/c++/AndroidAudioContentType.hpp +10 -10
- package/nitrogen/generated/shared/c++/AndroidOptions.hpp +19 -8
- package/nitrogen/generated/shared/c++/AndroidUpdateOptions.hpp +109 -0
- package/nitrogen/generated/shared/c++/ArtworkRequestConfig.hpp +2 -10
- package/nitrogen/generated/shared/c++/CarPlayNowPlayingButton.hpp +6 -6
- package/nitrogen/generated/shared/c++/EqualizerSettings.hpp +2 -0
- package/nitrogen/generated/shared/c++/FormattedNavigationError.hpp +5 -6
- package/nitrogen/generated/shared/c++/{GateEvent.hpp → HeartRating.hpp} +17 -18
- package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.cpp +18 -21
- package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.hpp +35 -44
- package/nitrogen/generated/shared/c++/ImageRowItem.hpp +2 -33
- package/nitrogen/generated/shared/c++/{Output.hpp → IosOutput.hpp} +18 -18
- package/nitrogen/generated/shared/c++/IosOutputType.hpp +112 -0
- package/nitrogen/generated/shared/c++/MediaRequestConfig.hpp +2 -10
- package/nitrogen/generated/shared/c++/NativeBrowserConfiguration.hpp +15 -31
- package/nitrogen/generated/shared/c++/NativeRouteEntry.hpp +5 -5
- package/nitrogen/generated/shared/c++/NativeUpdateOptions.hpp +7 -9
- package/nitrogen/generated/shared/c++/NavigationErrorType.hpp +0 -8
- package/nitrogen/generated/shared/c++/NitroAndroidUpdateOptions.hpp +19 -8
- package/nitrogen/generated/shared/c++/{RemoteButton.hpp → NotificationButton.hpp} +25 -25
- package/nitrogen/generated/shared/c++/NotificationButtonLayout.hpp +102 -0
- package/nitrogen/generated/shared/c++/NowPlayingMetadata.hpp +19 -3
- package/nitrogen/generated/shared/c++/NowPlayingUpdate.hpp +2 -6
- package/nitrogen/generated/shared/c++/Options.hpp +8 -8
- package/nitrogen/generated/shared/c++/{NativeAndroidSetupOptions.hpp → PartialAndroidSetupPlayerOptions.hpp} +11 -11
- package/nitrogen/generated/shared/c++/{NativeIOSSetupOptions.hpp → PartialIOSSetupPlayerOptions.hpp} +11 -11
- package/nitrogen/generated/shared/c++/PartialSetupPlayerOptions.hpp +104 -0
- package/nitrogen/generated/shared/c++/{FavoriteConfig.hpp → PercentageRating.hpp} +17 -18
- package/nitrogen/generated/shared/c++/PlaybackError.hpp +3 -18
- package/nitrogen/generated/shared/c++/PlaybackState.hpp +9 -9
- package/nitrogen/generated/shared/c++/PlayerCapabilities.hpp +6 -9
- package/nitrogen/generated/shared/c++/RatingType.hpp +96 -0
- package/nitrogen/generated/shared/c++/RemoteSetRatingEvent.hpp +94 -0
- package/nitrogen/generated/shared/c++/ResolvedTrack.hpp +5 -24
- package/nitrogen/generated/shared/c++/RetryConfig.hpp +6 -10
- package/nitrogen/generated/shared/c++/SearchMode.hpp +15 -39
- package/nitrogen/generated/shared/c++/SearchParams.hpp +2 -9
- package/nitrogen/generated/shared/c++/{Gate.hpp → StarRating.hpp} +16 -21
- package/nitrogen/generated/shared/c++/{GateDecision.hpp → ThumbsRating.hpp} +17 -23
- package/nitrogen/generated/shared/c++/Track.hpp +5 -24
- package/nitrogen/generated/shared/c++/TransformableRequestConfig.hpp +2 -6
- package/nitrogen/generated/shared/c++/UpdateOptions.hpp +111 -0
- package/package.json +5 -12
- package/src/AudioBrowser.ts +1 -4
- package/src/features/browser.ts +201 -58
- package/src/features/equalizer.ts +1 -1
- package/src/features/errors.ts +5 -71
- package/src/features/favorites.ts +1 -1
- package/src/features/index.ts +0 -2
- package/src/features/metadata.ts +15 -9
- package/src/features/network.ts +1 -1
- package/src/features/nowPlaying.ts +1 -37
- package/src/features/output.ts +22 -35
- package/src/features/playback/controls.ts +0 -8
- package/src/features/playback/index.ts +0 -1
- package/src/features/playback/playWhenReady.ts +1 -1
- package/src/features/playback/playing.ts +1 -1
- package/src/features/playback/progress.ts +13 -32
- package/src/features/playback/state.ts +1 -1
- package/src/features/playback/volume.ts +2 -2
- package/src/features/player/options.ts +110 -217
- package/src/features/player/setup.ts +175 -397
- package/src/features/queue/activeTrack.ts +1 -1
- package/src/features/queue/queue.ts +6 -17
- package/src/features/queue/repeatMode.ts +1 -1
- package/src/features/queue/shuffle.ts +1 -1
- package/src/features/rating.ts +17 -0
- package/src/features/remoteControls.ts +115 -13
- package/src/features/sleepTimer.ts +5 -24
- package/src/native.ts +0 -5
- package/src/native.web.ts +1 -4
- package/src/specs/audio-browser.nitro.ts +41 -131
- package/src/types/browser-native.ts +6 -19
- package/src/types/browser-nodes.ts +13 -160
- package/src/types/browser.ts +89 -377
- package/src/types/player.ts +69 -0
- package/src/utils/LazyNativeEmitter.ts +8 -9
- package/src/utils/NativeUpdatedValue.ts +2 -0
- package/src/web/NativeAudioBrowser.ts +158 -365
- package/src/web/TrackPlayer/Player.ts +39 -113
- package/src/web/TrackPlayer/PlaylistPlayer.ts +346 -0
- package/src/web/TrackPlayer/RepeatMode.ts +1 -1
- package/src/web/TrackPlayer/SleepTimer.ts +3 -38
- package/src/web/TrackPlayer/index.ts +1 -2
- package/src/web/browser/BrowserManager.ts +62 -231
- package/src/web/browser/NavigationErrorManager.ts +1 -3
- package/src/web/browser/SearchManager.ts +15 -11
- package/src/web/http/HttpClient.ts +35 -5
- package/src/web/http/RequestConfigBuilder.ts +63 -120
- package/src/web/player/NowPlayingManager.ts +5 -6
- package/src/web/player/OptionsManager.ts +18 -12
- package/android/src/main/java/com/audiobrowser/browser/ArtworkResolutionRegistry.kt +0 -37
- package/android/src/main/java/com/audiobrowser/browser/BrowseArtworkRegistry.kt +0 -34
- package/android/src/main/java/com/audiobrowser/browser/BrowserUrlResolution.kt +0 -299
- package/android/src/main/java/com/audiobrowser/browser/JsonArtwork.kt +0 -79
- package/android/src/main/java/com/audiobrowser/browser/SectionScope.kt +0 -42
- package/android/src/main/java/com/audiobrowser/extension/ResolvedTrackExt.kt +0 -35
- package/android/src/main/java/com/audiobrowser/player/CapabilityControls.kt +0 -172
- package/android/src/main/java/com/audiobrowser/player/EqualizerController.kt +0 -153
- package/android/src/main/java/com/audiobrowser/player/InterceptingPlayer.kt +0 -141
- package/android/src/main/java/com/audiobrowser/player/NowPlayingUpdater.kt +0 -347
- package/android/src/main/java/com/audiobrowser/player/PlaybackErrorClassifier.kt +0 -129
- package/android/src/main/java/com/audiobrowser/player/PlaybackStateMachine.kt +0 -85
- package/android/src/main/java/com/audiobrowser/player/PlaybackTimer.kt +0 -56
- package/android/src/main/java/com/audiobrowser/player/PlayerCapabilitiesExt.kt +0 -20
- package/android/src/main/java/com/audiobrowser/player/PlayerEngineFactory.kt +0 -130
- package/android/src/main/java/com/audiobrowser/player/SleepTimerManager.kt +0 -80
- package/android/src/main/java/com/audiobrowser/player/StuckRecoveryPolicy.kt +0 -50
- package/android/src/main/java/com/audiobrowser/player/VolumeFader.kt +0 -81
- package/android/src/main/java/com/audiobrowser/tls/AiaCertChaser.kt +0 -141
- package/android/src/main/java/com/audiobrowser/tls/AiaChasingTrustManager.kt +0 -37
- package/android/src/main/java/com/audiobrowser/tls/AiaTls.kt +0 -41
- package/android/src/main/java/com/audiobrowser/tls/CachingCertificateFetcher.kt +0 -209
- package/android/src/main/java/com/audiobrowser/util/ArtworkContentProvider.kt +0 -161
- package/android/src/main/java/com/audiobrowser/util/ArtworkUris.kt +0 -28
- package/android/src/main/java/com/audiobrowser/util/ArtworkVariant.kt +0 -24
- package/android/src/main/java/com/audiobrowser/util/CoilArtworkLoader.kt +0 -49
- package/android/src/main/java/com/audiobrowser/util/CoilArtworkLoaderHolder.kt +0 -36
- package/android/src/main/java/com/audiobrowser/util/OutputMonitor.kt +0 -211
- package/android/src/main/java/com/audiobrowser/util/OutputSwitcher.kt +0 -58
- package/android/src/main/java/com/audiobrowser/util/RatingFavorites.kt +0 -14
- package/android/src/test/java/com/audiobrowser/TestFixtures.kt +0 -165
- package/android/src/test/java/com/audiobrowser/browser/ArtworkResolutionRegistryTest.kt +0 -46
- package/android/src/test/java/com/audiobrowser/browser/BrowseArtworkRegistryTest.kt +0 -39
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerBuildApiRequestTest.kt +0 -114
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerLayerResolutionTest.kt +0 -141
- package/android/src/test/java/com/audiobrowser/browser/BrowserUrlResolutionTest.kt +0 -177
- package/android/src/test/java/com/audiobrowser/browser/JsonArtworkTest.kt +0 -55
- package/android/src/test/java/com/audiobrowser/browser/SectionScopeTest.kt +0 -94
- package/android/src/test/java/com/audiobrowser/player/CapabilityControlsTest.kt +0 -203
- package/android/src/test/java/com/audiobrowser/player/DynamicLoadControlTest.kt +0 -56
- package/android/src/test/java/com/audiobrowser/player/EqualizerControllerTest.kt +0 -216
- package/android/src/test/java/com/audiobrowser/player/MediaSessionSlotMappingTest.kt +0 -45
- package/android/src/test/java/com/audiobrowser/player/NowPlayingUpdaterTest.kt +0 -442
- package/android/src/test/java/com/audiobrowser/player/PlaybackErrorClassifierTest.kt +0 -190
- package/android/src/test/java/com/audiobrowser/player/PlaybackStateMachineTest.kt +0 -198
- package/android/src/test/java/com/audiobrowser/player/PlaybackTimerTest.kt +0 -137
- package/android/src/test/java/com/audiobrowser/player/PlayerEngineFactoryTest.kt +0 -36
- package/android/src/test/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicyTest.kt +0 -268
- package/android/src/test/java/com/audiobrowser/player/SessionErrorMaskTest.kt +0 -68
- package/android/src/test/java/com/audiobrowser/player/StuckRecoveryPolicyTest.kt +0 -40
- package/android/src/test/java/com/audiobrowser/player/TransformingDataSourceTest.kt +0 -193
- package/android/src/test/java/com/audiobrowser/tls/AiaCertChaserTest.kt +0 -107
- package/android/src/test/java/com/audiobrowser/tls/AiaChasingTrustManagerTest.kt +0 -73
- package/android/src/test/java/com/audiobrowser/tls/CachingCertificateFetcherTest.kt +0 -75
- package/android/src/test/java/com/audiobrowser/tls/CertFixtures.kt +0 -18
- package/android/src/test/java/com/audiobrowser/util/ArtworkContentProviderTest.kt +0 -163
- package/android/src/test/java/com/audiobrowser/util/ArtworkUrisTest.kt +0 -34
- package/android/src/test/java/com/audiobrowser/util/BrowserPathHelperTest.kt +0 -28
- package/android/src/test/java/com/audiobrowser/util/CoilArtworkLoaderHolderTest.kt +0 -53
- package/android/src/test/java/com/audiobrowser/util/CoilArtworkLoaderTest.kt +0 -58
- package/android/src/test/java/com/audiobrowser/util/FakeImageLoader.kt +0 -57
- package/android/src/test/java/com/audiobrowser/util/PlayingStateFactoryTest.kt +0 -40
- package/android/src/test/java/com/audiobrowser/util/RatingFavoritesTest.kt +0 -34
- package/android/src/test/java/com/audiobrowser/util/TrackFactoryBrowseTest.kt +0 -50
- package/android/src/test/java/com/audiobrowser/util/TrackFactoryMediaIdTest.kt +0 -63
- package/android/src/test/java/com/audiobrowser/util/TrackFactoryRatingTest.kt +0 -35
- package/android/src/test/resources/certs/isrg-root-x1.pem +0 -31
- package/android/src/test/resources/certs/letsencrypt-r13.der +0 -0
- package/android/src/test/resources/certs/letsencrypt-r13.pem +0 -29
- package/android/src/test/resources/certs/stationplaylist-leaf.pem +0 -34
- package/ios/Browser/MediaResolveComposer.swift +0 -114
- package/ios/Browser/SearchDrillIn.swift +0 -44
- package/ios/Browser/SectionScope.swift +0 -35
- package/ios/Browser/TabBarEntries.swift +0 -15
- package/ios/CarPlay/CPInterfaceController+Safe.swift +0 -126
- package/ios/CarPlay/ImageRowItem+CarPlay.swift +0 -19
- package/ios/CarPlay/RNABMediaAddHandler.swift +0 -75
- package/ios/CarPlay/RNABMediaAffinityHandler.swift +0 -69
- package/ios/Extension/PlayerCapabilities+Favorite.swift +0 -20
- package/ios/Extension/RequestConfig+Copying.swift +0 -31
- package/ios/Extension/Variant+Artwork.swift +0 -49
- package/ios/NowPlayingInfo/SilentAudioPrimer.swift +0 -73
- package/ios/Player/AirPlayStallJudgement.swift +0 -25
- package/ios/Player/EndOfTrackJudgement.swift +0 -32
- package/ios/Player/MediaIntentCriteria.swift +0 -139
- package/ios/Player/PersistedPlaybackState.swift +0 -11
- package/ios/Player/PlaybackStateStore.swift +0 -27
- package/ios/Player/PlaybackTimer.swift +0 -61
- package/ios/Player/VolumeFader.swift +0 -77
- package/ios/RemoteCommand/RemoteCommandCallbacks.swift +0 -47
- package/ios/Tests/AirPlayStallJudgementTests.swift +0 -52
- package/ios/Tests/EndOfTrackJudgementTests.swift +0 -35
- package/ios/Tests/JsonModelsTests.swift +0 -58
- package/ios/Tests/MediaIntentCriteriaTests.swift +0 -170
- package/ios/Tests/MediaLoaderAssetOptionsTests.swift +0 -46
- package/ios/Tests/MediaResolveTests.swift +0 -126
- package/ios/Tests/OnceValueTests.swift +0 -79
- package/ios/Tests/PlaybackStateStoreTests.swift +0 -48
- package/ios/Tests/PlaybackTimerTests.swift +0 -55
- package/ios/Tests/PlayingStateManagerTests.swift +0 -57
- package/ios/Tests/RemoteCommandControllerTests.swift +0 -156
- package/ios/Tests/RemoteCommandTests.swift +0 -67
- package/ios/Tests/RetryManagerTests.swift +0 -89
- package/ios/Tests/SearchDrillInTests.swift +0 -63
- package/ios/Tests/SectionScopeTests.swift +0 -82
- package/ios/Tests/SleepTimerManagerTests.swift +0 -107
- package/ios/Tests/Support/ManualSleepTimerScheduler.swift +0 -47
- package/ios/Tests/TabBarEntriesTests.swift +0 -71
- package/lib/commonjs/features/browser-config.js +0 -227
- package/lib/commonjs/features/browser-config.js.map +0 -1
- package/lib/commonjs/features/carConnection.js +0 -42
- package/lib/commonjs/features/carConnection.js.map +0 -1
- package/lib/commonjs/features/gate.js +0 -149
- package/lib/commonjs/features/gate.js.map +0 -1
- package/lib/commonjs/features/playback/trackPlaybackTime.js +0 -86
- package/lib/commonjs/features/playback/trackPlaybackTime.js.map +0 -1
- package/lib/commonjs/features/player/validateOptions.js +0 -24
- package/lib/commonjs/features/player/validateOptions.js.map +0 -1
- package/lib/commonjs/utils/artwork.js +0 -31
- package/lib/commonjs/utils/artwork.js.map +0 -1
- package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js +0 -71
- package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js.map +0 -1
- package/lib/commonjs/web/TrackPlayer/PlaybackTimer.js +0 -34
- package/lib/commonjs/web/TrackPlayer/PlaybackTimer.js.map +0 -1
- package/lib/commonjs/web/TrackPlayer/PlayingStateFactory.js +0 -21
- package/lib/commonjs/web/TrackPlayer/PlayingStateFactory.js.map +0 -1
- package/lib/commonjs/web/TrackPlayer/QueueManager.js +0 -273
- package/lib/commonjs/web/TrackPlayer/QueueManager.js.map +0 -1
- package/lib/commonjs/web/TrackPlayer/QueuePlayer.js +0 -158
- package/lib/commonjs/web/TrackPlayer/QueuePlayer.js.map +0 -1
- package/lib/commonjs/web/TrackPlayer/VolumeFader.js +0 -75
- package/lib/commonjs/web/TrackPlayer/VolumeFader.js.map +0 -1
- package/lib/commonjs/web/browser/assertBrowsePageShape.js +0 -22
- package/lib/commonjs/web/browser/assertBrowsePageShape.js.map +0 -1
- package/lib/commonjs/web/browser/classifyTrackNavigation.js +0 -41
- package/lib/commonjs/web/browser/classifyTrackNavigation.js.map +0 -1
- package/lib/commonjs/web/browser/parseSearchResponse.js +0 -20
- package/lib/commonjs/web/browser/parseSearchResponse.js.map +0 -1
- package/lib/commonjs/web/playbackErrorKind.js +0 -57
- package/lib/commonjs/web/playbackErrorKind.js.map +0 -1
- package/lib/commonjs/web/player/MediaSessionManager.js +0 -121
- package/lib/commonjs/web/player/MediaSessionManager.js.map +0 -1
- package/lib/commonjs/web/player/RemoteCommandController.js +0 -96
- package/lib/commonjs/web/player/RemoteCommandController.js.map +0 -1
- package/lib/module/features/browser-config.js +0 -221
- package/lib/module/features/browser-config.js.map +0 -1
- package/lib/module/features/carConnection.js +0 -37
- package/lib/module/features/carConnection.js.map +0 -1
- package/lib/module/features/gate.js +0 -144
- package/lib/module/features/gate.js.map +0 -1
- package/lib/module/features/playback/trackPlaybackTime.js +0 -83
- package/lib/module/features/playback/trackPlaybackTime.js.map +0 -1
- package/lib/module/features/player/validateOptions.js +0 -20
- package/lib/module/features/player/validateOptions.js.map +0 -1
- package/lib/module/utils/artwork.js +0 -26
- package/lib/module/utils/artwork.js.map +0 -1
- package/lib/module/web/TrackPlayer/PlaybackStateMachine.js +0 -67
- package/lib/module/web/TrackPlayer/PlaybackStateMachine.js.map +0 -1
- package/lib/module/web/TrackPlayer/PlaybackTimer.js +0 -29
- package/lib/module/web/TrackPlayer/PlaybackTimer.js.map +0 -1
- package/lib/module/web/TrackPlayer/PlayingStateFactory.js +0 -17
- package/lib/module/web/TrackPlayer/PlayingStateFactory.js.map +0 -1
- package/lib/module/web/TrackPlayer/QueueManager.js +0 -269
- package/lib/module/web/TrackPlayer/QueueManager.js.map +0 -1
- package/lib/module/web/TrackPlayer/QueuePlayer.js +0 -154
- package/lib/module/web/TrackPlayer/QueuePlayer.js.map +0 -1
- package/lib/module/web/TrackPlayer/VolumeFader.js +0 -70
- package/lib/module/web/TrackPlayer/VolumeFader.js.map +0 -1
- package/lib/module/web/browser/assertBrowsePageShape.js +0 -18
- package/lib/module/web/browser/assertBrowsePageShape.js.map +0 -1
- package/lib/module/web/browser/classifyTrackNavigation.js +0 -38
- package/lib/module/web/browser/classifyTrackNavigation.js.map +0 -1
- package/lib/module/web/browser/parseSearchResponse.js +0 -16
- package/lib/module/web/browser/parseSearchResponse.js.map +0 -1
- package/lib/module/web/playbackErrorKind.js +0 -52
- package/lib/module/web/playbackErrorKind.js.map +0 -1
- package/lib/module/web/player/MediaSessionManager.js +0 -116
- package/lib/module/web/player/MediaSessionManager.js.map +0 -1
- package/lib/module/web/player/RemoteCommandController.js +0 -92
- package/lib/module/web/player/RemoteCommandController.js.map +0 -1
- package/lib/typescript/src/features/browser-config.d.ts +0 -12
- package/lib/typescript/src/features/browser-config.d.ts.map +0 -1
- package/lib/typescript/src/features/carConnection.d.ts +0 -20
- package/lib/typescript/src/features/carConnection.d.ts.map +0 -1
- package/lib/typescript/src/features/gate.d.ts +0 -78
- package/lib/typescript/src/features/gate.d.ts.map +0 -1
- package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts +0 -34
- package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts.map +0 -1
- package/lib/typescript/src/features/player/validateOptions.d.ts +0 -2
- package/lib/typescript/src/features/player/validateOptions.d.ts.map +0 -1
- package/lib/typescript/src/utils/artwork.d.ts +0 -19
- package/lib/typescript/src/utils/artwork.d.ts.map +0 -1
- package/nitrogen/generated/android/c++/JArtworkVariants.hpp +0 -61
- package/nitrogen/generated/android/c++/JFavoriteConfig.hpp +0 -58
- package/nitrogen/generated/android/c++/JFavoritesMatchMode.hpp +0 -58
- package/nitrogen/generated/android/c++/JFormatNowPlayingParams.hpp +0 -100
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.hpp +0 -112
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.hpp +0 -121
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___Track.hpp +0 -123
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.hpp +0 -133
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_std__string____Track.hpp +0 -121
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.hpp +0 -139
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.hpp +0 -134
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.hpp +0 -131
- package/nitrogen/generated/android/c++/JFunc_void_GateEvent.hpp +0 -79
- package/nitrogen/generated/android/c++/JFunc_void_Output.hpp +0 -80
- package/nitrogen/generated/android/c++/JGate.hpp +0 -62
- package/nitrogen/generated/android/c++/JGateDecision.hpp +0 -64
- package/nitrogen/generated/android/c++/JGateReason.hpp +0 -58
- package/nitrogen/generated/android/c++/JIOSOptions.hpp +0 -95
- package/nitrogen/generated/android/c++/JMediaReference.hpp +0 -58
- package/nitrogen/generated/android/c++/JNativeGateRequest.hpp +0 -74
- package/nitrogen/generated/android/c++/JNativeSetupPlayerOptions.hpp +0 -182
- package/nitrogen/generated/android/c++/JNitroIOSUpdateOptions.hpp +0 -96
- package/nitrogen/generated/android/c++/JOutputType.hpp +0 -82
- package/nitrogen/generated/android/c++/JPlaybackErrorKind.hpp +0 -76
- package/nitrogen/generated/android/c++/JRemoteButtonLayout.hpp +0 -86
- package/nitrogen/generated/android/c++/JStallReason.hpp +0 -58
- package/nitrogen/generated/android/c++/JTrackRequest.hpp +0 -93
- package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.cpp +0 -26
- package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.hpp +0 -71
- package/nitrogen/generated/android/c++/JVariant_NullType_RemoteButtonLayout.cpp +0 -26
- package/nitrogen/generated/android/c++/JVariant_NullType_RemoteButtonLayout.hpp +0 -75
- package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.cpp +0 -41
- package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.hpp +0 -121
- package/nitrogen/generated/android/c++/JVariant_String_ArtworkVariants.cpp +0 -26
- package/nitrogen/generated/android/c++/JVariant_String_ArtworkVariants.hpp +0 -70
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormatNowPlayingParams.kt +0 -50
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.kt +0 -80
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.kt +0 -80
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___Track.kt +0 -80
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.kt +0 -80
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__optional_std__string____Track.kt +0 -80
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.kt +0 -80
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.kt +0 -80
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSOptions.kt +0 -44
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaReference.kt +0 -23
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeGateRequest.kt +0 -44
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeSetupPlayerOptions.kt +0 -66
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroIOSUpdateOptions.kt +0 -44
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/OutputType.kt +0 -31
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackErrorKind.kt +0 -29
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteButton.kt +0 -26
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteButtonLayout.kt +0 -44
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/StallReason.kt +0 -23
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackRequest.kt +0 -44
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_FavoriteConfig.kt +0 -53
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_ResolvedTrack_BrowseError_Promise_BrowseResult_.kt +0 -65
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_String_ArtworkVariants.kt +0 -53
- package/nitrogen/generated/ios/swift/ArtworkVariants.swift +0 -34
- package/nitrogen/generated/ios/swift/FavoriteConfig.swift +0 -29
- package/nitrogen/generated/ios/swift/FavoritesMatchMode.swift +0 -40
- package/nitrogen/generated/ios/swift/FormatNowPlayingParams.swift +0 -67
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.swift +0 -54
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.swift +0 -69
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___Track.swift +0 -54
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.swift +0 -60
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__optional_std__string____Track.swift +0 -60
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.swift +0 -61
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.swift +0 -61
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.swift +0 -77
- package/nitrogen/generated/ios/swift/Func_void_GateDecision.swift +0 -46
- package/nitrogen/generated/ios/swift/Func_void_TransformableRequestConfig.swift +0 -46
- package/nitrogen/generated/ios/swift/Func_void_std__optional_NowPlayingUpdate_.swift +0 -46
- package/nitrogen/generated/ios/swift/Func_void_std__optional_std__string_.swift +0 -53
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_TransformableRequestConfig__.swift +0 -66
- package/nitrogen/generated/ios/swift/Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____.swift +0 -81
- package/nitrogen/generated/ios/swift/Gate.swift +0 -47
- package/nitrogen/generated/ios/swift/GateDecision.swift +0 -40
- package/nitrogen/generated/ios/swift/GateEvent.swift +0 -29
- package/nitrogen/generated/ios/swift/GateReason.swift +0 -40
- package/nitrogen/generated/ios/swift/IOSOptions.swift +0 -51
- package/nitrogen/generated/ios/swift/MediaReference.swift +0 -40
- package/nitrogen/generated/ios/swift/NativeGateRequest.swift +0 -58
- package/nitrogen/generated/ios/swift/NativeSetupPlayerOptions.swift +0 -206
- package/nitrogen/generated/ios/swift/NitroIOSUpdateOptions.swift +0 -90
- package/nitrogen/generated/ios/swift/OutputType.swift +0 -72
- package/nitrogen/generated/ios/swift/PlaybackErrorKind.swift +0 -64
- package/nitrogen/generated/ios/swift/RemoteButtonLayout.swift +0 -57
- package/nitrogen/generated/ios/swift/StallReason.swift +0 -40
- package/nitrogen/generated/ios/swift/TrackRequest.swift +0 -106
- package/nitrogen/generated/ios/swift/Variant_Bool_FavoriteConfig.swift +0 -18
- package/nitrogen/generated/ios/swift/Variant_ResolvedTrack_BrowseError_Promise_BrowseResult_.swift +0 -19
- package/nitrogen/generated/ios/swift/Variant_String_ArtworkVariants.swift +0 -18
- package/nitrogen/generated/shared/c++/ArtworkVariants.hpp +0 -87
- package/nitrogen/generated/shared/c++/FavoritesMatchMode.hpp +0 -76
- package/nitrogen/generated/shared/c++/FormatNowPlayingParams.hpp +0 -110
- package/nitrogen/generated/shared/c++/GateReason.hpp +0 -76
- package/nitrogen/generated/shared/c++/IOSOptions.hpp +0 -91
- package/nitrogen/generated/shared/c++/MediaReference.hpp +0 -76
- package/nitrogen/generated/shared/c++/NativeGateRequest.hpp +0 -97
- package/nitrogen/generated/shared/c++/NativeSetupPlayerOptions.hpp +0 -138
- package/nitrogen/generated/shared/c++/NitroIOSUpdateOptions.hpp +0 -92
- package/nitrogen/generated/shared/c++/OutputType.hpp +0 -108
- package/nitrogen/generated/shared/c++/PlaybackErrorKind.hpp +0 -100
- package/nitrogen/generated/shared/c++/RemoteButtonLayout.hpp +0 -94
- package/nitrogen/generated/shared/c++/StallReason.hpp +0 -76
- package/nitrogen/generated/shared/c++/TrackRequest.hpp +0 -93
- package/src/codegen-no-config-variant.test.ts +0 -70
- package/src/features/browser-config.test.ts +0 -110
- package/src/features/browser-config.ts +0 -293
- package/src/features/browser.test.ts +0 -19
- package/src/features/carConnection.ts +0 -36
- package/src/features/gate.test.ts +0 -72
- package/src/features/gate.ts +0 -155
- package/src/features/playback/trackPlaybackTime.test.ts +0 -80
- package/src/features/playback/trackPlaybackTime.ts +0 -101
- package/src/features/player/options.test.ts +0 -38
- package/src/features/player/setup.test.ts +0 -125
- package/src/features/player/validateOptions.ts +0 -22
- package/src/features/queue/queue.test.ts +0 -36
- package/src/public-surface.test.ts +0 -116
- package/src/utils/artwork.ts +0 -30
- package/src/web/NativeAudioBrowser.playWhenReady.test.ts +0 -301
- package/src/web/TrackPlayer/PlaybackStateMachine.test.ts +0 -139
- package/src/web/TrackPlayer/PlaybackStateMachine.ts +0 -82
- package/src/web/TrackPlayer/PlaybackTimer.test.ts +0 -67
- package/src/web/TrackPlayer/PlaybackTimer.ts +0 -33
- package/src/web/TrackPlayer/Player.dispatch.test.ts +0 -229
- package/src/web/TrackPlayer/Player.load.test.ts +0 -86
- package/src/web/TrackPlayer/PlayingStateFactory.test.ts +0 -51
- package/src/web/TrackPlayer/PlayingStateFactory.ts +0 -24
- package/src/web/TrackPlayer/QueueManager.test.ts +0 -289
- package/src/web/TrackPlayer/QueueManager.ts +0 -302
- package/src/web/TrackPlayer/QueuePlayer.ts +0 -188
- package/src/web/TrackPlayer/VolumeFader.ts +0 -74
- package/src/web/browser/__tests__/layer-resolver.test.ts +0 -69
- package/src/web/browser/assertBrowsePageShape.test.ts +0 -27
- package/src/web/browser/assertBrowsePageShape.ts +0 -27
- package/src/web/browser/classifyTrackNavigation.test.ts +0 -41
- package/src/web/browser/classifyTrackNavigation.ts +0 -35
- package/src/web/browser/parseSearchResponse.test.ts +0 -25
- package/src/web/browser/parseSearchResponse.ts +0 -15
- package/src/web/http/RequestConfigBuilder.test.ts +0 -59
- package/src/web/playbackErrorKind.test.ts +0 -55
- package/src/web/playbackErrorKind.ts +0 -56
- package/src/web/player/MediaSessionManager.test.ts +0 -220
- package/src/web/player/MediaSessionManager.ts +0 -151
- package/src/web/player/NowPlayingManager.test.ts +0 -46
- package/src/web/player/RemoteCommandController.test.ts +0 -171
- package/src/web/player/RemoteCommandController.ts +0 -166
|
@@ -115,22 +115,11 @@ export function skipToPrevious(initialPosition?: number): void {
|
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
/**
|
|
118
|
-
* Sets
|
|
119
|
-
*
|
|
120
|
-
* This does not change the play/pause state: the player keeps playing if it was
|
|
121
|
-
* playing and stays paused if it was paused. Call `play` explicitly to
|
|
122
|
-
* start playback.
|
|
123
|
-
*
|
|
118
|
+
* Sets the queue.
|
|
124
119
|
* @param tracks - The tracks to set as the queue.
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
export function setQueue(
|
|
129
|
-
tracks: Track[],
|
|
130
|
-
startIndex?: number,
|
|
131
|
-
startPosition?: number
|
|
132
|
-
): void {
|
|
133
|
-
nativeBrowser.setQueue(tracks, startIndex, startPosition)
|
|
120
|
+
*/
|
|
121
|
+
export function setQueue(tracks: Track[]): void {
|
|
122
|
+
nativeBrowser.setQueue(tracks)
|
|
134
123
|
}
|
|
135
124
|
|
|
136
125
|
// MARK: - Getters
|
|
@@ -156,7 +145,7 @@ export function getQueue(): Track[] {
|
|
|
156
145
|
/**
|
|
157
146
|
* Subscribes to playback queue ended events.
|
|
158
147
|
* @param callback - Called when playback has paused due to reaching the end of the queue
|
|
159
|
-
* @returns
|
|
148
|
+
* @returns Cleanup function to unsubscribe
|
|
160
149
|
*/
|
|
161
150
|
export const onQueueEnded =
|
|
162
151
|
NativeUpdatedValue.emitterize<PlaybackQueueEndedEvent>(
|
|
@@ -167,7 +156,7 @@ export const onQueueEnded =
|
|
|
167
156
|
* Subscribes to queue change events.
|
|
168
157
|
* Called when tracks are added, removed, reordered, or when track metadata changes.
|
|
169
158
|
* @param callback - Called with the updated queue
|
|
170
|
-
* @returns
|
|
159
|
+
* @returns Cleanup function to unsubscribe
|
|
171
160
|
*/
|
|
172
161
|
export const onQueueChanged = NativeUpdatedValue.emitterize<Track[]>(
|
|
173
162
|
(cb) => (nativeBrowser.onPlaybackQueueChanged = cb)
|
|
@@ -40,7 +40,7 @@ export interface RepeatModeChangedEvent {
|
|
|
40
40
|
/**
|
|
41
41
|
* Subscribes to repeat mode changes.
|
|
42
42
|
* @param callback - Called when repeat mode changes
|
|
43
|
-
* @returns
|
|
43
|
+
* @returns Cleanup function to unsubscribe
|
|
44
44
|
*/
|
|
45
45
|
export const onRepeatModeChanged =
|
|
46
46
|
NativeUpdatedValue.emitterize<RepeatModeChangedEvent>(
|
|
@@ -32,7 +32,7 @@ export function toggleShuffle(): void {
|
|
|
32
32
|
/**
|
|
33
33
|
* Subscribes to shuffle mode changes.
|
|
34
34
|
* @param callback - Called when shuffle mode changes
|
|
35
|
-
* @returns
|
|
35
|
+
* @returns Cleanup function to unsubscribe
|
|
36
36
|
*/
|
|
37
37
|
export const onShuffleChanged = NativeUpdatedValue.emitterize<boolean>(
|
|
38
38
|
(cb) => (nativeBrowser.onPlaybackShuffleModeChanged = cb)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface HeartRating {
|
|
2
|
+
hasHeart: boolean
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
export interface ThumbsRating {
|
|
6
|
+
isThumbsUp: boolean
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface StarRating {
|
|
10
|
+
stars: number
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface PercentageRating {
|
|
14
|
+
percentage: number
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export type Rating = HeartRating | ThumbsRating | StarRating | PercentageRating
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
HeartRating,
|
|
3
|
+
PercentageRating,
|
|
4
|
+
StarRating,
|
|
5
|
+
ThumbsRating
|
|
6
|
+
} from './rating'
|
|
1
7
|
import { nativeBrowser } from '../native'
|
|
2
8
|
import { LazyNativeEmitter } from '../utils/LazyNativeEmitter'
|
|
3
9
|
|
|
@@ -45,6 +51,13 @@ export interface RemoteSeekEvent {
|
|
|
45
51
|
position: number
|
|
46
52
|
}
|
|
47
53
|
|
|
54
|
+
/**
|
|
55
|
+
* Remote set rating event.
|
|
56
|
+
*/
|
|
57
|
+
export interface RemoteSetRatingEvent {
|
|
58
|
+
rating: HeartRating | ThumbsRating | StarRating | PercentageRating
|
|
59
|
+
}
|
|
60
|
+
|
|
48
61
|
/**
|
|
49
62
|
* Remote skip event (Android only).
|
|
50
63
|
*/
|
|
@@ -53,11 +66,90 @@ export interface RemoteSkipEvent {
|
|
|
53
66
|
index: number
|
|
54
67
|
}
|
|
55
68
|
|
|
69
|
+
// MARK: - Default Handlers
|
|
70
|
+
|
|
71
|
+
// Install remote control handlers with default behavior immediately when module loads
|
|
72
|
+
// Custom handlers can override the defaults using handleRemote* functions
|
|
73
|
+
|
|
74
|
+
// Basic playback controls
|
|
75
|
+
// AudioBrowser.onRemotePlay(() => {
|
|
76
|
+
// const customHandler = customHandlers.get('play')
|
|
77
|
+
// if (customHandler) {
|
|
78
|
+
// customHandler()
|
|
79
|
+
// } else {
|
|
80
|
+
// play()
|
|
81
|
+
// }
|
|
82
|
+
// })
|
|
83
|
+
|
|
84
|
+
// AudioBrowser.onRemotePause(() => {
|
|
85
|
+
// const customHandler = customHandlers.get('pause')
|
|
86
|
+
// if (customHandler) {
|
|
87
|
+
// customHandler()
|
|
88
|
+
// } else {
|
|
89
|
+
// pause()
|
|
90
|
+
// }
|
|
91
|
+
// })
|
|
92
|
+
|
|
93
|
+
// AudioBrowser.onRemoteNext(() => {
|
|
94
|
+
// const customHandler = customHandlers.get('next')
|
|
95
|
+
// if (customHandler) {
|
|
96
|
+
// customHandler()
|
|
97
|
+
// } else {
|
|
98
|
+
// skipToNext()
|
|
99
|
+
// }
|
|
100
|
+
// })
|
|
101
|
+
|
|
102
|
+
// AudioBrowser.onRemotePrevious(() => {
|
|
103
|
+
// const customHandler = customHandlers.get('previous')
|
|
104
|
+
// if (customHandler) {
|
|
105
|
+
// customHandler()
|
|
106
|
+
// } else {
|
|
107
|
+
// skipToPrevious()
|
|
108
|
+
// }
|
|
109
|
+
// })
|
|
110
|
+
|
|
111
|
+
// AudioBrowser.onRemoteStop(() => {
|
|
112
|
+
// const customHandler = customHandlers.get('stop')
|
|
113
|
+
// if (customHandler) {
|
|
114
|
+
// customHandler()
|
|
115
|
+
// } else {
|
|
116
|
+
// stop()
|
|
117
|
+
// }
|
|
118
|
+
// })
|
|
119
|
+
|
|
120
|
+
// // Seek controls
|
|
121
|
+
// AudioBrowser.onRemoteSeek((event: any) => {
|
|
122
|
+
// const customHandler = customHandlers.get('seek')
|
|
123
|
+
// if (customHandler) {
|
|
124
|
+
// customHandler(event)
|
|
125
|
+
// } else {
|
|
126
|
+
// seekTo(event.position)
|
|
127
|
+
// }
|
|
128
|
+
// })
|
|
129
|
+
|
|
130
|
+
// AudioBrowser.onRemoteJumpForward((event: any) => {
|
|
131
|
+
// const customHandler = customHandlers.get('jumpForward')
|
|
132
|
+
// if (customHandler) {
|
|
133
|
+
// customHandler(event)
|
|
134
|
+
// } else {
|
|
135
|
+
// seekBy(event.interval)
|
|
136
|
+
// }
|
|
137
|
+
// })
|
|
138
|
+
|
|
139
|
+
// AudioBrowser.onRemoteJumpBackward((event: any) => {
|
|
140
|
+
// const customHandler = customHandlers.get('jumpBackward')
|
|
141
|
+
// if (customHandler) {
|
|
142
|
+
// customHandler(event)
|
|
143
|
+
// } else {
|
|
144
|
+
// seekBy(-event.interval)
|
|
145
|
+
// }
|
|
146
|
+
// })
|
|
147
|
+
|
|
56
148
|
// MARK: - Handler Override Functions
|
|
57
149
|
//
|
|
58
150
|
// Use these functions when you want to OVERRIDE the default remote control behavior.
|
|
59
151
|
// These will replace the default handlers with your custom logic.
|
|
60
|
-
// If you just want to listen to events for debugging/logging, use the onRemote*
|
|
152
|
+
// If you just want to listen to events for debugging/logging, use the onRemote* functions below.
|
|
61
153
|
|
|
62
154
|
/**
|
|
63
155
|
* Sets a custom handler for remote play events, overriding the default behavior.
|
|
@@ -131,7 +223,7 @@ export function handleRemoteJumpBackward(
|
|
|
131
223
|
|
|
132
224
|
// MARK: - Event Callbacks (for listening/debugging only)
|
|
133
225
|
//
|
|
134
|
-
// Use these
|
|
226
|
+
// Use these functions when you want to LISTEN to remote control events without overriding
|
|
135
227
|
// the default behavior. These are perfect for logging, analytics, or debugging.
|
|
136
228
|
// Multiple listeners can be registered for the same event.
|
|
137
229
|
// To override the default behavior, use the handleRemote* functions above.
|
|
@@ -139,7 +231,7 @@ export function handleRemoteJumpBackward(
|
|
|
139
231
|
/**
|
|
140
232
|
* Subscribes to remote jump backward events.
|
|
141
233
|
* @param callback - Called when the user presses the jump backward button
|
|
142
|
-
* @returns
|
|
234
|
+
* @returns Cleanup function to unsubscribe
|
|
143
235
|
*/
|
|
144
236
|
export const onRemoteJumpBackward =
|
|
145
237
|
LazyNativeEmitter.emitterize<RemoteJumpBackwardEvent>(
|
|
@@ -149,7 +241,7 @@ export const onRemoteJumpBackward =
|
|
|
149
241
|
/**
|
|
150
242
|
* Subscribes to remote jump forward events.
|
|
151
243
|
* @param callback - Called when the user presses the jump forward button
|
|
152
|
-
* @returns
|
|
244
|
+
* @returns Cleanup function to unsubscribe
|
|
153
245
|
*/
|
|
154
246
|
export const onRemoteJumpForward =
|
|
155
247
|
LazyNativeEmitter.emitterize<RemoteJumpForwardEvent>(
|
|
@@ -159,7 +251,7 @@ export const onRemoteJumpForward =
|
|
|
159
251
|
/**
|
|
160
252
|
* Subscribes to remote next events.
|
|
161
253
|
* @param callback - Called when the user presses the next track button
|
|
162
|
-
* @returns
|
|
254
|
+
* @returns Cleanup function to unsubscribe
|
|
163
255
|
*/
|
|
164
256
|
export const onRemoteNext = LazyNativeEmitter.emitterize<void>(
|
|
165
257
|
(cb) => (nativeBrowser.onRemoteNext = cb)
|
|
@@ -168,7 +260,7 @@ export const onRemoteNext = LazyNativeEmitter.emitterize<void>(
|
|
|
168
260
|
/**
|
|
169
261
|
* Subscribes to remote pause events.
|
|
170
262
|
* @param callback - Called when the user presses the pause button
|
|
171
|
-
* @returns
|
|
263
|
+
* @returns Cleanup function to unsubscribe
|
|
172
264
|
*/
|
|
173
265
|
export const onRemotePause = LazyNativeEmitter.emitterize<void>(
|
|
174
266
|
(cb) => (nativeBrowser.onRemotePause = cb)
|
|
@@ -177,7 +269,7 @@ export const onRemotePause = LazyNativeEmitter.emitterize<void>(
|
|
|
177
269
|
/**
|
|
178
270
|
* Subscribes to remote play events.
|
|
179
271
|
* @param callback - Called when the user presses the play button
|
|
180
|
-
* @returns
|
|
272
|
+
* @returns Cleanup function to unsubscribe
|
|
181
273
|
*/
|
|
182
274
|
export const onRemotePlay = LazyNativeEmitter.emitterize<void>(
|
|
183
275
|
(cb) => (nativeBrowser.onRemotePlay = cb)
|
|
@@ -186,7 +278,7 @@ export const onRemotePlay = LazyNativeEmitter.emitterize<void>(
|
|
|
186
278
|
/**
|
|
187
279
|
* Subscribes to remote play ID events (Android only).
|
|
188
280
|
* @param callback - Called when the user selects a track from an external device
|
|
189
|
-
* @returns
|
|
281
|
+
* @returns Cleanup function to unsubscribe
|
|
190
282
|
*/
|
|
191
283
|
export const onRemotePlayId = LazyNativeEmitter.emitterize<RemotePlayIdEvent>(
|
|
192
284
|
(cb) => (nativeBrowser.onRemotePlayId = cb)
|
|
@@ -195,7 +287,7 @@ export const onRemotePlayId = LazyNativeEmitter.emitterize<RemotePlayIdEvent>(
|
|
|
195
287
|
/**
|
|
196
288
|
* Subscribes to remote play search events (Android only).
|
|
197
289
|
* @param callback - Called when the user searches for a track (usually voice search)
|
|
198
|
-
* @returns
|
|
290
|
+
* @returns Cleanup function to unsubscribe
|
|
199
291
|
*/
|
|
200
292
|
export const onRemotePlaySearch =
|
|
201
293
|
LazyNativeEmitter.emitterize<RemotePlaySearchEvent>(
|
|
@@ -205,7 +297,7 @@ export const onRemotePlaySearch =
|
|
|
205
297
|
/**
|
|
206
298
|
* Subscribes to remote previous events.
|
|
207
299
|
* @param callback - Called when the user presses the previous track button
|
|
208
|
-
* @returns
|
|
300
|
+
* @returns Cleanup function to unsubscribe
|
|
209
301
|
*/
|
|
210
302
|
export const onRemotePrevious = LazyNativeEmitter.emitterize<void>(
|
|
211
303
|
(cb) => (nativeBrowser.onRemotePrevious = cb)
|
|
@@ -214,16 +306,26 @@ export const onRemotePrevious = LazyNativeEmitter.emitterize<void>(
|
|
|
214
306
|
/**
|
|
215
307
|
* Subscribes to remote seek events.
|
|
216
308
|
* @param callback - Called when the user changes the position of the timeline
|
|
217
|
-
* @returns
|
|
309
|
+
* @returns Cleanup function to unsubscribe
|
|
218
310
|
*/
|
|
219
311
|
export const onRemoteSeek = LazyNativeEmitter.emitterize<RemoteSeekEvent>(
|
|
220
312
|
(cb) => (nativeBrowser.onRemoteSeek = cb)
|
|
221
313
|
)
|
|
222
314
|
|
|
315
|
+
/**
|
|
316
|
+
* Subscribes to remote set rating events.
|
|
317
|
+
* @param callback - Called when the user changes the rating for the track remotely
|
|
318
|
+
* @returns Cleanup function to unsubscribe
|
|
319
|
+
*/
|
|
320
|
+
export const onRemoteSetRating =
|
|
321
|
+
LazyNativeEmitter.emitterize<RemoteSetRatingEvent>(
|
|
322
|
+
(cb) => (nativeBrowser.onRemoteSetRating = cb)
|
|
323
|
+
)
|
|
324
|
+
|
|
223
325
|
/**
|
|
224
326
|
* Subscribes to remote skip events (Android only).
|
|
225
327
|
* @param callback - Called when the user presses the skip button
|
|
226
|
-
* @returns
|
|
328
|
+
* @returns Cleanup function to unsubscribe
|
|
227
329
|
*/
|
|
228
330
|
export const onRemoteSkip = LazyNativeEmitter.emitterize<RemoteSkipEvent>(
|
|
229
331
|
(cb) => (nativeBrowser.onRemoteSkip = cb)
|
|
@@ -232,7 +334,7 @@ export const onRemoteSkip = LazyNativeEmitter.emitterize<RemoteSkipEvent>(
|
|
|
232
334
|
/**
|
|
233
335
|
* Subscribes to remote stop events.
|
|
234
336
|
* @param callback - Called when the user presses the stop button
|
|
235
|
-
* @returns
|
|
337
|
+
* @returns Cleanup function to unsubscribe
|
|
236
338
|
*/
|
|
237
339
|
export const onRemoteStop = LazyNativeEmitter.emitterize<void>(
|
|
238
340
|
(cb) => (nativeBrowser.onRemoteStop = cb)
|
|
@@ -40,30 +40,11 @@ export function getSleepTimer(): SleepTimer {
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
43
|
+
* Sets a sleep timer to stop playback after the specified duration.
|
|
44
|
+
* @param seconds - Number of seconds until playback stops
|
|
44
45
|
*/
|
|
45
|
-
export
|
|
46
|
-
|
|
47
|
-
* Seconds over which to fade the volume out before the timer completes.
|
|
48
|
-
* The fade ends exactly at the deadline (clamped to the timer duration if
|
|
49
|
-
* longer), playback is paused, and the pre-fade volume is restored so the
|
|
50
|
-
* next play starts at normal loudness. During the fade the timer wins:
|
|
51
|
-
* skips and seeks play into the remaining ramp; only pausing or
|
|
52
|
-
* clearing/replacing the timer cancels it.
|
|
53
|
-
*/
|
|
54
|
-
fadeDuration?: number
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Sets a sleep timer to pause playback after the specified duration.
|
|
59
|
-
* @param seconds - Number of seconds until playback pauses
|
|
60
|
-
* @param options - Optional fade-out configuration
|
|
61
|
-
*/
|
|
62
|
-
export function setSleepTimer(
|
|
63
|
-
seconds: number,
|
|
64
|
-
options?: SleepTimerOptions
|
|
65
|
-
): void {
|
|
66
|
-
nativeBrowser.setSleepTimer(seconds, options?.fadeDuration)
|
|
46
|
+
export function setSleepTimer(seconds: number): void {
|
|
47
|
+
nativeBrowser.setSleepTimer(seconds)
|
|
67
48
|
}
|
|
68
49
|
|
|
69
50
|
/**
|
|
@@ -86,7 +67,7 @@ export function clearSleepTimer(): boolean {
|
|
|
86
67
|
/**
|
|
87
68
|
* Subscribes to sleep timer changes.
|
|
88
69
|
* @param callback - Called when the sleep timer state changes
|
|
89
|
-
* @returns
|
|
70
|
+
* @returns Cleanup function to unsubscribe
|
|
90
71
|
*/
|
|
91
72
|
export const onSleepTimerChanged = NativeUpdatedValue.emitterize<SleepTimer>(
|
|
92
73
|
(cb) => (nativeBrowser.onSleepTimerChanged = cb)
|
package/src/native.ts
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { NitroModules } from 'react-native-nitro-modules'
|
|
2
2
|
import type { AudioBrowser as AudioBrowserSpec } from './specs/audio-browser.nitro.ts'
|
|
3
3
|
|
|
4
|
-
/**
|
|
5
|
-
* The raw Nitro hybrid object — the bridge itself. Feature modules wrap it;
|
|
6
|
-
* consumers use those wrappers.
|
|
7
|
-
* @internal
|
|
8
|
-
*/
|
|
9
4
|
export const nativeBrowser =
|
|
10
5
|
NitroModules.createHybridObject<AudioBrowserSpec>('AudioBrowser')
|
package/src/native.web.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { NativeAudioBrowser } from './web/NativeAudioBrowser'
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
* Web implementation: AudioBrowser is a unified browser + player.
|
|
5
|
-
* @internal
|
|
6
|
-
*/
|
|
3
|
+
// Web implementation: AudioBrowser is a unified browser + player
|
|
7
4
|
export const nativeBrowser = new NativeAudioBrowser()
|
|
@@ -12,12 +12,6 @@ import type {
|
|
|
12
12
|
PlaybackError,
|
|
13
13
|
PlaybackErrorEvent
|
|
14
14
|
} from '../features/errors'
|
|
15
|
-
import type {
|
|
16
|
-
NativeGate,
|
|
17
|
-
NativeGateRequest,
|
|
18
|
-
GateDecision,
|
|
19
|
-
GateEvent
|
|
20
|
-
} from '../features/gate'
|
|
21
15
|
import type {
|
|
22
16
|
ChapterMetadata,
|
|
23
17
|
NowPlayingMetadata,
|
|
@@ -33,9 +27,10 @@ import type {
|
|
|
33
27
|
} from '../features/playback/progress'
|
|
34
28
|
import type { Playback } from '../features/playback/state'
|
|
35
29
|
import type {
|
|
36
|
-
NativeSetupPlayerOptions,
|
|
37
30
|
NativeUpdateOptions,
|
|
38
|
-
Options
|
|
31
|
+
Options,
|
|
32
|
+
PartialSetupPlayerOptions,
|
|
33
|
+
UpdateOptions
|
|
39
34
|
} from '../features/player'
|
|
40
35
|
import type { PlaybackActiveTrackChangedEvent } from '../features/queue/activeTrack'
|
|
41
36
|
import type { PlaybackQueueEndedEvent } from '../features/queue/queue'
|
|
@@ -49,6 +44,7 @@ import type {
|
|
|
49
44
|
RemotePlayIdEvent,
|
|
50
45
|
RemotePlaySearchEvent,
|
|
51
46
|
RemoteSeekEvent,
|
|
47
|
+
RemoteSetRatingEvent,
|
|
52
48
|
RemoteSkipEvent
|
|
53
49
|
} from '../features/remoteControls'
|
|
54
50
|
import type { SleepTimer, SleepTimerChangedEvent } from '../features/sleepTimer'
|
|
@@ -66,46 +62,31 @@ export type EqualizerSettings = {
|
|
|
66
62
|
upperBandLevelLimit: number
|
|
67
63
|
}
|
|
68
64
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
| '
|
|
78
|
-
| 'receiver' // built-in earpiece (iOS)
|
|
79
|
-
| 'headphones' // wired headphones / headset
|
|
80
|
-
| 'bluetooth' // any Bluetooth audio
|
|
81
|
-
| 'airplay' // AirPlay (iOS)
|
|
82
|
-
| 'car' // car audio (CarPlay / Android Auto / car Bluetooth)
|
|
65
|
+
export type IosOutputType =
|
|
66
|
+
| 'built-in-speaker'
|
|
67
|
+
| 'built-in-receiver'
|
|
68
|
+
| 'airplay'
|
|
69
|
+
| 'bluetooth-a2dp'
|
|
70
|
+
| 'bluetooth-hfp'
|
|
71
|
+
| 'bluetooth-le'
|
|
72
|
+
| 'headphones'
|
|
73
|
+
| 'car-audio'
|
|
83
74
|
| 'hdmi'
|
|
84
|
-
| 'usb'
|
|
85
|
-
| 'cast' // remote speaker / TV (reserved)
|
|
75
|
+
| 'usb-audio'
|
|
86
76
|
| 'other'
|
|
87
77
|
|
|
88
78
|
/**
|
|
89
|
-
*
|
|
90
|
-
* platform: iOS always reports one while a session is active; Android reports the
|
|
91
|
-
* actively-routed device on all versions (the `type` is accurate on API 33+ and
|
|
92
|
-
* coarse below that). Only the output *switcher* (`openOutputPicker`) is gated to
|
|
93
|
-
* Android 11+ — check `supportsOutputSwitcher()`.
|
|
79
|
+
* Audio output information (iOS only).
|
|
94
80
|
*/
|
|
95
|
-
export type
|
|
96
|
-
/** The output
|
|
97
|
-
type:
|
|
98
|
-
/** Human-readable device name (e.g., "AirPods Pro", "
|
|
81
|
+
export type IosOutput = {
|
|
82
|
+
/** The output port type */
|
|
83
|
+
type: IosOutputType
|
|
84
|
+
/** Human-readable device name (e.g., "AirPods Pro", "iPhone Speaker") */
|
|
99
85
|
name: string
|
|
100
86
|
/** Whether this is an external output (false for built-in speaker/receiver) */
|
|
101
87
|
external: boolean
|
|
102
88
|
}
|
|
103
89
|
|
|
104
|
-
/**
|
|
105
|
-
* The Nitro hybrid-object spec — the bridge surface itself. Not consumer API;
|
|
106
|
-
* feature modules wrap every method.
|
|
107
|
-
* @internal
|
|
108
|
-
*/
|
|
109
90
|
export interface AudioBrowser extends HybridObject<{
|
|
110
91
|
ios: 'swift'
|
|
111
92
|
android: 'kotlin'
|
|
@@ -127,41 +108,13 @@ export interface AudioBrowser extends HybridObject<{
|
|
|
127
108
|
) => void
|
|
128
109
|
getFormattedNavigationError(): FormattedNavigationError | undefined
|
|
129
110
|
notifyContentChanged(path: string): void
|
|
130
|
-
invalidateAllContent(): void
|
|
131
111
|
setFavorites(favorites: string[]): void
|
|
132
112
|
configuration: NativeBrowserConfiguration
|
|
133
113
|
|
|
134
|
-
// MARK: gate
|
|
135
|
-
/**
|
|
136
|
-
* Records the gate's default chrome (undefined for resolver-only) and whether
|
|
137
|
-
* a per-request resolver is active. While a gate is set, the four car
|
|
138
|
-
* enforcement sites consult `resolveGate` per request (skipping the JS hop
|
|
139
|
-
* when `hasResolver` is false — every request is gated with the default).
|
|
140
|
-
*/
|
|
141
|
-
setGate(gate: NativeGate | undefined, hasResolver: boolean): void
|
|
142
|
-
/** Clears the gate, restoring tab content and keeping selection. */
|
|
143
|
-
clearGate(): void
|
|
144
|
-
/** Per-request decision, set by JS; native awaits it at a serve site. */
|
|
145
|
-
resolveGate: (request: NativeGateRequest) => Promise<GateDecision>
|
|
146
|
-
/** Fired when a request is gated (the gate was served). */
|
|
147
|
-
onGate: (event: GateEvent) => void
|
|
148
|
-
|
|
149
|
-
// MARK: car connection
|
|
150
|
-
/**
|
|
151
|
-
* Whether a car is currently connected: a CarPlay scene on iOS, an
|
|
152
|
-
* Android Auto / Android Automotive connection on Android (via the
|
|
153
|
-
* androidx.car.app CarConnection provider).
|
|
154
|
-
*/
|
|
155
|
-
isCarConnected(): boolean
|
|
156
|
-
/**
|
|
157
|
-
* Called when the car connects or disconnects.
|
|
158
|
-
*/
|
|
159
|
-
onCarConnectedChanged: (connected: boolean) => void
|
|
160
|
-
|
|
161
114
|
// MARK: player init and config
|
|
162
|
-
setupPlayer(options:
|
|
115
|
+
setupPlayer(options: PartialSetupPlayerOptions): Promise<void>
|
|
163
116
|
updateOptions(options: NativeUpdateOptions): void
|
|
164
|
-
getOptions():
|
|
117
|
+
getOptions(): UpdateOptions
|
|
165
118
|
|
|
166
119
|
// // MARK: player events
|
|
167
120
|
onChapterMetadata: (chapters: ChapterMetadata[]) => void
|
|
@@ -174,21 +127,17 @@ export interface AudioBrowser extends HybridObject<{
|
|
|
174
127
|
) => void
|
|
175
128
|
onPlaybackPlayingState: (data: PlayingState) => void
|
|
176
129
|
onPlaybackProgressUpdated: (data: PlaybackProgressUpdatedEvent) => void
|
|
177
|
-
/**
|
|
178
|
-
* Fired on a fixed internal cadence while playback is `playing`, once enabled
|
|
179
|
-
* via `setPlaybackIntervalEnabled`. Carries no payload — it is a tick, not a
|
|
180
|
-
* progress/position update. Independent of `onPlaybackProgressUpdated` and the
|
|
181
|
-
* `progressUpdateEventInterval` option.
|
|
182
|
-
*/
|
|
183
|
-
onPlaybackInterval: () => void
|
|
184
130
|
onPlaybackQueueEnded: (data: PlaybackQueueEndedEvent) => void
|
|
185
131
|
onPlaybackQueueChanged: (queue: Track[]) => void
|
|
186
132
|
onPlaybackRepeatModeChanged: (data: RepeatModeChangedEvent) => void
|
|
187
133
|
onPlaybackShuffleModeChanged: (enabled: boolean) => void
|
|
188
134
|
onSleepTimerChanged: (data: SleepTimerChangedEvent) => void
|
|
189
135
|
onPlaybackChanged: (data: Playback) => void
|
|
136
|
+
onRemoteBookmark: () => void
|
|
137
|
+
onRemoteDislike: () => void
|
|
190
138
|
onRemoteJumpBackward: (event: RemoteJumpBackwardEvent) => void
|
|
191
139
|
onRemoteJumpForward: (event: RemoteJumpForwardEvent) => void
|
|
140
|
+
onRemoteLike: () => void
|
|
192
141
|
onRemoteNext: () => void
|
|
193
142
|
onRemotePause: () => void
|
|
194
143
|
onRemotePlay: () => void
|
|
@@ -196,6 +145,7 @@ export interface AudioBrowser extends HybridObject<{
|
|
|
196
145
|
onRemotePlaySearch: (event: RemotePlaySearchEvent) => void
|
|
197
146
|
onRemotePrevious: () => void
|
|
198
147
|
onRemoteSeek: (event: RemoteSeekEvent) => void
|
|
148
|
+
onRemoteSetRating: (event: RemoteSetRatingEvent) => void
|
|
199
149
|
onRemoteSkip: (event: RemoteSkipEvent) => void
|
|
200
150
|
onRemoteStop: () => void
|
|
201
151
|
onOptionsChanged: (event: Options) => void
|
|
@@ -203,10 +153,13 @@ export interface AudioBrowser extends HybridObject<{
|
|
|
203
153
|
onNowPlayingChanged: (metadata: NowPlayingMetadata) => void
|
|
204
154
|
|
|
205
155
|
// MARK: remote handlers
|
|
156
|
+
handleRemoteBookmark: (() => void) | undefined
|
|
157
|
+
handleRemoteDislike: (() => void) | undefined
|
|
206
158
|
handleRemoteJumpBackward:
|
|
207
159
|
| ((event: RemoteJumpBackwardEvent) => void)
|
|
208
160
|
| undefined
|
|
209
161
|
handleRemoteJumpForward: ((event: RemoteJumpForwardEvent) => void) | undefined
|
|
162
|
+
handleRemoteLike: (() => void) | undefined
|
|
210
163
|
handleRemoteNext: (() => void) | undefined
|
|
211
164
|
handleRemotePause: (() => void) | undefined
|
|
212
165
|
handleRemotePlay: (() => void) | undefined
|
|
@@ -228,22 +181,11 @@ export interface AudioBrowser extends HybridObject<{
|
|
|
228
181
|
getPlayWhenReady(): boolean
|
|
229
182
|
seekTo(position: number): void
|
|
230
183
|
seekBy(offset: number): void
|
|
231
|
-
/**
|
|
232
|
-
* Jump to the live edge of the current track. No-op for non-live tracks.
|
|
233
|
-
* Live with a seekable window (HLS): seeks to the window end. Live without a
|
|
234
|
-
* window (non-seekable, e.g. ICY): reconnects to rejoin live.
|
|
235
|
-
*/
|
|
236
|
-
seekToLiveEdge(): void
|
|
237
184
|
setVolume(level: number): void
|
|
238
185
|
getVolume(): number
|
|
239
186
|
setRate(rate: number): void
|
|
240
187
|
getRate(): number
|
|
241
188
|
getProgress(): Progress
|
|
242
|
-
/**
|
|
243
|
-
* Enables or disables the internal playback tick that drives
|
|
244
|
-
* `onPlaybackInterval`. When disabled (default), no tick is emitted.
|
|
245
|
-
*/
|
|
246
|
-
setPlaybackIntervalEnabled(enabled: boolean): void
|
|
247
189
|
getPlayback(): Playback
|
|
248
190
|
getPlayingState(): PlayingState
|
|
249
191
|
getRepeatMode(): RepeatMode
|
|
@@ -253,12 +195,7 @@ export interface AudioBrowser extends HybridObject<{
|
|
|
253
195
|
getPlaybackError(): PlaybackError | undefined
|
|
254
196
|
retry(): void
|
|
255
197
|
getSleepTimer(): SleepTimer
|
|
256
|
-
|
|
257
|
-
* Stops playback after `seconds`. When `fadeDuration` is given, the volume
|
|
258
|
-
* ramps down over the final `fadeDuration` seconds so silence lands exactly
|
|
259
|
-
* at the deadline; the pre-fade volume is restored after pausing.
|
|
260
|
-
*/
|
|
261
|
-
setSleepTimer(seconds: number, fadeDuration?: number): void
|
|
198
|
+
setSleepTimer(seconds: number): void
|
|
262
199
|
setSleepTimerToEndOfTrack(): void
|
|
263
200
|
clearSleepTimer(): boolean
|
|
264
201
|
|
|
@@ -279,7 +216,7 @@ export interface AudioBrowser extends HybridObject<{
|
|
|
279
216
|
* Toggles the favorited state of the currently playing track.
|
|
280
217
|
*/
|
|
281
218
|
toggleActiveTrackFavorited(): void
|
|
282
|
-
setQueue(tracks: Track[], startIndex?: number,
|
|
219
|
+
setQueue(tracks: Track[], startIndex?: number, startPositionMs?: number): void
|
|
283
220
|
getQueue(): Track[]
|
|
284
221
|
getTrack(index: number): Track | undefined
|
|
285
222
|
getActiveTrackIndex(): number | undefined
|
|
@@ -291,18 +228,6 @@ export interface AudioBrowser extends HybridObject<{
|
|
|
291
228
|
* Pass null to clear overrides and revert to track metadata.
|
|
292
229
|
*/
|
|
293
230
|
updateNowPlaying(update: NowPlayingUpdate | undefined): void
|
|
294
|
-
/**
|
|
295
|
-
* Temporarily replaces now-playing fields for `durationMs`, then reverts.
|
|
296
|
-
* Outranks the formatter and the `updateNowPlaying` override while active,
|
|
297
|
-
* and is reverted by a native timer (JS timers pause in a backgrounded
|
|
298
|
-
* host). Cleared early on track change. Repeated calls restart the window.
|
|
299
|
-
*/
|
|
300
|
-
flashNowPlaying(update: NowPlayingUpdate, durationMs: number): void
|
|
301
|
-
/**
|
|
302
|
-
* Clears an active flash immediately, reverting to the live metadata.
|
|
303
|
-
* No-op when no flash is active.
|
|
304
|
-
*/
|
|
305
|
-
clearNowPlayingFlash(): void
|
|
306
231
|
/**
|
|
307
232
|
* Gets the current now playing metadata (override if set, else track metadata).
|
|
308
233
|
*/
|
|
@@ -327,38 +252,23 @@ export interface AudioBrowser extends HybridObject<{
|
|
|
327
252
|
*/
|
|
328
253
|
onSystemVolumeChanged: (volume: number) => void
|
|
329
254
|
|
|
330
|
-
// MARK: external audio output
|
|
331
|
-
/**
|
|
332
|
-
* The current audio output, or undefined when unknown. iOS reports one while a
|
|
333
|
-
* session is active; Android reports the actively-routed media device via
|
|
334
|
-
* AudioManager — accurate on API 33+ (reflects manual reroutes); on older
|
|
335
|
-
* Android the `type` is coarse and can't detect a reroute while a device stays
|
|
336
|
-
* connected.
|
|
337
|
-
*/
|
|
338
|
-
getOutput(): Output | undefined
|
|
255
|
+
// MARK: external audio output (iOS only)
|
|
339
256
|
/**
|
|
340
|
-
*
|
|
341
|
-
*
|
|
342
|
-
* Android; never on web.
|
|
257
|
+
* Gets the current audio output info.
|
|
258
|
+
* Always returns a value on iOS, undefined on Android.
|
|
343
259
|
*/
|
|
344
|
-
|
|
260
|
+
getIosOutput(): IosOutput | undefined
|
|
345
261
|
/**
|
|
346
|
-
*
|
|
347
|
-
*
|
|
348
|
-
* the Bluetooth / speaker / Cast device list (Android). Cross-platform.
|
|
349
|
-
*
|
|
350
|
-
* iOS: the system route picker (always available).
|
|
351
|
-
* Android: the system Output Switcher (Android 11+); no-op below that — gate
|
|
352
|
-
* on `supportsOutputSwitcher()`.
|
|
353
|
-
* Web: no-op.
|
|
262
|
+
* Called when audio output changes (iOS only).
|
|
263
|
+
* Never fires on Android.
|
|
354
264
|
*/
|
|
355
|
-
|
|
265
|
+
onIosOutputChanged: (output: IosOutput) => void
|
|
356
266
|
/**
|
|
357
|
-
*
|
|
358
|
-
*
|
|
359
|
-
*
|
|
267
|
+
* Opens the system output picker (iOS only).
|
|
268
|
+
* Allows users to select output device (speaker, AirPlay, Bluetooth, etc.).
|
|
269
|
+
* No-op on Android.
|
|
360
270
|
*/
|
|
361
|
-
|
|
271
|
+
openIosOutputPicker(): void
|
|
362
272
|
|
|
363
273
|
// MARK: equalizer (Android only)
|
|
364
274
|
getEqualizerSettings(): EqualizerSettings | undefined
|