react-native-audio-browser 0.2.0-next.2 → 0.2.0-next.21
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/README.md +35 -21
- package/android/build.gradle +35 -12
- package/android/gradle.properties +2 -2
- package/android/src/main/AndroidManifest.xml +3 -1
- package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +389 -164
- package/android/src/main/java/com/audiobrowser/AudioBrowserLifecycleModule.kt +38 -0
- package/android/src/main/java/com/audiobrowser/AudioBrowserPackage.kt +18 -2
- package/android/src/main/java/com/audiobrowser/ServiceBinding.kt +48 -0
- package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +315 -213
- package/android/src/main/java/com/audiobrowser/browser/BrowserUrlResolution.kt +24 -5
- package/android/src/main/java/com/audiobrowser/browser/InertStyleDiagnostic.kt +267 -0
- package/android/src/main/java/com/audiobrowser/browser/JsonModels.kt +97 -58
- package/android/src/main/java/com/audiobrowser/browser/SectionScope.kt +70 -29
- package/android/src/main/java/com/audiobrowser/browser/StyleResolver.kt +60 -0
- package/android/src/main/java/com/audiobrowser/extension/ResolvedTrackExt.kt +20 -7
- package/android/src/main/java/com/audiobrowser/extension/TappedTrack.kt +20 -0
- package/android/src/main/java/com/audiobrowser/extension/TrackIdentity.kt +15 -0
- package/android/src/main/java/com/audiobrowser/http/HttpClient.kt +20 -3
- package/android/src/main/java/com/audiobrowser/model/IcyTitle.kt +24 -0
- package/android/src/main/java/com/audiobrowser/model/PlaybackMetadata.kt +10 -6
- package/android/src/main/java/com/audiobrowser/model/PlayerUpdateOptions.kt +12 -12
- package/android/src/main/java/com/audiobrowser/player/CapabilityControls.kt +111 -58
- package/android/src/main/java/com/audiobrowser/player/CrossOriginHeaderStripper.kt +77 -0
- package/android/src/main/java/com/audiobrowser/player/MediaFactory.kt +28 -10
- package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +509 -230
- package/android/src/main/java/com/audiobrowser/player/MediaSessionCommandManager.kt +218 -252
- package/android/src/main/java/com/audiobrowser/player/NowPlayingUpdater.kt +21 -25
- package/android/src/main/java/com/audiobrowser/player/PlaybackStateStore.kt +113 -78
- package/android/src/main/java/com/audiobrowser/player/Player.kt +81 -38
- package/android/src/main/java/com/audiobrowser/player/PlayerCapabilitiesExt.kt +2 -15
- package/android/src/main/java/com/audiobrowser/player/PlayerListener.kt +1 -1
- package/android/src/main/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicy.kt +2 -1
- package/android/src/main/java/com/audiobrowser/player/ShuffleOrderLedBy.kt +30 -0
- package/android/src/main/java/com/audiobrowser/tls/AiaCertChaser.kt +67 -11
- package/android/src/main/java/com/audiobrowser/tls/AiaChasingExtendedTrustManager.kt +168 -0
- package/android/src/main/java/com/audiobrowser/tls/AiaChasingTrustManager.kt +58 -14
- package/android/src/main/java/com/audiobrowser/tls/AiaTls.kt +35 -7
- package/android/src/main/java/com/audiobrowser/tls/CachingCertificateFetcher.kt +278 -59
- package/android/src/main/java/com/audiobrowser/util/ArtworkVariant.kt +7 -9
- package/android/src/main/java/com/audiobrowser/util/BrowserPathHelper.kt +56 -40
- package/android/src/main/java/com/audiobrowser/util/MediaExtrasBuilder.kt +28 -23
- package/android/src/main/java/com/audiobrowser/util/StyleWire.kt +108 -0
- package/android/src/main/java/com/audiobrowser/util/TrackFactory.kt +56 -52
- package/android/src/main/res/values/strings.xml +25 -5
- package/android/src/test/java/com/audiobrowser/ServiceBindingTest.kt +87 -0
- package/android/src/test/java/com/audiobrowser/TestFixtures.kt +119 -33
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerFavoritesTest.kt +153 -0
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerLayerResolutionTest.kt +15 -0
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerTest.kt +346 -8
- package/android/src/test/java/com/audiobrowser/browser/BrowserUrlResolutionTest.kt +38 -0
- package/android/src/test/java/com/audiobrowser/browser/InertStyleDiagnosticTest.kt +277 -0
- package/android/src/test/java/com/audiobrowser/browser/JsonArtworkTest.kt +3 -2
- package/android/src/test/java/com/audiobrowser/browser/JsonStyleTest.kt +147 -0
- package/android/src/test/java/com/audiobrowser/browser/SectionScopeTest.kt +128 -55
- package/android/src/test/java/com/audiobrowser/browser/StyleResolverTest.kt +154 -0
- package/android/src/test/java/com/audiobrowser/extension/TappedTrackTest.kt +43 -0
- package/android/src/test/java/com/audiobrowser/extension/TrackIdentityTest.kt +41 -0
- package/android/src/test/java/com/audiobrowser/model/IcyTitleTest.kt +49 -0
- package/android/src/test/java/com/audiobrowser/player/BrowseTilesTest.kt +385 -0
- package/android/src/test/java/com/audiobrowser/player/CapabilityControlsTest.kt +101 -58
- package/android/src/test/java/com/audiobrowser/player/CrossOriginHeaderStripperTest.kt +94 -0
- package/android/src/test/java/com/audiobrowser/player/MediaSessionSlotMappingTest.kt +45 -0
- package/android/src/test/java/com/audiobrowser/player/NowPlayingUpdaterTest.kt +42 -2
- package/android/src/test/java/com/audiobrowser/player/PlaybackErrorClassifierTest.kt +3 -4
- package/android/src/test/java/com/audiobrowser/player/PlaybackStateStoreTrackJsonTest.kt +55 -0
- package/android/src/test/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicyTest.kt +3 -3
- package/android/src/test/java/com/audiobrowser/player/ShuffleOrderLedByTest.kt +79 -0
- package/android/src/test/java/com/audiobrowser/tls/AiaCertChaserTest.kt +197 -7
- package/android/src/test/java/com/audiobrowser/tls/AiaChasingTrustManagerTest.kt +325 -4
- package/android/src/test/java/com/audiobrowser/tls/CachingCertificateFetcherCallSiteTest.kt +322 -0
- package/android/src/test/java/com/audiobrowser/tls/CachingCertificateFetcherTest.kt +83 -0
- package/android/src/test/java/com/audiobrowser/util/BrowserPathHelperTest.kt +41 -16
- package/android/src/test/java/com/audiobrowser/util/MediaExtrasBuilderTest.kt +162 -0
- package/android/src/test/java/com/audiobrowser/util/TrackFactoryMediaIdTest.kt +7 -7
- package/ios/Browser/BrowserConfig.swift +102 -5
- package/ios/Browser/BrowserManager+URLResolution.swift +18 -14
- package/ios/Browser/BrowserManager.swift +230 -205
- package/ios/Browser/BrowserPathHelper.swift +44 -44
- package/ios/Browser/InertStyleDiagnostic.swift +279 -0
- package/ios/Browser/JsonModels.swift +264 -106
- package/ios/Browser/SearchDrillIn.swift +7 -7
- package/ios/Browser/SectionPresentation.swift +64 -0
- package/ios/Browser/SectionScope.swift +58 -24
- package/ios/Browser/StyleResolver.swift +58 -0
- package/ios/Browser/TabBarEntries.swift +9 -3
- package/ios/Browser/TrackIdTemplate.swift +37 -0
- package/ios/CarPlay/CarPlayArtworkResolver.swift +8 -7
- package/ios/CarPlay/CarPlayController.swift +227 -85
- package/ios/CarPlay/CarPlayImageLoader.swift +42 -20
- package/ios/CarPlay/CarPlayListItemFactory.swift +289 -84
- package/ios/CarPlay/CarPlayNowPlayingManager.swift +15 -12
- package/ios/CarPlay/RNABMediaAddHandler.swift +6 -6
- package/ios/CarPlay/RNABMediaAffinityHandler.swift +2 -2
- package/ios/CarPlay/RNABMediaIntentHandler.swift +16 -16
- package/ios/Extension/Capability+RemoteCommand.swift +1 -1
- package/ios/Extension/PlayerCapabilities+Favorite.swift +1 -15
- package/ios/Extension/ResolvedTrack+Copying.swift +13 -15
- package/ios/Extension/Section+Copying.swift +29 -0
- package/ios/Extension/String+IcyCharset.swift +21 -0
- package/ios/Extension/TimedMetadata+AVFoundation.swift +6 -4
- package/ios/Extension/Track+Copying.swift +8 -12
- package/ios/Extension/Track+Identity.swift +18 -0
- package/ios/Extension/UIApplication+ActiveScene.swift +27 -0
- package/ios/Http/HttpClient.swift +8 -2
- package/ios/HybridAudioBrowser.swift +253 -100
- package/ios/Model/NitroTypeStubs.swift +125 -23
- package/ios/Model/PlayerUpdateOptions.swift +7 -0
- package/ios/Model/RemoteCommand.swift +18 -0
- package/ios/Model/TrackPlayerError.swift +2 -2
- package/ios/Option/SessionCategories.swift +3 -2
- package/ios/Player/MediaIntentCriteria.swift +17 -9
- package/ios/Player/MediaLoader.swift +33 -9
- package/ios/Player/NowPlayingUpdater.swift +54 -6
- package/ios/Player/PlaybackCoordinator.swift +13 -6
- package/ios/Player/PlaybackErrorHandler.swift +4 -4
- package/ios/Player/PlaybackTimer.swift +8 -2
- package/ios/Player/QueueManager.swift +46 -13
- package/ios/Player/RetryManager.swift +80 -18
- package/ios/Player/SeekCompletionHandler.swift +3 -1
- package/ios/Player/ShuffleOrder.swift +33 -0
- package/ios/Player/SleepTimerHandling.swift +13 -0
- package/ios/RemoteCommand/RemoteCommandCallbacks.swift +47 -0
- package/ios/RemoteCommand/RemoteCommandController.swift +62 -24
- package/ios/Tests/BrowserPathHelperTests.swift +50 -20
- package/ios/Tests/CarPlayArtworkResolverTests.swift +24 -41
- package/ios/Tests/InertStyleDiagnosticTests.swift +200 -0
- package/ios/Tests/JsonModelsTests.swift +150 -1
- package/ios/Tests/LRUCacheTests.swift +111 -0
- package/ios/Tests/LoadSeekCoordinatorTests.swift +3 -1
- package/ios/Tests/MediaIntentCriteriaTests.swift +2 -2
- package/ios/Tests/PlaybackCoordinatorTests.swift +1 -1
- package/ios/Tests/PlaybackErrorHandlerTests.swift +3 -1
- package/ios/Tests/PlaybackStateStoreTests.swift +4 -3
- package/ios/Tests/PlayerTimeObserverTests.swift +37 -0
- package/ios/Tests/QueueManagerTests.swift +122 -10
- package/ios/Tests/RemoteCommandControllerTests.swift +172 -0
- package/ios/Tests/RemoteCommandTests.swift +67 -0
- package/ios/Tests/ResolvedTrackCopyingTests.swift +39 -35
- package/ios/Tests/RetryManagerTests.swift +89 -0
- package/ios/Tests/SearchDrillInTests.swift +16 -16
- package/ios/Tests/SectionPresentationTests.swift +90 -0
- package/ios/Tests/SectionScopeTests.swift +87 -55
- package/ios/Tests/StyleResolverTests.swift +127 -0
- package/ios/Tests/Support/TestTypes.swift +8 -1
- package/ios/Tests/TabBarEntriesTests.swift +19 -19
- package/ios/Tests/TimedMetadataAVFoundationTests.swift +42 -0
- package/ios/Tests/TrackIdTemplateTests.swift +67 -0
- package/ios/Tests/TrackIdentityTests.swift +20 -0
- package/ios/Tests/TrackSelectorTests.swift +168 -33
- package/ios/TrackPlayer.swift +63 -35
- package/ios/TrackPlayerCallbacks.swift +5 -38
- package/ios/TrackSelector.swift +45 -30
- package/ios/Util/ArtworkImageFetcher.swift +16 -1
- package/ios/Util/LRUCache.swift +4 -1
- package/ios/Util/NetworkMonitor.swift +43 -26
- package/ios/Util/SFSymbolRenderer.swift +24 -2
- package/ios/Util/SVGProcessor.swift +9 -2
- package/lib/commonjs/AudioBrowser.js +8 -8
- package/lib/commonjs/AudioBrowser.js.map +1 -1
- package/lib/commonjs/CLAUDE.md +52 -0
- package/lib/commonjs/features/browser-config.js +12 -8
- package/lib/commonjs/features/browser-config.js.map +1 -1
- package/lib/commonjs/features/browser.js +11 -3
- package/lib/commonjs/features/browser.js.map +1 -1
- package/lib/commonjs/features/carConnection.js +1 -1
- package/lib/commonjs/features/equalizer.js +1 -1
- package/lib/commonjs/features/errors.js +3 -3
- package/lib/commonjs/features/favorites.js +14 -11
- package/lib/commonjs/features/favorites.js.map +1 -1
- package/lib/commonjs/features/gate.js +16 -1
- package/lib/commonjs/features/gate.js.map +1 -1
- package/lib/commonjs/features/metadata.js +20 -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 -1
- package/lib/commonjs/features/output.js +1 -1
- package/lib/commonjs/features/playback/controls.js +4 -2
- package/lib/commonjs/features/playback/controls.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 +3 -2
- package/lib/commonjs/features/playback/progress.js.map +1 -1
- package/lib/commonjs/features/playback/rate.js +8 -1
- package/lib/commonjs/features/playback/rate.js.map +1 -1
- package/lib/commonjs/features/playback/state.js +3 -4
- package/lib/commonjs/features/playback/state.js.map +1 -1
- package/lib/commonjs/features/playback/trackPlaybackTime.js +0 -6
- package/lib/commonjs/features/playback/trackPlaybackTime.js.map +1 -1
- package/lib/commonjs/features/playback/volume.js +1 -1
- package/lib/commonjs/features/player/options.js +48 -34
- package/lib/commonjs/features/player/options.js.map +1 -1
- package/lib/commonjs/features/player/setup.js +18 -9
- package/lib/commonjs/features/player/setup.js.map +1 -1
- package/lib/commonjs/features/player/validateOptions.js +23 -0
- package/lib/commonjs/features/player/validateOptions.js.map +1 -0
- package/lib/commonjs/features/queue/activeTrack.js +15 -4
- package/lib/commonjs/features/queue/activeTrack.js.map +1 -1
- package/lib/commonjs/features/queue/queue.js +13 -6
- 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/remoteControls.js +13 -92
- package/lib/commonjs/features/remoteControls.js.map +1 -1
- package/lib/commonjs/features/sleepTimer.js +13 -1
- package/lib/commonjs/features/sleepTimer.js.map +1 -1
- package/lib/commonjs/test-utils/reactNativeStub.js +65 -0
- package/lib/commonjs/test-utils/reactNativeStub.js.map +1 -0
- package/lib/commonjs/utils/LazyNativeEmitter.js +28 -14
- package/lib/commonjs/utils/LazyNativeEmitter.js.map +1 -1
- package/lib/commonjs/utils/NativeUpdatedValue.js +31 -13
- package/lib/commonjs/utils/NativeUpdatedValue.js.map +1 -1
- package/lib/commonjs/utils/getTrackIdentity.js +24 -0
- package/lib/commonjs/utils/getTrackIdentity.js.map +1 -0
- package/lib/commonjs/utils/useNativeValueRefreshedBy.js +33 -0
- package/lib/commonjs/utils/useNativeValueRefreshedBy.js.map +1 -0
- package/lib/commonjs/web/NativeAudioBrowser.js +200 -75
- package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/LoadAttempt.js +37 -0
- package/lib/commonjs/web/TrackPlayer/LoadAttempt.js.map +1 -0
- package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js +18 -2
- package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/Player.js +254 -39
- package/lib/commonjs/web/TrackPlayer/Player.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/QueueManager.js +14 -0
- package/lib/commonjs/web/TrackPlayer/QueueManager.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/QueuePlayer.js +33 -12
- package/lib/commonjs/web/TrackPlayer/QueuePlayer.js.map +1 -1
- package/lib/commonjs/web/browser/BrowserManager.js +175 -100
- package/lib/commonjs/web/browser/BrowserManager.js.map +1 -1
- package/lib/commonjs/web/browser/FavoriteManager.js +30 -21
- package/lib/commonjs/web/browser/FavoriteManager.js.map +1 -1
- package/lib/commonjs/web/browser/SearchManager.js +18 -23
- package/lib/commonjs/web/browser/SearchManager.js.map +1 -1
- package/lib/commonjs/web/browser/assertBrowsePageShape.js +2 -2
- package/lib/commonjs/web/browser/assertBrowsePageShape.js.map +1 -1
- package/lib/commonjs/web/browser/classifyTrackNavigation.js +9 -9
- package/lib/commonjs/web/browser/classifyTrackNavigation.js.map +1 -1
- package/lib/commonjs/web/browser/sections.js +89 -0
- package/lib/commonjs/web/browser/sections.js.map +1 -0
- package/lib/commonjs/web/http/RequestConfigBuilder.js +110 -27
- package/lib/commonjs/web/http/RequestConfigBuilder.js.map +1 -1
- package/lib/commonjs/web/http/followMediaRedirect.js +219 -0
- package/lib/commonjs/web/http/followMediaRedirect.js.map +1 -0
- package/lib/commonjs/web/player/NowPlayingManager.js +4 -3
- package/lib/commonjs/web/player/NowPlayingManager.js.map +1 -1
- package/lib/commonjs/web/util/BrowserPathHelper.js +56 -11
- package/lib/commonjs/web/util/BrowserPathHelper.js.map +1 -1
- package/lib/module/AudioBrowser.js +2 -1
- package/lib/module/AudioBrowser.js.map +1 -1
- package/lib/module/CLAUDE.md +52 -0
- package/lib/module/features/browser-config.js +12 -8
- package/lib/module/features/browser-config.js.map +1 -1
- package/lib/module/features/browser.js +11 -3
- package/lib/module/features/browser.js.map +1 -1
- package/lib/module/features/carConnection.js +1 -1
- package/lib/module/features/equalizer.js +1 -1
- package/lib/module/features/errors.js +3 -3
- package/lib/module/features/favorites.js +14 -11
- package/lib/module/features/favorites.js.map +1 -1
- package/lib/module/features/gate.js +16 -1
- package/lib/module/features/gate.js.map +1 -1
- package/lib/module/features/metadata.js +20 -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 -1
- package/lib/module/features/output.js +1 -1
- package/lib/module/features/playback/controls.js +4 -2
- package/lib/module/features/playback/controls.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 +3 -2
- package/lib/module/features/playback/progress.js.map +1 -1
- package/lib/module/features/playback/rate.js +8 -1
- package/lib/module/features/playback/rate.js.map +1 -1
- package/lib/module/features/playback/state.js +3 -4
- package/lib/module/features/playback/state.js.map +1 -1
- package/lib/module/features/playback/trackPlaybackTime.js +0 -5
- package/lib/module/features/playback/trackPlaybackTime.js.map +1 -1
- package/lib/module/features/playback/volume.js +1 -1
- package/lib/module/features/player/options.js +47 -32
- package/lib/module/features/player/options.js.map +1 -1
- package/lib/module/features/player/setup.js +17 -8
- package/lib/module/features/player/setup.js.map +1 -1
- package/lib/module/features/player/validateOptions.js +19 -0
- package/lib/module/features/player/validateOptions.js.map +1 -0
- package/lib/module/features/queue/activeTrack.js +15 -4
- package/lib/module/features/queue/activeTrack.js.map +1 -1
- package/lib/module/features/queue/queue.js +13 -6
- 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/remoteControls.js +13 -92
- package/lib/module/features/remoteControls.js.map +1 -1
- package/lib/module/features/sleepTimer.js +13 -1
- package/lib/module/features/sleepTimer.js.map +1 -1
- package/lib/module/test-utils/reactNativeStub.js +58 -0
- package/lib/module/test-utils/reactNativeStub.js.map +1 -0
- package/lib/module/utils/LazyNativeEmitter.js +28 -14
- package/lib/module/utils/LazyNativeEmitter.js.map +1 -1
- package/lib/module/utils/NativeUpdatedValue.js +31 -13
- package/lib/module/utils/NativeUpdatedValue.js.map +1 -1
- package/lib/module/utils/getTrackIdentity.js +20 -0
- package/lib/module/utils/getTrackIdentity.js.map +1 -0
- package/lib/module/utils/useNativeValueRefreshedBy.js +29 -0
- package/lib/module/utils/useNativeValueRefreshedBy.js.map +1 -0
- package/lib/module/web/NativeAudioBrowser.js +200 -75
- package/lib/module/web/NativeAudioBrowser.js.map +1 -1
- package/lib/module/web/TrackPlayer/LoadAttempt.js +32 -0
- package/lib/module/web/TrackPlayer/LoadAttempt.js.map +1 -0
- package/lib/module/web/TrackPlayer/PlaybackStateMachine.js +18 -2
- package/lib/module/web/TrackPlayer/PlaybackStateMachine.js.map +1 -1
- package/lib/module/web/TrackPlayer/Player.js +254 -39
- package/lib/module/web/TrackPlayer/Player.js.map +1 -1
- package/lib/module/web/TrackPlayer/QueueManager.js +14 -0
- package/lib/module/web/TrackPlayer/QueueManager.js.map +1 -1
- package/lib/module/web/TrackPlayer/QueuePlayer.js +33 -12
- package/lib/module/web/TrackPlayer/QueuePlayer.js.map +1 -1
- package/lib/module/web/browser/BrowserManager.js +175 -100
- package/lib/module/web/browser/BrowserManager.js.map +1 -1
- package/lib/module/web/browser/FavoriteManager.js +31 -21
- package/lib/module/web/browser/FavoriteManager.js.map +1 -1
- package/lib/module/web/browser/SearchManager.js +18 -23
- package/lib/module/web/browser/SearchManager.js.map +1 -1
- package/lib/module/web/browser/assertBrowsePageShape.js +2 -2
- package/lib/module/web/browser/assertBrowsePageShape.js.map +1 -1
- package/lib/module/web/browser/classifyTrackNavigation.js +9 -9
- package/lib/module/web/browser/classifyTrackNavigation.js.map +1 -1
- package/lib/module/web/browser/sections.js +83 -0
- package/lib/module/web/browser/sections.js.map +1 -0
- package/lib/module/web/http/RequestConfigBuilder.js +110 -27
- package/lib/module/web/http/RequestConfigBuilder.js.map +1 -1
- package/lib/module/web/http/followMediaRedirect.js +215 -0
- package/lib/module/web/http/followMediaRedirect.js.map +1 -0
- package/lib/module/web/player/NowPlayingManager.js +4 -3
- package/lib/module/web/player/NowPlayingManager.js.map +1 -1
- package/lib/module/web/util/BrowserPathHelper.js +56 -11
- package/lib/module/web/util/BrowserPathHelper.js.map +1 -1
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/AudioBrowser.d.ts +1 -1
- package/lib/typescript/src/AudioBrowser.d.ts.map +1 -1
- package/lib/typescript/src/features/browser-config.d.ts.map +1 -1
- package/lib/typescript/src/features/browser.d.ts +10 -2
- package/lib/typescript/src/features/browser.d.ts.map +1 -1
- package/lib/typescript/src/features/carConnection.d.ts +1 -1
- package/lib/typescript/src/features/equalizer.d.ts +1 -1
- package/lib/typescript/src/features/errors.d.ts +3 -3
- package/lib/typescript/src/features/favorites.d.ts +14 -11
- package/lib/typescript/src/features/favorites.d.ts.map +1 -1
- package/lib/typescript/src/features/gate.d.ts +18 -2
- package/lib/typescript/src/features/gate.d.ts.map +1 -1
- package/lib/typescript/src/features/metadata.d.ts +20 -3
- 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 -1
- package/lib/typescript/src/features/output.d.ts +1 -1
- package/lib/typescript/src/features/playback/controls.d.ts +4 -2
- package/lib/typescript/src/features/playback/controls.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 -1
- package/lib/typescript/src/features/playback/progress.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/rate.d.ts +8 -1
- package/lib/typescript/src/features/playback/rate.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/state.d.ts +3 -4
- package/lib/typescript/src/features/playback/state.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts +1 -1
- package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/volume.d.ts +1 -1
- package/lib/typescript/src/features/player/options.d.ts +108 -56
- package/lib/typescript/src/features/player/options.d.ts.map +1 -1
- package/lib/typescript/src/features/player/setup.d.ts +14 -4
- package/lib/typescript/src/features/player/setup.d.ts.map +1 -1
- package/lib/typescript/src/features/player/validateOptions.d.ts +2 -0
- package/lib/typescript/src/features/player/validateOptions.d.ts.map +1 -0
- package/lib/typescript/src/features/queue/activeTrack.d.ts +9 -2
- package/lib/typescript/src/features/queue/activeTrack.d.ts.map +1 -1
- package/lib/typescript/src/features/queue/queue.d.ts +7 -4
- 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/remoteControls.d.ts +23 -22
- package/lib/typescript/src/features/remoteControls.d.ts.map +1 -1
- package/lib/typescript/src/features/sleepTimer.d.ts +1 -1
- package/lib/typescript/src/features/sleepTimer.d.ts.map +1 -1
- package/lib/typescript/src/test-utils/reactNativeStub.d.ts +36 -0
- package/lib/typescript/src/test-utils/reactNativeStub.d.ts.map +1 -0
- package/lib/typescript/src/types/browser-native.d.ts +3 -2
- package/lib/typescript/src/types/browser-native.d.ts.map +1 -1
- package/lib/typescript/src/types/browser-nodes.d.ts +380 -126
- package/lib/typescript/src/types/browser-nodes.d.ts.map +1 -1
- package/lib/typescript/src/types/browser.d.ts +82 -57
- package/lib/typescript/src/types/browser.d.ts.map +1 -1
- package/lib/typescript/src/utils/LazyNativeEmitter.d.ts +19 -16
- package/lib/typescript/src/utils/LazyNativeEmitter.d.ts.map +1 -1
- package/lib/typescript/src/utils/NativeUpdatedValue.d.ts +24 -19
- package/lib/typescript/src/utils/NativeUpdatedValue.d.ts.map +1 -1
- package/lib/typescript/src/utils/getTrackIdentity.d.ts +18 -0
- package/lib/typescript/src/utils/getTrackIdentity.d.ts.map +1 -0
- package/lib/typescript/src/utils/useNativeValueRefreshedBy.d.ts +21 -0
- package/lib/typescript/src/utils/useNativeValueRefreshedBy.d.ts.map +1 -0
- package/nitrogen/generated/android/AudioBrowser+autolinking.cmake +1 -2
- package/nitrogen/generated/android/AudioBrowserOnLoad.cpp +2 -0
- package/nitrogen/generated/android/c++/JAndroidOptions.hpp +10 -10
- package/nitrogen/generated/android/c++/{JFavoritesMatchMode.hpp → JArtworkRendering.hpp} +15 -15
- package/nitrogen/generated/android/c++/JArtworkRequestConfig.hpp +8 -3
- package/nitrogen/generated/android/c++/JBrowseResult.hpp +16 -4
- package/nitrogen/generated/android/c++/JCarPlayPlayingIndicatorLocation.hpp +58 -0
- package/nitrogen/generated/android/c++/JCardImage.hpp +58 -0
- package/nitrogen/generated/android/c++/JFavoriteChangedEvent.hpp +8 -3
- package/nitrogen/generated/android/c++/JFormatNowPlayingParams.hpp +8 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___Track.hpp +8 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.hpp +8 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_std__string____Track.hpp +8 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.hpp +8 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.hpp +8 -2
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.hpp +8 -2
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__string__.hpp +102 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.hpp +16 -4
- package/nitrogen/generated/android/c++/JFunc_void_FavoriteChangedEvent.hpp +8 -3
- package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +7 -10
- package/nitrogen/generated/android/c++/JFunc_void_PlaybackActiveTrackChangedEvent.hpp +8 -3
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_ResolvedTrack_.hpp +15 -3
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_Track_.hpp +8 -2
- package/nitrogen/generated/android/c++/JGridTile.hpp +61 -0
- package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +45 -25
- package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JIOSOptions.hpp +9 -3
- package/nitrogen/generated/android/c++/JImageShape.hpp +58 -0
- package/nitrogen/generated/android/c++/JMediaRequestConfig.hpp +8 -3
- package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +36 -11
- package/nitrogen/generated/android/c++/JNativeRouteEntry.hpp +14 -2
- package/nitrogen/generated/android/c++/JNativeSetupPlayerOptions.hpp +15 -12
- package/nitrogen/generated/android/c++/JNativeUpdateOptions.hpp +7 -10
- package/nitrogen/generated/android/c++/JNitroAndroidUpdateOptions.hpp +10 -10
- package/nitrogen/generated/android/c++/JNitroIOSUpdateOptions.hpp +9 -3
- package/nitrogen/generated/android/c++/JOptions.hpp +7 -10
- package/nitrogen/generated/android/c++/JPlaybackActiveTrackChangedEvent.hpp +8 -3
- package/nitrogen/generated/android/c++/JPlayerCapabilities.hpp +5 -11
- package/nitrogen/generated/android/c++/{JNotificationButton.hpp → JRemoteButton.hpp} +19 -19
- package/nitrogen/generated/android/c++/JRemoteButtonLayout.hpp +86 -0
- package/nitrogen/generated/android/c++/JResolvedTrack.hpp +57 -49
- package/nitrogen/generated/android/c++/JSection.hpp +116 -0
- package/nitrogen/generated/android/c++/JSectionStyle.hpp +96 -0
- package/nitrogen/generated/android/c++/JStyleDisplay.hpp +58 -0
- package/nitrogen/generated/android/c++/JTrack.hpp +25 -46
- package/nitrogen/generated/android/c++/JTrackLoadEvent.hpp +8 -2
- package/nitrogen/generated/android/c++/JTrackStyle.hpp +46 -18
- package/nitrogen/generated/android/c++/JVariant_NullType_RemoteButtonLayout.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_RemoteButtonLayout.hpp +75 -0
- package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.hpp +16 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidOptions.kt +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoritesMatchMode.kt → ArtworkRendering.kt} +5 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CarPlayPlayingIndicatorLocation.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CardImage.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__string__.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/GridTile.kt +24 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/HybridAudioBrowserSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSOptions.kt +6 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageShape.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeBrowserConfiguration.kt +8 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroAndroidUpdateOptions.kt +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroIOSUpdateOptions.kt +6 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlayerCapabilities.kt +2 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{NotificationButton.kt → RemoteButton.kt} +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteButtonLayout.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ResolvedTrack.kt +12 -15
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoriteConfig.kt → Section.kt} +15 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SectionStyle.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/StyleDisplay.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Track.kt +6 -12
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackStyle.kt +35 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Variant_NullType_NotificationButtonLayout.kt → Variant_NullType_RemoteButtonLayout.kt} +9 -9
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.cpp +9 -0
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +244 -133
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +31 -16
- package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +33 -18
- package/nitrogen/generated/ios/swift/AndroidOptions.swift +12 -12
- package/nitrogen/generated/ios/swift/ArtworkRendering.swift +40 -0
- package/nitrogen/generated/ios/swift/CarPlayPlayingIndicatorLocation.swift +40 -0
- package/nitrogen/generated/ios/swift/CardImage.swift +40 -0
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__string__.swift +54 -0
- package/nitrogen/generated/ios/swift/GridTile.swift +44 -0
- package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec_cxx.swift +2 -2
- package/nitrogen/generated/ios/swift/IOSOptions.swift +7 -2
- package/nitrogen/generated/ios/swift/ImageShape.swift +40 -0
- package/nitrogen/generated/ios/swift/NativeBrowserConfiguration.swift +52 -5
- package/nitrogen/generated/ios/swift/NitroAndroidUpdateOptions.swift +12 -12
- package/nitrogen/generated/ios/swift/NitroIOSUpdateOptions.swift +12 -1
- package/nitrogen/generated/ios/swift/PlayerCapabilities.swift +8 -27
- package/nitrogen/generated/ios/swift/{NotificationButton.swift → RemoteButton.swift} +6 -6
- package/nitrogen/generated/ios/swift/RemoteButtonLayout.swift +57 -0
- package/nitrogen/generated/ios/swift/ResolvedTrack.swift +62 -73
- package/nitrogen/generated/ios/swift/Section.swift +82 -0
- package/nitrogen/generated/ios/swift/SectionStyle.swift +133 -0
- package/nitrogen/generated/ios/swift/StyleDisplay.swift +40 -0
- package/nitrogen/generated/ios/swift/Track.swift +28 -63
- package/nitrogen/generated/ios/swift/TrackStyle.swift +86 -22
- package/nitrogen/generated/ios/swift/{Variant_NullType_NotificationButtonLayout.swift → Variant_NullType_RemoteButtonLayout.swift} +3 -3
- package/nitrogen/generated/shared/c++/AndroidOptions.hpp +8 -8
- package/nitrogen/generated/shared/c++/{FavoritesMatchMode.hpp → ArtworkRendering.hpp} +17 -17
- package/nitrogen/generated/shared/c++/CarPlayPlayingIndicatorLocation.hpp +76 -0
- package/nitrogen/generated/shared/c++/CardImage.hpp +76 -0
- package/nitrogen/generated/shared/c++/GridTile.hpp +80 -0
- package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/IOSOptions.hpp +9 -2
- package/nitrogen/generated/shared/c++/ImageShape.hpp +76 -0
- package/nitrogen/generated/shared/c++/NativeBrowserConfiguration.hpp +10 -6
- package/nitrogen/generated/shared/c++/NitroAndroidUpdateOptions.hpp +8 -8
- package/nitrogen/generated/shared/c++/NitroIOSUpdateOptions.hpp +9 -2
- package/nitrogen/generated/shared/c++/PlayerCapabilities.hpp +6 -9
- package/nitrogen/generated/shared/c++/{NotificationButton.hpp → RemoteButton.hpp} +19 -19
- package/nitrogen/generated/shared/c++/RemoteButtonLayout.hpp +94 -0
- package/nitrogen/generated/shared/c++/ResolvedTrack.hpp +33 -37
- package/nitrogen/generated/shared/c++/Section.hpp +102 -0
- package/nitrogen/generated/shared/c++/SectionStyle.hpp +126 -0
- package/nitrogen/generated/shared/c++/StyleDisplay.hpp +76 -0
- package/nitrogen/generated/shared/c++/Track.hpp +18 -30
- package/nitrogen/generated/shared/c++/TrackStyle.hpp +73 -34
- package/package.json +24 -11
- package/src/AudioBrowser.ts +2 -1
- package/src/CLAUDE.md +52 -0
- package/src/features/battery.test.ts +79 -0
- package/src/features/browser-config.test.ts +21 -6
- package/src/features/browser-config.ts +12 -8
- package/src/features/browser.test.ts +1 -1
- package/src/features/browser.ts +11 -3
- package/src/features/carConnection.ts +1 -1
- package/src/features/equalizer.ts +1 -1
- package/src/features/errors.ts +3 -3
- package/src/features/favorites.ts +14 -11
- package/src/features/gate.ts +16 -1
- package/src/features/hook-wiring.test.ts +302 -0
- package/src/features/metadata.ts +20 -3
- package/src/features/network.ts +1 -1
- package/src/features/nowPlaying.ts +1 -1
- package/src/features/output.ts +1 -1
- package/src/features/playback/controls.ts +4 -2
- package/src/features/playback/playWhenReady.ts +1 -1
- package/src/features/playback/playing.ts +1 -1
- package/src/features/playback/progress.test.ts +169 -0
- package/src/features/playback/progress.ts +3 -2
- package/src/features/playback/rate.ts +8 -1
- package/src/features/playback/state.ts +3 -4
- package/src/features/playback/trackPlaybackTime.test.ts +16 -6
- package/src/features/playback/trackPlaybackTime.ts +1 -6
- package/src/features/playback/volume.ts +1 -1
- package/src/features/player/options.ts +126 -76
- package/src/features/player/setup.test.ts +24 -7
- package/src/features/player/setup.ts +22 -10
- package/src/features/player/validateOptions.ts +21 -0
- package/src/features/queue/activeTrack.ts +15 -4
- package/src/features/queue/queue.ts +13 -6
- package/src/features/queue/repeatMode.ts +1 -1
- package/src/features/queue/shuffle.ts +1 -1
- package/src/features/remoteControls.ts +13 -92
- package/src/features/sleepTimer.test.ts +172 -0
- package/src/features/sleepTimer.ts +9 -1
- package/src/nitro-stub-drift.test.ts +277 -0
- package/src/public-surface.test.ts +147 -0
- package/src/specs/audio-browser.nitro.ts +5 -4
- package/src/style-resolution.test.ts +210 -0
- package/src/test-utils/reactNativeStub.ts +60 -0
- package/src/types/browser-native.ts +7 -3
- package/src/types/browser-nodes.ts +396 -134
- package/src/types/browser.ts +85 -59
- package/src/utils/LazyNativeEmitter.ts +28 -15
- package/src/utils/NativeUpdatedValue.ts +29 -13
- package/src/utils/getTrackIdentity.ts +20 -0
- package/src/utils/useDebug.test.ts +182 -0
- package/src/utils/useNativeUpdatedValue.test.ts +103 -0
- package/src/utils/useNativeValueRefreshedBy.ts +38 -0
- package/src/web/NativeAudioBrowser.playWhenReady.test.ts +232 -2
- package/src/web/NativeAudioBrowser.ts +239 -82
- package/src/web/TrackPlayer/LoadAttempt.ts +29 -0
- package/src/web/TrackPlayer/PlaybackStateMachine.test.ts +60 -13
- package/src/web/TrackPlayer/PlaybackStateMachine.ts +22 -6
- package/src/web/TrackPlayer/Player.dispatch.test.ts +5 -3
- package/src/web/TrackPlayer/Player.load.test.ts +137 -1
- package/src/web/TrackPlayer/Player.ts +284 -37
- package/src/web/TrackPlayer/QueueManager.test.ts +29 -0
- package/src/web/TrackPlayer/QueueManager.ts +14 -0
- package/src/web/TrackPlayer/QueuePlayer.ts +33 -14
- package/src/web/__tests__/lifecycle.test.ts +345 -0
- package/src/web/__tests__/lifecycleHarness.ts +351 -0
- package/src/web/__tests__/loadEdgeCases.test.ts +246 -0
- package/src/web/__tests__/loadSupersession.test.ts +175 -0
- package/src/web/__tests__/retry.test.ts +169 -0
- package/src/web/browser/BrowserManager.ts +209 -111
- package/src/web/browser/FavoriteManager.test.ts +84 -0
- package/src/web/browser/FavoriteManager.ts +28 -23
- package/src/web/browser/SearchManager.test.ts +75 -0
- package/src/web/browser/SearchManager.ts +25 -28
- package/src/web/browser/__tests__/artwork-resolution.test.ts +117 -0
- package/src/web/browser/__tests__/layer-resolver.test.ts +35 -0
- package/src/web/browser/__tests__/search-artwork.test.ts +46 -0
- package/src/web/browser/__tests__/search-navigation.test.ts +76 -0
- package/src/web/browser/assertBrowsePageShape.test.ts +1 -1
- package/src/web/browser/assertBrowsePageShape.ts +5 -3
- package/src/web/browser/classifyTrackNavigation.test.ts +10 -8
- package/src/web/browser/classifyTrackNavigation.ts +9 -9
- package/src/web/browser/parseSearchResponse.test.ts +8 -2
- package/src/web/browser/sections.test.ts +91 -0
- package/src/web/browser/sections.ts +72 -0
- package/src/web/http/RequestConfigBuilder.test.ts +241 -1
- package/src/web/http/RequestConfigBuilder.ts +140 -33
- package/src/web/http/followMediaRedirect.test.ts +289 -0
- package/src/web/http/followMediaRedirect.ts +253 -0
- package/src/web/player/NowPlayingManager.ts +4 -3
- package/src/web/util/BrowserPathHelper.test.ts +52 -0
- package/src/web/util/BrowserPathHelper.ts +61 -13
- package/website/guide/android-auto.md +114 -0
- package/website/guide/android-certificates.md +409 -0
- package/website/guide/artwork.md +255 -0
- package/website/guide/audio-output.md +135 -0
- package/website/guide/automotive.md +86 -0
- package/website/guide/basic-usage.md +151 -0
- package/website/guide/battery.md +115 -0
- package/website/guide/browser.md +581 -0
- package/website/guide/carplay.md +620 -0
- package/website/guide/configuration.md +173 -0
- package/website/guide/equalizer.md +231 -0
- package/website/guide/errors.md +310 -0
- package/website/guide/favorites.md +154 -0
- package/website/guide/gate.md +143 -0
- package/website/guide/getting-started.md +46 -0
- package/website/guide/hooks.md +238 -0
- package/website/guide/live-streams.md +125 -0
- package/website/guide/metadata.md +239 -0
- package/website/guide/migrating-from-track-player.md +244 -0
- package/website/guide/native-callback-fetch.md +127 -0
- package/website/guide/network.md +86 -0
- package/website/guide/now-playing.md +175 -0
- package/website/guide/playback.md +328 -0
- package/website/guide/queue.md +300 -0
- package/website/guide/remote-controls.md +256 -0
- package/website/guide/search.md +255 -0
- package/website/guide/sleep-timer.md +268 -0
- package/website/guide/track.md +247 -0
- package/ios/CarPlay/ImageRowItem+CarPlay.swift +0 -19
- package/ios/Model/MediaURL.swift +0 -67
- package/nitrogen/generated/android/c++/JFavoriteConfig.hpp +0 -58
- package/nitrogen/generated/android/c++/JImageRowItem.hpp +0 -105
- package/nitrogen/generated/android/c++/JNotificationButtonLayout.hpp +0 -94
- 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_NotificationButtonLayout.cpp +0 -26
- package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.hpp +0 -75
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageRowItem.kt +0 -68
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NotificationButtonLayout.kt +0 -50
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_FavoriteConfig.kt +0 -53
- package/nitrogen/generated/ios/swift/FavoriteConfig.swift +0 -29
- package/nitrogen/generated/ios/swift/FavoritesMatchMode.swift +0 -40
- package/nitrogen/generated/ios/swift/ImageRowItem.swift +0 -195
- package/nitrogen/generated/ios/swift/NotificationButtonLayout.swift +0 -92
- package/nitrogen/generated/ios/swift/Variant_Bool_FavoriteConfig.swift +0 -18
- package/nitrogen/generated/shared/c++/FavoriteConfig.hpp +0 -84
- package/nitrogen/generated/shared/c++/ImageRowItem.hpp +0 -129
- package/nitrogen/generated/shared/c++/NotificationButtonLayout.hpp +0 -102
|
@@ -18,6 +18,8 @@ namespace margelo::nitro::audiobrowser { struct AndroidOptions; }
|
|
|
18
18
|
namespace margelo::nitro::audiobrowser { enum class AndroidPlayerWakeMode; }
|
|
19
19
|
// Forward declaration of `AppKilledPlaybackBehavior` to properly resolve imports.
|
|
20
20
|
namespace margelo::nitro::audiobrowser { enum class AppKilledPlaybackBehavior; }
|
|
21
|
+
// Forward declaration of `ArtworkRendering` to properly resolve imports.
|
|
22
|
+
namespace margelo::nitro::audiobrowser { enum class ArtworkRendering; }
|
|
21
23
|
// Forward declaration of `ArtworkRequestConfig` to properly resolve imports.
|
|
22
24
|
namespace margelo::nitro::audiobrowser { struct ArtworkRequestConfig; }
|
|
23
25
|
// Forward declaration of `ArtworkVariants` to properly resolve imports.
|
|
@@ -34,18 +36,18 @@ namespace margelo::nitro::audiobrowser { struct BrowseError; }
|
|
|
34
36
|
namespace margelo::nitro::audiobrowser { struct BrowserSourceCallbackParam; }
|
|
35
37
|
// Forward declaration of `CarPlayNowPlayingButton` to properly resolve imports.
|
|
36
38
|
namespace margelo::nitro::audiobrowser { enum class CarPlayNowPlayingButton; }
|
|
39
|
+
// Forward declaration of `CarPlayPlayingIndicatorLocation` to properly resolve imports.
|
|
40
|
+
namespace margelo::nitro::audiobrowser { enum class CarPlayPlayingIndicatorLocation; }
|
|
37
41
|
// Forward declaration of `CarPlaySiriListButtonPosition` to properly resolve imports.
|
|
38
42
|
namespace margelo::nitro::audiobrowser { enum class CarPlaySiriListButtonPosition; }
|
|
43
|
+
// Forward declaration of `CardImage` to properly resolve imports.
|
|
44
|
+
namespace margelo::nitro::audiobrowser { enum class CardImage; }
|
|
39
45
|
// Forward declaration of `ChapterMetadata` to properly resolve imports.
|
|
40
46
|
namespace margelo::nitro::audiobrowser { struct ChapterMetadata; }
|
|
41
47
|
// Forward declaration of `EqualizerSettings` to properly resolve imports.
|
|
42
48
|
namespace margelo::nitro::audiobrowser { struct EqualizerSettings; }
|
|
43
49
|
// Forward declaration of `FavoriteChangedEvent` to properly resolve imports.
|
|
44
50
|
namespace margelo::nitro::audiobrowser { struct FavoriteChangedEvent; }
|
|
45
|
-
// Forward declaration of `FavoriteConfig` to properly resolve imports.
|
|
46
|
-
namespace margelo::nitro::audiobrowser { struct FavoriteConfig; }
|
|
47
|
-
// Forward declaration of `FavoritesMatchMode` to properly resolve imports.
|
|
48
|
-
namespace margelo::nitro::audiobrowser { enum class FavoritesMatchMode; }
|
|
49
51
|
// Forward declaration of `FormatNavigationErrorParams` to properly resolve imports.
|
|
50
52
|
namespace margelo::nitro::audiobrowser { struct FormatNavigationErrorParams; }
|
|
51
53
|
// Forward declaration of `FormatNowPlayingParams` to properly resolve imports.
|
|
@@ -60,6 +62,8 @@ namespace margelo::nitro::audiobrowser { struct GateEvent; }
|
|
|
60
62
|
namespace margelo::nitro::audiobrowser { enum class GateReason; }
|
|
61
63
|
// Forward declaration of `Gate` to properly resolve imports.
|
|
62
64
|
namespace margelo::nitro::audiobrowser { struct Gate; }
|
|
65
|
+
// Forward declaration of `GridTile` to properly resolve imports.
|
|
66
|
+
namespace margelo::nitro::audiobrowser { enum class GridTile; }
|
|
63
67
|
// Forward declaration of `HttpMethod` to properly resolve imports.
|
|
64
68
|
namespace margelo::nitro::audiobrowser { enum class HttpMethod; }
|
|
65
69
|
// Forward declaration of `HybridAudioBrowserSpec` to properly resolve imports.
|
|
@@ -78,8 +82,8 @@ namespace margelo::nitro::audiobrowser { struct IOSOptions; }
|
|
|
78
82
|
namespace margelo::nitro::audiobrowser { struct ImageContext; }
|
|
79
83
|
// Forward declaration of `ImageQueryParams` to properly resolve imports.
|
|
80
84
|
namespace margelo::nitro::audiobrowser { struct ImageQueryParams; }
|
|
81
|
-
// Forward declaration of `
|
|
82
|
-
namespace margelo::nitro::audiobrowser {
|
|
85
|
+
// Forward declaration of `ImageShape` to properly resolve imports.
|
|
86
|
+
namespace margelo::nitro::audiobrowser { enum class ImageShape; }
|
|
83
87
|
// Forward declaration of `ImageSource` to properly resolve imports.
|
|
84
88
|
namespace margelo::nitro::audiobrowser { struct ImageSource; }
|
|
85
89
|
// Forward declaration of `MediaReference` to properly resolve imports.
|
|
@@ -112,10 +116,6 @@ namespace margelo::nitro::audiobrowser { struct NavigationError; }
|
|
|
112
116
|
namespace margelo::nitro::audiobrowser { struct NitroAndroidUpdateOptions; }
|
|
113
117
|
// Forward declaration of `NitroIOSUpdateOptions` to properly resolve imports.
|
|
114
118
|
namespace margelo::nitro::audiobrowser { struct NitroIOSUpdateOptions; }
|
|
115
|
-
// Forward declaration of `NotificationButtonLayout` to properly resolve imports.
|
|
116
|
-
namespace margelo::nitro::audiobrowser { struct NotificationButtonLayout; }
|
|
117
|
-
// Forward declaration of `NotificationButton` to properly resolve imports.
|
|
118
|
-
namespace margelo::nitro::audiobrowser { enum class NotificationButton; }
|
|
119
119
|
// Forward declaration of `NowPlayingMetadata` to properly resolve imports.
|
|
120
120
|
namespace margelo::nitro::audiobrowser { struct NowPlayingMetadata; }
|
|
121
121
|
// Forward declaration of `NowPlayingUpdate` to properly resolve imports.
|
|
@@ -150,6 +150,10 @@ namespace margelo::nitro::audiobrowser { struct PlayerCapabilities; }
|
|
|
150
150
|
namespace margelo::nitro::audiobrowser { struct PlayingState; }
|
|
151
151
|
// Forward declaration of `Progress` to properly resolve imports.
|
|
152
152
|
namespace margelo::nitro::audiobrowser { struct Progress; }
|
|
153
|
+
// Forward declaration of `RemoteButtonLayout` to properly resolve imports.
|
|
154
|
+
namespace margelo::nitro::audiobrowser { struct RemoteButtonLayout; }
|
|
155
|
+
// Forward declaration of `RemoteButton` to properly resolve imports.
|
|
156
|
+
namespace margelo::nitro::audiobrowser { enum class RemoteButton; }
|
|
153
157
|
// Forward declaration of `RemoteJumpBackwardEvent` to properly resolve imports.
|
|
154
158
|
namespace margelo::nitro::audiobrowser { struct RemoteJumpBackwardEvent; }
|
|
155
159
|
// Forward declaration of `RemoteJumpForwardEvent` to properly resolve imports.
|
|
@@ -176,12 +180,18 @@ namespace margelo::nitro::audiobrowser { struct RetryConfig; }
|
|
|
176
180
|
namespace margelo::nitro::audiobrowser { enum class SearchMode; }
|
|
177
181
|
// Forward declaration of `SearchParams` to properly resolve imports.
|
|
178
182
|
namespace margelo::nitro::audiobrowser { struct SearchParams; }
|
|
183
|
+
// Forward declaration of `SectionStyle` to properly resolve imports.
|
|
184
|
+
namespace margelo::nitro::audiobrowser { struct SectionStyle; }
|
|
185
|
+
// Forward declaration of `Section` to properly resolve imports.
|
|
186
|
+
namespace margelo::nitro::audiobrowser { struct Section; }
|
|
179
187
|
// Forward declaration of `SleepTimerEndOfTrack` to properly resolve imports.
|
|
180
188
|
namespace margelo::nitro::audiobrowser { struct SleepTimerEndOfTrack; }
|
|
181
189
|
// Forward declaration of `SleepTimerTime` to properly resolve imports.
|
|
182
190
|
namespace margelo::nitro::audiobrowser { struct SleepTimerTime; }
|
|
183
191
|
// Forward declaration of `StallReason` to properly resolve imports.
|
|
184
192
|
namespace margelo::nitro::audiobrowser { enum class StallReason; }
|
|
193
|
+
// Forward declaration of `StyleDisplay` to properly resolve imports.
|
|
194
|
+
namespace margelo::nitro::audiobrowser { enum class StyleDisplay; }
|
|
185
195
|
// Forward declaration of `TimedMetadata` to properly resolve imports.
|
|
186
196
|
namespace margelo::nitro::audiobrowser { struct TimedMetadata; }
|
|
187
197
|
// Forward declaration of `TrackLoadEvent` to properly resolve imports.
|
|
@@ -191,7 +201,7 @@ namespace margelo::nitro::audiobrowser { struct TrackMetadata; }
|
|
|
191
201
|
// Forward declaration of `TrackRequest` to properly resolve imports.
|
|
192
202
|
namespace margelo::nitro::audiobrowser { struct TrackRequest; }
|
|
193
203
|
// Forward declaration of `TrackStyle` to properly resolve imports.
|
|
194
|
-
namespace margelo::nitro::audiobrowser {
|
|
204
|
+
namespace margelo::nitro::audiobrowser { struct TrackStyle; }
|
|
195
205
|
// Forward declaration of `Track` to properly resolve imports.
|
|
196
206
|
namespace margelo::nitro::audiobrowser { struct Track; }
|
|
197
207
|
// Forward declaration of `TransformableRequestConfig` to properly resolve imports.
|
|
@@ -203,6 +213,7 @@ namespace margelo::nitro::audiobrowser { struct TransformableRequestConfig; }
|
|
|
203
213
|
#include "AndroidOptions.hpp"
|
|
204
214
|
#include "AndroidPlayerWakeMode.hpp"
|
|
205
215
|
#include "AppKilledPlaybackBehavior.hpp"
|
|
216
|
+
#include "ArtworkRendering.hpp"
|
|
206
217
|
#include "ArtworkRequestConfig.hpp"
|
|
207
218
|
#include "ArtworkVariants.hpp"
|
|
208
219
|
#include "BatteryOptimizationStatus.hpp"
|
|
@@ -211,12 +222,12 @@ namespace margelo::nitro::audiobrowser { struct TransformableRequestConfig; }
|
|
|
211
222
|
#include "BrowseError.hpp"
|
|
212
223
|
#include "BrowserSourceCallbackParam.hpp"
|
|
213
224
|
#include "CarPlayNowPlayingButton.hpp"
|
|
225
|
+
#include "CarPlayPlayingIndicatorLocation.hpp"
|
|
214
226
|
#include "CarPlaySiriListButtonPosition.hpp"
|
|
227
|
+
#include "CardImage.hpp"
|
|
215
228
|
#include "ChapterMetadata.hpp"
|
|
216
229
|
#include "EqualizerSettings.hpp"
|
|
217
230
|
#include "FavoriteChangedEvent.hpp"
|
|
218
|
-
#include "FavoriteConfig.hpp"
|
|
219
|
-
#include "FavoritesMatchMode.hpp"
|
|
220
231
|
#include "FormatNavigationErrorParams.hpp"
|
|
221
232
|
#include "FormatNowPlayingParams.hpp"
|
|
222
233
|
#include "FormattedNavigationError.hpp"
|
|
@@ -224,6 +235,7 @@ namespace margelo::nitro::audiobrowser { struct TransformableRequestConfig; }
|
|
|
224
235
|
#include "GateDecision.hpp"
|
|
225
236
|
#include "GateEvent.hpp"
|
|
226
237
|
#include "GateReason.hpp"
|
|
238
|
+
#include "GridTile.hpp"
|
|
227
239
|
#include "HttpMethod.hpp"
|
|
228
240
|
#include "HybridAudioBrowserSpec.hpp"
|
|
229
241
|
#include "IOSCategory.hpp"
|
|
@@ -233,7 +245,7 @@ namespace margelo::nitro::audiobrowser { struct TransformableRequestConfig; }
|
|
|
233
245
|
#include "IOSOptions.hpp"
|
|
234
246
|
#include "ImageContext.hpp"
|
|
235
247
|
#include "ImageQueryParams.hpp"
|
|
236
|
-
#include "
|
|
248
|
+
#include "ImageShape.hpp"
|
|
237
249
|
#include "ImageSource.hpp"
|
|
238
250
|
#include "MediaReference.hpp"
|
|
239
251
|
#include "MediaRequestConfig.hpp"
|
|
@@ -250,8 +262,6 @@ namespace margelo::nitro::audiobrowser { struct TransformableRequestConfig; }
|
|
|
250
262
|
#include "NavigationErrorType.hpp"
|
|
251
263
|
#include "NitroAndroidUpdateOptions.hpp"
|
|
252
264
|
#include "NitroIOSUpdateOptions.hpp"
|
|
253
|
-
#include "NotificationButton.hpp"
|
|
254
|
-
#include "NotificationButtonLayout.hpp"
|
|
255
265
|
#include "NowPlayingMetadata.hpp"
|
|
256
266
|
#include "NowPlayingUpdate.hpp"
|
|
257
267
|
#include "Options.hpp"
|
|
@@ -269,6 +279,8 @@ namespace margelo::nitro::audiobrowser { struct TransformableRequestConfig; }
|
|
|
269
279
|
#include "PlayerCapabilities.hpp"
|
|
270
280
|
#include "PlayingState.hpp"
|
|
271
281
|
#include "Progress.hpp"
|
|
282
|
+
#include "RemoteButton.hpp"
|
|
283
|
+
#include "RemoteButtonLayout.hpp"
|
|
272
284
|
#include "RemoteJumpBackwardEvent.hpp"
|
|
273
285
|
#include "RemoteJumpForwardEvent.hpp"
|
|
274
286
|
#include "RemotePlayIdEvent.hpp"
|
|
@@ -282,9 +294,12 @@ namespace margelo::nitro::audiobrowser { struct TransformableRequestConfig; }
|
|
|
282
294
|
#include "RetryConfig.hpp"
|
|
283
295
|
#include "SearchMode.hpp"
|
|
284
296
|
#include "SearchParams.hpp"
|
|
297
|
+
#include "Section.hpp"
|
|
298
|
+
#include "SectionStyle.hpp"
|
|
285
299
|
#include "SleepTimerEndOfTrack.hpp"
|
|
286
300
|
#include "SleepTimerTime.hpp"
|
|
287
301
|
#include "StallReason.hpp"
|
|
302
|
+
#include "StyleDisplay.hpp"
|
|
288
303
|
#include "TimedMetadata.hpp"
|
|
289
304
|
#include "Track.hpp"
|
|
290
305
|
#include "TrackLoadEvent.hpp"
|
|
@@ -23,11 +23,23 @@ namespace margelo::nitro::audiobrowser { enum class HttpMethod; }
|
|
|
23
23
|
// Forward declaration of `TrackRequest` to properly resolve imports.
|
|
24
24
|
namespace margelo::nitro::audiobrowser { struct TrackRequest; }
|
|
25
25
|
// Forward declaration of `TrackStyle` to properly resolve imports.
|
|
26
|
-
namespace margelo::nitro::audiobrowser {
|
|
27
|
-
// Forward declaration of `
|
|
28
|
-
namespace margelo::nitro::audiobrowser {
|
|
26
|
+
namespace margelo::nitro::audiobrowser { struct TrackStyle; }
|
|
27
|
+
// Forward declaration of `StyleDisplay` to properly resolve imports.
|
|
28
|
+
namespace margelo::nitro::audiobrowser { enum class StyleDisplay; }
|
|
29
|
+
// Forward declaration of `ArtworkRendering` to properly resolve imports.
|
|
30
|
+
namespace margelo::nitro::audiobrowser { enum class ArtworkRendering; }
|
|
31
|
+
// Forward declaration of `ImageShape` to properly resolve imports.
|
|
32
|
+
namespace margelo::nitro::audiobrowser { enum class ImageShape; }
|
|
33
|
+
// Forward declaration of `CardImage` to properly resolve imports.
|
|
34
|
+
namespace margelo::nitro::audiobrowser { enum class CardImage; }
|
|
29
35
|
// Forward declaration of `ResolvedTrack` to properly resolve imports.
|
|
30
36
|
namespace margelo::nitro::audiobrowser { struct ResolvedTrack; }
|
|
37
|
+
// Forward declaration of `SectionStyle` to properly resolve imports.
|
|
38
|
+
namespace margelo::nitro::audiobrowser { struct SectionStyle; }
|
|
39
|
+
// Forward declaration of `GridTile` to properly resolve imports.
|
|
40
|
+
namespace margelo::nitro::audiobrowser { enum class GridTile; }
|
|
41
|
+
// Forward declaration of `Section` to properly resolve imports.
|
|
42
|
+
namespace margelo::nitro::audiobrowser { struct Section; }
|
|
31
43
|
// Forward declaration of `CarPlaySiriListButtonPosition` to properly resolve imports.
|
|
32
44
|
namespace margelo::nitro::audiobrowser { enum class CarPlaySiriListButtonPosition; }
|
|
33
45
|
// Forward declaration of `NavigationErrorEvent` to properly resolve imports.
|
|
@@ -132,20 +144,18 @@ namespace margelo::nitro::audiobrowser { struct Options; }
|
|
|
132
144
|
namespace margelo::nitro::audiobrowser { struct AndroidOptions; }
|
|
133
145
|
// Forward declaration of `AppKilledPlaybackBehavior` to properly resolve imports.
|
|
134
146
|
namespace margelo::nitro::audiobrowser { enum class AppKilledPlaybackBehavior; }
|
|
135
|
-
// Forward declaration of `
|
|
136
|
-
namespace margelo::nitro::audiobrowser { struct
|
|
137
|
-
// Forward declaration of `
|
|
138
|
-
namespace margelo::nitro::audiobrowser { enum class
|
|
147
|
+
// Forward declaration of `RemoteButtonLayout` to properly resolve imports.
|
|
148
|
+
namespace margelo::nitro::audiobrowser { struct RemoteButtonLayout; }
|
|
149
|
+
// Forward declaration of `RemoteButton` to properly resolve imports.
|
|
150
|
+
namespace margelo::nitro::audiobrowser { enum class RemoteButton; }
|
|
139
151
|
// Forward declaration of `PlayerCapabilities` to properly resolve imports.
|
|
140
152
|
namespace margelo::nitro::audiobrowser { struct PlayerCapabilities; }
|
|
141
|
-
// Forward declaration of `FavoriteConfig` to properly resolve imports.
|
|
142
|
-
namespace margelo::nitro::audiobrowser { struct FavoriteConfig; }
|
|
143
|
-
// Forward declaration of `FavoritesMatchMode` to properly resolve imports.
|
|
144
|
-
namespace margelo::nitro::audiobrowser { enum class FavoritesMatchMode; }
|
|
145
153
|
// Forward declaration of `IOSOptions` to properly resolve imports.
|
|
146
154
|
namespace margelo::nitro::audiobrowser { struct IOSOptions; }
|
|
147
155
|
// Forward declaration of `CarPlayNowPlayingButton` to properly resolve imports.
|
|
148
156
|
namespace margelo::nitro::audiobrowser { enum class CarPlayNowPlayingButton; }
|
|
157
|
+
// Forward declaration of `CarPlayPlayingIndicatorLocation` to properly resolve imports.
|
|
158
|
+
namespace margelo::nitro::audiobrowser { enum class CarPlayPlayingIndicatorLocation; }
|
|
149
159
|
// Forward declaration of `FavoriteChangedEvent` to properly resolve imports.
|
|
150
160
|
namespace margelo::nitro::audiobrowser { struct FavoriteChangedEvent; }
|
|
151
161
|
// Forward declaration of `NowPlayingMetadata` to properly resolve imports.
|
|
@@ -210,9 +220,15 @@ namespace margelo::nitro::audiobrowser { struct Progress; }
|
|
|
210
220
|
#include <unordered_map>
|
|
211
221
|
#include "TrackRequest.hpp"
|
|
212
222
|
#include "TrackStyle.hpp"
|
|
213
|
-
#include "
|
|
223
|
+
#include "StyleDisplay.hpp"
|
|
224
|
+
#include "ArtworkRendering.hpp"
|
|
225
|
+
#include "ImageShape.hpp"
|
|
226
|
+
#include "CardImage.hpp"
|
|
214
227
|
#include <functional>
|
|
215
228
|
#include "ResolvedTrack.hpp"
|
|
229
|
+
#include "SectionStyle.hpp"
|
|
230
|
+
#include "GridTile.hpp"
|
|
231
|
+
#include "Section.hpp"
|
|
216
232
|
#include "CarPlaySiriListButtonPosition.hpp"
|
|
217
233
|
#include "NavigationErrorEvent.hpp"
|
|
218
234
|
#include "NavigationError.hpp"
|
|
@@ -267,13 +283,12 @@ namespace margelo::nitro::audiobrowser { struct Progress; }
|
|
|
267
283
|
#include "Options.hpp"
|
|
268
284
|
#include "AndroidOptions.hpp"
|
|
269
285
|
#include "AppKilledPlaybackBehavior.hpp"
|
|
270
|
-
#include "
|
|
271
|
-
#include "
|
|
286
|
+
#include "RemoteButtonLayout.hpp"
|
|
287
|
+
#include "RemoteButton.hpp"
|
|
272
288
|
#include "PlayerCapabilities.hpp"
|
|
273
|
-
#include "FavoriteConfig.hpp"
|
|
274
|
-
#include "FavoritesMatchMode.hpp"
|
|
275
289
|
#include "IOSOptions.hpp"
|
|
276
290
|
#include "CarPlayNowPlayingButton.hpp"
|
|
291
|
+
#include "CarPlayPlayingIndicatorLocation.hpp"
|
|
277
292
|
#include "FavoriteChangedEvent.hpp"
|
|
278
293
|
#include "NowPlayingMetadata.hpp"
|
|
279
294
|
#include "Output.hpp"
|
|
@@ -760,8 +775,8 @@ namespace margelo::nitro::audiobrowser {
|
|
|
760
775
|
std::rethrow_exception(__result.error());
|
|
761
776
|
}
|
|
762
777
|
}
|
|
763
|
-
inline std::shared_ptr<Promise<std::vector<Track>>>
|
|
764
|
-
auto __result = _swiftPart.
|
|
778
|
+
inline std::shared_ptr<Promise<std::vector<Track>>> search(const std::string& query) override {
|
|
779
|
+
auto __result = _swiftPart.search(query);
|
|
765
780
|
if (__result.hasError()) [[unlikely]] {
|
|
766
781
|
std::rethrow_exception(__result.error());
|
|
767
782
|
}
|
|
@@ -18,15 +18,15 @@ public extension AndroidOptions {
|
|
|
18
18
|
/**
|
|
19
19
|
* Create a new instance of `AndroidOptions`.
|
|
20
20
|
*/
|
|
21
|
-
init(appKilledPlaybackBehavior: AppKilledPlaybackBehavior, skipSilence: Bool,
|
|
22
|
-
self.init(appKilledPlaybackBehavior, skipSilence, { () -> bridge.
|
|
23
|
-
if let __unwrappedValue =
|
|
24
|
-
return bridge.
|
|
21
|
+
init(appKilledPlaybackBehavior: AppKilledPlaybackBehavior, skipSilence: Bool, remoteButtonLayout: Variant_NullType_RemoteButtonLayout?) {
|
|
22
|
+
self.init(appKilledPlaybackBehavior, skipSilence, { () -> bridge.std__optional_std__variant_nitro__NullType__RemoteButtonLayout__ in
|
|
23
|
+
if let __unwrappedValue = remoteButtonLayout {
|
|
24
|
+
return bridge.create_std__optional_std__variant_nitro__NullType__RemoteButtonLayout__({ () -> bridge.std__variant_nitro__NullType__RemoteButtonLayout_ in
|
|
25
25
|
switch __unwrappedValue {
|
|
26
26
|
case .first(let __value):
|
|
27
|
-
return bridge.
|
|
27
|
+
return bridge.create_std__variant_nitro__NullType__RemoteButtonLayout_(margelo.nitro.NullType.null)
|
|
28
28
|
case .second(let __value):
|
|
29
|
-
return bridge.
|
|
29
|
+
return bridge.create_std__variant_nitro__NullType__RemoteButtonLayout_(__value)
|
|
30
30
|
}
|
|
31
31
|
}().variant)
|
|
32
32
|
} else {
|
|
@@ -46,12 +46,12 @@ public extension AndroidOptions {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
@inline(__always)
|
|
49
|
-
var
|
|
50
|
-
return { () ->
|
|
51
|
-
if bridge.
|
|
52
|
-
let __unwrapped = bridge.
|
|
53
|
-
return { () ->
|
|
54
|
-
let __variant = bridge.
|
|
49
|
+
var remoteButtonLayout: Variant_NullType_RemoteButtonLayout? {
|
|
50
|
+
return { () -> Variant_NullType_RemoteButtonLayout? in
|
|
51
|
+
if bridge.has_value_std__optional_std__variant_nitro__NullType__RemoteButtonLayout__(self.__remoteButtonLayout) {
|
|
52
|
+
let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__RemoteButtonLayout__(self.__remoteButtonLayout)
|
|
53
|
+
return { () -> Variant_NullType_RemoteButtonLayout in
|
|
54
|
+
let __variant = bridge.std__variant_nitro__NullType__RemoteButtonLayout_(__unwrapped)
|
|
55
55
|
switch __variant.index() {
|
|
56
56
|
case 0:
|
|
57
57
|
let __actual = __variant.get_0()
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// ArtworkRendering.swift
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Represents the JS union `ArtworkRendering`, backed by a C++ enum.
|
|
10
|
+
*/
|
|
11
|
+
public typealias ArtworkRendering = margelo.nitro.audiobrowser.ArtworkRendering
|
|
12
|
+
|
|
13
|
+
public extension ArtworkRendering {
|
|
14
|
+
/**
|
|
15
|
+
* Get a ArtworkRendering for the given String value, or
|
|
16
|
+
* return `nil` if the given value was invalid/unknown.
|
|
17
|
+
*/
|
|
18
|
+
init?(fromString string: String) {
|
|
19
|
+
switch string {
|
|
20
|
+
case "original":
|
|
21
|
+
self = .original
|
|
22
|
+
case "stencil":
|
|
23
|
+
self = .stencil
|
|
24
|
+
default:
|
|
25
|
+
return nil
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Get the String value this ArtworkRendering represents.
|
|
31
|
+
*/
|
|
32
|
+
var stringValue: String {
|
|
33
|
+
switch self {
|
|
34
|
+
case .original:
|
|
35
|
+
return "original"
|
|
36
|
+
case .stencil:
|
|
37
|
+
return "stencil"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// CarPlayPlayingIndicatorLocation.swift
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Represents the JS union `CarPlayPlayingIndicatorLocation`, backed by a C++ enum.
|
|
10
|
+
*/
|
|
11
|
+
public typealias CarPlayPlayingIndicatorLocation = margelo.nitro.audiobrowser.CarPlayPlayingIndicatorLocation
|
|
12
|
+
|
|
13
|
+
public extension CarPlayPlayingIndicatorLocation {
|
|
14
|
+
/**
|
|
15
|
+
* Get a CarPlayPlayingIndicatorLocation for the given String value, or
|
|
16
|
+
* return `nil` if the given value was invalid/unknown.
|
|
17
|
+
*/
|
|
18
|
+
init?(fromString string: String) {
|
|
19
|
+
switch string {
|
|
20
|
+
case "leading":
|
|
21
|
+
self = .leading
|
|
22
|
+
case "trailing":
|
|
23
|
+
self = .trailing
|
|
24
|
+
default:
|
|
25
|
+
return nil
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Get the String value this CarPlayPlayingIndicatorLocation represents.
|
|
31
|
+
*/
|
|
32
|
+
var stringValue: String {
|
|
33
|
+
switch self {
|
|
34
|
+
case .leading:
|
|
35
|
+
return "leading"
|
|
36
|
+
case .trailing:
|
|
37
|
+
return "trailing"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// CardImage.swift
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Represents the JS union `CardImage`, backed by a C++ enum.
|
|
10
|
+
*/
|
|
11
|
+
public typealias CardImage = margelo.nitro.audiobrowser.CardImage
|
|
12
|
+
|
|
13
|
+
public extension CardImage {
|
|
14
|
+
/**
|
|
15
|
+
* Get a CardImage for the given String value, or
|
|
16
|
+
* return `nil` if the given value was invalid/unknown.
|
|
17
|
+
*/
|
|
18
|
+
init?(fromString string: String) {
|
|
19
|
+
switch string {
|
|
20
|
+
case "normal":
|
|
21
|
+
self = .normal
|
|
22
|
+
case "background":
|
|
23
|
+
self = .background
|
|
24
|
+
default:
|
|
25
|
+
return nil
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Get the String value this CardImage represents.
|
|
31
|
+
*/
|
|
32
|
+
var stringValue: String {
|
|
33
|
+
switch self {
|
|
34
|
+
case .normal:
|
|
35
|
+
return "normal"
|
|
36
|
+
case .background:
|
|
37
|
+
return "background"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// Func_std__shared_ptr_Promise_std__string__.swift
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Wraps a Swift `() -> Promise<String>` as a class.
|
|
12
|
+
* This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`.
|
|
13
|
+
*/
|
|
14
|
+
public final class Func_std__shared_ptr_Promise_std__string__ {
|
|
15
|
+
public typealias bridge = margelo.nitro.audiobrowser.bridge.swift
|
|
16
|
+
|
|
17
|
+
private let closure: () -> Promise<String>
|
|
18
|
+
|
|
19
|
+
public init(_ closure: @escaping () -> Promise<String>) {
|
|
20
|
+
self.closure = closure
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@inline(__always)
|
|
24
|
+
public func call() -> bridge.std__shared_ptr_Promise_std__string__ {
|
|
25
|
+
let __result: Promise<String> = self.closure()
|
|
26
|
+
return { () -> bridge.std__shared_ptr_Promise_std__string__ in
|
|
27
|
+
let __promise = bridge.create_std__shared_ptr_Promise_std__string__()
|
|
28
|
+
let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__string__(__promise)
|
|
29
|
+
__result
|
|
30
|
+
.then({ __result in __promiseHolder.resolve(std.string(__result)) })
|
|
31
|
+
.catch({ __error in __promiseHolder.reject(__error.toCpp()) })
|
|
32
|
+
return __promise
|
|
33
|
+
}()
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Casts this instance to a retained unsafe raw pointer.
|
|
38
|
+
* This acquires one additional strong reference on the object!
|
|
39
|
+
*/
|
|
40
|
+
@inline(__always)
|
|
41
|
+
public func toUnsafe() -> UnsafeMutableRawPointer {
|
|
42
|
+
return Unmanaged.passRetained(self).toOpaque()
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Casts an unsafe pointer to a `Func_std__shared_ptr_Promise_std__string__`.
|
|
47
|
+
* The pointer has to be a retained opaque `Unmanaged<Func_std__shared_ptr_Promise_std__string__>`.
|
|
48
|
+
* This removes one strong reference from the object!
|
|
49
|
+
*/
|
|
50
|
+
@inline(__always)
|
|
51
|
+
public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> Func_std__shared_ptr_Promise_std__string__ {
|
|
52
|
+
return Unmanaged<Func_std__shared_ptr_Promise_std__string__>.fromOpaque(pointer).takeRetainedValue()
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// GridTile.swift
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Represents the JS union `GridTile`, backed by a C++ enum.
|
|
10
|
+
*/
|
|
11
|
+
public typealias GridTile = margelo.nitro.audiobrowser.GridTile
|
|
12
|
+
|
|
13
|
+
public extension GridTile {
|
|
14
|
+
/**
|
|
15
|
+
* Get a GridTile for the given String value, or
|
|
16
|
+
* return `nil` if the given value was invalid/unknown.
|
|
17
|
+
*/
|
|
18
|
+
init?(fromString string: String) {
|
|
19
|
+
switch string {
|
|
20
|
+
case "plain":
|
|
21
|
+
self = .plain
|
|
22
|
+
case "card":
|
|
23
|
+
self = .card
|
|
24
|
+
case "condensed":
|
|
25
|
+
self = .condensed
|
|
26
|
+
default:
|
|
27
|
+
return nil
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Get the String value this GridTile represents.
|
|
33
|
+
*/
|
|
34
|
+
var stringValue: String {
|
|
35
|
+
switch self {
|
|
36
|
+
case .plain:
|
|
37
|
+
return "plain"
|
|
38
|
+
case .card:
|
|
39
|
+
return "card"
|
|
40
|
+
case .condensed:
|
|
41
|
+
return "condensed"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -71,7 +71,7 @@ public protocol HybridAudioBrowserSpec_protocol: HybridObject {
|
|
|
71
71
|
// Methods
|
|
72
72
|
func navigatePath(path: String) throws -> Void
|
|
73
73
|
func navigateTrack(track: Track) throws -> Void
|
|
74
|
-
func
|
|
74
|
+
func search(query: String) throws -> Promise<[Track]>
|
|
75
75
|
func getContent() throws -> ResolvedTrack?
|
|
76
76
|
func getNavigationError() throws -> NavigationError?
|
|
77
77
|
func getFormattedNavigationError() throws -> FormattedNavigationError?
|
|
@@ -1445,9 +1445,9 @@ open class HybridAudioBrowserSpec_cxx {
|
|
|
1445
1445
|
}
|
|
1446
1446
|
|
|
1447
1447
|
@inline(__always)
|
|
1448
|
-
public final func
|
|
1448
|
+
public final func search(query: std.string) -> bridge.Result_std__shared_ptr_Promise_std__vector_Track____ {
|
|
1449
1449
|
do {
|
|
1450
|
-
let __result = try self.__implementation.
|
|
1450
|
+
let __result = try self.__implementation.search(query: String(query))
|
|
1451
1451
|
let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__vector_Track___ in
|
|
1452
1452
|
let __promise = bridge.create_std__shared_ptr_Promise_std__vector_Track___()
|
|
1453
1453
|
let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__vector_Track___(__promise)
|
|
@@ -18,7 +18,7 @@ public extension IOSOptions {
|
|
|
18
18
|
/**
|
|
19
19
|
* Create a new instance of `IOSOptions`.
|
|
20
20
|
*/
|
|
21
|
-
init(playbackRates: [Double], carPlayUpNextButton: Bool, carPlayNowPlayingButtons: [CarPlayNowPlayingButton]) {
|
|
21
|
+
init(playbackRates: [Double], carPlayUpNextButton: Bool, carPlayNowPlayingButtons: [CarPlayNowPlayingButton], carPlayPlayingIndicatorLocation: CarPlayPlayingIndicatorLocation) {
|
|
22
22
|
self.init({ () -> bridge.std__vector_double_ in
|
|
23
23
|
var __vector = bridge.create_std__vector_double_(playbackRates.count)
|
|
24
24
|
for __item in playbackRates {
|
|
@@ -31,7 +31,7 @@ public extension IOSOptions {
|
|
|
31
31
|
__vector.push_back(__item)
|
|
32
32
|
}
|
|
33
33
|
return __vector
|
|
34
|
-
}())
|
|
34
|
+
}(), carPlayPlayingIndicatorLocation)
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
@inline(__always)
|
|
@@ -48,4 +48,9 @@ public extension IOSOptions {
|
|
|
48
48
|
var carPlayNowPlayingButtons: [CarPlayNowPlayingButton] {
|
|
49
49
|
return self.__carPlayNowPlayingButtons.map({ __item in __item })
|
|
50
50
|
}
|
|
51
|
+
|
|
52
|
+
@inline(__always)
|
|
53
|
+
var carPlayPlayingIndicatorLocation: CarPlayPlayingIndicatorLocation {
|
|
54
|
+
return self.__carPlayPlayingIndicatorLocation
|
|
55
|
+
}
|
|
51
56
|
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// ImageShape.swift
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Represents the JS union `ImageShape`, backed by a C++ enum.
|
|
10
|
+
*/
|
|
11
|
+
public typealias ImageShape = margelo.nitro.audiobrowser.ImageShape
|
|
12
|
+
|
|
13
|
+
public extension ImageShape {
|
|
14
|
+
/**
|
|
15
|
+
* Get a ImageShape for the given String value, or
|
|
16
|
+
* return `nil` if the given value was invalid/unknown.
|
|
17
|
+
*/
|
|
18
|
+
init?(fromString string: String) {
|
|
19
|
+
switch string {
|
|
20
|
+
case "circular":
|
|
21
|
+
self = .circular
|
|
22
|
+
case "rounded-rectangle":
|
|
23
|
+
self = .roundedRectangle
|
|
24
|
+
default:
|
|
25
|
+
return nil
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Get the String value this ImageShape represents.
|
|
31
|
+
*/
|
|
32
|
+
var stringValue: String {
|
|
33
|
+
switch self {
|
|
34
|
+
case .circular:
|
|
35
|
+
return "circular"
|
|
36
|
+
case .roundedRectangle:
|
|
37
|
+
return "rounded-rectangle"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|