react-native-audio-browser 0.1.0 → 0.2.0-next.1
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 +180 -2
- package/android/build.gradle +10 -0
- package/android/gradle.properties +1 -1
- package/android/src/main/AndroidManifest.xml +15 -0
- package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +401 -141
- package/android/src/main/java/com/audiobrowser/Callbacks.kt +4 -6
- package/android/src/main/java/com/audiobrowser/Service.kt +67 -18
- package/android/src/main/java/com/audiobrowser/browser/ArtworkResolutionRegistry.kt +37 -0
- package/android/src/main/java/com/audiobrowser/browser/BrowseArtworkRegistry.kt +34 -0
- package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +443 -178
- package/android/src/main/java/com/audiobrowser/browser/BrowserUrlResolution.kt +300 -0
- package/android/src/main/java/com/audiobrowser/browser/JsonArtwork.kt +79 -0
- package/android/src/main/java/com/audiobrowser/browser/JsonModels.kt +41 -4
- package/android/src/main/java/com/audiobrowser/browser/SectionScope.kt +43 -0
- package/android/src/main/java/com/audiobrowser/browser/TrackLoadHandler.kt +4 -4
- package/android/src/main/java/com/audiobrowser/extension/ResolvedTrackExt.kt +35 -0
- package/android/src/main/java/com/audiobrowser/http/RequestConfigBuilder.kt +109 -97
- package/android/src/main/java/com/audiobrowser/model/PlaybackMetadata.kt +6 -10
- package/android/src/main/java/com/audiobrowser/model/PlayerSetupOptions.kt +40 -8
- package/android/src/main/java/com/audiobrowser/model/PlayerUpdateOptions.kt +31 -37
- package/android/src/main/java/com/audiobrowser/player/AutomaticBufferManager.kt +4 -1
- package/android/src/main/java/com/audiobrowser/player/CapabilityControls.kt +119 -0
- package/android/src/main/java/com/audiobrowser/player/DynamicLoadControl.kt +18 -1
- package/android/src/main/java/com/audiobrowser/player/EqualizerController.kt +153 -0
- package/android/src/main/java/com/audiobrowser/player/InterceptingPlayer.kt +141 -0
- package/android/src/main/java/com/audiobrowser/player/MediaFactory.kt +15 -3
- package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +415 -131
- package/android/src/main/java/com/audiobrowser/player/MediaSessionCommandManager.kt +154 -276
- package/android/src/main/java/com/audiobrowser/player/NowPlayingUpdater.kt +348 -0
- package/android/src/main/java/com/audiobrowser/player/PlaybackErrorClassifier.kt +129 -0
- package/android/src/main/java/com/audiobrowser/player/PlaybackStateMachine.kt +85 -0
- package/android/src/main/java/com/audiobrowser/player/PlaybackStateStore.kt +27 -5
- package/android/src/main/java/com/audiobrowser/player/PlaybackTimer.kt +56 -0
- package/android/src/main/java/com/audiobrowser/player/Player.kt +452 -576
- package/android/src/main/java/com/audiobrowser/player/PlayerCapabilitiesExt.kt +20 -0
- package/android/src/main/java/com/audiobrowser/player/PlayerEngineFactory.kt +130 -0
- package/android/src/main/java/com/audiobrowser/player/PlayerListener.kt +190 -67
- package/android/src/main/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicy.kt +117 -53
- package/android/src/main/java/com/audiobrowser/player/SleepTimer.kt +37 -3
- package/android/src/main/java/com/audiobrowser/player/SleepTimerManager.kt +80 -0
- package/android/src/main/java/com/audiobrowser/player/StuckRecoveryPolicy.kt +50 -0
- package/android/src/main/java/com/audiobrowser/player/TransformingDataSource.kt +84 -34
- package/android/src/main/java/com/audiobrowser/player/VolumeFader.kt +81 -0
- package/android/src/main/java/com/audiobrowser/tls/AiaCertChaser.kt +141 -0
- package/android/src/main/java/com/audiobrowser/tls/AiaChasingTrustManager.kt +37 -0
- package/android/src/main/java/com/audiobrowser/tls/AiaTls.kt +41 -0
- package/android/src/main/java/com/audiobrowser/tls/CachingCertificateFetcher.kt +209 -0
- package/android/src/main/java/com/audiobrowser/util/ArtworkContentProvider.kt +161 -0
- package/android/src/main/java/com/audiobrowser/util/ArtworkUris.kt +28 -0
- package/android/src/main/java/com/audiobrowser/util/ArtworkVariant.kt +26 -0
- package/android/src/main/java/com/audiobrowser/util/BrowserPathHelper.kt +24 -0
- package/android/src/main/java/com/audiobrowser/util/CoilArtworkLoader.kt +49 -0
- package/android/src/main/java/com/audiobrowser/util/CoilArtworkLoaderHolder.kt +36 -0
- package/android/src/main/java/com/audiobrowser/util/CoilBitmapLoader.kt +23 -300
- package/android/src/main/java/com/audiobrowser/util/EqualizerManager.kt +13 -23
- package/android/src/main/java/com/audiobrowser/util/MediaExtrasBuilder.kt +2 -2
- package/android/src/main/java/com/audiobrowser/util/MetadataAdapter.kt +4 -3
- package/android/src/main/java/com/audiobrowser/util/OutputMonitor.kt +211 -0
- package/android/src/main/java/com/audiobrowser/util/OutputSwitcher.kt +58 -0
- package/android/src/main/java/com/audiobrowser/util/PlayingStateFactory.kt +2 -1
- package/android/src/main/java/com/audiobrowser/util/RatingFavorites.kt +14 -0
- package/android/src/main/java/com/audiobrowser/util/SvgArtworkRenderer.kt +6 -111
- package/android/src/main/java/com/audiobrowser/util/SystemVolumeMonitor.kt +22 -8
- package/android/src/main/java/com/audiobrowser/util/TrackFactory.kt +111 -80
- package/android/src/main/res/values/strings.xml +4 -0
- package/android/src/test/java/com/audiobrowser/TestFixtures.kt +166 -0
- package/android/src/test/java/com/audiobrowser/browser/ArtworkResolutionRegistryTest.kt +46 -0
- package/android/src/test/java/com/audiobrowser/browser/BrowseArtworkRegistryTest.kt +39 -0
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerBuildApiRequestTest.kt +114 -0
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerLayerResolutionTest.kt +141 -0
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerTest.kt +4 -0
- package/android/src/test/java/com/audiobrowser/browser/BrowserUrlResolutionTest.kt +177 -0
- package/android/src/test/java/com/audiobrowser/browser/JsonArtworkTest.kt +54 -0
- package/android/src/test/java/com/audiobrowser/browser/SectionScopeTest.kt +96 -0
- package/android/src/test/java/com/audiobrowser/browser/SimpleRouterTest.kt +1 -2
- package/android/src/test/java/com/audiobrowser/http/RequestConfigBuilderTest.kt +72 -0
- package/android/src/test/java/com/audiobrowser/player/CapabilityControlsTest.kt +159 -0
- package/android/src/test/java/com/audiobrowser/player/DynamicLoadControlTest.kt +56 -0
- package/android/src/test/java/com/audiobrowser/player/EqualizerControllerTest.kt +216 -0
- package/android/src/test/java/com/audiobrowser/player/NowPlayingUpdaterTest.kt +442 -0
- package/android/src/test/java/com/audiobrowser/player/PlaybackErrorClassifierTest.kt +191 -0
- package/android/src/test/java/com/audiobrowser/player/PlaybackStateMachineTest.kt +198 -0
- package/android/src/test/java/com/audiobrowser/player/PlaybackTimerTest.kt +137 -0
- package/android/src/test/java/com/audiobrowser/player/PlayerEngineFactoryTest.kt +36 -0
- package/android/src/test/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicyTest.kt +268 -0
- package/android/src/test/java/com/audiobrowser/player/SessionErrorMaskTest.kt +68 -0
- package/android/src/test/java/com/audiobrowser/player/StuckRecoveryPolicyTest.kt +40 -0
- package/android/src/test/java/com/audiobrowser/player/TransformingDataSourceTest.kt +193 -0
- package/android/src/test/java/com/audiobrowser/tls/AiaCertChaserTest.kt +107 -0
- package/android/src/test/java/com/audiobrowser/tls/AiaChasingTrustManagerTest.kt +73 -0
- package/android/src/test/java/com/audiobrowser/tls/CachingCertificateFetcherTest.kt +75 -0
- package/android/src/test/java/com/audiobrowser/tls/CertFixtures.kt +18 -0
- package/android/src/test/java/com/audiobrowser/util/ArtworkContentProviderTest.kt +163 -0
- package/android/src/test/java/com/audiobrowser/util/ArtworkUrisTest.kt +34 -0
- package/android/src/test/java/com/audiobrowser/util/BrowserPathHelperTest.kt +28 -0
- package/android/src/test/java/com/audiobrowser/util/CoilArtworkLoaderHolderTest.kt +53 -0
- package/android/src/test/java/com/audiobrowser/util/CoilArtworkLoaderTest.kt +58 -0
- package/android/src/test/java/com/audiobrowser/util/FakeImageLoader.kt +57 -0
- package/android/src/test/java/com/audiobrowser/util/PlayingStateFactoryTest.kt +40 -0
- package/android/src/test/java/com/audiobrowser/util/RatingFavoritesTest.kt +34 -0
- package/android/src/test/java/com/audiobrowser/util/TrackFactoryBrowseTest.kt +50 -0
- package/android/src/test/java/com/audiobrowser/util/TrackFactoryMediaIdTest.kt +63 -0
- package/android/src/test/java/com/audiobrowser/util/TrackFactoryRatingTest.kt +35 -0
- package/android/src/test/resources/certs/isrg-root-x1.pem +31 -0
- package/android/src/test/resources/certs/letsencrypt-r13.der +0 -0
- package/android/src/test/resources/certs/letsencrypt-r13.pem +29 -0
- package/android/src/test/resources/certs/stationplaylist-leaf.pem +34 -0
- package/ios/Browser/BrowserConfig.swift +41 -11
- package/ios/Browser/BrowserManager+URLResolution.swift +213 -93
- package/ios/Browser/BrowserManager.swift +303 -110
- package/ios/Browser/BrowserPathHelper.swift +32 -3
- package/ios/Browser/JsonModels.swift +287 -66
- package/ios/Browser/MediaResolveComposer.swift +114 -0
- package/ios/Browser/SearchDrillIn.swift +44 -0
- package/ios/Browser/SectionScope.swift +35 -0
- package/ios/Browser/TabBarEntries.swift +15 -0
- package/ios/CarPlay/CPInterfaceController+Safe.swift +126 -0
- package/ios/CarPlay/CarPlayArtworkResolver.swift +6 -6
- package/ios/CarPlay/CarPlayController.swift +739 -149
- package/ios/CarPlay/CarPlayImageLoader.swift +57 -8
- package/ios/CarPlay/CarPlayListItemFactory.swift +44 -35
- package/ios/CarPlay/CarPlayNowPlayingManager.swift +180 -36
- package/ios/CarPlay/ImageRowItem+CarPlay.swift +19 -0
- package/ios/CarPlay/RNABAudioBrowser.h +15 -10
- package/ios/CarPlay/RNABAudioBrowser.m +15 -14
- package/ios/CarPlay/RNABCarPlaySceneDelegate.m +2 -0
- package/ios/CarPlay/RNABMediaAddHandler.swift +75 -0
- package/ios/CarPlay/RNABMediaAffinityHandler.swift +69 -0
- package/ios/CarPlay/RNABMediaIntentHandler.swift +53 -43
- package/ios/Extension/Capability+RemoteCommand.swift +7 -9
- package/ios/Extension/ChapterMetadata+AVFoundation.swift +1 -1
- package/ios/Extension/NavigationError+Conversion.swift +8 -1
- package/ios/Extension/PlayerCapabilities+Favorite.swift +20 -0
- package/ios/Extension/RequestConfig+Copying.swift +31 -0
- package/ios/Extension/ResolvedTrack+Copying.swift +10 -4
- package/ios/Extension/TimedMetadata+AVFoundation.swift +1 -1
- package/ios/Extension/Track+AVPlayer.swift +4 -4
- package/ios/Extension/Track+Copying.swift +9 -3
- package/ios/Extension/TrackMetadata+AVFoundation.swift +1 -1
- package/ios/Extension/Variant+Artwork.swift +49 -0
- package/ios/HybridAudioBrowser.swift +750 -173
- package/ios/Model/NitroTypeStubs.swift +299 -224
- package/ios/Model/PlayerUpdateOptions.swift +23 -23
- package/ios/Model/RemoteCommand.swift +6 -6
- package/ios/Model/TrackPlayerError.swift +82 -18
- package/ios/NowPlayingInfo/NowPlayingInfoController.swift +99 -121
- package/ios/NowPlayingInfo/SilentAudioPrimer.swift +73 -0
- package/ios/Observer/PlayerItemNotificationObserver.swift +45 -5
- package/ios/Observer/PlayerItemPropertyObserver.swift +27 -4
- package/ios/Observer/PlayerTimeObserver.swift +3 -53
- package/ios/Option/SessionCategories.swift +33 -11
- package/ios/Player/AirPlayStallJudgement.swift +25 -0
- package/ios/Player/EndOfTrackJudgement.swift +32 -0
- package/ios/Player/LoadSeekCoordinator.swift +16 -1
- package/ios/Player/MediaIntentCriteria.swift +139 -0
- package/ios/Player/MediaLoader.swift +28 -10
- package/ios/Player/NowPlayingUpdater.swift +119 -26
- package/ios/Player/PersistedPlaybackState.swift +11 -0
- package/ios/Player/PlaybackCoordinator.swift +282 -51
- package/ios/Player/PlaybackCoordinatorCallbacks.swift +6 -1
- package/ios/Player/PlaybackEffectHandler.swift +19 -9
- package/ios/Player/PlaybackErrorHandler.swift +97 -13
- package/ios/Player/PlaybackStateMachine.swift +18 -13
- package/ios/Player/PlaybackStateStore.swift +27 -0
- package/ios/Player/PlaybackTimer.swift +61 -0
- package/ios/Player/PlayingStateManager.swift +3 -2
- package/ios/Player/QueueManager.swift +67 -61
- package/ios/Player/RetryManager.swift +97 -21
- package/ios/Player/SleepTimerHandling.swift +8 -0
- package/ios/Player/SleepTimerManager.swift +38 -5
- package/ios/Player/VolumeFader.swift +77 -0
- package/ios/RemoteCommand/RemoteCommandController.swift +31 -15
- package/ios/Tests/AirPlayStallJudgementTests.swift +52 -0
- package/ios/Tests/BrowserPathHelperTests.swift +28 -0
- package/ios/Tests/CarPlayArtworkResolverTests.swift +39 -39
- package/ios/Tests/ChapterMetadataAVFoundationTests.swift +2 -2
- package/ios/Tests/EndOfTrackJudgementTests.swift +35 -0
- package/ios/Tests/JsonModelsTests.swift +58 -0
- package/ios/Tests/LoadSeekCoordinatorTests.swift +38 -7
- package/ios/Tests/MediaIntentCriteriaTests.swift +170 -0
- package/ios/Tests/MediaLoaderAssetOptionsTests.swift +46 -0
- package/ios/Tests/MediaLoaderTests.swift +23 -8
- package/ios/Tests/MediaResolveTests.swift +126 -0
- package/ios/Tests/OnceValueTests.swift +79 -0
- package/ios/Tests/PlaybackCoordinatorTests.swift +784 -13
- package/ios/Tests/PlaybackErrorHandlerTests.swift +380 -46
- package/ios/Tests/PlaybackStateMachineTests.swift +42 -10
- package/ios/Tests/PlaybackStateStoreTests.swift +48 -0
- package/ios/Tests/PlaybackTimerTests.swift +55 -0
- package/ios/Tests/PlayingStateManagerTests.swift +57 -0
- package/ios/Tests/QueueManagerTests.swift +149 -18
- package/ios/Tests/ResolvedTrackCopyingTests.swift +15 -8
- package/ios/Tests/RetryManagerTests.swift +89 -0
- package/ios/Tests/SearchDrillInTests.swift +63 -0
- package/ios/Tests/SectionScopeTests.swift +82 -0
- package/ios/Tests/SleepTimerManagerTests.swift +104 -0
- package/ios/Tests/Support/TestTypes.swift +61 -20
- package/ios/Tests/TabBarEntriesTests.swift +71 -0
- package/ios/Tests/TrackSelectorTests.swift +15 -15
- package/ios/TrackPlayer.swift +380 -58
- package/ios/TrackPlayerCallbacks.swift +0 -6
- package/ios/TrackSelector.swift +5 -5
- package/ios/Util/ArtworkImageFetcher.swift +4 -2
- package/ios/Util/NetworkMonitor.swift +7 -3
- package/ios/Util/OnceValue.swift +34 -0
- package/lib/commonjs/features/browser-config.js +227 -0
- package/lib/commonjs/features/browser-config.js.map +1 -0
- package/lib/commonjs/features/browser.js +59 -158
- package/lib/commonjs/features/browser.js.map +1 -1
- package/lib/commonjs/features/carConnection.js +42 -0
- package/lib/commonjs/features/carConnection.js.map +1 -0
- package/lib/commonjs/features/errors.js +34 -2
- package/lib/commonjs/features/errors.js.map +1 -1
- package/lib/commonjs/features/gate.js +149 -0
- package/lib/commonjs/features/gate.js.map +1 -0
- package/lib/commonjs/features/index.js +22 -0
- package/lib/commonjs/features/index.js.map +1 -1
- package/lib/commonjs/features/metadata.js.map +1 -1
- package/lib/commonjs/features/nowPlaying.js +35 -0
- package/lib/commonjs/features/nowPlaying.js.map +1 -1
- package/lib/commonjs/features/output.js +37 -23
- package/lib/commonjs/features/output.js.map +1 -1
- package/lib/commonjs/features/playback/controls.js +9 -0
- package/lib/commonjs/features/playback/controls.js.map +1 -1
- package/lib/commonjs/features/playback/index.js +11 -0
- package/lib/commonjs/features/playback/index.js.map +1 -1
- package/lib/commonjs/features/playback/progress.js +28 -12
- package/lib/commonjs/features/playback/progress.js.map +1 -1
- package/lib/commonjs/features/playback/trackPlaybackTime.js +92 -0
- package/lib/commonjs/features/playback/trackPlaybackTime.js.map +1 -0
- package/lib/commonjs/features/playback/volume.js +1 -1
- package/lib/commonjs/features/player/options.js +49 -13
- package/lib/commonjs/features/player/options.js.map +1 -1
- package/lib/commonjs/features/player/setup.js +249 -3
- package/lib/commonjs/features/player/setup.js.map +1 -1
- package/lib/commonjs/features/queue/queue.js +10 -3
- package/lib/commonjs/features/queue/queue.js.map +1 -1
- package/lib/commonjs/features/remoteControls.js +1 -12
- package/lib/commonjs/features/remoteControls.js.map +1 -1
- package/lib/commonjs/features/sleepTimer.js +9 -4
- package/lib/commonjs/features/sleepTimer.js.map +1 -1
- package/lib/commonjs/native.js +5 -0
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/native.web.js +4 -1
- package/lib/commonjs/native.web.js.map +1 -1
- package/lib/commonjs/utils/LazyNativeEmitter.js +0 -3
- package/lib/commonjs/utils/LazyNativeEmitter.js.map +1 -1
- package/lib/commonjs/utils/NativeUpdatedValue.js +0 -3
- package/lib/commonjs/utils/NativeUpdatedValue.js.map +1 -1
- package/lib/commonjs/utils/artwork.js +31 -0
- package/lib/commonjs/utils/artwork.js.map +1 -0
- package/lib/commonjs/web/NativeAudioBrowser.js +301 -124
- package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js +71 -0
- package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js.map +1 -0
- package/lib/commonjs/web/TrackPlayer/PlaybackTimer.js +34 -0
- package/lib/commonjs/web/TrackPlayer/PlaybackTimer.js.map +1 -0
- package/lib/commonjs/web/TrackPlayer/Player.js +90 -26
- package/lib/commonjs/web/TrackPlayer/Player.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/PlayingStateFactory.js +21 -0
- package/lib/commonjs/web/TrackPlayer/PlayingStateFactory.js.map +1 -0
- package/lib/commonjs/web/TrackPlayer/QueueManager.js +273 -0
- package/lib/commonjs/web/TrackPlayer/QueueManager.js.map +1 -0
- package/lib/commonjs/web/TrackPlayer/QueuePlayer.js +158 -0
- package/lib/commonjs/web/TrackPlayer/QueuePlayer.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 +34 -3
- package/lib/commonjs/web/TrackPlayer/SleepTimer.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/VolumeFader.js +75 -0
- package/lib/commonjs/web/TrackPlayer/VolumeFader.js.map +1 -0
- package/lib/commonjs/web/TrackPlayer/index.js +13 -5
- package/lib/commonjs/web/TrackPlayer/index.js.map +1 -1
- package/lib/commonjs/web/browser/BrowserManager.js +176 -50
- package/lib/commonjs/web/browser/BrowserManager.js.map +1 -1
- package/lib/commonjs/web/browser/NavigationErrorManager.js +3 -1
- package/lib/commonjs/web/browser/NavigationErrorManager.js.map +1 -1
- package/lib/commonjs/web/browser/SearchManager.js +11 -9
- package/lib/commonjs/web/browser/SearchManager.js.map +1 -1
- package/lib/commonjs/web/browser/assertBrowsePageShape.js +22 -0
- package/lib/commonjs/web/browser/assertBrowsePageShape.js.map +1 -0
- package/lib/commonjs/web/browser/classifyTrackNavigation.js +41 -0
- package/lib/commonjs/web/browser/classifyTrackNavigation.js.map +1 -0
- package/lib/commonjs/web/browser/parseSearchResponse.js +20 -0
- package/lib/commonjs/web/browser/parseSearchResponse.js.map +1 -0
- package/lib/commonjs/web/http/HttpClient.js +4 -23
- package/lib/commonjs/web/http/HttpClient.js.map +1 -1
- package/lib/commonjs/web/http/RequestConfigBuilder.js +107 -58
- package/lib/commonjs/web/http/RequestConfigBuilder.js.map +1 -1
- package/lib/commonjs/web/playbackErrorKind.js +57 -0
- package/lib/commonjs/web/playbackErrorKind.js.map +1 -0
- package/lib/commonjs/web/player/MediaSessionManager.js +121 -0
- package/lib/commonjs/web/player/MediaSessionManager.js.map +1 -0
- package/lib/commonjs/web/player/NowPlayingManager.js +6 -5
- package/lib/commonjs/web/player/NowPlayingManager.js.map +1 -1
- package/lib/commonjs/web/player/OptionsManager.js +9 -17
- package/lib/commonjs/web/player/OptionsManager.js.map +1 -1
- package/lib/commonjs/web/player/RemoteCommandController.js +96 -0
- package/lib/commonjs/web/player/RemoteCommandController.js.map +1 -0
- package/lib/module/features/browser-config.js +221 -0
- package/lib/module/features/browser-config.js.map +1 -0
- package/lib/module/features/browser.js +53 -156
- package/lib/module/features/browser.js.map +1 -1
- package/lib/module/features/carConnection.js +37 -0
- package/lib/module/features/carConnection.js.map +1 -0
- package/lib/module/features/errors.js +34 -2
- package/lib/module/features/errors.js.map +1 -1
- package/lib/module/features/gate.js +144 -0
- package/lib/module/features/gate.js.map +1 -0
- package/lib/module/features/index.js +2 -0
- package/lib/module/features/index.js.map +1 -1
- package/lib/module/features/metadata.js.map +1 -1
- package/lib/module/features/nowPlaying.js +33 -0
- package/lib/module/features/nowPlaying.js.map +1 -1
- package/lib/module/features/output.js +32 -19
- package/lib/module/features/output.js.map +1 -1
- package/lib/module/features/playback/controls.js +8 -0
- package/lib/module/features/playback/controls.js.map +1 -1
- package/lib/module/features/playback/index.js +1 -0
- package/lib/module/features/playback/index.js.map +1 -1
- package/lib/module/features/playback/progress.js +28 -12
- package/lib/module/features/playback/progress.js.map +1 -1
- package/lib/module/features/playback/trackPlaybackTime.js +88 -0
- package/lib/module/features/playback/trackPlaybackTime.js.map +1 -0
- package/lib/module/features/playback/volume.js +1 -1
- package/lib/module/features/player/options.js +48 -13
- package/lib/module/features/player/options.js.map +1 -1
- package/lib/module/features/player/setup.js +249 -3
- package/lib/module/features/player/setup.js.map +1 -1
- package/lib/module/features/queue/queue.js +10 -3
- package/lib/module/features/queue/queue.js.map +1 -1
- package/lib/module/features/remoteControls.js +0 -11
- package/lib/module/features/remoteControls.js.map +1 -1
- package/lib/module/features/sleepTimer.js +9 -4
- package/lib/module/features/sleepTimer.js.map +1 -1
- package/lib/module/native.js +5 -0
- package/lib/module/native.js.map +1 -1
- package/lib/module/native.web.js +4 -1
- package/lib/module/native.web.js.map +1 -1
- package/lib/module/utils/LazyNativeEmitter.js +0 -3
- package/lib/module/utils/LazyNativeEmitter.js.map +1 -1
- package/lib/module/utils/NativeUpdatedValue.js +0 -3
- package/lib/module/utils/NativeUpdatedValue.js.map +1 -1
- package/lib/module/utils/artwork.js +26 -0
- package/lib/module/utils/artwork.js.map +1 -0
- package/lib/module/web/NativeAudioBrowser.js +302 -125
- package/lib/module/web/NativeAudioBrowser.js.map +1 -1
- package/lib/module/web/TrackPlayer/PlaybackStateMachine.js +67 -0
- package/lib/module/web/TrackPlayer/PlaybackStateMachine.js.map +1 -0
- package/lib/module/web/TrackPlayer/PlaybackTimer.js +29 -0
- package/lib/module/web/TrackPlayer/PlaybackTimer.js.map +1 -0
- package/lib/module/web/TrackPlayer/Player.js +90 -26
- package/lib/module/web/TrackPlayer/Player.js.map +1 -1
- package/lib/module/web/TrackPlayer/PlayingStateFactory.js +17 -0
- package/lib/module/web/TrackPlayer/PlayingStateFactory.js.map +1 -0
- package/lib/module/web/TrackPlayer/QueueManager.js +269 -0
- package/lib/module/web/TrackPlayer/QueueManager.js.map +1 -0
- package/lib/module/web/TrackPlayer/QueuePlayer.js +154 -0
- package/lib/module/web/TrackPlayer/QueuePlayer.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 +34 -3
- package/lib/module/web/TrackPlayer/SleepTimer.js.map +1 -1
- package/lib/module/web/TrackPlayer/VolumeFader.js +70 -0
- package/lib/module/web/TrackPlayer/VolumeFader.js.map +1 -0
- package/lib/module/web/TrackPlayer/index.js +2 -1
- package/lib/module/web/TrackPlayer/index.js.map +1 -1
- package/lib/module/web/browser/BrowserManager.js +176 -50
- package/lib/module/web/browser/BrowserManager.js.map +1 -1
- package/lib/module/web/browser/NavigationErrorManager.js +3 -1
- package/lib/module/web/browser/NavigationErrorManager.js.map +1 -1
- package/lib/module/web/browser/SearchManager.js +11 -9
- package/lib/module/web/browser/SearchManager.js.map +1 -1
- package/lib/module/web/browser/assertBrowsePageShape.js +18 -0
- package/lib/module/web/browser/assertBrowsePageShape.js.map +1 -0
- package/lib/module/web/browser/classifyTrackNavigation.js +38 -0
- package/lib/module/web/browser/classifyTrackNavigation.js.map +1 -0
- package/lib/module/web/browser/parseSearchResponse.js +16 -0
- package/lib/module/web/browser/parseSearchResponse.js.map +1 -0
- package/lib/module/web/http/HttpClient.js +4 -23
- package/lib/module/web/http/HttpClient.js.map +1 -1
- package/lib/module/web/http/RequestConfigBuilder.js +107 -58
- package/lib/module/web/http/RequestConfigBuilder.js.map +1 -1
- package/lib/module/web/playbackErrorKind.js +52 -0
- package/lib/module/web/playbackErrorKind.js.map +1 -0
- package/lib/module/web/player/MediaSessionManager.js +116 -0
- package/lib/module/web/player/MediaSessionManager.js.map +1 -0
- package/lib/module/web/player/NowPlayingManager.js +7 -5
- package/lib/module/web/player/NowPlayingManager.js.map +1 -1
- package/lib/module/web/player/OptionsManager.js +9 -17
- package/lib/module/web/player/OptionsManager.js.map +1 -1
- package/lib/module/web/player/RemoteCommandController.js +92 -0
- package/lib/module/web/player/RemoteCommandController.js.map +1 -0
- package/lib/typescript/src/features/browser-config.d.ts +12 -0
- package/lib/typescript/src/features/browser-config.d.ts.map +1 -0
- package/lib/typescript/src/features/browser.d.ts +40 -1
- package/lib/typescript/src/features/browser.d.ts.map +1 -1
- package/lib/typescript/src/features/carConnection.d.ts +20 -0
- package/lib/typescript/src/features/carConnection.d.ts.map +1 -0
- package/lib/typescript/src/features/errors.d.ts +58 -3
- package/lib/typescript/src/features/errors.d.ts.map +1 -1
- package/lib/typescript/src/features/gate.d.ts +77 -0
- package/lib/typescript/src/features/gate.d.ts.map +1 -0
- package/lib/typescript/src/features/index.d.ts +2 -0
- package/lib/typescript/src/features/index.d.ts.map +1 -1
- package/lib/typescript/src/features/metadata.d.ts +6 -4
- package/lib/typescript/src/features/metadata.d.ts.map +1 -1
- package/lib/typescript/src/features/nowPlaying.d.ts +27 -0
- package/lib/typescript/src/features/nowPlaying.d.ts.map +1 -1
- package/lib/typescript/src/features/output.d.ts +28 -18
- package/lib/typescript/src/features/output.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/controls.d.ts +5 -0
- package/lib/typescript/src/features/playback/controls.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/index.d.ts +1 -0
- package/lib/typescript/src/features/playback/index.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/progress.d.ts +3 -0
- package/lib/typescript/src/features/playback/progress.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts +34 -0
- package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts.map +1 -0
- package/lib/typescript/src/features/playback/volume.d.ts +1 -1
- package/lib/typescript/src/features/player/options.d.ts +92 -93
- package/lib/typescript/src/features/player/options.d.ts.map +1 -1
- package/lib/typescript/src/features/player/setup.d.ts +206 -167
- package/lib/typescript/src/features/player/setup.d.ts.map +1 -1
- package/lib/typescript/src/features/queue/queue.d.ts +9 -2
- package/lib/typescript/src/features/queue/queue.d.ts.map +1 -1
- package/lib/typescript/src/features/remoteControls.d.ts +0 -13
- package/lib/typescript/src/features/remoteControls.d.ts.map +1 -1
- package/lib/typescript/src/features/sleepTimer.d.ts +18 -3
- 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 +1 -2
- package/lib/typescript/src/native.d.ts.map +1 -1
- package/lib/typescript/src/specs/audio-browser.nitro.d.ts +17 -225
- package/lib/typescript/src/specs/audio-browser.nitro.d.ts.map +1 -1
- package/lib/typescript/src/types/browser-native.d.ts +9 -3
- package/lib/typescript/src/types/browser-native.d.ts.map +1 -1
- package/lib/typescript/src/types/browser-nodes.d.ts +145 -13
- package/lib/typescript/src/types/browser-nodes.d.ts.map +1 -1
- package/lib/typescript/src/types/browser.d.ts +349 -85
- package/lib/typescript/src/types/browser.d.ts.map +1 -1
- package/lib/typescript/src/utils/LazyNativeEmitter.d.ts +0 -2
- package/lib/typescript/src/utils/LazyNativeEmitter.d.ts.map +1 -1
- package/lib/typescript/src/utils/NativeUpdatedValue.d.ts +0 -2
- package/lib/typescript/src/utils/NativeUpdatedValue.d.ts.map +1 -1
- package/lib/typescript/src/utils/artwork.d.ts +19 -0
- package/lib/typescript/src/utils/artwork.d.ts.map +1 -0
- package/lib/typescript/src/utils/resolveAssetSource.d.ts.map +1 -1
- package/nitrogen/generated/android/AudioBrowser+autolinking.cmake +3 -1
- package/nitrogen/generated/android/AudioBrowserOnLoad.cpp +24 -10
- package/nitrogen/generated/android/c++/JAndroidAudioContentType.hpp +6 -6
- package/nitrogen/generated/android/c++/JAndroidOptions.hpp +1 -11
- package/nitrogen/generated/android/c++/JArtworkRequestConfig.hpp +33 -1
- package/nitrogen/generated/android/c++/JArtworkVariants.hpp +61 -0
- package/nitrogen/generated/android/c++/JBrowseResult.hpp +5 -0
- package/nitrogen/generated/android/c++/JCarPlayNowPlayingButton.hpp +3 -3
- package/nitrogen/generated/android/c++/JFavoriteChangedEvent.hpp +6 -0
- package/nitrogen/generated/android/c++/JFavoriteConfig.hpp +58 -0
- package/nitrogen/generated/android/c++/JFavoritesMatchMode.hpp +58 -0
- package/nitrogen/generated/android/c++/JFormatNowPlayingParams.hpp +100 -0
- package/nitrogen/generated/android/c++/JFormattedNavigationError.hpp +3 -2
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.hpp +112 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.hpp +121 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___Track.hpp +123 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.hpp +133 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_std__string____Track.hpp +121 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.hpp +139 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.hpp +6 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.hpp +134 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.hpp +8 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.hpp +6 -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 +131 -0
- package/nitrogen/generated/android/c++/JFunc_void_FavoriteChangedEvent.hpp +6 -0
- package/nitrogen/generated/android/c++/JFunc_void_GateEvent.hpp +79 -0
- package/nitrogen/generated/android/c++/JFunc_void_NowPlayingMetadata.hpp +0 -10
- package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +9 -4
- package/nitrogen/generated/android/c++/JFunc_void_Output.hpp +80 -0
- package/nitrogen/generated/android/c++/JFunc_void_Playback.hpp +2 -0
- package/nitrogen/generated/android/c++/JFunc_void_PlaybackActiveTrackChangedEvent.hpp +6 -0
- package/nitrogen/generated/android/c++/JFunc_void_PlaybackErrorEvent.hpp +2 -0
- package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +10 -10
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_ResolvedTrack_.hpp +6 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_Track_.hpp +6 -0
- package/nitrogen/generated/android/c++/JGate.hpp +62 -0
- package/nitrogen/generated/android/c++/JGateDecision.hpp +64 -0
- package/nitrogen/generated/android/c++/{JThumbsRating.hpp → JGateEvent.hpp} +16 -15
- package/nitrogen/generated/android/c++/JGateReason.hpp +58 -0
- package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +236 -212
- package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.hpp +25 -22
- package/nitrogen/generated/android/c++/JIOSOptions.hpp +95 -0
- package/nitrogen/generated/android/c++/JImageRowItem.hpp +33 -3
- package/nitrogen/generated/android/c++/JMediaReference.hpp +58 -0
- package/nitrogen/generated/android/c++/JMediaRequestConfig.hpp +33 -1
- package/nitrogen/generated/android/c++/{JPartialAndroidSetupPlayerOptions.hpp → JNativeAndroidSetupOptions.hpp} +10 -10
- package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +61 -28
- package/nitrogen/generated/android/c++/JNativeGateRequest.hpp +74 -0
- package/nitrogen/generated/android/c++/{JPartialIOSSetupPlayerOptions.hpp → JNativeIOSSetupOptions.hpp} +10 -10
- package/nitrogen/generated/android/c++/JNativeRouteEntry.hpp +20 -9
- package/nitrogen/generated/android/c++/JNativeSetupPlayerOptions.hpp +182 -0
- package/nitrogen/generated/android/c++/JNativeUpdateOptions.hpp +16 -19
- package/nitrogen/generated/android/c++/JNavigationErrorType.hpp +6 -0
- package/nitrogen/generated/android/c++/JNitroAndroidUpdateOptions.hpp +1 -11
- package/nitrogen/generated/android/c++/JNitroIOSUpdateOptions.hpp +96 -0
- package/nitrogen/generated/android/c++/JNotificationButton.hpp +3 -3
- package/nitrogen/generated/android/c++/JNowPlayingMetadata.hpp +3 -17
- package/nitrogen/generated/android/c++/JNowPlayingUpdate.hpp +7 -3
- package/nitrogen/generated/android/c++/JOptions.hpp +14 -9
- package/nitrogen/generated/android/c++/{JIosOutput.hpp → JOutput.hpp} +15 -15
- package/nitrogen/generated/android/c++/JOutputType.hpp +82 -0
- package/nitrogen/generated/android/c++/JPlayback.hpp +2 -0
- package/nitrogen/generated/android/c++/JPlaybackActiveTrackChangedEvent.hpp +6 -0
- package/nitrogen/generated/android/c++/JPlaybackError.hpp +18 -3
- package/nitrogen/generated/android/c++/JPlaybackErrorEvent.hpp +2 -0
- package/nitrogen/generated/android/c++/JPlaybackErrorKind.hpp +76 -0
- package/nitrogen/generated/android/c++/JPlaybackState.hpp +3 -3
- package/nitrogen/generated/android/c++/JPlayerCapabilities.hpp +11 -5
- package/nitrogen/generated/android/c++/JResolvedTrack.hpp +23 -5
- package/nitrogen/generated/android/c++/JRetryConfig.hpp +11 -7
- package/nitrogen/generated/android/c++/JSearchMode.hpp +27 -9
- package/nitrogen/generated/android/c++/JSearchParams.hpp +9 -3
- package/nitrogen/generated/android/c++/JStallReason.hpp +58 -0
- package/nitrogen/generated/android/c++/JTrack.hpp +23 -5
- package/nitrogen/generated/android/c++/JTrackLoadEvent.hpp +6 -0
- package/nitrogen/generated/android/c++/JTrackRequest.hpp +93 -0
- package/nitrogen/generated/android/c++/JTransformableRequestConfig.hpp +14 -1
- package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.hpp +71 -0
- package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.cpp +41 -0
- package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.hpp +121 -0
- package/nitrogen/generated/android/c++/JVariant_String_ArtworkVariants.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_String_ArtworkVariants.hpp +70 -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 +2 -8
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ArtworkRequestConfig.kt +10 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ArtworkVariants.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CarPlayNowPlayingButton.kt +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{ThumbsRating.kt → FavoriteConfig.kt} +6 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{RatingType.kt → FavoritesMatchMode.kt} +5 -10
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormatNowPlayingParams.kt +50 -0
- 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_RequestConfig___MediaTransformParams.kt +80 -0
- 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 +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___Track.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__optional_std__string____Track.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.kt → Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.kt} +12 -12
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_void_RemoteSetRatingEvent.kt → Func_void_GateEvent.kt} +9 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_void_IosOutput.kt → Func_void_Output.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/{HeartRating.kt → Gate.kt} +9 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{PercentageRating.kt → GateDecision.kt} +9 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{StarRating.kt → GateEvent.kt} +6 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/GateReason.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/HybridAudioBrowserSpec.kt +103 -109
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSOptions.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageRowItem.kt +24 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaReference.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaRequestConfig.kt +10 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{PartialAndroidSetupPlayerOptions.kt → NativeAndroidSetupOptions.kt} +5 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeBrowserConfiguration.kt +18 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{RemoteSetRatingEvent.kt → NativeGateRequest.kt} +12 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{PartialIOSSetupPlayerOptions.kt → NativeIOSSetupOptions.kt} +5 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeRouteEntry.kt +4 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeSetupPlayerOptions.kt +66 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeUpdateOptions.kt +6 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NavigationErrorType.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroAndroidUpdateOptions.kt +2 -8
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroIOSUpdateOptions.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NotificationButton.kt +5 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingMetadata.kt +3 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingUpdate.kt +6 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Options.kt +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{IosOutput.kt → Output.kt} +6 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/OutputType.kt +31 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackError.kt +12 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackErrorKind.kt +29 -0
- 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/ResolvedTrack.kt +12 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RetryConfig.kt +7 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SearchMode.kt +12 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SearchParams.kt +6 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/StallReason.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Track.kt +12 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackRequest.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TransformableRequestConfig.kt +7 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_FavoriteConfig.kt +53 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_ResolvedTrack_BrowseError_Promise_BrowseResult_.kt +65 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_String_ArtworkVariants.kt +53 -0
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.cpp +139 -28
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +1098 -447
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +60 -39
- package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +170 -112
- package/nitrogen/generated/ios/swift/AndroidAudioContentType.swift +8 -8
- package/nitrogen/generated/ios/swift/AndroidOptions.swift +2 -12
- package/nitrogen/generated/ios/swift/ArtworkRequestConfig.swift +95 -1
- package/nitrogen/generated/ios/swift/ArtworkVariants.swift +34 -0
- package/nitrogen/generated/ios/swift/CarPlayNowPlayingButton.swift +4 -4
- package/nitrogen/generated/ios/swift/FavoriteConfig.swift +29 -0
- package/nitrogen/generated/ios/swift/FavoritesMatchMode.swift +40 -0
- package/nitrogen/generated/ios/swift/FormatNowPlayingParams.swift +67 -0
- package/nitrogen/generated/ios/swift/FormattedNavigationError.swift +17 -4
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.swift +54 -0
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.swift +69 -0
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___Track.swift +54 -0
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.swift +60 -0
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__optional_std__string____Track.swift +60 -0
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.swift +61 -0
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.swift +61 -0
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.swift +77 -0
- package/nitrogen/generated/ios/swift/Func_void_GateDecision.swift +46 -0
- package/nitrogen/generated/ios/swift/{Func_void_RemoteSetRatingEvent.swift → Func_void_GateEvent.swift} +10 -10
- package/nitrogen/generated/ios/swift/{Func_void_IosOutput.swift → Func_void_Output.swift} +10 -10
- package/nitrogen/generated/ios/swift/Func_void_TransformableRequestConfig.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +5 -5
- package/nitrogen/generated/ios/swift/Func_void_std__optional_NowPlayingUpdate_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_std__string_.swift +53 -0
- package/nitrogen/generated/ios/swift/{Func_void_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___.swift → Func_void_std__shared_ptr_Promise_GateDecision__.swift} +17 -17
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_TransformableRequestConfig__.swift +66 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____.swift +81 -0
- package/nitrogen/generated/ios/swift/Gate.swift +47 -0
- package/nitrogen/generated/ios/swift/GateDecision.swift +40 -0
- package/nitrogen/generated/ios/swift/GateEvent.swift +29 -0
- package/nitrogen/generated/ios/swift/GateReason.swift +40 -0
- package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec.swift +20 -14
- package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec_cxx.swift +230 -197
- package/nitrogen/generated/ios/swift/IOSOptions.swift +51 -0
- package/nitrogen/generated/ios/swift/ImageRowItem.swift +121 -2
- package/nitrogen/generated/ios/swift/MediaReference.swift +40 -0
- package/nitrogen/generated/ios/swift/MediaRequestConfig.swift +107 -1
- package/nitrogen/generated/ios/swift/{PartialAndroidSetupPlayerOptions.swift → NativeAndroidSetupOptions.swift} +5 -5
- package/nitrogen/generated/ios/swift/NativeBrowserConfiguration.swift +161 -22
- package/nitrogen/generated/ios/swift/NativeGateRequest.swift +58 -0
- package/nitrogen/generated/ios/swift/{PartialIOSSetupPlayerOptions.swift → NativeIOSSetupOptions.swift} +5 -5
- package/nitrogen/generated/ios/swift/NativeRouteEntry.swift +19 -19
- package/nitrogen/generated/ios/swift/NativeSetupPlayerOptions.swift +206 -0
- package/nitrogen/generated/ios/swift/NativeUpdateOptions.swift +12 -25
- package/nitrogen/generated/ios/swift/NavigationErrorType.swift +8 -0
- package/nitrogen/generated/ios/swift/NitroAndroidUpdateOptions.swift +1 -30
- package/nitrogen/generated/ios/swift/NitroIOSUpdateOptions.swift +90 -0
- package/nitrogen/generated/ios/swift/NotificationButton.swift +4 -4
- package/nitrogen/generated/ios/swift/NowPlayingMetadata.swift +1 -48
- package/nitrogen/generated/ios/swift/NowPlayingUpdate.swift +19 -1
- package/nitrogen/generated/ios/swift/Options.swift +10 -4
- package/nitrogen/generated/ios/swift/{IosOutput.swift → Output.swift} +7 -7
- package/nitrogen/generated/ios/swift/OutputType.swift +72 -0
- package/nitrogen/generated/ios/swift/PlaybackError.swift +43 -2
- package/nitrogen/generated/ios/swift/PlaybackErrorKind.swift +64 -0
- package/nitrogen/generated/ios/swift/PlaybackState.swift +4 -4
- package/nitrogen/generated/ios/swift/PlayerCapabilities.swift +27 -8
- package/nitrogen/generated/ios/swift/ResolvedTrack.swift +74 -8
- package/nitrogen/generated/ios/swift/RetryConfig.swift +35 -4
- package/nitrogen/generated/ios/swift/SearchMode.swift +36 -12
- package/nitrogen/generated/ios/swift/SearchParams.swift +7 -2
- package/nitrogen/generated/ios/swift/StallReason.swift +40 -0
- package/nitrogen/generated/ios/swift/Track.swift +74 -8
- package/nitrogen/generated/ios/swift/TrackRequest.swift +106 -0
- package/nitrogen/generated/ios/swift/TransformableRequestConfig.swift +60 -1
- package/nitrogen/generated/ios/swift/Variant_Bool_FavoriteConfig.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_ResolvedTrack_BrowseError_Promise_BrowseResult_.swift +19 -0
- package/nitrogen/generated/ios/swift/Variant_String_ArtworkVariants.swift +18 -0
- package/nitrogen/generated/shared/c++/AndroidAudioContentType.hpp +10 -10
- package/nitrogen/generated/shared/c++/AndroidOptions.hpp +1 -12
- package/nitrogen/generated/shared/c++/ArtworkRequestConfig.hpp +10 -2
- package/nitrogen/generated/shared/c++/ArtworkVariants.hpp +87 -0
- package/nitrogen/generated/shared/c++/CarPlayNowPlayingButton.hpp +6 -6
- package/nitrogen/generated/shared/c++/EqualizerSettings.hpp +0 -2
- package/nitrogen/generated/shared/c++/{StarRating.hpp → FavoriteConfig.hpp} +18 -17
- package/nitrogen/generated/shared/c++/FavoritesMatchMode.hpp +76 -0
- package/nitrogen/generated/shared/c++/FormatNowPlayingParams.hpp +110 -0
- package/nitrogen/generated/shared/c++/FormattedNavigationError.hpp +6 -5
- package/nitrogen/generated/shared/c++/{HeartRating.hpp → Gate.hpp} +21 -16
- package/nitrogen/generated/shared/c++/{ThumbsRating.hpp → GateDecision.hpp} +23 -17
- package/nitrogen/generated/shared/c++/{PercentageRating.hpp → GateEvent.hpp} +18 -17
- package/nitrogen/generated/shared/c++/GateReason.hpp +76 -0
- package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.cpp +21 -18
- package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.hpp +44 -35
- package/nitrogen/generated/shared/c++/IOSOptions.hpp +91 -0
- package/nitrogen/generated/shared/c++/ImageRowItem.hpp +33 -2
- package/nitrogen/generated/shared/c++/MediaReference.hpp +76 -0
- package/nitrogen/generated/shared/c++/MediaRequestConfig.hpp +10 -2
- package/nitrogen/generated/shared/c++/{PartialAndroidSetupPlayerOptions.hpp → NativeAndroidSetupOptions.hpp} +11 -11
- package/nitrogen/generated/shared/c++/NativeBrowserConfiguration.hpp +31 -15
- package/nitrogen/generated/shared/c++/NativeGateRequest.hpp +97 -0
- package/nitrogen/generated/shared/c++/{PartialIOSSetupPlayerOptions.hpp → NativeIOSSetupOptions.hpp} +11 -11
- package/nitrogen/generated/shared/c++/NativeRouteEntry.hpp +5 -5
- package/nitrogen/generated/shared/c++/NativeSetupPlayerOptions.hpp +138 -0
- package/nitrogen/generated/shared/c++/NativeUpdateOptions.hpp +9 -7
- package/nitrogen/generated/shared/c++/NavigationErrorType.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroAndroidUpdateOptions.hpp +1 -12
- package/nitrogen/generated/shared/c++/NitroIOSUpdateOptions.hpp +92 -0
- package/nitrogen/generated/shared/c++/NotificationButton.hpp +8 -8
- package/nitrogen/generated/shared/c++/NowPlayingMetadata.hpp +3 -19
- package/nitrogen/generated/shared/c++/NowPlayingUpdate.hpp +6 -2
- package/nitrogen/generated/shared/c++/Options.hpp +8 -8
- package/nitrogen/generated/shared/c++/{IosOutput.hpp → Output.hpp} +18 -18
- package/nitrogen/generated/shared/c++/OutputType.hpp +108 -0
- package/nitrogen/generated/shared/c++/PlaybackError.hpp +18 -3
- package/nitrogen/generated/shared/c++/PlaybackErrorKind.hpp +100 -0
- package/nitrogen/generated/shared/c++/PlaybackState.hpp +9 -9
- package/nitrogen/generated/shared/c++/PlayerCapabilities.hpp +9 -6
- package/nitrogen/generated/shared/c++/ResolvedTrack.hpp +24 -5
- package/nitrogen/generated/shared/c++/RetryConfig.hpp +10 -6
- package/nitrogen/generated/shared/c++/SearchMode.hpp +39 -15
- package/nitrogen/generated/shared/c++/SearchParams.hpp +9 -2
- package/nitrogen/generated/shared/c++/StallReason.hpp +76 -0
- package/nitrogen/generated/shared/c++/Track.hpp +24 -5
- package/nitrogen/generated/shared/c++/TrackRequest.hpp +93 -0
- package/nitrogen/generated/shared/c++/TransformableRequestConfig.hpp +6 -2
- package/package.json +16 -16
- package/src/codegen-no-config-variant.test.ts +70 -0
- package/src/features/browser-config.test.ts +110 -0
- package/src/features/browser-config.ts +293 -0
- package/src/features/browser.test.ts +19 -0
- package/src/features/browser.ts +58 -201
- package/src/features/carConnection.ts +36 -0
- package/src/features/errors.ts +68 -2
- package/src/features/gate.test.ts +72 -0
- package/src/features/gate.ts +155 -0
- package/src/features/index.ts +2 -0
- package/src/features/metadata.ts +6 -12
- package/src/features/nowPlaying.ts +36 -0
- package/src/features/output.ts +35 -22
- package/src/features/playback/controls.ts +8 -0
- package/src/features/playback/index.ts +1 -0
- package/src/features/playback/progress.ts +31 -12
- package/src/features/playback/trackPlaybackTime.test.ts +66 -0
- package/src/features/playback/trackPlaybackTime.ts +106 -0
- package/src/features/playback/volume.ts +1 -1
- package/src/features/player/options.test.ts +38 -0
- package/src/features/player/options.ts +140 -75
- package/src/features/player/setup.test.ts +117 -0
- package/src/features/player/setup.ts +390 -175
- package/src/features/queue/queue.test.ts +36 -0
- package/src/features/queue/queue.ts +15 -4
- package/src/features/remoteControls.ts +0 -23
- package/src/features/sleepTimer.ts +23 -4
- package/src/native.ts +5 -0
- package/src/native.web.ts +4 -1
- package/src/specs/audio-browser.nitro.ts +131 -41
- package/src/types/browser-native.ts +19 -6
- package/src/types/browser-nodes.ts +160 -13
- package/src/types/browser.ts +377 -89
- package/src/utils/LazyNativeEmitter.ts +0 -2
- package/src/utils/NativeUpdatedValue.ts +0 -2
- package/src/utils/artwork.ts +30 -0
- package/src/web/NativeAudioBrowser.playWhenReady.test.ts +301 -0
- package/src/web/NativeAudioBrowser.ts +368 -157
- package/src/web/SimpleRouter.test.ts +9 -9
- package/src/web/TrackPlayer/PlaybackStateMachine.test.ts +139 -0
- package/src/web/TrackPlayer/PlaybackStateMachine.ts +82 -0
- package/src/web/TrackPlayer/PlaybackTimer.test.ts +67 -0
- package/src/web/TrackPlayer/PlaybackTimer.ts +33 -0
- package/src/web/TrackPlayer/Player.dispatch.test.ts +229 -0
- package/src/web/TrackPlayer/Player.load.test.ts +86 -0
- package/src/web/TrackPlayer/Player.ts +113 -39
- package/src/web/TrackPlayer/PlayingStateFactory.test.ts +51 -0
- package/src/web/TrackPlayer/PlayingStateFactory.ts +24 -0
- package/src/web/TrackPlayer/QueueManager.test.ts +289 -0
- package/src/web/TrackPlayer/QueueManager.ts +302 -0
- package/src/web/TrackPlayer/QueuePlayer.ts +188 -0
- package/src/web/TrackPlayer/RepeatMode.ts +1 -1
- package/src/web/TrackPlayer/SleepTimer.ts +38 -3
- package/src/web/TrackPlayer/VolumeFader.ts +74 -0
- package/src/web/TrackPlayer/index.ts +2 -1
- package/src/web/browser/BrowserManager.ts +231 -62
- package/src/web/browser/NavigationErrorManager.ts +3 -1
- package/src/web/browser/SearchManager.ts +11 -15
- package/src/web/browser/__tests__/layer-resolver.test.ts +69 -0
- package/src/web/browser/assertBrowsePageShape.test.ts +27 -0
- package/src/web/browser/assertBrowsePageShape.ts +27 -0
- package/src/web/browser/classifyTrackNavigation.test.ts +41 -0
- package/src/web/browser/classifyTrackNavigation.ts +35 -0
- package/src/web/browser/parseSearchResponse.test.ts +25 -0
- package/src/web/browser/parseSearchResponse.ts +15 -0
- package/src/web/http/HttpClient.ts +5 -35
- package/src/web/http/RequestConfigBuilder.test.ts +59 -0
- package/src/web/http/RequestConfigBuilder.ts +120 -63
- package/src/web/playbackErrorKind.test.ts +55 -0
- package/src/web/playbackErrorKind.ts +56 -0
- package/src/web/player/MediaSessionManager.test.ts +220 -0
- package/src/web/player/MediaSessionManager.ts +151 -0
- package/src/web/player/NowPlayingManager.test.ts +46 -0
- package/src/web/player/NowPlayingManager.ts +6 -5
- package/src/web/player/OptionsManager.ts +12 -18
- package/src/web/player/RemoteCommandController.test.ts +171 -0
- package/src/web/player/RemoteCommandController.ts +166 -0
- package/android/src/main/java/com/audiobrowser/player/PlaybackProgressUpdateManager.kt +0 -59
- package/android/src/main/java/com/audiobrowser/util/RatingFactory.kt +0 -72
- package/android/src/main/java/com/audiobrowser/util/ResolvedTrackFactory.kt +0 -36
- package/android/src/test/java/com/audiobrowser/player/PlaybackProgressUpdateManagerTest.kt +0 -146
- package/ios/CarPlay/Track+CarPlay.swift +0 -63
- package/ios/NowPlayingInfo/NowPlayingInfoCenter.swift +0 -9
- package/ios/Player/PlaybackProgressUpdateManager.swift +0 -68
- package/ios/Tests/PlaybackProgressUpdateManagerTests.swift +0 -166
- package/lib/commonjs/features/rating.js +0 -2
- package/lib/commonjs/features/rating.js.map +0 -1
- package/lib/commonjs/types/player.js +0 -2
- package/lib/commonjs/types/player.js.map +0 -1
- package/lib/commonjs/web/SimpleRouter.test.js +0 -174
- package/lib/commonjs/web/SimpleRouter.test.js.map +0 -1
- package/lib/commonjs/web/TrackPlayer/PlaylistPlayer.js +0 -293
- package/lib/commonjs/web/TrackPlayer/PlaylistPlayer.js.map +0 -1
- package/lib/module/features/rating.js +0 -2
- package/lib/module/features/rating.js.map +0 -1
- package/lib/module/types/player.js +0 -2
- package/lib/module/types/player.js.map +0 -1
- package/lib/module/web/SimpleRouter.test.js +0 -174
- package/lib/module/web/SimpleRouter.test.js.map +0 -1
- package/lib/module/web/TrackPlayer/PlaylistPlayer.js +0 -288
- package/lib/module/web/TrackPlayer/PlaylistPlayer.js.map +0 -1
- package/lib/typescript/src/features/rating.d.ts +0 -14
- package/lib/typescript/src/features/rating.d.ts.map +0 -1
- package/lib/typescript/src/native.web.d.ts +0 -3
- package/lib/typescript/src/native.web.d.ts.map +0 -1
- package/lib/typescript/src/types/player.d.ts +0 -64
- package/lib/typescript/src/types/player.d.ts.map +0 -1
- package/lib/typescript/src/web/NativeAudioBrowser.d.ts +0 -188
- package/lib/typescript/src/web/NativeAudioBrowser.d.ts.map +0 -1
- package/lib/typescript/src/web/SimpleRouter.d.ts +0 -40
- package/lib/typescript/src/web/SimpleRouter.d.ts.map +0 -1
- package/lib/typescript/src/web/SimpleRouter.test.d.ts +0 -2
- package/lib/typescript/src/web/SimpleRouter.test.d.ts.map +0 -1
- package/lib/typescript/src/web/TrackPlayer/Event.d.ts +0 -11
- package/lib/typescript/src/web/TrackPlayer/Event.d.ts.map +0 -1
- package/lib/typescript/src/web/TrackPlayer/Player.d.ts +0 -59
- package/lib/typescript/src/web/TrackPlayer/Player.d.ts.map +0 -1
- package/lib/typescript/src/web/TrackPlayer/PlaylistPlayer.d.ts +0 -39
- package/lib/typescript/src/web/TrackPlayer/PlaylistPlayer.d.ts.map +0 -1
- package/lib/typescript/src/web/TrackPlayer/RepeatMode.d.ts +0 -6
- package/lib/typescript/src/web/TrackPlayer/RepeatMode.d.ts.map +0 -1
- package/lib/typescript/src/web/TrackPlayer/SetupNotCalledError.d.ts +0 -4
- package/lib/typescript/src/web/TrackPlayer/SetupNotCalledError.d.ts.map +0 -1
- package/lib/typescript/src/web/TrackPlayer/SleepTimer.d.ts +0 -34
- package/lib/typescript/src/web/TrackPlayer/SleepTimer.d.ts.map +0 -1
- package/lib/typescript/src/web/TrackPlayer/State.d.ts +0 -13
- package/lib/typescript/src/web/TrackPlayer/State.d.ts.map +0 -1
- package/lib/typescript/src/web/TrackPlayer/index.d.ts +0 -5
- package/lib/typescript/src/web/TrackPlayer/index.d.ts.map +0 -1
- package/lib/typescript/src/web/browser/BrowserManager.d.ts +0 -154
- package/lib/typescript/src/web/browser/BrowserManager.d.ts.map +0 -1
- package/lib/typescript/src/web/browser/FavoriteManager.d.ts +0 -42
- package/lib/typescript/src/web/browser/FavoriteManager.d.ts.map +0 -1
- package/lib/typescript/src/web/browser/NavigationErrorManager.d.ts +0 -40
- package/lib/typescript/src/web/browser/NavigationErrorManager.d.ts.map +0 -1
- package/lib/typescript/src/web/browser/SearchManager.d.ts +0 -22
- package/lib/typescript/src/web/browser/SearchManager.d.ts.map +0 -1
- package/lib/typescript/src/web/http/HttpClient.d.ts +0 -25
- package/lib/typescript/src/web/http/HttpClient.d.ts.map +0 -1
- package/lib/typescript/src/web/http/RequestConfigBuilder.d.ts +0 -98
- package/lib/typescript/src/web/http/RequestConfigBuilder.d.ts.map +0 -1
- package/lib/typescript/src/web/player/NowPlayingManager.d.ts +0 -34
- package/lib/typescript/src/web/player/NowPlayingManager.d.ts.map +0 -1
- package/lib/typescript/src/web/player/OptionsManager.d.ts +0 -32
- package/lib/typescript/src/web/player/OptionsManager.d.ts.map +0 -1
- package/lib/typescript/src/web/util/BrowserPathHelper.d.ts +0 -69
- package/lib/typescript/src/web/util/BrowserPathHelper.d.ts.map +0 -1
- package/lib/typescript/src/web/util/shuffle.d.ts +0 -8
- package/lib/typescript/src/web/util/shuffle.d.ts.map +0 -1
- package/nitrogen/generated/android/c++/JAndroidUpdateOptions.hpp +0 -86
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.hpp +0 -147
- package/nitrogen/generated/android/c++/JFunc_void_IosOutput.hpp +0 -80
- package/nitrogen/generated/android/c++/JFunc_void_RemoteSetRatingEvent.hpp +0 -87
- package/nitrogen/generated/android/c++/JHeartRating.hpp +0 -57
- package/nitrogen/generated/android/c++/JIosOutputType.hpp +0 -85
- package/nitrogen/generated/android/c++/JPartialSetupPlayerOptions.hpp +0 -96
- package/nitrogen/generated/android/c++/JPercentageRating.hpp +0 -57
- package/nitrogen/generated/android/c++/JRatingType.hpp +0 -73
- package/nitrogen/generated/android/c++/JRemoteSetRatingEvent.hpp +0 -66
- package/nitrogen/generated/android/c++/JStarRating.hpp +0 -57
- package/nitrogen/generated/android/c++/JUpdateOptions.hpp +0 -105
- package/nitrogen/generated/android/c++/JVariant_HeartRating_ThumbsRating_StarRating_PercentageRating.cpp +0 -34
- package/nitrogen/generated/android/c++/JVariant_HeartRating_ThumbsRating_StarRating_PercentageRating.hpp +0 -105
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidUpdateOptions.kt +0 -50
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IosOutputType.kt +0 -32
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PartialSetupPlayerOptions.kt +0 -47
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/UpdateOptions.kt +0 -53
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_HeartRating_ThumbsRating_StarRating_PercentageRating.kt +0 -77
- package/nitrogen/generated/ios/swift/AndroidUpdateOptions.swift +0 -119
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.swift +0 -68
- package/nitrogen/generated/ios/swift/HeartRating.swift +0 -29
- package/nitrogen/generated/ios/swift/IosOutputType.swift +0 -76
- package/nitrogen/generated/ios/swift/PartialSetupPlayerOptions.swift +0 -101
- package/nitrogen/generated/ios/swift/PercentageRating.swift +0 -29
- package/nitrogen/generated/ios/swift/RatingType.swift +0 -60
- package/nitrogen/generated/ios/swift/RemoteSetRatingEvent.swift +0 -58
- package/nitrogen/generated/ios/swift/StarRating.swift +0 -29
- package/nitrogen/generated/ios/swift/ThumbsRating.swift +0 -29
- package/nitrogen/generated/ios/swift/UpdateOptions.swift +0 -143
- package/nitrogen/generated/ios/swift/Variant_HeartRating_ThumbsRating_StarRating_PercentageRating.swift +0 -20
- package/nitrogen/generated/shared/c++/AndroidUpdateOptions.hpp +0 -109
- package/nitrogen/generated/shared/c++/IosOutputType.hpp +0 -112
- package/nitrogen/generated/shared/c++/PartialSetupPlayerOptions.hpp +0 -104
- package/nitrogen/generated/shared/c++/RatingType.hpp +0 -96
- package/nitrogen/generated/shared/c++/RemoteSetRatingEvent.hpp +0 -94
- package/nitrogen/generated/shared/c++/UpdateOptions.hpp +0 -111
- package/src/features/rating.ts +0 -17
- package/src/types/player.ts +0 -69
- package/src/web/TrackPlayer/PlaylistPlayer.ts +0 -346
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
///
|
|
2
|
-
///
|
|
2
|
+
/// GateEvent.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
5
|
/// Copyright © Marc Rousavy @ Margelo
|
|
@@ -28,43 +28,44 @@
|
|
|
28
28
|
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
29
29
|
#endif
|
|
30
30
|
|
|
31
|
+
// Forward declaration of `GateReason` to properly resolve imports.
|
|
32
|
+
namespace margelo::nitro::audiobrowser { enum class GateReason; }
|
|
31
33
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
#include "GateReason.hpp"
|
|
34
35
|
|
|
35
36
|
namespace margelo::nitro::audiobrowser {
|
|
36
37
|
|
|
37
38
|
/**
|
|
38
|
-
* A struct which can be represented as a JavaScript object (
|
|
39
|
+
* A struct which can be represented as a JavaScript object (GateEvent).
|
|
39
40
|
*/
|
|
40
|
-
struct
|
|
41
|
+
struct GateEvent final {
|
|
41
42
|
public:
|
|
42
|
-
|
|
43
|
+
GateReason reason SWIFT_PRIVATE;
|
|
43
44
|
|
|
44
45
|
public:
|
|
45
|
-
|
|
46
|
-
explicit
|
|
46
|
+
GateEvent() = default;
|
|
47
|
+
explicit GateEvent(GateReason reason): reason(reason) {}
|
|
47
48
|
|
|
48
49
|
public:
|
|
49
|
-
friend bool operator==(const
|
|
50
|
+
friend bool operator==(const GateEvent& lhs, const GateEvent& rhs) = default;
|
|
50
51
|
};
|
|
51
52
|
|
|
52
53
|
} // namespace margelo::nitro::audiobrowser
|
|
53
54
|
|
|
54
55
|
namespace margelo::nitro {
|
|
55
56
|
|
|
56
|
-
// C++
|
|
57
|
+
// C++ GateEvent <> JS GateEvent (object)
|
|
57
58
|
template <>
|
|
58
|
-
struct JSIConverter<margelo::nitro::audiobrowser::
|
|
59
|
-
static inline margelo::nitro::audiobrowser::
|
|
59
|
+
struct JSIConverter<margelo::nitro::audiobrowser::GateEvent> final {
|
|
60
|
+
static inline margelo::nitro::audiobrowser::GateEvent fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
|
|
60
61
|
jsi::Object obj = arg.asObject(runtime);
|
|
61
|
-
return margelo::nitro::audiobrowser::
|
|
62
|
-
JSIConverter<
|
|
62
|
+
return margelo::nitro::audiobrowser::GateEvent(
|
|
63
|
+
JSIConverter<margelo::nitro::audiobrowser::GateReason>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "reason")))
|
|
63
64
|
);
|
|
64
65
|
}
|
|
65
|
-
static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::audiobrowser::
|
|
66
|
+
static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::audiobrowser::GateEvent& arg) {
|
|
66
67
|
jsi::Object obj(runtime);
|
|
67
|
-
obj.setProperty(runtime, PropNameIDCache::get(runtime, "
|
|
68
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "reason"), JSIConverter<margelo::nitro::audiobrowser::GateReason>::toJSI(runtime, arg.reason));
|
|
68
69
|
return obj;
|
|
69
70
|
}
|
|
70
71
|
static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
|
|
@@ -75,7 +76,7 @@ namespace margelo::nitro {
|
|
|
75
76
|
if (!nitro::isPlainObject(runtime, obj)) {
|
|
76
77
|
return false;
|
|
77
78
|
}
|
|
78
|
-
if (!JSIConverter<
|
|
79
|
+
if (!JSIConverter<margelo::nitro::audiobrowser::GateReason>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "reason")))) return false;
|
|
79
80
|
return true;
|
|
80
81
|
}
|
|
81
82
|
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// GateReason.hpp
|
|
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
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#if __has_include(<NitroModules/NitroHash.hpp>)
|
|
11
|
+
#include <NitroModules/NitroHash.hpp>
|
|
12
|
+
#else
|
|
13
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
|
+
#endif
|
|
15
|
+
#if __has_include(<NitroModules/JSIConverter.hpp>)
|
|
16
|
+
#include <NitroModules/JSIConverter.hpp>
|
|
17
|
+
#else
|
|
18
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
19
|
+
#endif
|
|
20
|
+
#if __has_include(<NitroModules/NitroDefines.hpp>)
|
|
21
|
+
#include <NitroModules/NitroDefines.hpp>
|
|
22
|
+
#else
|
|
23
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
namespace margelo::nitro::audiobrowser {
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* An enum which can be represented as a JavaScript union (GateReason).
|
|
30
|
+
*/
|
|
31
|
+
enum class GateReason {
|
|
32
|
+
BROWSE SWIFT_NAME(browse) = 0,
|
|
33
|
+
SEARCH SWIFT_NAME(search) = 1,
|
|
34
|
+
} CLOSED_ENUM;
|
|
35
|
+
|
|
36
|
+
} // namespace margelo::nitro::audiobrowser
|
|
37
|
+
|
|
38
|
+
namespace margelo::nitro {
|
|
39
|
+
|
|
40
|
+
// C++ GateReason <> JS GateReason (union)
|
|
41
|
+
template <>
|
|
42
|
+
struct JSIConverter<margelo::nitro::audiobrowser::GateReason> final {
|
|
43
|
+
static inline margelo::nitro::audiobrowser::GateReason fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
|
|
44
|
+
std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, arg);
|
|
45
|
+
switch (hashString(unionValue.c_str(), unionValue.size())) {
|
|
46
|
+
case hashString("browse"): return margelo::nitro::audiobrowser::GateReason::BROWSE;
|
|
47
|
+
case hashString("search"): return margelo::nitro::audiobrowser::GateReason::SEARCH;
|
|
48
|
+
default: [[unlikely]]
|
|
49
|
+
throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum GateReason - invalid value!");
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::audiobrowser::GateReason arg) {
|
|
53
|
+
switch (arg) {
|
|
54
|
+
case margelo::nitro::audiobrowser::GateReason::BROWSE: return JSIConverter<std::string>::toJSI(runtime, "browse");
|
|
55
|
+
case margelo::nitro::audiobrowser::GateReason::SEARCH: return JSIConverter<std::string>::toJSI(runtime, "search");
|
|
56
|
+
default: [[unlikely]]
|
|
57
|
+
throw std::invalid_argument("Cannot convert GateReason to JS - invalid value: "
|
|
58
|
+
+ std::to_string(static_cast<int>(arg)) + "!");
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
|
|
62
|
+
if (!value.isString()) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, value);
|
|
66
|
+
switch (hashString(unionValue.c_str(), unionValue.size())) {
|
|
67
|
+
case hashString("browse"):
|
|
68
|
+
case hashString("search"):
|
|
69
|
+
return true;
|
|
70
|
+
default:
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
} // namespace margelo::nitro
|
|
@@ -30,6 +30,12 @@ namespace margelo::nitro::audiobrowser {
|
|
|
30
30
|
prototype.registerHybridSetter("onFormattedNavigationError", &HybridAudioBrowserSpec::setOnFormattedNavigationError);
|
|
31
31
|
prototype.registerHybridGetter("configuration", &HybridAudioBrowserSpec::getConfiguration);
|
|
32
32
|
prototype.registerHybridSetter("configuration", &HybridAudioBrowserSpec::setConfiguration);
|
|
33
|
+
prototype.registerHybridGetter("resolveGate", &HybridAudioBrowserSpec::getResolveGate);
|
|
34
|
+
prototype.registerHybridSetter("resolveGate", &HybridAudioBrowserSpec::setResolveGate);
|
|
35
|
+
prototype.registerHybridGetter("onGate", &HybridAudioBrowserSpec::getOnGate);
|
|
36
|
+
prototype.registerHybridSetter("onGate", &HybridAudioBrowserSpec::setOnGate);
|
|
37
|
+
prototype.registerHybridGetter("onCarConnectedChanged", &HybridAudioBrowserSpec::getOnCarConnectedChanged);
|
|
38
|
+
prototype.registerHybridSetter("onCarConnectedChanged", &HybridAudioBrowserSpec::setOnCarConnectedChanged);
|
|
33
39
|
prototype.registerHybridGetter("onChapterMetadata", &HybridAudioBrowserSpec::getOnChapterMetadata);
|
|
34
40
|
prototype.registerHybridSetter("onChapterMetadata", &HybridAudioBrowserSpec::setOnChapterMetadata);
|
|
35
41
|
prototype.registerHybridGetter("onTrackMetadata", &HybridAudioBrowserSpec::getOnTrackMetadata);
|
|
@@ -46,6 +52,8 @@ namespace margelo::nitro::audiobrowser {
|
|
|
46
52
|
prototype.registerHybridSetter("onPlaybackPlayingState", &HybridAudioBrowserSpec::setOnPlaybackPlayingState);
|
|
47
53
|
prototype.registerHybridGetter("onPlaybackProgressUpdated", &HybridAudioBrowserSpec::getOnPlaybackProgressUpdated);
|
|
48
54
|
prototype.registerHybridSetter("onPlaybackProgressUpdated", &HybridAudioBrowserSpec::setOnPlaybackProgressUpdated);
|
|
55
|
+
prototype.registerHybridGetter("onPlaybackInterval", &HybridAudioBrowserSpec::getOnPlaybackInterval);
|
|
56
|
+
prototype.registerHybridSetter("onPlaybackInterval", &HybridAudioBrowserSpec::setOnPlaybackInterval);
|
|
49
57
|
prototype.registerHybridGetter("onPlaybackQueueEnded", &HybridAudioBrowserSpec::getOnPlaybackQueueEnded);
|
|
50
58
|
prototype.registerHybridSetter("onPlaybackQueueEnded", &HybridAudioBrowserSpec::setOnPlaybackQueueEnded);
|
|
51
59
|
prototype.registerHybridGetter("onPlaybackQueueChanged", &HybridAudioBrowserSpec::getOnPlaybackQueueChanged);
|
|
@@ -58,16 +66,10 @@ namespace margelo::nitro::audiobrowser {
|
|
|
58
66
|
prototype.registerHybridSetter("onSleepTimerChanged", &HybridAudioBrowserSpec::setOnSleepTimerChanged);
|
|
59
67
|
prototype.registerHybridGetter("onPlaybackChanged", &HybridAudioBrowserSpec::getOnPlaybackChanged);
|
|
60
68
|
prototype.registerHybridSetter("onPlaybackChanged", &HybridAudioBrowserSpec::setOnPlaybackChanged);
|
|
61
|
-
prototype.registerHybridGetter("onRemoteBookmark", &HybridAudioBrowserSpec::getOnRemoteBookmark);
|
|
62
|
-
prototype.registerHybridSetter("onRemoteBookmark", &HybridAudioBrowserSpec::setOnRemoteBookmark);
|
|
63
|
-
prototype.registerHybridGetter("onRemoteDislike", &HybridAudioBrowserSpec::getOnRemoteDislike);
|
|
64
|
-
prototype.registerHybridSetter("onRemoteDislike", &HybridAudioBrowserSpec::setOnRemoteDislike);
|
|
65
69
|
prototype.registerHybridGetter("onRemoteJumpBackward", &HybridAudioBrowserSpec::getOnRemoteJumpBackward);
|
|
66
70
|
prototype.registerHybridSetter("onRemoteJumpBackward", &HybridAudioBrowserSpec::setOnRemoteJumpBackward);
|
|
67
71
|
prototype.registerHybridGetter("onRemoteJumpForward", &HybridAudioBrowserSpec::getOnRemoteJumpForward);
|
|
68
72
|
prototype.registerHybridSetter("onRemoteJumpForward", &HybridAudioBrowserSpec::setOnRemoteJumpForward);
|
|
69
|
-
prototype.registerHybridGetter("onRemoteLike", &HybridAudioBrowserSpec::getOnRemoteLike);
|
|
70
|
-
prototype.registerHybridSetter("onRemoteLike", &HybridAudioBrowserSpec::setOnRemoteLike);
|
|
71
73
|
prototype.registerHybridGetter("onRemoteNext", &HybridAudioBrowserSpec::getOnRemoteNext);
|
|
72
74
|
prototype.registerHybridSetter("onRemoteNext", &HybridAudioBrowserSpec::setOnRemoteNext);
|
|
73
75
|
prototype.registerHybridGetter("onRemotePause", &HybridAudioBrowserSpec::getOnRemotePause);
|
|
@@ -82,8 +84,6 @@ namespace margelo::nitro::audiobrowser {
|
|
|
82
84
|
prototype.registerHybridSetter("onRemotePrevious", &HybridAudioBrowserSpec::setOnRemotePrevious);
|
|
83
85
|
prototype.registerHybridGetter("onRemoteSeek", &HybridAudioBrowserSpec::getOnRemoteSeek);
|
|
84
86
|
prototype.registerHybridSetter("onRemoteSeek", &HybridAudioBrowserSpec::setOnRemoteSeek);
|
|
85
|
-
prototype.registerHybridGetter("onRemoteSetRating", &HybridAudioBrowserSpec::getOnRemoteSetRating);
|
|
86
|
-
prototype.registerHybridSetter("onRemoteSetRating", &HybridAudioBrowserSpec::setOnRemoteSetRating);
|
|
87
87
|
prototype.registerHybridGetter("onRemoteSkip", &HybridAudioBrowserSpec::getOnRemoteSkip);
|
|
88
88
|
prototype.registerHybridSetter("onRemoteSkip", &HybridAudioBrowserSpec::setOnRemoteSkip);
|
|
89
89
|
prototype.registerHybridGetter("onRemoteStop", &HybridAudioBrowserSpec::getOnRemoteStop);
|
|
@@ -94,16 +94,10 @@ namespace margelo::nitro::audiobrowser {
|
|
|
94
94
|
prototype.registerHybridSetter("onFavoriteChanged", &HybridAudioBrowserSpec::setOnFavoriteChanged);
|
|
95
95
|
prototype.registerHybridGetter("onNowPlayingChanged", &HybridAudioBrowserSpec::getOnNowPlayingChanged);
|
|
96
96
|
prototype.registerHybridSetter("onNowPlayingChanged", &HybridAudioBrowserSpec::setOnNowPlayingChanged);
|
|
97
|
-
prototype.registerHybridGetter("handleRemoteBookmark", &HybridAudioBrowserSpec::getHandleRemoteBookmark);
|
|
98
|
-
prototype.registerHybridSetter("handleRemoteBookmark", &HybridAudioBrowserSpec::setHandleRemoteBookmark);
|
|
99
|
-
prototype.registerHybridGetter("handleRemoteDislike", &HybridAudioBrowserSpec::getHandleRemoteDislike);
|
|
100
|
-
prototype.registerHybridSetter("handleRemoteDislike", &HybridAudioBrowserSpec::setHandleRemoteDislike);
|
|
101
97
|
prototype.registerHybridGetter("handleRemoteJumpBackward", &HybridAudioBrowserSpec::getHandleRemoteJumpBackward);
|
|
102
98
|
prototype.registerHybridSetter("handleRemoteJumpBackward", &HybridAudioBrowserSpec::setHandleRemoteJumpBackward);
|
|
103
99
|
prototype.registerHybridGetter("handleRemoteJumpForward", &HybridAudioBrowserSpec::getHandleRemoteJumpForward);
|
|
104
100
|
prototype.registerHybridSetter("handleRemoteJumpForward", &HybridAudioBrowserSpec::setHandleRemoteJumpForward);
|
|
105
|
-
prototype.registerHybridGetter("handleRemoteLike", &HybridAudioBrowserSpec::getHandleRemoteLike);
|
|
106
|
-
prototype.registerHybridSetter("handleRemoteLike", &HybridAudioBrowserSpec::setHandleRemoteLike);
|
|
107
101
|
prototype.registerHybridGetter("handleRemoteNext", &HybridAudioBrowserSpec::getHandleRemoteNext);
|
|
108
102
|
prototype.registerHybridSetter("handleRemoteNext", &HybridAudioBrowserSpec::setHandleRemoteNext);
|
|
109
103
|
prototype.registerHybridGetter("handleRemotePause", &HybridAudioBrowserSpec::getHandleRemotePause);
|
|
@@ -126,8 +120,8 @@ namespace margelo::nitro::audiobrowser {
|
|
|
126
120
|
prototype.registerHybridSetter("onOnlineChanged", &HybridAudioBrowserSpec::setOnOnlineChanged);
|
|
127
121
|
prototype.registerHybridGetter("onSystemVolumeChanged", &HybridAudioBrowserSpec::getOnSystemVolumeChanged);
|
|
128
122
|
prototype.registerHybridSetter("onSystemVolumeChanged", &HybridAudioBrowserSpec::setOnSystemVolumeChanged);
|
|
129
|
-
prototype.registerHybridGetter("
|
|
130
|
-
prototype.registerHybridSetter("
|
|
123
|
+
prototype.registerHybridGetter("onOutputChanged", &HybridAudioBrowserSpec::getOnOutputChanged);
|
|
124
|
+
prototype.registerHybridSetter("onOutputChanged", &HybridAudioBrowserSpec::setOnOutputChanged);
|
|
131
125
|
prototype.registerHybridGetter("onEqualizerChanged", &HybridAudioBrowserSpec::getOnEqualizerChanged);
|
|
132
126
|
prototype.registerHybridSetter("onEqualizerChanged", &HybridAudioBrowserSpec::setOnEqualizerChanged);
|
|
133
127
|
prototype.registerHybridGetter("onBatteryWarningPendingChanged", &HybridAudioBrowserSpec::getOnBatteryWarningPendingChanged);
|
|
@@ -141,7 +135,11 @@ namespace margelo::nitro::audiobrowser {
|
|
|
141
135
|
prototype.registerHybridMethod("getNavigationError", &HybridAudioBrowserSpec::getNavigationError);
|
|
142
136
|
prototype.registerHybridMethod("getFormattedNavigationError", &HybridAudioBrowserSpec::getFormattedNavigationError);
|
|
143
137
|
prototype.registerHybridMethod("notifyContentChanged", &HybridAudioBrowserSpec::notifyContentChanged);
|
|
138
|
+
prototype.registerHybridMethod("invalidateAllContent", &HybridAudioBrowserSpec::invalidateAllContent);
|
|
144
139
|
prototype.registerHybridMethod("setFavorites", &HybridAudioBrowserSpec::setFavorites);
|
|
140
|
+
prototype.registerHybridMethod("setGate", &HybridAudioBrowserSpec::setGate);
|
|
141
|
+
prototype.registerHybridMethod("clearGate", &HybridAudioBrowserSpec::clearGate);
|
|
142
|
+
prototype.registerHybridMethod("isCarConnected", &HybridAudioBrowserSpec::isCarConnected);
|
|
145
143
|
prototype.registerHybridMethod("setupPlayer", &HybridAudioBrowserSpec::setupPlayer);
|
|
146
144
|
prototype.registerHybridMethod("updateOptions", &HybridAudioBrowserSpec::updateOptions);
|
|
147
145
|
prototype.registerHybridMethod("getOptions", &HybridAudioBrowserSpec::getOptions);
|
|
@@ -155,11 +153,13 @@ namespace margelo::nitro::audiobrowser {
|
|
|
155
153
|
prototype.registerHybridMethod("getPlayWhenReady", &HybridAudioBrowserSpec::getPlayWhenReady);
|
|
156
154
|
prototype.registerHybridMethod("seekTo", &HybridAudioBrowserSpec::seekTo);
|
|
157
155
|
prototype.registerHybridMethod("seekBy", &HybridAudioBrowserSpec::seekBy);
|
|
156
|
+
prototype.registerHybridMethod("seekToLiveEdge", &HybridAudioBrowserSpec::seekToLiveEdge);
|
|
158
157
|
prototype.registerHybridMethod("setVolume", &HybridAudioBrowserSpec::setVolume);
|
|
159
158
|
prototype.registerHybridMethod("getVolume", &HybridAudioBrowserSpec::getVolume);
|
|
160
159
|
prototype.registerHybridMethod("setRate", &HybridAudioBrowserSpec::setRate);
|
|
161
160
|
prototype.registerHybridMethod("getRate", &HybridAudioBrowserSpec::getRate);
|
|
162
161
|
prototype.registerHybridMethod("getProgress", &HybridAudioBrowserSpec::getProgress);
|
|
162
|
+
prototype.registerHybridMethod("setPlaybackIntervalEnabled", &HybridAudioBrowserSpec::setPlaybackIntervalEnabled);
|
|
163
163
|
prototype.registerHybridMethod("getPlayback", &HybridAudioBrowserSpec::getPlayback);
|
|
164
164
|
prototype.registerHybridMethod("getPlayingState", &HybridAudioBrowserSpec::getPlayingState);
|
|
165
165
|
prototype.registerHybridMethod("getRepeatMode", &HybridAudioBrowserSpec::getRepeatMode);
|
|
@@ -187,12 +187,15 @@ namespace margelo::nitro::audiobrowser {
|
|
|
187
187
|
prototype.registerHybridMethod("getActiveTrackIndex", &HybridAudioBrowserSpec::getActiveTrackIndex);
|
|
188
188
|
prototype.registerHybridMethod("getActiveTrack", &HybridAudioBrowserSpec::getActiveTrack);
|
|
189
189
|
prototype.registerHybridMethod("updateNowPlaying", &HybridAudioBrowserSpec::updateNowPlaying);
|
|
190
|
+
prototype.registerHybridMethod("flashNowPlaying", &HybridAudioBrowserSpec::flashNowPlaying);
|
|
191
|
+
prototype.registerHybridMethod("clearNowPlayingFlash", &HybridAudioBrowserSpec::clearNowPlayingFlash);
|
|
190
192
|
prototype.registerHybridMethod("getNowPlaying", &HybridAudioBrowserSpec::getNowPlaying);
|
|
191
193
|
prototype.registerHybridMethod("getOnline", &HybridAudioBrowserSpec::getOnline);
|
|
192
194
|
prototype.registerHybridMethod("getSystemVolume", &HybridAudioBrowserSpec::getSystemVolume);
|
|
193
195
|
prototype.registerHybridMethod("setSystemVolume", &HybridAudioBrowserSpec::setSystemVolume);
|
|
194
|
-
prototype.registerHybridMethod("
|
|
195
|
-
prototype.registerHybridMethod("
|
|
196
|
+
prototype.registerHybridMethod("getOutput", &HybridAudioBrowserSpec::getOutput);
|
|
197
|
+
prototype.registerHybridMethod("openOutputPicker", &HybridAudioBrowserSpec::openOutputPicker);
|
|
198
|
+
prototype.registerHybridMethod("supportsOutputSwitcher", &HybridAudioBrowserSpec::supportsOutputSwitcher);
|
|
196
199
|
prototype.registerHybridMethod("getEqualizerSettings", &HybridAudioBrowserSpec::getEqualizerSettings);
|
|
197
200
|
prototype.registerHybridMethod("setEqualizerEnabled", &HybridAudioBrowserSpec::setEqualizerEnabled);
|
|
198
201
|
prototype.registerHybridMethod("setEqualizerPreset", &HybridAudioBrowserSpec::setEqualizerPreset);
|
|
@@ -23,6 +23,12 @@ namespace margelo::nitro::audiobrowser { struct NavigationErrorEvent; }
|
|
|
23
23
|
namespace margelo::nitro::audiobrowser { struct FormattedNavigationError; }
|
|
24
24
|
// Forward declaration of `NativeBrowserConfiguration` to properly resolve imports.
|
|
25
25
|
namespace margelo::nitro::audiobrowser { struct NativeBrowserConfiguration; }
|
|
26
|
+
// Forward declaration of `GateDecision` to properly resolve imports.
|
|
27
|
+
namespace margelo::nitro::audiobrowser { struct GateDecision; }
|
|
28
|
+
// Forward declaration of `NativeGateRequest` to properly resolve imports.
|
|
29
|
+
namespace margelo::nitro::audiobrowser { struct NativeGateRequest; }
|
|
30
|
+
// Forward declaration of `GateEvent` to properly resolve imports.
|
|
31
|
+
namespace margelo::nitro::audiobrowser { struct GateEvent; }
|
|
26
32
|
// Forward declaration of `ChapterMetadata` to properly resolve imports.
|
|
27
33
|
namespace margelo::nitro::audiobrowser { struct ChapterMetadata; }
|
|
28
34
|
// Forward declaration of `TrackMetadata` to properly resolve imports.
|
|
@@ -59,8 +65,6 @@ namespace margelo::nitro::audiobrowser { struct RemotePlayIdEvent; }
|
|
|
59
65
|
namespace margelo::nitro::audiobrowser { struct RemotePlaySearchEvent; }
|
|
60
66
|
// Forward declaration of `RemoteSeekEvent` to properly resolve imports.
|
|
61
67
|
namespace margelo::nitro::audiobrowser { struct RemoteSeekEvent; }
|
|
62
|
-
// Forward declaration of `RemoteSetRatingEvent` to properly resolve imports.
|
|
63
|
-
namespace margelo::nitro::audiobrowser { struct RemoteSetRatingEvent; }
|
|
64
68
|
// Forward declaration of `RemoteSkipEvent` to properly resolve imports.
|
|
65
69
|
namespace margelo::nitro::audiobrowser { struct RemoteSkipEvent; }
|
|
66
70
|
// Forward declaration of `Options` to properly resolve imports.
|
|
@@ -69,8 +73,8 @@ namespace margelo::nitro::audiobrowser { struct Options; }
|
|
|
69
73
|
namespace margelo::nitro::audiobrowser { struct FavoriteChangedEvent; }
|
|
70
74
|
// Forward declaration of `NowPlayingMetadata` to properly resolve imports.
|
|
71
75
|
namespace margelo::nitro::audiobrowser { struct NowPlayingMetadata; }
|
|
72
|
-
// Forward declaration of `
|
|
73
|
-
namespace margelo::nitro::audiobrowser { struct
|
|
76
|
+
// Forward declaration of `Output` to properly resolve imports.
|
|
77
|
+
namespace margelo::nitro::audiobrowser { struct Output; }
|
|
74
78
|
// Forward declaration of `EqualizerSettings` to properly resolve imports.
|
|
75
79
|
namespace margelo::nitro::audiobrowser { struct EqualizerSettings; }
|
|
76
80
|
// Forward declaration of `BatteryWarningPendingChangedEvent` to properly resolve imports.
|
|
@@ -79,12 +83,12 @@ namespace margelo::nitro::audiobrowser { struct BatteryWarningPendingChangedEven
|
|
|
79
83
|
namespace margelo::nitro::audiobrowser { struct BatteryOptimizationStatusChangedEvent; }
|
|
80
84
|
// Forward declaration of `NavigationError` to properly resolve imports.
|
|
81
85
|
namespace margelo::nitro::audiobrowser { struct NavigationError; }
|
|
82
|
-
// Forward declaration of `
|
|
83
|
-
namespace margelo::nitro::audiobrowser { struct
|
|
86
|
+
// Forward declaration of `Gate` to properly resolve imports.
|
|
87
|
+
namespace margelo::nitro::audiobrowser { struct Gate; }
|
|
88
|
+
// Forward declaration of `NativeSetupPlayerOptions` to properly resolve imports.
|
|
89
|
+
namespace margelo::nitro::audiobrowser { struct NativeSetupPlayerOptions; }
|
|
84
90
|
// Forward declaration of `NativeUpdateOptions` to properly resolve imports.
|
|
85
91
|
namespace margelo::nitro::audiobrowser { struct NativeUpdateOptions; }
|
|
86
|
-
// Forward declaration of `UpdateOptions` to properly resolve imports.
|
|
87
|
-
namespace margelo::nitro::audiobrowser { struct UpdateOptions; }
|
|
88
92
|
// Forward declaration of `Progress` to properly resolve imports.
|
|
89
93
|
namespace margelo::nitro::audiobrowser { struct Progress; }
|
|
90
94
|
// Forward declaration of `RepeatMode` to properly resolve imports.
|
|
@@ -105,6 +109,10 @@ namespace margelo::nitro::audiobrowser { enum class BatteryOptimizationStatus; }
|
|
|
105
109
|
#include "NavigationErrorEvent.hpp"
|
|
106
110
|
#include "FormattedNavigationError.hpp"
|
|
107
111
|
#include "NativeBrowserConfiguration.hpp"
|
|
112
|
+
#include "GateDecision.hpp"
|
|
113
|
+
#include <NitroModules/Promise.hpp>
|
|
114
|
+
#include "NativeGateRequest.hpp"
|
|
115
|
+
#include "GateEvent.hpp"
|
|
108
116
|
#include "ChapterMetadata.hpp"
|
|
109
117
|
#include "TrackMetadata.hpp"
|
|
110
118
|
#include "TimedMetadata.hpp"
|
|
@@ -125,20 +133,18 @@ namespace margelo::nitro::audiobrowser { enum class BatteryOptimizationStatus; }
|
|
|
125
133
|
#include "RemotePlayIdEvent.hpp"
|
|
126
134
|
#include "RemotePlaySearchEvent.hpp"
|
|
127
135
|
#include "RemoteSeekEvent.hpp"
|
|
128
|
-
#include "RemoteSetRatingEvent.hpp"
|
|
129
136
|
#include "RemoteSkipEvent.hpp"
|
|
130
137
|
#include "Options.hpp"
|
|
131
138
|
#include "FavoriteChangedEvent.hpp"
|
|
132
139
|
#include "NowPlayingMetadata.hpp"
|
|
133
|
-
#include "
|
|
140
|
+
#include "Output.hpp"
|
|
134
141
|
#include "EqualizerSettings.hpp"
|
|
135
142
|
#include "BatteryWarningPendingChangedEvent.hpp"
|
|
136
143
|
#include "BatteryOptimizationStatusChangedEvent.hpp"
|
|
137
|
-
#include <NitroModules/Promise.hpp>
|
|
138
144
|
#include "NavigationError.hpp"
|
|
139
|
-
#include "
|
|
145
|
+
#include "Gate.hpp"
|
|
146
|
+
#include "NativeSetupPlayerOptions.hpp"
|
|
140
147
|
#include "NativeUpdateOptions.hpp"
|
|
141
|
-
#include "UpdateOptions.hpp"
|
|
142
148
|
#include "Progress.hpp"
|
|
143
149
|
#include "RepeatMode.hpp"
|
|
144
150
|
#include "PlaybackError.hpp"
|
|
@@ -188,6 +194,12 @@ namespace margelo::nitro::audiobrowser {
|
|
|
188
194
|
virtual void setOnFormattedNavigationError(const std::function<void(const std::optional<FormattedNavigationError>& /* formattedError */)>& onFormattedNavigationError) = 0;
|
|
189
195
|
virtual NativeBrowserConfiguration getConfiguration() = 0;
|
|
190
196
|
virtual void setConfiguration(const NativeBrowserConfiguration& configuration) = 0;
|
|
197
|
+
virtual std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<GateDecision>>>>(const NativeGateRequest& /* request */)> getResolveGate() = 0;
|
|
198
|
+
virtual void setResolveGate(const std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<GateDecision>>>>(const NativeGateRequest& /* request */)>& resolveGate) = 0;
|
|
199
|
+
virtual std::function<void(const GateEvent& /* event */)> getOnGate() = 0;
|
|
200
|
+
virtual void setOnGate(const std::function<void(const GateEvent& /* event */)>& onGate) = 0;
|
|
201
|
+
virtual std::function<void(bool /* connected */)> getOnCarConnectedChanged() = 0;
|
|
202
|
+
virtual void setOnCarConnectedChanged(const std::function<void(bool /* connected */)>& onCarConnectedChanged) = 0;
|
|
191
203
|
virtual std::function<void(const std::vector<ChapterMetadata>& /* chapters */)> getOnChapterMetadata() = 0;
|
|
192
204
|
virtual void setOnChapterMetadata(const std::function<void(const std::vector<ChapterMetadata>& /* chapters */)>& onChapterMetadata) = 0;
|
|
193
205
|
virtual std::function<void(const TrackMetadata& /* metadata */)> getOnTrackMetadata() = 0;
|
|
@@ -204,6 +216,8 @@ namespace margelo::nitro::audiobrowser {
|
|
|
204
216
|
virtual void setOnPlaybackPlayingState(const std::function<void(const PlayingState& /* data */)>& onPlaybackPlayingState) = 0;
|
|
205
217
|
virtual std::function<void(const PlaybackProgressUpdatedEvent& /* data */)> getOnPlaybackProgressUpdated() = 0;
|
|
206
218
|
virtual void setOnPlaybackProgressUpdated(const std::function<void(const PlaybackProgressUpdatedEvent& /* data */)>& onPlaybackProgressUpdated) = 0;
|
|
219
|
+
virtual std::function<void()> getOnPlaybackInterval() = 0;
|
|
220
|
+
virtual void setOnPlaybackInterval(const std::function<void()>& onPlaybackInterval) = 0;
|
|
207
221
|
virtual std::function<void(const PlaybackQueueEndedEvent& /* data */)> getOnPlaybackQueueEnded() = 0;
|
|
208
222
|
virtual void setOnPlaybackQueueEnded(const std::function<void(const PlaybackQueueEndedEvent& /* data */)>& onPlaybackQueueEnded) = 0;
|
|
209
223
|
virtual std::function<void(const std::vector<Track>& /* queue */)> getOnPlaybackQueueChanged() = 0;
|
|
@@ -216,16 +230,10 @@ namespace margelo::nitro::audiobrowser {
|
|
|
216
230
|
virtual void setOnSleepTimerChanged(const std::function<void(const std::optional<std::variant<nitro::NullType, SleepTimerTime, SleepTimerEndOfTrack>>& /* data */)>& onSleepTimerChanged) = 0;
|
|
217
231
|
virtual std::function<void(const Playback& /* data */)> getOnPlaybackChanged() = 0;
|
|
218
232
|
virtual void setOnPlaybackChanged(const std::function<void(const Playback& /* data */)>& onPlaybackChanged) = 0;
|
|
219
|
-
virtual std::function<void()> getOnRemoteBookmark() = 0;
|
|
220
|
-
virtual void setOnRemoteBookmark(const std::function<void()>& onRemoteBookmark) = 0;
|
|
221
|
-
virtual std::function<void()> getOnRemoteDislike() = 0;
|
|
222
|
-
virtual void setOnRemoteDislike(const std::function<void()>& onRemoteDislike) = 0;
|
|
223
233
|
virtual std::function<void(const RemoteJumpBackwardEvent& /* event */)> getOnRemoteJumpBackward() = 0;
|
|
224
234
|
virtual void setOnRemoteJumpBackward(const std::function<void(const RemoteJumpBackwardEvent& /* event */)>& onRemoteJumpBackward) = 0;
|
|
225
235
|
virtual std::function<void(const RemoteJumpForwardEvent& /* event */)> getOnRemoteJumpForward() = 0;
|
|
226
236
|
virtual void setOnRemoteJumpForward(const std::function<void(const RemoteJumpForwardEvent& /* event */)>& onRemoteJumpForward) = 0;
|
|
227
|
-
virtual std::function<void()> getOnRemoteLike() = 0;
|
|
228
|
-
virtual void setOnRemoteLike(const std::function<void()>& onRemoteLike) = 0;
|
|
229
237
|
virtual std::function<void()> getOnRemoteNext() = 0;
|
|
230
238
|
virtual void setOnRemoteNext(const std::function<void()>& onRemoteNext) = 0;
|
|
231
239
|
virtual std::function<void()> getOnRemotePause() = 0;
|
|
@@ -240,8 +248,6 @@ namespace margelo::nitro::audiobrowser {
|
|
|
240
248
|
virtual void setOnRemotePrevious(const std::function<void()>& onRemotePrevious) = 0;
|
|
241
249
|
virtual std::function<void(const RemoteSeekEvent& /* event */)> getOnRemoteSeek() = 0;
|
|
242
250
|
virtual void setOnRemoteSeek(const std::function<void(const RemoteSeekEvent& /* event */)>& onRemoteSeek) = 0;
|
|
243
|
-
virtual std::function<void(const RemoteSetRatingEvent& /* event */)> getOnRemoteSetRating() = 0;
|
|
244
|
-
virtual void setOnRemoteSetRating(const std::function<void(const RemoteSetRatingEvent& /* event */)>& onRemoteSetRating) = 0;
|
|
245
251
|
virtual std::function<void(const RemoteSkipEvent& /* event */)> getOnRemoteSkip() = 0;
|
|
246
252
|
virtual void setOnRemoteSkip(const std::function<void(const RemoteSkipEvent& /* event */)>& onRemoteSkip) = 0;
|
|
247
253
|
virtual std::function<void()> getOnRemoteStop() = 0;
|
|
@@ -252,16 +258,10 @@ namespace margelo::nitro::audiobrowser {
|
|
|
252
258
|
virtual void setOnFavoriteChanged(const std::function<void(const FavoriteChangedEvent& /* event */)>& onFavoriteChanged) = 0;
|
|
253
259
|
virtual std::function<void(const NowPlayingMetadata& /* metadata */)> getOnNowPlayingChanged() = 0;
|
|
254
260
|
virtual void setOnNowPlayingChanged(const std::function<void(const NowPlayingMetadata& /* metadata */)>& onNowPlayingChanged) = 0;
|
|
255
|
-
virtual std::optional<std::function<void()>> getHandleRemoteBookmark() = 0;
|
|
256
|
-
virtual void setHandleRemoteBookmark(const std::optional<std::function<void()>>& handleRemoteBookmark) = 0;
|
|
257
|
-
virtual std::optional<std::function<void()>> getHandleRemoteDislike() = 0;
|
|
258
|
-
virtual void setHandleRemoteDislike(const std::optional<std::function<void()>>& handleRemoteDislike) = 0;
|
|
259
261
|
virtual std::optional<std::function<void(const RemoteJumpBackwardEvent& /* event */)>> getHandleRemoteJumpBackward() = 0;
|
|
260
262
|
virtual void setHandleRemoteJumpBackward(const std::optional<std::function<void(const RemoteJumpBackwardEvent& /* event */)>>& handleRemoteJumpBackward) = 0;
|
|
261
263
|
virtual std::optional<std::function<void(const RemoteJumpForwardEvent& /* event */)>> getHandleRemoteJumpForward() = 0;
|
|
262
264
|
virtual void setHandleRemoteJumpForward(const std::optional<std::function<void(const RemoteJumpForwardEvent& /* event */)>>& handleRemoteJumpForward) = 0;
|
|
263
|
-
virtual std::optional<std::function<void()>> getHandleRemoteLike() = 0;
|
|
264
|
-
virtual void setHandleRemoteLike(const std::optional<std::function<void()>>& handleRemoteLike) = 0;
|
|
265
265
|
virtual std::optional<std::function<void()>> getHandleRemoteNext() = 0;
|
|
266
266
|
virtual void setHandleRemoteNext(const std::optional<std::function<void()>>& handleRemoteNext) = 0;
|
|
267
267
|
virtual std::optional<std::function<void()>> getHandleRemotePause() = 0;
|
|
@@ -284,8 +284,8 @@ namespace margelo::nitro::audiobrowser {
|
|
|
284
284
|
virtual void setOnOnlineChanged(const std::function<void(bool /* online */)>& onOnlineChanged) = 0;
|
|
285
285
|
virtual std::function<void(double /* volume */)> getOnSystemVolumeChanged() = 0;
|
|
286
286
|
virtual void setOnSystemVolumeChanged(const std::function<void(double /* volume */)>& onSystemVolumeChanged) = 0;
|
|
287
|
-
virtual std::function<void(const
|
|
288
|
-
virtual void
|
|
287
|
+
virtual std::function<void(const Output& /* output */)> getOnOutputChanged() = 0;
|
|
288
|
+
virtual void setOnOutputChanged(const std::function<void(const Output& /* output */)>& onOutputChanged) = 0;
|
|
289
289
|
virtual std::function<void(const EqualizerSettings& /* settings */)> getOnEqualizerChanged() = 0;
|
|
290
290
|
virtual void setOnEqualizerChanged(const std::function<void(const EqualizerSettings& /* settings */)>& onEqualizerChanged) = 0;
|
|
291
291
|
virtual std::function<void(const BatteryWarningPendingChangedEvent& /* event */)> getOnBatteryWarningPendingChanged() = 0;
|
|
@@ -302,10 +302,14 @@ namespace margelo::nitro::audiobrowser {
|
|
|
302
302
|
virtual std::optional<NavigationError> getNavigationError() = 0;
|
|
303
303
|
virtual std::optional<FormattedNavigationError> getFormattedNavigationError() = 0;
|
|
304
304
|
virtual void notifyContentChanged(const std::string& path) = 0;
|
|
305
|
+
virtual void invalidateAllContent() = 0;
|
|
305
306
|
virtual void setFavorites(const std::vector<std::string>& favorites) = 0;
|
|
306
|
-
virtual
|
|
307
|
+
virtual void setGate(const std::optional<Gate>& gate, bool hasResolver) = 0;
|
|
308
|
+
virtual void clearGate() = 0;
|
|
309
|
+
virtual bool isCarConnected() = 0;
|
|
310
|
+
virtual std::shared_ptr<Promise<void>> setupPlayer(const NativeSetupPlayerOptions& options) = 0;
|
|
307
311
|
virtual void updateOptions(const NativeUpdateOptions& options) = 0;
|
|
308
|
-
virtual
|
|
312
|
+
virtual Options getOptions() = 0;
|
|
309
313
|
virtual void load(const Track& track) = 0;
|
|
310
314
|
virtual void reset() = 0;
|
|
311
315
|
virtual void play() = 0;
|
|
@@ -316,11 +320,13 @@ namespace margelo::nitro::audiobrowser {
|
|
|
316
320
|
virtual bool getPlayWhenReady() = 0;
|
|
317
321
|
virtual void seekTo(double position) = 0;
|
|
318
322
|
virtual void seekBy(double offset) = 0;
|
|
323
|
+
virtual void seekToLiveEdge() = 0;
|
|
319
324
|
virtual void setVolume(double level) = 0;
|
|
320
325
|
virtual double getVolume() = 0;
|
|
321
326
|
virtual void setRate(double rate) = 0;
|
|
322
327
|
virtual double getRate() = 0;
|
|
323
328
|
virtual Progress getProgress() = 0;
|
|
329
|
+
virtual void setPlaybackIntervalEnabled(bool enabled) = 0;
|
|
324
330
|
virtual Playback getPlayback() = 0;
|
|
325
331
|
virtual PlayingState getPlayingState() = 0;
|
|
326
332
|
virtual RepeatMode getRepeatMode() = 0;
|
|
@@ -330,7 +336,7 @@ namespace margelo::nitro::audiobrowser {
|
|
|
330
336
|
virtual std::optional<PlaybackError> getPlaybackError() = 0;
|
|
331
337
|
virtual void retry() = 0;
|
|
332
338
|
virtual std::variant<nitro::NullType, SleepTimerTime, SleepTimerEndOfTrack> getSleepTimer() = 0;
|
|
333
|
-
virtual void setSleepTimer(double seconds) = 0;
|
|
339
|
+
virtual void setSleepTimer(double seconds, std::optional<double> fadeDuration) = 0;
|
|
334
340
|
virtual void setSleepTimerToEndOfTrack() = 0;
|
|
335
341
|
virtual bool clearSleepTimer() = 0;
|
|
336
342
|
virtual void add(const std::vector<Track>& tracks, std::optional<double> insertBeforeIndex) = 0;
|
|
@@ -342,18 +348,21 @@ namespace margelo::nitro::audiobrowser {
|
|
|
342
348
|
virtual void skipToPrevious(std::optional<double> initialPosition) = 0;
|
|
343
349
|
virtual void setActiveTrackFavorited(bool favorited) = 0;
|
|
344
350
|
virtual void toggleActiveTrackFavorited() = 0;
|
|
345
|
-
virtual void setQueue(const std::vector<Track>& tracks, std::optional<double> startIndex, std::optional<double>
|
|
351
|
+
virtual void setQueue(const std::vector<Track>& tracks, std::optional<double> startIndex, std::optional<double> startPosition) = 0;
|
|
346
352
|
virtual std::vector<Track> getQueue() = 0;
|
|
347
353
|
virtual std::optional<Track> getTrack(double index) = 0;
|
|
348
354
|
virtual std::optional<double> getActiveTrackIndex() = 0;
|
|
349
355
|
virtual std::optional<Track> getActiveTrack() = 0;
|
|
350
356
|
virtual void updateNowPlaying(const std::optional<NowPlayingUpdate>& update) = 0;
|
|
357
|
+
virtual void flashNowPlaying(const NowPlayingUpdate& update, double durationMs) = 0;
|
|
358
|
+
virtual void clearNowPlayingFlash() = 0;
|
|
351
359
|
virtual std::optional<NowPlayingMetadata> getNowPlaying() = 0;
|
|
352
360
|
virtual bool getOnline() = 0;
|
|
353
361
|
virtual double getSystemVolume() = 0;
|
|
354
362
|
virtual void setSystemVolume(double volume) = 0;
|
|
355
|
-
virtual std::optional<
|
|
356
|
-
virtual void
|
|
363
|
+
virtual std::optional<Output> getOutput() = 0;
|
|
364
|
+
virtual void openOutputPicker() = 0;
|
|
365
|
+
virtual bool supportsOutputSwitcher() = 0;
|
|
357
366
|
virtual std::optional<EqualizerSettings> getEqualizerSettings() = 0;
|
|
358
367
|
virtual void setEqualizerEnabled(bool enabled) = 0;
|
|
359
368
|
virtual void setEqualizerPreset(const std::string& preset) = 0;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// IOSOptions.hpp
|
|
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
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#if __has_include(<NitroModules/JSIConverter.hpp>)
|
|
11
|
+
#include <NitroModules/JSIConverter.hpp>
|
|
12
|
+
#else
|
|
13
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
|
+
#endif
|
|
15
|
+
#if __has_include(<NitroModules/NitroDefines.hpp>)
|
|
16
|
+
#include <NitroModules/NitroDefines.hpp>
|
|
17
|
+
#else
|
|
18
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
19
|
+
#endif
|
|
20
|
+
#if __has_include(<NitroModules/JSIHelpers.hpp>)
|
|
21
|
+
#include <NitroModules/JSIHelpers.hpp>
|
|
22
|
+
#else
|
|
23
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
24
|
+
#endif
|
|
25
|
+
#if __has_include(<NitroModules/PropNameIDCache.hpp>)
|
|
26
|
+
#include <NitroModules/PropNameIDCache.hpp>
|
|
27
|
+
#else
|
|
28
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
29
|
+
#endif
|
|
30
|
+
|
|
31
|
+
// Forward declaration of `CarPlayNowPlayingButton` to properly resolve imports.
|
|
32
|
+
namespace margelo::nitro::audiobrowser { enum class CarPlayNowPlayingButton; }
|
|
33
|
+
|
|
34
|
+
#include <vector>
|
|
35
|
+
#include "CarPlayNowPlayingButton.hpp"
|
|
36
|
+
|
|
37
|
+
namespace margelo::nitro::audiobrowser {
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* A struct which can be represented as a JavaScript object (IOSOptions).
|
|
41
|
+
*/
|
|
42
|
+
struct IOSOptions final {
|
|
43
|
+
public:
|
|
44
|
+
std::vector<double> playbackRates SWIFT_PRIVATE;
|
|
45
|
+
bool carPlayUpNextButton SWIFT_PRIVATE;
|
|
46
|
+
std::vector<CarPlayNowPlayingButton> carPlayNowPlayingButtons SWIFT_PRIVATE;
|
|
47
|
+
|
|
48
|
+
public:
|
|
49
|
+
IOSOptions() = default;
|
|
50
|
+
explicit IOSOptions(std::vector<double> playbackRates, bool carPlayUpNextButton, std::vector<CarPlayNowPlayingButton> carPlayNowPlayingButtons): playbackRates(playbackRates), carPlayUpNextButton(carPlayUpNextButton), carPlayNowPlayingButtons(carPlayNowPlayingButtons) {}
|
|
51
|
+
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
} // namespace margelo::nitro::audiobrowser
|
|
55
|
+
|
|
56
|
+
namespace margelo::nitro {
|
|
57
|
+
|
|
58
|
+
// C++ IOSOptions <> JS IOSOptions (object)
|
|
59
|
+
template <>
|
|
60
|
+
struct JSIConverter<margelo::nitro::audiobrowser::IOSOptions> final {
|
|
61
|
+
static inline margelo::nitro::audiobrowser::IOSOptions fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
|
|
62
|
+
jsi::Object obj = arg.asObject(runtime);
|
|
63
|
+
return margelo::nitro::audiobrowser::IOSOptions(
|
|
64
|
+
JSIConverter<std::vector<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "playbackRates"))),
|
|
65
|
+
JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "carPlayUpNextButton"))),
|
|
66
|
+
JSIConverter<std::vector<margelo::nitro::audiobrowser::CarPlayNowPlayingButton>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "carPlayNowPlayingButtons")))
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::audiobrowser::IOSOptions& arg) {
|
|
70
|
+
jsi::Object obj(runtime);
|
|
71
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "playbackRates"), JSIConverter<std::vector<double>>::toJSI(runtime, arg.playbackRates));
|
|
72
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "carPlayUpNextButton"), JSIConverter<bool>::toJSI(runtime, arg.carPlayUpNextButton));
|
|
73
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "carPlayNowPlayingButtons"), JSIConverter<std::vector<margelo::nitro::audiobrowser::CarPlayNowPlayingButton>>::toJSI(runtime, arg.carPlayNowPlayingButtons));
|
|
74
|
+
return obj;
|
|
75
|
+
}
|
|
76
|
+
static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
|
|
77
|
+
if (!value.isObject()) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
jsi::Object obj = value.getObject(runtime);
|
|
81
|
+
if (!nitro::isPlainObject(runtime, obj)) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
if (!JSIConverter<std::vector<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "playbackRates")))) return false;
|
|
85
|
+
if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "carPlayUpNextButton")))) return false;
|
|
86
|
+
if (!JSIConverter<std::vector<margelo::nitro::audiobrowser::CarPlayNowPlayingButton>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "carPlayNowPlayingButtons")))) return false;
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
} // namespace margelo::nitro
|