react-native-audio-browser 0.2.0-next.11 → 0.2.0-next.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +110 -25
- package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +254 -188
- package/android/src/main/java/com/audiobrowser/browser/BrowserUrlResolution.kt +23 -3
- package/android/src/main/java/com/audiobrowser/browser/JsonModels.kt +77 -58
- package/android/src/main/java/com/audiobrowser/browser/SectionScope.kt +68 -26
- package/android/src/main/java/com/audiobrowser/browser/StyleResolver.kt +49 -0
- package/android/src/main/java/com/audiobrowser/extension/ResolvedTrackExt.kt +9 -7
- package/android/src/main/java/com/audiobrowser/extension/TappedTrack.kt +20 -0
- package/android/src/main/java/com/audiobrowser/extension/TrackIdentity.kt +15 -0
- package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +120 -67
- package/android/src/main/java/com/audiobrowser/player/NowPlayingUpdater.kt +21 -24
- package/android/src/main/java/com/audiobrowser/player/PlaybackStateStore.kt +93 -73
- package/android/src/main/java/com/audiobrowser/player/Player.kt +48 -30
- package/android/src/main/java/com/audiobrowser/player/PlayerCapabilitiesExt.kt +2 -15
- package/android/src/main/java/com/audiobrowser/util/BrowserPathHelper.kt +44 -40
- package/android/src/main/java/com/audiobrowser/util/MediaExtrasBuilder.kt +28 -23
- package/android/src/main/java/com/audiobrowser/util/StyleWire.kt +35 -0
- package/android/src/main/java/com/audiobrowser/util/TrackFactory.kt +45 -53
- package/android/src/test/java/com/audiobrowser/TestFixtures.kt +26 -39
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerFavoritesTest.kt +153 -0
- package/android/src/test/java/com/audiobrowser/browser/BrowserManagerTest.kt +228 -50
- package/android/src/test/java/com/audiobrowser/browser/BrowserUrlResolutionTest.kt +38 -0
- package/android/src/test/java/com/audiobrowser/browser/JsonArtworkTest.kt +1 -1
- package/android/src/test/java/com/audiobrowser/browser/JsonStyleTest.kt +91 -0
- package/android/src/test/java/com/audiobrowser/browser/SectionScopeTest.kt +128 -53
- package/android/src/test/java/com/audiobrowser/browser/StyleResolverTest.kt +87 -0
- package/android/src/test/java/com/audiobrowser/extension/TappedTrackTest.kt +43 -0
- package/android/src/test/java/com/audiobrowser/extension/TrackIdentityTest.kt +41 -0
- package/android/src/test/java/com/audiobrowser/player/CapabilityControlsTest.kt +1 -2
- package/android/src/test/java/com/audiobrowser/player/NowPlayingUpdaterTest.kt +42 -2
- package/android/src/test/java/com/audiobrowser/player/PlaybackStateStoreTrackJsonTest.kt +55 -0
- package/android/src/test/java/com/audiobrowser/util/BrowserPathHelperTest.kt +41 -16
- package/android/src/test/java/com/audiobrowser/util/MediaExtrasBuilderTest.kt +161 -0
- package/android/src/test/java/com/audiobrowser/util/TrackFactoryMediaIdTest.kt +7 -7
- package/ios/Browser/BrowserConfig.swift +102 -5
- package/ios/Browser/BrowserManager+URLResolution.swift +18 -14
- package/ios/Browser/BrowserManager.swift +131 -143
- package/ios/Browser/BrowserPathHelper.swift +44 -44
- package/ios/Browser/JsonModels.swift +187 -106
- package/ios/Browser/SearchDrillIn.swift +6 -6
- package/ios/Browser/SectionPresentation.swift +34 -0
- package/ios/Browser/SectionScope.swift +58 -24
- package/ios/Browser/StyleResolver.swift +47 -0
- package/ios/Browser/TabBarEntries.swift +2 -2
- package/ios/Browser/TrackIdTemplate.swift +37 -0
- package/ios/CarPlay/CarPlayArtworkResolver.swift +8 -7
- package/ios/CarPlay/CarPlayController.swift +105 -67
- package/ios/CarPlay/CarPlayImageLoader.swift +38 -18
- package/ios/CarPlay/CarPlayListItemFactory.swift +217 -84
- package/ios/CarPlay/CarPlayNowPlayingManager.swift +15 -12
- package/ios/Extension/Capability+RemoteCommand.swift +1 -1
- package/ios/Extension/PlayerCapabilities+Favorite.swift +1 -15
- package/ios/Extension/ResolvedTrack+Copying.swift +11 -15
- package/ios/Extension/Section+Copying.swift +31 -0
- package/ios/Extension/Track+Copying.swift +6 -12
- package/ios/Extension/Track+Identity.swift +18 -0
- package/ios/HybridAudioBrowser.swift +113 -35
- package/ios/Model/NitroTypeStubs.swift +46 -21
- package/ios/Model/PlayerUpdateOptions.swift +7 -0
- package/ios/Player/NowPlayingUpdater.swift +1 -1
- package/ios/Player/PlaybackCoordinator.swift +2 -2
- package/ios/Player/RetryManager.swift +4 -3
- package/ios/Tests/BrowserPathHelperTests.swift +50 -20
- package/ios/Tests/CarPlayArtworkResolverTests.swift +24 -41
- package/ios/Tests/JsonModelsTests.swift +75 -1
- package/ios/Tests/PlaybackStateStoreTests.swift +4 -3
- package/ios/Tests/ResolvedTrackCopyingTests.swift +37 -35
- package/ios/Tests/SearchDrillInTests.swift +16 -16
- package/ios/Tests/SectionPresentationTests.swift +61 -0
- package/ios/Tests/SectionScopeTests.swift +87 -55
- package/ios/Tests/StyleResolverTests.swift +67 -0
- package/ios/Tests/TabBarEntriesTests.swift +18 -18
- package/ios/Tests/TrackIdTemplateTests.swift +67 -0
- package/ios/Tests/TrackIdentityTests.swift +20 -0
- package/ios/Tests/TrackSelectorTests.swift +168 -33
- package/ios/TrackSelector.swift +45 -30
- package/ios/Util/ArtworkImageFetcher.swift +16 -1
- package/lib/commonjs/AudioBrowser.js +11 -0
- package/lib/commonjs/AudioBrowser.js.map +1 -1
- package/lib/commonjs/features/browser-config.js +11 -8
- package/lib/commonjs/features/browser-config.js.map +1 -1
- package/lib/commonjs/features/browser.js +2 -2
- package/lib/commonjs/features/favorites.js +13 -10
- package/lib/commonjs/features/favorites.js.map +1 -1
- package/lib/commonjs/features/playback/controls.js +4 -2
- package/lib/commonjs/features/playback/controls.js.map +1 -1
- package/lib/commonjs/features/playback/state.js +2 -3
- package/lib/commonjs/features/playback/state.js.map +1 -1
- package/lib/commonjs/features/player/options.js.map +1 -1
- package/lib/commonjs/features/player/setup.js +3 -1
- package/lib/commonjs/features/player/setup.js.map +1 -1
- package/lib/commonjs/features/player/validateOptions.js +2 -0
- package/lib/commonjs/features/player/validateOptions.js.map +1 -1
- package/lib/commonjs/features/queue/activeTrack.js +14 -3
- package/lib/commonjs/features/queue/activeTrack.js.map +1 -1
- package/lib/commonjs/features/queue/queue.js +11 -4
- package/lib/commonjs/features/queue/queue.js.map +1 -1
- package/lib/commonjs/utils/LazyNativeEmitter.js +21 -10
- package/lib/commonjs/utils/LazyNativeEmitter.js.map +1 -1
- package/lib/commonjs/utils/NativeUpdatedValue.js +31 -13
- package/lib/commonjs/utils/NativeUpdatedValue.js.map +1 -1
- package/lib/commonjs/utils/getTrackIdentity.js +24 -0
- package/lib/commonjs/utils/getTrackIdentity.js.map +1 -0
- package/lib/commonjs/utils/useNativeValueRefreshedBy.js +33 -0
- package/lib/commonjs/utils/useNativeValueRefreshedBy.js.map +1 -0
- package/lib/commonjs/web/NativeAudioBrowser.js +32 -24
- package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -1
- package/lib/commonjs/web/browser/BrowserManager.js +144 -87
- package/lib/commonjs/web/browser/BrowserManager.js.map +1 -1
- package/lib/commonjs/web/browser/FavoriteManager.js +30 -21
- package/lib/commonjs/web/browser/FavoriteManager.js.map +1 -1
- package/lib/commonjs/web/browser/assertBrowsePageShape.js +2 -2
- package/lib/commonjs/web/browser/assertBrowsePageShape.js.map +1 -1
- package/lib/commonjs/web/browser/classifyTrackNavigation.js +9 -9
- package/lib/commonjs/web/browser/classifyTrackNavigation.js.map +1 -1
- package/lib/commonjs/web/browser/sections.js +89 -0
- package/lib/commonjs/web/browser/sections.js.map +1 -0
- package/lib/commonjs/web/player/NowPlayingManager.js +4 -3
- package/lib/commonjs/web/player/NowPlayingManager.js.map +1 -1
- package/lib/commonjs/web/util/BrowserPathHelper.js +56 -11
- package/lib/commonjs/web/util/BrowserPathHelper.js.map +1 -1
- package/lib/module/AudioBrowser.js +1 -0
- package/lib/module/AudioBrowser.js.map +1 -1
- package/lib/module/features/browser-config.js +11 -8
- package/lib/module/features/browser-config.js.map +1 -1
- package/lib/module/features/browser.js +2 -2
- package/lib/module/features/favorites.js +13 -10
- package/lib/module/features/favorites.js.map +1 -1
- package/lib/module/features/playback/controls.js +4 -2
- package/lib/module/features/playback/controls.js.map +1 -1
- package/lib/module/features/playback/state.js +2 -3
- package/lib/module/features/playback/state.js.map +1 -1
- package/lib/module/features/player/options.js.map +1 -1
- package/lib/module/features/player/setup.js +3 -1
- package/lib/module/features/player/setup.js.map +1 -1
- package/lib/module/features/player/validateOptions.js +2 -0
- package/lib/module/features/player/validateOptions.js.map +1 -1
- package/lib/module/features/queue/activeTrack.js +14 -3
- package/lib/module/features/queue/activeTrack.js.map +1 -1
- package/lib/module/features/queue/queue.js +11 -4
- package/lib/module/features/queue/queue.js.map +1 -1
- package/lib/module/utils/LazyNativeEmitter.js +21 -10
- package/lib/module/utils/LazyNativeEmitter.js.map +1 -1
- package/lib/module/utils/NativeUpdatedValue.js +31 -13
- package/lib/module/utils/NativeUpdatedValue.js.map +1 -1
- package/lib/module/utils/getTrackIdentity.js +20 -0
- package/lib/module/utils/getTrackIdentity.js.map +1 -0
- package/lib/module/utils/useNativeValueRefreshedBy.js +29 -0
- package/lib/module/utils/useNativeValueRefreshedBy.js.map +1 -0
- package/lib/module/web/NativeAudioBrowser.js +32 -24
- package/lib/module/web/NativeAudioBrowser.js.map +1 -1
- package/lib/module/web/browser/BrowserManager.js +144 -87
- package/lib/module/web/browser/BrowserManager.js.map +1 -1
- package/lib/module/web/browser/FavoriteManager.js +31 -21
- package/lib/module/web/browser/FavoriteManager.js.map +1 -1
- package/lib/module/web/browser/assertBrowsePageShape.js +2 -2
- package/lib/module/web/browser/assertBrowsePageShape.js.map +1 -1
- package/lib/module/web/browser/classifyTrackNavigation.js +9 -9
- package/lib/module/web/browser/classifyTrackNavigation.js.map +1 -1
- package/lib/module/web/browser/sections.js +83 -0
- package/lib/module/web/browser/sections.js.map +1 -0
- package/lib/module/web/player/NowPlayingManager.js +4 -3
- package/lib/module/web/player/NowPlayingManager.js.map +1 -1
- package/lib/module/web/util/BrowserPathHelper.js +56 -11
- package/lib/module/web/util/BrowserPathHelper.js.map +1 -1
- package/lib/typescript/src/AudioBrowser.d.ts +1 -0
- package/lib/typescript/src/AudioBrowser.d.ts.map +1 -1
- package/lib/typescript/src/features/browser-config.d.ts.map +1 -1
- package/lib/typescript/src/features/browser.d.ts +2 -2
- package/lib/typescript/src/features/favorites.d.ts +13 -10
- package/lib/typescript/src/features/favorites.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/controls.d.ts +4 -2
- package/lib/typescript/src/features/playback/controls.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/state.d.ts +2 -3
- package/lib/typescript/src/features/playback/state.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts +1 -1
- package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts.map +1 -1
- package/lib/typescript/src/features/player/options.d.ts +21 -19
- package/lib/typescript/src/features/player/options.d.ts.map +1 -1
- package/lib/typescript/src/features/player/setup.d.ts.map +1 -1
- package/lib/typescript/src/features/player/validateOptions.d.ts +1 -8
- package/lib/typescript/src/features/player/validateOptions.d.ts.map +1 -1
- package/lib/typescript/src/features/queue/activeTrack.d.ts +8 -1
- package/lib/typescript/src/features/queue/activeTrack.d.ts.map +1 -1
- package/lib/typescript/src/features/queue/queue.d.ts +5 -2
- package/lib/typescript/src/features/queue/queue.d.ts.map +1 -1
- package/lib/typescript/src/types/browser-native.d.ts +2 -2
- package/lib/typescript/src/types/browser-native.d.ts.map +1 -1
- package/lib/typescript/src/types/browser-nodes.d.ts +260 -127
- package/lib/typescript/src/types/browser-nodes.d.ts.map +1 -1
- package/lib/typescript/src/types/browser.d.ts +33 -53
- package/lib/typescript/src/types/browser.d.ts.map +1 -1
- package/lib/typescript/src/utils/LazyNativeEmitter.d.ts +16 -17
- package/lib/typescript/src/utils/LazyNativeEmitter.d.ts.map +1 -1
- package/lib/typescript/src/utils/NativeUpdatedValue.d.ts +24 -19
- package/lib/typescript/src/utils/NativeUpdatedValue.d.ts.map +1 -1
- package/lib/typescript/src/utils/getTrackIdentity.d.ts +18 -0
- package/lib/typescript/src/utils/getTrackIdentity.d.ts.map +1 -0
- package/lib/typescript/src/utils/useNativeValueRefreshedBy.d.ts +21 -0
- package/lib/typescript/src/utils/useNativeValueRefreshedBy.d.ts.map +1 -0
- package/nitrogen/generated/android/AudioBrowser+autolinking.cmake +0 -1
- package/nitrogen/generated/android/c++/{JFavoritesMatchMode.hpp → JArtworkRendering.hpp} +15 -15
- package/nitrogen/generated/android/c++/JArtworkRequestConfig.hpp +4 -3
- package/nitrogen/generated/android/c++/JBrowseResult.hpp +10 -4
- package/nitrogen/generated/android/c++/JCarPlayPlayingIndicatorLocation.hpp +58 -0
- package/nitrogen/generated/android/c++/JFavoriteChangedEvent.hpp +4 -3
- package/nitrogen/generated/android/c++/JFormatNowPlayingParams.hpp +4 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___Track.hpp +4 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.hpp +4 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_std__string____Track.hpp +4 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.hpp +4 -3
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.hpp +4 -2
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.hpp +4 -2
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.hpp +10 -4
- package/nitrogen/generated/android/c++/JFunc_void_FavoriteChangedEvent.hpp +4 -3
- package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +2 -5
- package/nitrogen/generated/android/c++/JFunc_void_PlaybackActiveTrackChangedEvent.hpp +4 -3
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_ResolvedTrack_.hpp +9 -3
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_Track_.hpp +4 -2
- package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +21 -14
- package/nitrogen/generated/android/c++/JIOSOptions.hpp +9 -3
- package/nitrogen/generated/android/c++/JMediaRequestConfig.hpp +4 -3
- package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +16 -10
- package/nitrogen/generated/android/c++/JNativeRouteEntry.hpp +8 -2
- package/nitrogen/generated/android/c++/JNativeSetupPlayerOptions.hpp +6 -7
- package/nitrogen/generated/android/c++/JNativeUpdateOptions.hpp +2 -5
- package/nitrogen/generated/android/c++/JNitroIOSUpdateOptions.hpp +9 -3
- package/nitrogen/generated/android/c++/JOptions.hpp +2 -5
- package/nitrogen/generated/android/c++/JPlaybackActiveTrackChangedEvent.hpp +4 -3
- package/nitrogen/generated/android/c++/JPlayerCapabilities.hpp +5 -11
- package/nitrogen/generated/android/c++/JResolvedTrack.hpp +49 -51
- package/nitrogen/generated/android/c++/JSection.hpp +114 -0
- package/nitrogen/generated/android/c++/JSectionStyle.hpp +69 -0
- package/nitrogen/generated/android/c++/JStyleDisplay.hpp +58 -0
- package/nitrogen/generated/android/c++/JTrack.hpp +19 -48
- package/nitrogen/generated/android/c++/JTrackLoadEvent.hpp +4 -2
- package/nitrogen/generated/android/c++/JTrackStyle.hpp +25 -18
- package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.hpp +10 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoritesMatchMode.kt → ArtworkRendering.kt} +5 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CarPlayPlayingIndicatorLocation.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSOptions.kt +6 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeBrowserConfiguration.kt +5 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroIOSUpdateOptions.kt +6 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlayerCapabilities.kt +2 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ResolvedTrack.kt +12 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Section.kt +50 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoriteConfig.kt → SectionStyle.kt} +12 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/StyleDisplay.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Track.kt +6 -15
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackStyle.kt +23 -5
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +104 -82
- package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +16 -10
- package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +16 -10
- package/nitrogen/generated/ios/swift/ArtworkRendering.swift +40 -0
- package/nitrogen/generated/ios/swift/CarPlayPlayingIndicatorLocation.swift +40 -0
- package/nitrogen/generated/ios/swift/IOSOptions.swift +7 -2
- package/nitrogen/generated/ios/swift/NativeBrowserConfiguration.swift +5 -5
- package/nitrogen/generated/ios/swift/NitroIOSUpdateOptions.swift +12 -1
- package/nitrogen/generated/ios/swift/PlayerCapabilities.swift +8 -27
- package/nitrogen/generated/ios/swift/ResolvedTrack.swift +54 -83
- package/nitrogen/generated/ios/swift/Section.swift +100 -0
- package/nitrogen/generated/ios/swift/SectionStyle.swift +64 -0
- package/nitrogen/generated/ios/swift/StyleDisplay.swift +40 -0
- package/nitrogen/generated/ios/swift/Track.swift +20 -73
- package/nitrogen/generated/ios/swift/TrackStyle.swift +28 -22
- package/nitrogen/generated/shared/c++/{FavoritesMatchMode.hpp → ArtworkRendering.hpp} +17 -17
- package/nitrogen/generated/shared/c++/CarPlayPlayingIndicatorLocation.hpp +76 -0
- package/nitrogen/generated/shared/c++/IOSOptions.hpp +9 -2
- package/nitrogen/generated/shared/c++/NativeBrowserConfiguration.hpp +6 -6
- package/nitrogen/generated/shared/c++/NitroIOSUpdateOptions.hpp +9 -2
- package/nitrogen/generated/shared/c++/PlayerCapabilities.hpp +6 -9
- package/nitrogen/generated/shared/c++/ResolvedTrack.hpp +30 -38
- package/nitrogen/generated/shared/c++/Section.hpp +106 -0
- package/nitrogen/generated/shared/c++/SectionStyle.hpp +96 -0
- package/nitrogen/generated/shared/c++/StyleDisplay.hpp +76 -0
- package/nitrogen/generated/shared/c++/Track.hpp +15 -31
- package/nitrogen/generated/shared/c++/TrackStyle.hpp +50 -34
- package/package.json +1 -1
- package/src/AudioBrowser.ts +1 -0
- package/src/features/browser-config.test.ts +21 -6
- package/src/features/browser-config.ts +11 -8
- package/src/features/browser.test.ts +1 -1
- package/src/features/browser.ts +2 -2
- package/src/features/favorites.ts +13 -10
- package/src/features/hook-wiring.test.ts +63 -15
- package/src/features/playback/controls.ts +4 -2
- package/src/features/playback/state.ts +2 -3
- package/src/features/playback/trackPlaybackTime.ts +1 -1
- package/src/features/player/options.ts +27 -19
- package/src/features/player/setup.test.ts +12 -3
- package/src/features/player/setup.ts +3 -1
- package/src/features/player/validateOptions.ts +2 -0
- package/src/features/queue/activeTrack.ts +14 -3
- package/src/features/queue/queue.ts +11 -4
- package/src/nitro-stub-drift.test.ts +40 -0
- package/src/public-surface.test.ts +40 -0
- package/src/specs/audio-browser.nitro.ts +4 -3
- package/src/style-resolution.test.ts +139 -0
- package/src/types/browser-native.ts +2 -2
- package/src/types/browser-nodes.ts +268 -136
- package/src/types/browser.ts +34 -55
- package/src/utils/LazyNativeEmitter.ts +20 -10
- package/src/utils/NativeUpdatedValue.ts +29 -13
- package/src/utils/getTrackIdentity.ts +20 -0
- package/src/utils/useNativeValueRefreshedBy.ts +38 -0
- package/src/web/NativeAudioBrowser.ts +37 -22
- package/src/web/browser/BrowserManager.ts +176 -95
- package/src/web/browser/FavoriteManager.test.ts +84 -0
- package/src/web/browser/FavoriteManager.ts +28 -23
- package/src/web/browser/assertBrowsePageShape.test.ts +1 -1
- package/src/web/browser/assertBrowsePageShape.ts +5 -3
- package/src/web/browser/classifyTrackNavigation.test.ts +10 -8
- package/src/web/browser/classifyTrackNavigation.ts +9 -9
- package/src/web/browser/parseSearchResponse.test.ts +8 -2
- package/src/web/browser/sections.test.ts +91 -0
- package/src/web/browser/sections.ts +72 -0
- package/src/web/player/NowPlayingManager.ts +4 -3
- package/src/web/util/BrowserPathHelper.test.ts +52 -0
- package/src/web/util/BrowserPathHelper.ts +61 -13
- package/ios/CarPlay/ImageRowItem+CarPlay.swift +0 -19
- package/nitrogen/generated/android/c++/JFavoriteConfig.hpp +0 -58
- package/nitrogen/generated/android/c++/JImageRowItem.hpp +0 -105
- package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.cpp +0 -26
- package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.hpp +0 -71
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageRowItem.kt +0 -68
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_FavoriteConfig.kt +0 -53
- package/nitrogen/generated/ios/swift/FavoriteConfig.swift +0 -29
- package/nitrogen/generated/ios/swift/FavoritesMatchMode.swift +0 -40
- package/nitrogen/generated/ios/swift/ImageRowItem.swift +0 -195
- package/nitrogen/generated/ios/swift/Variant_Bool_FavoriteConfig.swift +0 -18
- package/nitrogen/generated/shared/c++/FavoriteConfig.hpp +0 -84
- package/nitrogen/generated/shared/c++/ImageRowItem.hpp +0 -129
|
@@ -22,7 +22,7 @@ data class Track(
|
|
|
22
22
|
val id: String?,
|
|
23
23
|
@DoNotStrip
|
|
24
24
|
@Keep
|
|
25
|
-
val
|
|
25
|
+
val path: String?,
|
|
26
26
|
@DoNotStrip
|
|
27
27
|
@Keep
|
|
28
28
|
val src: String?,
|
|
@@ -37,9 +37,6 @@ data class Track(
|
|
|
37
37
|
val request: TrackRequest?,
|
|
38
38
|
@DoNotStrip
|
|
39
39
|
@Keep
|
|
40
|
-
val artworkCarPlayTinted: Boolean?,
|
|
41
|
-
@DoNotStrip
|
|
42
|
-
@Keep
|
|
43
40
|
val title: String,
|
|
44
41
|
@DoNotStrip
|
|
45
42
|
@Keep
|
|
@@ -49,7 +46,7 @@ data class Track(
|
|
|
49
46
|
val artist: String?,
|
|
50
47
|
@DoNotStrip
|
|
51
48
|
@Keep
|
|
52
|
-
val
|
|
49
|
+
val albumPath: String?,
|
|
53
50
|
@DoNotStrip
|
|
54
51
|
@Keep
|
|
55
52
|
val album: String?,
|
|
@@ -67,19 +64,13 @@ data class Track(
|
|
|
67
64
|
val style: TrackStyle?,
|
|
68
65
|
@DoNotStrip
|
|
69
66
|
@Keep
|
|
70
|
-
val
|
|
67
|
+
val disabled: Boolean?,
|
|
71
68
|
@DoNotStrip
|
|
72
69
|
@Keep
|
|
73
70
|
val favorited: Boolean?,
|
|
74
71
|
@DoNotStrip
|
|
75
72
|
@Keep
|
|
76
|
-
val
|
|
77
|
-
@DoNotStrip
|
|
78
|
-
@Keep
|
|
79
|
-
val live: Boolean?,
|
|
80
|
-
@DoNotStrip
|
|
81
|
-
@Keep
|
|
82
|
-
val imageRow: Array<ImageRowItem>?
|
|
73
|
+
val live: Boolean?
|
|
83
74
|
) {
|
|
84
75
|
/* primary constructor */
|
|
85
76
|
|
|
@@ -91,8 +82,8 @@ data class Track(
|
|
|
91
82
|
@Keep
|
|
92
83
|
@Suppress("unused")
|
|
93
84
|
@JvmStatic
|
|
94
|
-
private fun fromCpp(id: String?,
|
|
95
|
-
return Track(id,
|
|
85
|
+
private fun fromCpp(id: String?, path: String?, src: String?, artwork: Variant_String_ArtworkVariants?, artworkSource: ImageSource?, request: TrackRequest?, title: String, subtitle: String?, artist: String?, albumPath: String?, album: String?, description: String?, genre: String?, duration: Double?, style: TrackStyle?, disabled: Boolean?, favorited: Boolean?, live: Boolean?): Track {
|
|
86
|
+
return Track(id, path, src, artwork, artworkSource, request, title, subtitle, artist, albumPath, album, description, genre, duration, style, disabled, favorited, live)
|
|
96
87
|
}
|
|
97
88
|
}
|
|
98
89
|
}
|
|
@@ -10,14 +10,32 @@ package com.margelo.nitro.audiobrowser
|
|
|
10
10
|
import androidx.annotation.Keep
|
|
11
11
|
import com.facebook.proguard.annotations.DoNotStrip
|
|
12
12
|
|
|
13
|
+
|
|
13
14
|
/**
|
|
14
|
-
* Represents the JavaScript
|
|
15
|
+
* Represents the JavaScript object/struct "TrackStyle".
|
|
15
16
|
*/
|
|
16
17
|
@DoNotStrip
|
|
17
18
|
@Keep
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
data class TrackStyle(
|
|
20
|
+
@DoNotStrip
|
|
21
|
+
@Keep
|
|
22
|
+
val display: StyleDisplay?,
|
|
23
|
+
@DoNotStrip
|
|
24
|
+
@Keep
|
|
25
|
+
val artworkRendering: ArtworkRendering?
|
|
26
|
+
) {
|
|
27
|
+
/* primary constructor */
|
|
21
28
|
|
|
22
|
-
companion object
|
|
29
|
+
companion object {
|
|
30
|
+
/**
|
|
31
|
+
* Constructor called from C++
|
|
32
|
+
*/
|
|
33
|
+
@DoNotStrip
|
|
34
|
+
@Keep
|
|
35
|
+
@Suppress("unused")
|
|
36
|
+
@JvmStatic
|
|
37
|
+
private fun fromCpp(display: StyleDisplay?, artworkRendering: ArtworkRendering?): TrackStyle {
|
|
38
|
+
return TrackStyle(display, artworkRendering)
|
|
39
|
+
}
|
|
40
|
+
}
|
|
23
41
|
}
|
|
@@ -18,6 +18,8 @@ namespace margelo::nitro::audiobrowser { struct AndroidOptions; }
|
|
|
18
18
|
namespace margelo::nitro::audiobrowser { enum class AndroidPlayerWakeMode; }
|
|
19
19
|
// Forward declaration of `AppKilledPlaybackBehavior` to properly resolve imports.
|
|
20
20
|
namespace margelo::nitro::audiobrowser { enum class AppKilledPlaybackBehavior; }
|
|
21
|
+
// Forward declaration of `ArtworkRendering` to properly resolve imports.
|
|
22
|
+
namespace margelo::nitro::audiobrowser { enum class ArtworkRendering; }
|
|
21
23
|
// Forward declaration of `ArtworkRequestConfig` to properly resolve imports.
|
|
22
24
|
namespace margelo::nitro::audiobrowser { struct ArtworkRequestConfig; }
|
|
23
25
|
// Forward declaration of `ArtworkVariants` to properly resolve imports.
|
|
@@ -34,6 +36,8 @@ namespace margelo::nitro::audiobrowser { struct BrowseError; }
|
|
|
34
36
|
namespace margelo::nitro::audiobrowser { struct BrowserSourceCallbackParam; }
|
|
35
37
|
// Forward declaration of `CarPlayNowPlayingButton` to properly resolve imports.
|
|
36
38
|
namespace margelo::nitro::audiobrowser { enum class CarPlayNowPlayingButton; }
|
|
39
|
+
// Forward declaration of `CarPlayPlayingIndicatorLocation` to properly resolve imports.
|
|
40
|
+
namespace margelo::nitro::audiobrowser { enum class CarPlayPlayingIndicatorLocation; }
|
|
37
41
|
// Forward declaration of `CarPlaySiriListButtonPosition` to properly resolve imports.
|
|
38
42
|
namespace margelo::nitro::audiobrowser { enum class CarPlaySiriListButtonPosition; }
|
|
39
43
|
// Forward declaration of `ChapterMetadata` to properly resolve imports.
|
|
@@ -42,10 +46,6 @@ namespace margelo::nitro::audiobrowser { struct ChapterMetadata; }
|
|
|
42
46
|
namespace margelo::nitro::audiobrowser { struct EqualizerSettings; }
|
|
43
47
|
// Forward declaration of `FavoriteChangedEvent` to properly resolve imports.
|
|
44
48
|
namespace margelo::nitro::audiobrowser { struct FavoriteChangedEvent; }
|
|
45
|
-
// Forward declaration of `FavoriteConfig` to properly resolve imports.
|
|
46
|
-
namespace margelo::nitro::audiobrowser { struct FavoriteConfig; }
|
|
47
|
-
// Forward declaration of `FavoritesMatchMode` to properly resolve imports.
|
|
48
|
-
namespace margelo::nitro::audiobrowser { enum class FavoritesMatchMode; }
|
|
49
49
|
// Forward declaration of `FormatNavigationErrorParams` to properly resolve imports.
|
|
50
50
|
namespace margelo::nitro::audiobrowser { struct FormatNavigationErrorParams; }
|
|
51
51
|
// Forward declaration of `FormatNowPlayingParams` to properly resolve imports.
|
|
@@ -78,8 +78,6 @@ namespace margelo::nitro::audiobrowser { struct IOSOptions; }
|
|
|
78
78
|
namespace margelo::nitro::audiobrowser { struct ImageContext; }
|
|
79
79
|
// Forward declaration of `ImageQueryParams` to properly resolve imports.
|
|
80
80
|
namespace margelo::nitro::audiobrowser { struct ImageQueryParams; }
|
|
81
|
-
// Forward declaration of `ImageRowItem` to properly resolve imports.
|
|
82
|
-
namespace margelo::nitro::audiobrowser { struct ImageRowItem; }
|
|
83
81
|
// Forward declaration of `ImageSource` to properly resolve imports.
|
|
84
82
|
namespace margelo::nitro::audiobrowser { struct ImageSource; }
|
|
85
83
|
// Forward declaration of `MediaReference` to properly resolve imports.
|
|
@@ -172,12 +170,18 @@ namespace margelo::nitro::audiobrowser { struct RetryConfig; }
|
|
|
172
170
|
namespace margelo::nitro::audiobrowser { enum class SearchMode; }
|
|
173
171
|
// Forward declaration of `SearchParams` to properly resolve imports.
|
|
174
172
|
namespace margelo::nitro::audiobrowser { struct SearchParams; }
|
|
173
|
+
// Forward declaration of `SectionStyle` to properly resolve imports.
|
|
174
|
+
namespace margelo::nitro::audiobrowser { struct SectionStyle; }
|
|
175
|
+
// Forward declaration of `Section` to properly resolve imports.
|
|
176
|
+
namespace margelo::nitro::audiobrowser { struct Section; }
|
|
175
177
|
// Forward declaration of `SleepTimerEndOfTrack` to properly resolve imports.
|
|
176
178
|
namespace margelo::nitro::audiobrowser { struct SleepTimerEndOfTrack; }
|
|
177
179
|
// Forward declaration of `SleepTimerTime` to properly resolve imports.
|
|
178
180
|
namespace margelo::nitro::audiobrowser { struct SleepTimerTime; }
|
|
179
181
|
// Forward declaration of `StallReason` to properly resolve imports.
|
|
180
182
|
namespace margelo::nitro::audiobrowser { enum class StallReason; }
|
|
183
|
+
// Forward declaration of `StyleDisplay` to properly resolve imports.
|
|
184
|
+
namespace margelo::nitro::audiobrowser { enum class StyleDisplay; }
|
|
181
185
|
// Forward declaration of `TimedMetadata` to properly resolve imports.
|
|
182
186
|
namespace margelo::nitro::audiobrowser { struct TimedMetadata; }
|
|
183
187
|
// Forward declaration of `TrackLoadEvent` to properly resolve imports.
|
|
@@ -187,7 +191,7 @@ namespace margelo::nitro::audiobrowser { struct TrackMetadata; }
|
|
|
187
191
|
// Forward declaration of `TrackRequest` to properly resolve imports.
|
|
188
192
|
namespace margelo::nitro::audiobrowser { struct TrackRequest; }
|
|
189
193
|
// Forward declaration of `TrackStyle` to properly resolve imports.
|
|
190
|
-
namespace margelo::nitro::audiobrowser {
|
|
194
|
+
namespace margelo::nitro::audiobrowser { struct TrackStyle; }
|
|
191
195
|
// Forward declaration of `Track` to properly resolve imports.
|
|
192
196
|
namespace margelo::nitro::audiobrowser { struct Track; }
|
|
193
197
|
// Forward declaration of `TransformableRequestConfig` to properly resolve imports.
|
|
@@ -203,6 +207,7 @@ namespace AudioBrowser { class HybridAudioBrowserSpec_cxx; }
|
|
|
203
207
|
#include "AndroidOptions.hpp"
|
|
204
208
|
#include "AndroidPlayerWakeMode.hpp"
|
|
205
209
|
#include "AppKilledPlaybackBehavior.hpp"
|
|
210
|
+
#include "ArtworkRendering.hpp"
|
|
206
211
|
#include "ArtworkRequestConfig.hpp"
|
|
207
212
|
#include "ArtworkVariants.hpp"
|
|
208
213
|
#include "BatteryOptimizationStatus.hpp"
|
|
@@ -211,12 +216,11 @@ namespace AudioBrowser { class HybridAudioBrowserSpec_cxx; }
|
|
|
211
216
|
#include "BrowseError.hpp"
|
|
212
217
|
#include "BrowserSourceCallbackParam.hpp"
|
|
213
218
|
#include "CarPlayNowPlayingButton.hpp"
|
|
219
|
+
#include "CarPlayPlayingIndicatorLocation.hpp"
|
|
214
220
|
#include "CarPlaySiriListButtonPosition.hpp"
|
|
215
221
|
#include "ChapterMetadata.hpp"
|
|
216
222
|
#include "EqualizerSettings.hpp"
|
|
217
223
|
#include "FavoriteChangedEvent.hpp"
|
|
218
|
-
#include "FavoriteConfig.hpp"
|
|
219
|
-
#include "FavoritesMatchMode.hpp"
|
|
220
224
|
#include "FormatNavigationErrorParams.hpp"
|
|
221
225
|
#include "FormatNowPlayingParams.hpp"
|
|
222
226
|
#include "FormattedNavigationError.hpp"
|
|
@@ -233,7 +237,6 @@ namespace AudioBrowser { class HybridAudioBrowserSpec_cxx; }
|
|
|
233
237
|
#include "IOSOptions.hpp"
|
|
234
238
|
#include "ImageContext.hpp"
|
|
235
239
|
#include "ImageQueryParams.hpp"
|
|
236
|
-
#include "ImageRowItem.hpp"
|
|
237
240
|
#include "ImageSource.hpp"
|
|
238
241
|
#include "MediaReference.hpp"
|
|
239
242
|
#include "MediaRequestConfig.hpp"
|
|
@@ -280,9 +283,12 @@ namespace AudioBrowser { class HybridAudioBrowserSpec_cxx; }
|
|
|
280
283
|
#include "RetryConfig.hpp"
|
|
281
284
|
#include "SearchMode.hpp"
|
|
282
285
|
#include "SearchParams.hpp"
|
|
286
|
+
#include "Section.hpp"
|
|
287
|
+
#include "SectionStyle.hpp"
|
|
283
288
|
#include "SleepTimerEndOfTrack.hpp"
|
|
284
289
|
#include "SleepTimerTime.hpp"
|
|
285
290
|
#include "StallReason.hpp"
|
|
291
|
+
#include "StyleDisplay.hpp"
|
|
286
292
|
#include "TimedMetadata.hpp"
|
|
287
293
|
#include "Track.hpp"
|
|
288
294
|
#include "TrackLoadEvent.hpp"
|
|
@@ -453,21 +459,6 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
|
|
|
453
459
|
return optional.value();
|
|
454
460
|
}
|
|
455
461
|
|
|
456
|
-
// pragma MARK: std::optional<bool>
|
|
457
|
-
/**
|
|
458
|
-
* Specialized version of `std::optional<bool>`.
|
|
459
|
-
*/
|
|
460
|
-
using std__optional_bool_ = std::optional<bool>;
|
|
461
|
-
inline std::optional<bool> create_std__optional_bool_(const bool& value) noexcept {
|
|
462
|
-
return std::optional<bool>(value);
|
|
463
|
-
}
|
|
464
|
-
inline bool has_value_std__optional_bool_(const std::optional<bool>& optional) noexcept {
|
|
465
|
-
return optional.has_value();
|
|
466
|
-
}
|
|
467
|
-
inline bool get_std__optional_bool_(const std::optional<bool>& optional) noexcept {
|
|
468
|
-
return optional.value();
|
|
469
|
-
}
|
|
470
|
-
|
|
471
462
|
// pragma MARK: std::optional<double>
|
|
472
463
|
/**
|
|
473
464
|
* Specialized version of `std::optional<double>`.
|
|
@@ -498,30 +489,49 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
|
|
|
498
489
|
return optional.value();
|
|
499
490
|
}
|
|
500
491
|
|
|
501
|
-
// pragma MARK: std::optional<
|
|
492
|
+
// pragma MARK: std::optional<StyleDisplay>
|
|
502
493
|
/**
|
|
503
|
-
* Specialized version of `std::optional<
|
|
494
|
+
* Specialized version of `std::optional<StyleDisplay>`.
|
|
504
495
|
*/
|
|
505
|
-
using
|
|
506
|
-
inline std::optional<
|
|
507
|
-
return std::optional<
|
|
496
|
+
using std__optional_StyleDisplay_ = std::optional<StyleDisplay>;
|
|
497
|
+
inline std::optional<StyleDisplay> create_std__optional_StyleDisplay_(const StyleDisplay& value) noexcept {
|
|
498
|
+
return std::optional<StyleDisplay>(value);
|
|
508
499
|
}
|
|
509
|
-
inline bool
|
|
500
|
+
inline bool has_value_std__optional_StyleDisplay_(const std::optional<StyleDisplay>& optional) noexcept {
|
|
510
501
|
return optional.has_value();
|
|
511
502
|
}
|
|
512
|
-
inline
|
|
503
|
+
inline StyleDisplay get_std__optional_StyleDisplay_(const std::optional<StyleDisplay>& optional) noexcept {
|
|
513
504
|
return optional.value();
|
|
514
505
|
}
|
|
515
506
|
|
|
516
|
-
// pragma MARK: std::
|
|
507
|
+
// pragma MARK: std::optional<ArtworkRendering>
|
|
517
508
|
/**
|
|
518
|
-
* Specialized version of `std::
|
|
509
|
+
* Specialized version of `std::optional<ArtworkRendering>`.
|
|
519
510
|
*/
|
|
520
|
-
using
|
|
521
|
-
inline std::
|
|
522
|
-
std::
|
|
523
|
-
|
|
524
|
-
|
|
511
|
+
using std__optional_ArtworkRendering_ = std::optional<ArtworkRendering>;
|
|
512
|
+
inline std::optional<ArtworkRendering> create_std__optional_ArtworkRendering_(const ArtworkRendering& value) noexcept {
|
|
513
|
+
return std::optional<ArtworkRendering>(value);
|
|
514
|
+
}
|
|
515
|
+
inline bool has_value_std__optional_ArtworkRendering_(const std::optional<ArtworkRendering>& optional) noexcept {
|
|
516
|
+
return optional.has_value();
|
|
517
|
+
}
|
|
518
|
+
inline ArtworkRendering get_std__optional_ArtworkRendering_(const std::optional<ArtworkRendering>& optional) noexcept {
|
|
519
|
+
return optional.value();
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
// pragma MARK: std::optional<bool>
|
|
523
|
+
/**
|
|
524
|
+
* Specialized version of `std::optional<bool>`.
|
|
525
|
+
*/
|
|
526
|
+
using std__optional_bool_ = std::optional<bool>;
|
|
527
|
+
inline std::optional<bool> create_std__optional_bool_(const bool& value) noexcept {
|
|
528
|
+
return std::optional<bool>(value);
|
|
529
|
+
}
|
|
530
|
+
inline bool has_value_std__optional_bool_(const std::optional<bool>& optional) noexcept {
|
|
531
|
+
return optional.has_value();
|
|
532
|
+
}
|
|
533
|
+
inline bool get_std__optional_bool_(const std::optional<bool>& optional) noexcept {
|
|
534
|
+
return optional.value();
|
|
525
535
|
}
|
|
526
536
|
|
|
527
537
|
// pragma MARK: std::vector<Track>
|
|
@@ -606,6 +616,47 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
|
|
|
606
616
|
return Func_void_std__exception_ptr_Wrapper(std::move(value));
|
|
607
617
|
}
|
|
608
618
|
|
|
619
|
+
// pragma MARK: std::optional<SectionStyle>
|
|
620
|
+
/**
|
|
621
|
+
* Specialized version of `std::optional<SectionStyle>`.
|
|
622
|
+
*/
|
|
623
|
+
using std__optional_SectionStyle_ = std::optional<SectionStyle>;
|
|
624
|
+
inline std::optional<SectionStyle> create_std__optional_SectionStyle_(const SectionStyle& value) noexcept {
|
|
625
|
+
return std::optional<SectionStyle>(value);
|
|
626
|
+
}
|
|
627
|
+
inline bool has_value_std__optional_SectionStyle_(const std::optional<SectionStyle>& optional) noexcept {
|
|
628
|
+
return optional.has_value();
|
|
629
|
+
}
|
|
630
|
+
inline SectionStyle get_std__optional_SectionStyle_(const std::optional<SectionStyle>& optional) noexcept {
|
|
631
|
+
return optional.value();
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
// pragma MARK: std::optional<std::vector<Section>>
|
|
635
|
+
/**
|
|
636
|
+
* Specialized version of `std::optional<std::vector<Section>>`.
|
|
637
|
+
*/
|
|
638
|
+
using std__optional_std__vector_Section__ = std::optional<std::vector<Section>>;
|
|
639
|
+
inline std::optional<std::vector<Section>> create_std__optional_std__vector_Section__(const std::vector<Section>& value) noexcept {
|
|
640
|
+
return std::optional<std::vector<Section>>(value);
|
|
641
|
+
}
|
|
642
|
+
inline bool has_value_std__optional_std__vector_Section__(const std::optional<std::vector<Section>>& optional) noexcept {
|
|
643
|
+
return optional.has_value();
|
|
644
|
+
}
|
|
645
|
+
inline std::vector<Section> get_std__optional_std__vector_Section__(const std::optional<std::vector<Section>>& optional) noexcept {
|
|
646
|
+
return optional.value();
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
// pragma MARK: std::vector<Section>
|
|
650
|
+
/**
|
|
651
|
+
* Specialized version of `std::vector<Section>`.
|
|
652
|
+
*/
|
|
653
|
+
using std__vector_Section_ = std::vector<Section>;
|
|
654
|
+
inline std::vector<Section> create_std__vector_Section_(size_t size) noexcept {
|
|
655
|
+
std::vector<Section> vector;
|
|
656
|
+
vector.reserve(size);
|
|
657
|
+
return vector;
|
|
658
|
+
}
|
|
659
|
+
|
|
609
660
|
// pragma MARK: std::optional<CarPlaySiriListButtonPosition>
|
|
610
661
|
/**
|
|
611
662
|
* Specialized version of `std::optional<CarPlaySiriListButtonPosition>`.
|
|
@@ -2319,65 +2370,36 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
|
|
|
2319
2370
|
return vector;
|
|
2320
2371
|
}
|
|
2321
2372
|
|
|
2322
|
-
// pragma MARK: std::optional<
|
|
2373
|
+
// pragma MARK: std::optional<CarPlayPlayingIndicatorLocation>
|
|
2323
2374
|
/**
|
|
2324
|
-
* Specialized version of `std::optional<
|
|
2375
|
+
* Specialized version of `std::optional<CarPlayPlayingIndicatorLocation>`.
|
|
2325
2376
|
*/
|
|
2326
|
-
using
|
|
2327
|
-
inline std::optional<
|
|
2328
|
-
return std::optional<
|
|
2377
|
+
using std__optional_CarPlayPlayingIndicatorLocation_ = std::optional<CarPlayPlayingIndicatorLocation>;
|
|
2378
|
+
inline std::optional<CarPlayPlayingIndicatorLocation> create_std__optional_CarPlayPlayingIndicatorLocation_(const CarPlayPlayingIndicatorLocation& value) noexcept {
|
|
2379
|
+
return std::optional<CarPlayPlayingIndicatorLocation>(value);
|
|
2329
2380
|
}
|
|
2330
|
-
inline bool
|
|
2381
|
+
inline bool has_value_std__optional_CarPlayPlayingIndicatorLocation_(const std::optional<CarPlayPlayingIndicatorLocation>& optional) noexcept {
|
|
2331
2382
|
return optional.has_value();
|
|
2332
2383
|
}
|
|
2333
|
-
inline
|
|
2384
|
+
inline CarPlayPlayingIndicatorLocation get_std__optional_CarPlayPlayingIndicatorLocation_(const std::optional<CarPlayPlayingIndicatorLocation>& optional) noexcept {
|
|
2334
2385
|
return optional.value();
|
|
2335
2386
|
}
|
|
2336
2387
|
|
|
2337
|
-
// pragma MARK: std::optional<
|
|
2388
|
+
// pragma MARK: std::optional<PlayerCapabilities>
|
|
2338
2389
|
/**
|
|
2339
|
-
* Specialized version of `std::optional<
|
|
2390
|
+
* Specialized version of `std::optional<PlayerCapabilities>`.
|
|
2340
2391
|
*/
|
|
2341
|
-
using
|
|
2342
|
-
inline std::optional<
|
|
2343
|
-
return std::optional<
|
|
2392
|
+
using std__optional_PlayerCapabilities_ = std::optional<PlayerCapabilities>;
|
|
2393
|
+
inline std::optional<PlayerCapabilities> create_std__optional_PlayerCapabilities_(const PlayerCapabilities& value) noexcept {
|
|
2394
|
+
return std::optional<PlayerCapabilities>(value);
|
|
2344
2395
|
}
|
|
2345
|
-
inline bool
|
|
2396
|
+
inline bool has_value_std__optional_PlayerCapabilities_(const std::optional<PlayerCapabilities>& optional) noexcept {
|
|
2346
2397
|
return optional.has_value();
|
|
2347
2398
|
}
|
|
2348
|
-
inline
|
|
2399
|
+
inline PlayerCapabilities get_std__optional_PlayerCapabilities_(const std::optional<PlayerCapabilities>& optional) noexcept {
|
|
2349
2400
|
return optional.value();
|
|
2350
2401
|
}
|
|
2351
2402
|
|
|
2352
|
-
// pragma MARK: std::variant<bool, FavoriteConfig>
|
|
2353
|
-
/**
|
|
2354
|
-
* Wrapper struct for `std::variant<bool, FavoriteConfig>`.
|
|
2355
|
-
* std::variant cannot be used in Swift because of a Swift bug.
|
|
2356
|
-
* Not even specializing it works. So we create a wrapper struct.
|
|
2357
|
-
*/
|
|
2358
|
-
struct std__variant_bool__FavoriteConfig_ final {
|
|
2359
|
-
std::variant<bool, FavoriteConfig> variant;
|
|
2360
|
-
std__variant_bool__FavoriteConfig_(std::variant<bool, FavoriteConfig> variant): variant(variant) { }
|
|
2361
|
-
operator std::variant<bool, FavoriteConfig>() const noexcept {
|
|
2362
|
-
return variant;
|
|
2363
|
-
}
|
|
2364
|
-
inline size_t index() const noexcept {
|
|
2365
|
-
return variant.index();
|
|
2366
|
-
}
|
|
2367
|
-
inline bool get_0() const noexcept {
|
|
2368
|
-
return std::get<0>(variant);
|
|
2369
|
-
}
|
|
2370
|
-
inline FavoriteConfig get_1() const noexcept {
|
|
2371
|
-
return std::get<1>(variant);
|
|
2372
|
-
}
|
|
2373
|
-
};
|
|
2374
|
-
inline std__variant_bool__FavoriteConfig_ create_std__variant_bool__FavoriteConfig_(bool value) noexcept {
|
|
2375
|
-
return std__variant_bool__FavoriteConfig_(value);
|
|
2376
|
-
}
|
|
2377
|
-
inline std__variant_bool__FavoriteConfig_ create_std__variant_bool__FavoriteConfig_(const FavoriteConfig& value) noexcept {
|
|
2378
|
-
return std__variant_bool__FavoriteConfig_(value);
|
|
2379
|
-
}
|
|
2380
|
-
|
|
2381
2403
|
// pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>>
|
|
2382
2404
|
/**
|
|
2383
2405
|
* Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& / * params * /)>>`.
|
|
@@ -18,6 +18,8 @@ namespace margelo::nitro::audiobrowser { struct AndroidOptions; }
|
|
|
18
18
|
namespace margelo::nitro::audiobrowser { enum class AndroidPlayerWakeMode; }
|
|
19
19
|
// Forward declaration of `AppKilledPlaybackBehavior` to properly resolve imports.
|
|
20
20
|
namespace margelo::nitro::audiobrowser { enum class AppKilledPlaybackBehavior; }
|
|
21
|
+
// Forward declaration of `ArtworkRendering` to properly resolve imports.
|
|
22
|
+
namespace margelo::nitro::audiobrowser { enum class ArtworkRendering; }
|
|
21
23
|
// Forward declaration of `ArtworkRequestConfig` to properly resolve imports.
|
|
22
24
|
namespace margelo::nitro::audiobrowser { struct ArtworkRequestConfig; }
|
|
23
25
|
// Forward declaration of `ArtworkVariants` to properly resolve imports.
|
|
@@ -34,6 +36,8 @@ namespace margelo::nitro::audiobrowser { struct BrowseError; }
|
|
|
34
36
|
namespace margelo::nitro::audiobrowser { struct BrowserSourceCallbackParam; }
|
|
35
37
|
// Forward declaration of `CarPlayNowPlayingButton` to properly resolve imports.
|
|
36
38
|
namespace margelo::nitro::audiobrowser { enum class CarPlayNowPlayingButton; }
|
|
39
|
+
// Forward declaration of `CarPlayPlayingIndicatorLocation` to properly resolve imports.
|
|
40
|
+
namespace margelo::nitro::audiobrowser { enum class CarPlayPlayingIndicatorLocation; }
|
|
37
41
|
// Forward declaration of `CarPlaySiriListButtonPosition` to properly resolve imports.
|
|
38
42
|
namespace margelo::nitro::audiobrowser { enum class CarPlaySiriListButtonPosition; }
|
|
39
43
|
// Forward declaration of `ChapterMetadata` to properly resolve imports.
|
|
@@ -42,10 +46,6 @@ namespace margelo::nitro::audiobrowser { struct ChapterMetadata; }
|
|
|
42
46
|
namespace margelo::nitro::audiobrowser { struct EqualizerSettings; }
|
|
43
47
|
// Forward declaration of `FavoriteChangedEvent` to properly resolve imports.
|
|
44
48
|
namespace margelo::nitro::audiobrowser { struct FavoriteChangedEvent; }
|
|
45
|
-
// Forward declaration of `FavoriteConfig` to properly resolve imports.
|
|
46
|
-
namespace margelo::nitro::audiobrowser { struct FavoriteConfig; }
|
|
47
|
-
// Forward declaration of `FavoritesMatchMode` to properly resolve imports.
|
|
48
|
-
namespace margelo::nitro::audiobrowser { enum class FavoritesMatchMode; }
|
|
49
49
|
// Forward declaration of `FormatNavigationErrorParams` to properly resolve imports.
|
|
50
50
|
namespace margelo::nitro::audiobrowser { struct FormatNavigationErrorParams; }
|
|
51
51
|
// Forward declaration of `FormatNowPlayingParams` to properly resolve imports.
|
|
@@ -78,8 +78,6 @@ namespace margelo::nitro::audiobrowser { struct IOSOptions; }
|
|
|
78
78
|
namespace margelo::nitro::audiobrowser { struct ImageContext; }
|
|
79
79
|
// Forward declaration of `ImageQueryParams` to properly resolve imports.
|
|
80
80
|
namespace margelo::nitro::audiobrowser { struct ImageQueryParams; }
|
|
81
|
-
// Forward declaration of `ImageRowItem` to properly resolve imports.
|
|
82
|
-
namespace margelo::nitro::audiobrowser { struct ImageRowItem; }
|
|
83
81
|
// Forward declaration of `ImageSource` to properly resolve imports.
|
|
84
82
|
namespace margelo::nitro::audiobrowser { struct ImageSource; }
|
|
85
83
|
// Forward declaration of `MediaReference` to properly resolve imports.
|
|
@@ -176,12 +174,18 @@ namespace margelo::nitro::audiobrowser { struct RetryConfig; }
|
|
|
176
174
|
namespace margelo::nitro::audiobrowser { enum class SearchMode; }
|
|
177
175
|
// Forward declaration of `SearchParams` to properly resolve imports.
|
|
178
176
|
namespace margelo::nitro::audiobrowser { struct SearchParams; }
|
|
177
|
+
// Forward declaration of `SectionStyle` to properly resolve imports.
|
|
178
|
+
namespace margelo::nitro::audiobrowser { struct SectionStyle; }
|
|
179
|
+
// Forward declaration of `Section` to properly resolve imports.
|
|
180
|
+
namespace margelo::nitro::audiobrowser { struct Section; }
|
|
179
181
|
// Forward declaration of `SleepTimerEndOfTrack` to properly resolve imports.
|
|
180
182
|
namespace margelo::nitro::audiobrowser { struct SleepTimerEndOfTrack; }
|
|
181
183
|
// Forward declaration of `SleepTimerTime` to properly resolve imports.
|
|
182
184
|
namespace margelo::nitro::audiobrowser { struct SleepTimerTime; }
|
|
183
185
|
// Forward declaration of `StallReason` to properly resolve imports.
|
|
184
186
|
namespace margelo::nitro::audiobrowser { enum class StallReason; }
|
|
187
|
+
// Forward declaration of `StyleDisplay` to properly resolve imports.
|
|
188
|
+
namespace margelo::nitro::audiobrowser { enum class StyleDisplay; }
|
|
185
189
|
// Forward declaration of `TimedMetadata` to properly resolve imports.
|
|
186
190
|
namespace margelo::nitro::audiobrowser { struct TimedMetadata; }
|
|
187
191
|
// Forward declaration of `TrackLoadEvent` to properly resolve imports.
|
|
@@ -191,7 +195,7 @@ namespace margelo::nitro::audiobrowser { struct TrackMetadata; }
|
|
|
191
195
|
// Forward declaration of `TrackRequest` to properly resolve imports.
|
|
192
196
|
namespace margelo::nitro::audiobrowser { struct TrackRequest; }
|
|
193
197
|
// Forward declaration of `TrackStyle` to properly resolve imports.
|
|
194
|
-
namespace margelo::nitro::audiobrowser {
|
|
198
|
+
namespace margelo::nitro::audiobrowser { struct TrackStyle; }
|
|
195
199
|
// Forward declaration of `Track` to properly resolve imports.
|
|
196
200
|
namespace margelo::nitro::audiobrowser { struct Track; }
|
|
197
201
|
// Forward declaration of `TransformableRequestConfig` to properly resolve imports.
|
|
@@ -203,6 +207,7 @@ namespace margelo::nitro::audiobrowser { struct TransformableRequestConfig; }
|
|
|
203
207
|
#include "AndroidOptions.hpp"
|
|
204
208
|
#include "AndroidPlayerWakeMode.hpp"
|
|
205
209
|
#include "AppKilledPlaybackBehavior.hpp"
|
|
210
|
+
#include "ArtworkRendering.hpp"
|
|
206
211
|
#include "ArtworkRequestConfig.hpp"
|
|
207
212
|
#include "ArtworkVariants.hpp"
|
|
208
213
|
#include "BatteryOptimizationStatus.hpp"
|
|
@@ -211,12 +216,11 @@ namespace margelo::nitro::audiobrowser { struct TransformableRequestConfig; }
|
|
|
211
216
|
#include "BrowseError.hpp"
|
|
212
217
|
#include "BrowserSourceCallbackParam.hpp"
|
|
213
218
|
#include "CarPlayNowPlayingButton.hpp"
|
|
219
|
+
#include "CarPlayPlayingIndicatorLocation.hpp"
|
|
214
220
|
#include "CarPlaySiriListButtonPosition.hpp"
|
|
215
221
|
#include "ChapterMetadata.hpp"
|
|
216
222
|
#include "EqualizerSettings.hpp"
|
|
217
223
|
#include "FavoriteChangedEvent.hpp"
|
|
218
|
-
#include "FavoriteConfig.hpp"
|
|
219
|
-
#include "FavoritesMatchMode.hpp"
|
|
220
224
|
#include "FormatNavigationErrorParams.hpp"
|
|
221
225
|
#include "FormatNowPlayingParams.hpp"
|
|
222
226
|
#include "FormattedNavigationError.hpp"
|
|
@@ -233,7 +237,6 @@ namespace margelo::nitro::audiobrowser { struct TransformableRequestConfig; }
|
|
|
233
237
|
#include "IOSOptions.hpp"
|
|
234
238
|
#include "ImageContext.hpp"
|
|
235
239
|
#include "ImageQueryParams.hpp"
|
|
236
|
-
#include "ImageRowItem.hpp"
|
|
237
240
|
#include "ImageSource.hpp"
|
|
238
241
|
#include "MediaReference.hpp"
|
|
239
242
|
#include "MediaRequestConfig.hpp"
|
|
@@ -282,9 +285,12 @@ namespace margelo::nitro::audiobrowser { struct TransformableRequestConfig; }
|
|
|
282
285
|
#include "RetryConfig.hpp"
|
|
283
286
|
#include "SearchMode.hpp"
|
|
284
287
|
#include "SearchParams.hpp"
|
|
288
|
+
#include "Section.hpp"
|
|
289
|
+
#include "SectionStyle.hpp"
|
|
285
290
|
#include "SleepTimerEndOfTrack.hpp"
|
|
286
291
|
#include "SleepTimerTime.hpp"
|
|
287
292
|
#include "StallReason.hpp"
|
|
293
|
+
#include "StyleDisplay.hpp"
|
|
288
294
|
#include "TimedMetadata.hpp"
|
|
289
295
|
#include "Track.hpp"
|
|
290
296
|
#include "TrackLoadEvent.hpp"
|
|
@@ -23,11 +23,17 @@ namespace margelo::nitro::audiobrowser { enum class HttpMethod; }
|
|
|
23
23
|
// Forward declaration of `TrackRequest` to properly resolve imports.
|
|
24
24
|
namespace margelo::nitro::audiobrowser { struct TrackRequest; }
|
|
25
25
|
// Forward declaration of `TrackStyle` to properly resolve imports.
|
|
26
|
-
namespace margelo::nitro::audiobrowser {
|
|
27
|
-
// Forward declaration of `
|
|
28
|
-
namespace margelo::nitro::audiobrowser {
|
|
26
|
+
namespace margelo::nitro::audiobrowser { struct TrackStyle; }
|
|
27
|
+
// Forward declaration of `StyleDisplay` to properly resolve imports.
|
|
28
|
+
namespace margelo::nitro::audiobrowser { enum class StyleDisplay; }
|
|
29
|
+
// Forward declaration of `ArtworkRendering` to properly resolve imports.
|
|
30
|
+
namespace margelo::nitro::audiobrowser { enum class ArtworkRendering; }
|
|
29
31
|
// Forward declaration of `ResolvedTrack` to properly resolve imports.
|
|
30
32
|
namespace margelo::nitro::audiobrowser { struct ResolvedTrack; }
|
|
33
|
+
// Forward declaration of `SectionStyle` to properly resolve imports.
|
|
34
|
+
namespace margelo::nitro::audiobrowser { struct SectionStyle; }
|
|
35
|
+
// Forward declaration of `Section` to properly resolve imports.
|
|
36
|
+
namespace margelo::nitro::audiobrowser { struct Section; }
|
|
31
37
|
// Forward declaration of `CarPlaySiriListButtonPosition` to properly resolve imports.
|
|
32
38
|
namespace margelo::nitro::audiobrowser { enum class CarPlaySiriListButtonPosition; }
|
|
33
39
|
// Forward declaration of `NavigationErrorEvent` to properly resolve imports.
|
|
@@ -138,14 +144,12 @@ namespace margelo::nitro::audiobrowser { struct RemoteButtonLayout; }
|
|
|
138
144
|
namespace margelo::nitro::audiobrowser { enum class RemoteButton; }
|
|
139
145
|
// Forward declaration of `PlayerCapabilities` to properly resolve imports.
|
|
140
146
|
namespace margelo::nitro::audiobrowser { struct PlayerCapabilities; }
|
|
141
|
-
// Forward declaration of `FavoriteConfig` to properly resolve imports.
|
|
142
|
-
namespace margelo::nitro::audiobrowser { struct FavoriteConfig; }
|
|
143
|
-
// Forward declaration of `FavoritesMatchMode` to properly resolve imports.
|
|
144
|
-
namespace margelo::nitro::audiobrowser { enum class FavoritesMatchMode; }
|
|
145
147
|
// Forward declaration of `IOSOptions` to properly resolve imports.
|
|
146
148
|
namespace margelo::nitro::audiobrowser { struct IOSOptions; }
|
|
147
149
|
// Forward declaration of `CarPlayNowPlayingButton` to properly resolve imports.
|
|
148
150
|
namespace margelo::nitro::audiobrowser { enum class CarPlayNowPlayingButton; }
|
|
151
|
+
// Forward declaration of `CarPlayPlayingIndicatorLocation` to properly resolve imports.
|
|
152
|
+
namespace margelo::nitro::audiobrowser { enum class CarPlayPlayingIndicatorLocation; }
|
|
149
153
|
// Forward declaration of `FavoriteChangedEvent` to properly resolve imports.
|
|
150
154
|
namespace margelo::nitro::audiobrowser { struct FavoriteChangedEvent; }
|
|
151
155
|
// Forward declaration of `NowPlayingMetadata` to properly resolve imports.
|
|
@@ -210,9 +214,12 @@ namespace margelo::nitro::audiobrowser { struct Progress; }
|
|
|
210
214
|
#include <unordered_map>
|
|
211
215
|
#include "TrackRequest.hpp"
|
|
212
216
|
#include "TrackStyle.hpp"
|
|
213
|
-
#include "
|
|
217
|
+
#include "StyleDisplay.hpp"
|
|
218
|
+
#include "ArtworkRendering.hpp"
|
|
214
219
|
#include <functional>
|
|
215
220
|
#include "ResolvedTrack.hpp"
|
|
221
|
+
#include "SectionStyle.hpp"
|
|
222
|
+
#include "Section.hpp"
|
|
216
223
|
#include "CarPlaySiriListButtonPosition.hpp"
|
|
217
224
|
#include "NavigationErrorEvent.hpp"
|
|
218
225
|
#include "NavigationError.hpp"
|
|
@@ -270,10 +277,9 @@ namespace margelo::nitro::audiobrowser { struct Progress; }
|
|
|
270
277
|
#include "RemoteButtonLayout.hpp"
|
|
271
278
|
#include "RemoteButton.hpp"
|
|
272
279
|
#include "PlayerCapabilities.hpp"
|
|
273
|
-
#include "FavoriteConfig.hpp"
|
|
274
|
-
#include "FavoritesMatchMode.hpp"
|
|
275
280
|
#include "IOSOptions.hpp"
|
|
276
281
|
#include "CarPlayNowPlayingButton.hpp"
|
|
282
|
+
#include "CarPlayPlayingIndicatorLocation.hpp"
|
|
277
283
|
#include "FavoriteChangedEvent.hpp"
|
|
278
284
|
#include "NowPlayingMetadata.hpp"
|
|
279
285
|
#include "Output.hpp"
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// ArtworkRendering.swift
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Represents the JS union `ArtworkRendering`, backed by a C++ enum.
|
|
10
|
+
*/
|
|
11
|
+
public typealias ArtworkRendering = margelo.nitro.audiobrowser.ArtworkRendering
|
|
12
|
+
|
|
13
|
+
public extension ArtworkRendering {
|
|
14
|
+
/**
|
|
15
|
+
* Get a ArtworkRendering for the given String value, or
|
|
16
|
+
* return `nil` if the given value was invalid/unknown.
|
|
17
|
+
*/
|
|
18
|
+
init?(fromString string: String) {
|
|
19
|
+
switch string {
|
|
20
|
+
case "original":
|
|
21
|
+
self = .original
|
|
22
|
+
case "stencil":
|
|
23
|
+
self = .stencil
|
|
24
|
+
default:
|
|
25
|
+
return nil
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Get the String value this ArtworkRendering represents.
|
|
31
|
+
*/
|
|
32
|
+
var stringValue: String {
|
|
33
|
+
switch self {
|
|
34
|
+
case .original:
|
|
35
|
+
return "original"
|
|
36
|
+
case .stencil:
|
|
37
|
+
return "stencil"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|