react-native-audio-browser 0.2.0-next.8 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (973) hide show
  1. package/AudioBrowser.podspec +1 -1
  2. package/README.md +2 -180
  3. package/android/build.gradle +1 -17
  4. package/android/gradle.properties +1 -1
  5. package/android/src/main/AndroidManifest.xml +0 -15
  6. package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +141 -401
  7. package/android/src/main/java/com/audiobrowser/Callbacks.kt +6 -4
  8. package/android/src/main/java/com/audiobrowser/Service.kt +18 -67
  9. package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +178 -442
  10. package/android/src/main/java/com/audiobrowser/browser/JsonModels.kt +4 -41
  11. package/android/src/main/java/com/audiobrowser/browser/TrackLoadHandler.kt +4 -4
  12. package/android/src/main/java/com/audiobrowser/http/RequestConfigBuilder.kt +97 -109
  13. package/android/src/main/java/com/audiobrowser/model/PlaybackMetadata.kt +10 -6
  14. package/android/src/main/java/com/audiobrowser/model/PlayerSetupOptions.kt +8 -40
  15. package/android/src/main/java/com/audiobrowser/model/PlayerUpdateOptions.kt +46 -40
  16. package/android/src/main/java/com/audiobrowser/player/AutomaticBufferManager.kt +1 -4
  17. package/android/src/main/java/com/audiobrowser/player/DynamicLoadControl.kt +1 -18
  18. package/android/src/main/java/com/audiobrowser/player/MediaFactory.kt +3 -15
  19. package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +134 -422
  20. package/android/src/main/java/com/audiobrowser/player/MediaSessionCommandManager.kt +404 -248
  21. package/android/src/main/java/com/audiobrowser/player/PlaybackProgressUpdateManager.kt +59 -0
  22. package/android/src/main/java/com/audiobrowser/player/PlaybackStateStore.kt +5 -25
  23. package/android/src/main/java/com/audiobrowser/player/Player.kt +582 -469
  24. package/android/src/main/java/com/audiobrowser/player/PlayerListener.kt +67 -190
  25. package/android/src/main/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicy.kt +53 -118
  26. package/android/src/main/java/com/audiobrowser/player/SleepTimer.kt +3 -37
  27. package/android/src/main/java/com/audiobrowser/player/TransformingDataSource.kt +40 -85
  28. package/android/src/main/java/com/audiobrowser/util/BrowserPathHelper.kt +0 -24
  29. package/android/src/main/java/com/audiobrowser/util/CoilBitmapLoader.kt +300 -23
  30. package/android/src/main/java/com/audiobrowser/util/EqualizerManager.kt +23 -13
  31. package/android/src/main/java/com/audiobrowser/util/MediaExtrasBuilder.kt +2 -2
  32. package/android/src/main/java/com/audiobrowser/util/MetadataAdapter.kt +3 -4
  33. package/android/src/main/java/com/audiobrowser/util/PlayingStateFactory.kt +1 -2
  34. package/android/src/main/java/com/audiobrowser/util/RatingFactory.kt +72 -0
  35. package/android/src/main/java/com/audiobrowser/util/ResolvedTrackFactory.kt +36 -0
  36. package/android/src/main/java/com/audiobrowser/util/SvgArtworkRenderer.kt +111 -6
  37. package/android/src/main/java/com/audiobrowser/util/SystemVolumeMonitor.kt +8 -22
  38. package/android/src/main/java/com/audiobrowser/util/TrackFactory.kt +80 -112
  39. package/android/src/main/res/values/strings.xml +0 -4
  40. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerTest.kt +0 -4
  41. package/android/src/test/java/com/audiobrowser/browser/SimpleRouterTest.kt +2 -1
  42. package/android/src/test/java/com/audiobrowser/http/RequestConfigBuilderTest.kt +0 -72
  43. package/android/src/test/java/com/audiobrowser/player/PlaybackProgressUpdateManagerTest.kt +146 -0
  44. package/ios/Browser/BrowserConfig.swift +11 -41
  45. package/ios/Browser/BrowserManager+URLResolution.swift +93 -213
  46. package/ios/Browser/BrowserManager.swift +110 -303
  47. package/ios/Browser/BrowserPathHelper.swift +3 -32
  48. package/ios/Browser/JsonModels.swift +66 -287
  49. package/ios/CarPlay/CarPlayArtworkResolver.swift +6 -6
  50. package/ios/CarPlay/CarPlayController.swift +149 -739
  51. package/ios/CarPlay/CarPlayImageLoader.swift +8 -57
  52. package/ios/CarPlay/CarPlayListItemFactory.swift +35 -44
  53. package/ios/CarPlay/CarPlayNowPlayingManager.swift +36 -180
  54. package/ios/CarPlay/RNABAudioBrowser.h +10 -15
  55. package/ios/CarPlay/RNABAudioBrowser.m +14 -15
  56. package/ios/CarPlay/RNABCarPlaySceneDelegate.m +0 -2
  57. package/ios/CarPlay/RNABMediaIntentHandler.swift +43 -53
  58. package/ios/CarPlay/Track+CarPlay.swift +63 -0
  59. package/ios/Extension/Capability+RemoteCommand.swift +9 -7
  60. package/ios/Extension/ChapterMetadata+AVFoundation.swift +1 -1
  61. package/ios/Extension/NavigationError+Conversion.swift +1 -8
  62. package/ios/Extension/ResolvedTrack+Copying.swift +4 -10
  63. package/ios/Extension/TimedMetadata+AVFoundation.swift +1 -1
  64. package/ios/Extension/Track+AVPlayer.swift +4 -4
  65. package/ios/Extension/Track+Copying.swift +3 -9
  66. package/ios/Extension/TrackMetadata+AVFoundation.swift +1 -1
  67. package/ios/HybridAudioBrowser.swift +173 -751
  68. package/ios/Model/NitroTypeStubs.swift +224 -299
  69. package/ios/Model/PlayerUpdateOptions.swift +23 -23
  70. package/ios/Model/RemoteCommand.swift +6 -24
  71. package/ios/Model/TrackPlayerError.swift +18 -82
  72. package/ios/NowPlayingInfo/NowPlayingInfoCenter.swift +9 -0
  73. package/ios/NowPlayingInfo/NowPlayingInfoController.swift +121 -99
  74. package/ios/Observer/PlayerItemNotificationObserver.swift +5 -45
  75. package/ios/Observer/PlayerItemPropertyObserver.swift +4 -27
  76. package/ios/Observer/PlayerTimeObserver.swift +53 -3
  77. package/ios/Option/SessionCategories.swift +11 -34
  78. package/ios/Player/LoadSeekCoordinator.swift +1 -16
  79. package/ios/Player/MediaLoader.swift +11 -31
  80. package/ios/Player/NowPlayingUpdater.swift +26 -119
  81. package/ios/Player/PlaybackCoordinator.swift +51 -285
  82. package/ios/Player/PlaybackCoordinatorCallbacks.swift +1 -6
  83. package/ios/Player/PlaybackEffectHandler.swift +9 -19
  84. package/ios/Player/PlaybackErrorHandler.swift +13 -97
  85. package/ios/Player/PlaybackProgressUpdateManager.swift +68 -0
  86. package/ios/Player/PlaybackStateMachine.swift +13 -18
  87. package/ios/Player/PlayingStateManager.swift +2 -3
  88. package/ios/Player/QueueManager.swift +61 -67
  89. package/ios/Player/RetryManager.swift +21 -98
  90. package/ios/Player/SleepTimerHandling.swift +0 -8
  91. package/ios/Player/SleepTimerManager.swift +11 -72
  92. package/ios/RemoteCommand/RemoteCommandController.swift +21 -40
  93. package/ios/Tests/BrowserPathHelperTests.swift +0 -28
  94. package/ios/Tests/CarPlayArtworkResolverTests.swift +39 -39
  95. package/ios/Tests/ChapterMetadataAVFoundationTests.swift +2 -2
  96. package/ios/Tests/LoadSeekCoordinatorTests.swift +7 -40
  97. package/ios/Tests/MediaLoaderTests.swift +20 -32
  98. package/ios/Tests/PlaybackCoordinatorTests.swift +13 -787
  99. package/ios/Tests/PlaybackErrorHandlerTests.swift +46 -380
  100. package/ios/Tests/PlaybackProgressUpdateManagerTests.swift +166 -0
  101. package/ios/Tests/PlaybackStateMachineTests.swift +8 -33
  102. package/ios/Tests/QueueManagerTests.swift +18 -149
  103. package/ios/Tests/ResolvedTrackCopyingTests.swift +8 -15
  104. package/ios/Tests/Support/TestTypes.swift +20 -61
  105. package/ios/Tests/TrackSelectorTests.swift +15 -15
  106. package/ios/TrackPlayer.swift +58 -380
  107. package/ios/TrackPlayerCallbacks.swift +44 -5
  108. package/ios/TrackSelector.swift +5 -5
  109. package/ios/Util/ArtworkImageFetcher.swift +2 -4
  110. package/ios/Util/NetworkMonitor.swift +3 -7
  111. package/ios/Util/OnceValue.swift +0 -34
  112. package/lib/commonjs/AudioBrowser.js +11 -0
  113. package/lib/commonjs/AudioBrowser.js.map +1 -1
  114. package/lib/commonjs/features/browser.js +158 -59
  115. package/lib/commonjs/features/browser.js.map +1 -1
  116. package/lib/commonjs/features/equalizer.js +1 -1
  117. package/lib/commonjs/features/errors.js +5 -37
  118. package/lib/commonjs/features/errors.js.map +1 -1
  119. package/lib/commonjs/features/favorites.js +1 -1
  120. package/lib/commonjs/features/index.js +0 -22
  121. package/lib/commonjs/features/index.js.map +1 -1
  122. package/lib/commonjs/features/metadata.js +3 -3
  123. package/lib/commonjs/features/metadata.js.map +1 -1
  124. package/lib/commonjs/features/network.js +1 -1
  125. package/lib/commonjs/features/nowPlaying.js +1 -36
  126. package/lib/commonjs/features/nowPlaying.js.map +1 -1
  127. package/lib/commonjs/features/output.js +23 -37
  128. package/lib/commonjs/features/output.js.map +1 -1
  129. package/lib/commonjs/features/playback/controls.js +0 -9
  130. package/lib/commonjs/features/playback/controls.js.map +1 -1
  131. package/lib/commonjs/features/playback/index.js +0 -11
  132. package/lib/commonjs/features/playback/index.js.map +1 -1
  133. package/lib/commonjs/features/playback/playWhenReady.js +1 -1
  134. package/lib/commonjs/features/playback/playing.js +1 -1
  135. package/lib/commonjs/features/playback/progress.js +13 -29
  136. package/lib/commonjs/features/playback/progress.js.map +1 -1
  137. package/lib/commonjs/features/playback/state.js +1 -1
  138. package/lib/commonjs/features/playback/volume.js +2 -2
  139. package/lib/commonjs/features/player/options.js +29 -79
  140. package/lib/commonjs/features/player/options.js.map +1 -1
  141. package/lib/commonjs/features/player/setup.js +3 -256
  142. package/lib/commonjs/features/player/setup.js.map +1 -1
  143. package/lib/commonjs/features/queue/activeTrack.js +1 -1
  144. package/lib/commonjs/features/queue/queue.js +5 -12
  145. package/lib/commonjs/features/queue/queue.js.map +1 -1
  146. package/lib/commonjs/features/queue/repeatMode.js +1 -1
  147. package/lib/commonjs/features/queue/shuffle.js +1 -1
  148. package/lib/commonjs/features/rating.js +2 -0
  149. package/lib/commonjs/features/rating.js.map +1 -0
  150. package/lib/commonjs/features/remoteControls.js +104 -14
  151. package/lib/commonjs/features/remoteControls.js.map +1 -1
  152. package/lib/commonjs/features/sleepTimer.js +5 -10
  153. package/lib/commonjs/features/sleepTimer.js.map +1 -1
  154. package/lib/commonjs/native.js +0 -5
  155. package/lib/commonjs/native.js.map +1 -1
  156. package/lib/commonjs/native.web.js +1 -4
  157. package/lib/commonjs/native.web.js.map +1 -1
  158. package/lib/commonjs/types/player.js +2 -0
  159. package/lib/commonjs/types/player.js.map +1 -0
  160. package/lib/commonjs/utils/LazyNativeEmitter.js +8 -8
  161. package/lib/commonjs/utils/LazyNativeEmitter.js.map +1 -1
  162. package/lib/commonjs/utils/NativeUpdatedValue.js +3 -0
  163. package/lib/commonjs/utils/NativeUpdatedValue.js.map +1 -1
  164. package/lib/commonjs/web/NativeAudioBrowser.js +124 -301
  165. package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -1
  166. package/lib/commonjs/web/SimpleRouter.test.js +174 -0
  167. package/lib/commonjs/web/SimpleRouter.test.js.map +1 -0
  168. package/lib/commonjs/web/TrackPlayer/Player.js +26 -90
  169. package/lib/commonjs/web/TrackPlayer/Player.js.map +1 -1
  170. package/lib/commonjs/web/TrackPlayer/PlaylistPlayer.js +293 -0
  171. package/lib/commonjs/web/TrackPlayer/PlaylistPlayer.js.map +1 -0
  172. package/lib/commonjs/web/TrackPlayer/RepeatMode.js +1 -1
  173. package/lib/commonjs/web/TrackPlayer/RepeatMode.js.map +1 -1
  174. package/lib/commonjs/web/TrackPlayer/SleepTimer.js +3 -34
  175. package/lib/commonjs/web/TrackPlayer/SleepTimer.js.map +1 -1
  176. package/lib/commonjs/web/TrackPlayer/index.js +5 -13
  177. package/lib/commonjs/web/TrackPlayer/index.js.map +1 -1
  178. package/lib/commonjs/web/browser/BrowserManager.js +50 -176
  179. package/lib/commonjs/web/browser/BrowserManager.js.map +1 -1
  180. package/lib/commonjs/web/browser/NavigationErrorManager.js +1 -3
  181. package/lib/commonjs/web/browser/NavigationErrorManager.js.map +1 -1
  182. package/lib/commonjs/web/browser/SearchManager.js +9 -11
  183. package/lib/commonjs/web/browser/SearchManager.js.map +1 -1
  184. package/lib/commonjs/web/http/HttpClient.js +23 -4
  185. package/lib/commonjs/web/http/HttpClient.js.map +1 -1
  186. package/lib/commonjs/web/http/RequestConfigBuilder.js +58 -107
  187. package/lib/commonjs/web/http/RequestConfigBuilder.js.map +1 -1
  188. package/lib/commonjs/web/player/NowPlayingManager.js +5 -6
  189. package/lib/commonjs/web/player/NowPlayingManager.js.map +1 -1
  190. package/lib/commonjs/web/player/OptionsManager.js +17 -9
  191. package/lib/commonjs/web/player/OptionsManager.js.map +1 -1
  192. package/lib/module/AudioBrowser.js +1 -4
  193. package/lib/module/AudioBrowser.js.map +1 -1
  194. package/lib/module/features/browser.js +156 -53
  195. package/lib/module/features/browser.js.map +1 -1
  196. package/lib/module/features/equalizer.js +1 -1
  197. package/lib/module/features/errors.js +5 -37
  198. package/lib/module/features/errors.js.map +1 -1
  199. package/lib/module/features/favorites.js +1 -1
  200. package/lib/module/features/index.js +0 -2
  201. package/lib/module/features/index.js.map +1 -1
  202. package/lib/module/features/metadata.js +3 -3
  203. package/lib/module/features/metadata.js.map +1 -1
  204. package/lib/module/features/network.js +1 -1
  205. package/lib/module/features/nowPlaying.js +1 -34
  206. package/lib/module/features/nowPlaying.js.map +1 -1
  207. package/lib/module/features/output.js +19 -32
  208. package/lib/module/features/output.js.map +1 -1
  209. package/lib/module/features/playback/controls.js +0 -8
  210. package/lib/module/features/playback/controls.js.map +1 -1
  211. package/lib/module/features/playback/index.js +0 -1
  212. package/lib/module/features/playback/index.js.map +1 -1
  213. package/lib/module/features/playback/playWhenReady.js +1 -1
  214. package/lib/module/features/playback/playing.js +1 -1
  215. package/lib/module/features/playback/progress.js +13 -29
  216. package/lib/module/features/playback/progress.js.map +1 -1
  217. package/lib/module/features/playback/state.js +1 -1
  218. package/lib/module/features/playback/volume.js +2 -2
  219. package/lib/module/features/player/options.js +29 -79
  220. package/lib/module/features/player/options.js.map +1 -1
  221. package/lib/module/features/player/setup.js +3 -256
  222. package/lib/module/features/player/setup.js.map +1 -1
  223. package/lib/module/features/queue/activeTrack.js +1 -1
  224. package/lib/module/features/queue/queue.js +5 -12
  225. package/lib/module/features/queue/queue.js.map +1 -1
  226. package/lib/module/features/queue/repeatMode.js +1 -1
  227. package/lib/module/features/queue/shuffle.js +1 -1
  228. package/lib/module/features/rating.js +2 -0
  229. package/lib/module/features/rating.js.map +1 -0
  230. package/lib/module/features/remoteControls.js +103 -13
  231. package/lib/module/features/remoteControls.js.map +1 -1
  232. package/lib/module/features/sleepTimer.js +5 -10
  233. package/lib/module/features/sleepTimer.js.map +1 -1
  234. package/lib/module/native.js +0 -5
  235. package/lib/module/native.js.map +1 -1
  236. package/lib/module/native.web.js +1 -4
  237. package/lib/module/native.web.js.map +1 -1
  238. package/lib/module/types/player.js +2 -0
  239. package/lib/module/types/player.js.map +1 -0
  240. package/lib/module/utils/LazyNativeEmitter.js +8 -8
  241. package/lib/module/utils/LazyNativeEmitter.js.map +1 -1
  242. package/lib/module/utils/NativeUpdatedValue.js +3 -0
  243. package/lib/module/utils/NativeUpdatedValue.js.map +1 -1
  244. package/lib/module/web/NativeAudioBrowser.js +125 -302
  245. package/lib/module/web/NativeAudioBrowser.js.map +1 -1
  246. package/lib/module/web/SimpleRouter.test.js +174 -0
  247. package/lib/module/web/SimpleRouter.test.js.map +1 -0
  248. package/lib/module/web/TrackPlayer/Player.js +26 -90
  249. package/lib/module/web/TrackPlayer/Player.js.map +1 -1
  250. package/lib/module/web/TrackPlayer/PlaylistPlayer.js +288 -0
  251. package/lib/module/web/TrackPlayer/PlaylistPlayer.js.map +1 -0
  252. package/lib/module/web/TrackPlayer/RepeatMode.js +1 -1
  253. package/lib/module/web/TrackPlayer/RepeatMode.js.map +1 -1
  254. package/lib/module/web/TrackPlayer/SleepTimer.js +3 -34
  255. package/lib/module/web/TrackPlayer/SleepTimer.js.map +1 -1
  256. package/lib/module/web/TrackPlayer/index.js +1 -2
  257. package/lib/module/web/TrackPlayer/index.js.map +1 -1
  258. package/lib/module/web/browser/BrowserManager.js +50 -176
  259. package/lib/module/web/browser/BrowserManager.js.map +1 -1
  260. package/lib/module/web/browser/NavigationErrorManager.js +1 -3
  261. package/lib/module/web/browser/NavigationErrorManager.js.map +1 -1
  262. package/lib/module/web/browser/SearchManager.js +9 -11
  263. package/lib/module/web/browser/SearchManager.js.map +1 -1
  264. package/lib/module/web/http/HttpClient.js +23 -4
  265. package/lib/module/web/http/HttpClient.js.map +1 -1
  266. package/lib/module/web/http/RequestConfigBuilder.js +58 -107
  267. package/lib/module/web/http/RequestConfigBuilder.js.map +1 -1
  268. package/lib/module/web/player/NowPlayingManager.js +5 -7
  269. package/lib/module/web/player/NowPlayingManager.js.map +1 -1
  270. package/lib/module/web/player/OptionsManager.js +17 -9
  271. package/lib/module/web/player/OptionsManager.js.map +1 -1
  272. package/lib/typescript/src/AudioBrowser.d.ts +1 -0
  273. package/lib/typescript/src/AudioBrowser.d.ts.map +1 -1
  274. package/lib/typescript/src/features/browser.d.ts +1 -40
  275. package/lib/typescript/src/features/browser.d.ts.map +1 -1
  276. package/lib/typescript/src/features/equalizer.d.ts +1 -1
  277. package/lib/typescript/src/features/errors.d.ts +6 -61
  278. package/lib/typescript/src/features/errors.d.ts.map +1 -1
  279. package/lib/typescript/src/features/favorites.d.ts +1 -1
  280. package/lib/typescript/src/features/index.d.ts +0 -2
  281. package/lib/typescript/src/features/index.d.ts.map +1 -1
  282. package/lib/typescript/src/features/metadata.d.ts +7 -9
  283. package/lib/typescript/src/features/metadata.d.ts.map +1 -1
  284. package/lib/typescript/src/features/network.d.ts +1 -1
  285. package/lib/typescript/src/features/nowPlaying.d.ts +1 -28
  286. package/lib/typescript/src/features/nowPlaying.d.ts.map +1 -1
  287. package/lib/typescript/src/features/output.d.ts +18 -28
  288. package/lib/typescript/src/features/output.d.ts.map +1 -1
  289. package/lib/typescript/src/features/playback/controls.d.ts +0 -5
  290. package/lib/typescript/src/features/playback/controls.d.ts.map +1 -1
  291. package/lib/typescript/src/features/playback/index.d.ts +0 -1
  292. package/lib/typescript/src/features/playback/index.d.ts.map +1 -1
  293. package/lib/typescript/src/features/playback/playWhenReady.d.ts +1 -1
  294. package/lib/typescript/src/features/playback/playing.d.ts +1 -1
  295. package/lib/typescript/src/features/playback/progress.d.ts +1 -4
  296. package/lib/typescript/src/features/playback/progress.d.ts.map +1 -1
  297. package/lib/typescript/src/features/playback/state.d.ts +1 -1
  298. package/lib/typescript/src/features/playback/volume.d.ts +2 -2
  299. package/lib/typescript/src/features/player/options.d.ts +127 -176
  300. package/lib/typescript/src/features/player/options.d.ts.map +1 -1
  301. package/lib/typescript/src/features/player/setup.d.ts +167 -213
  302. package/lib/typescript/src/features/player/setup.d.ts.map +1 -1
  303. package/lib/typescript/src/features/queue/activeTrack.d.ts +1 -1
  304. package/lib/typescript/src/features/queue/queue.d.ts +4 -11
  305. package/lib/typescript/src/features/queue/queue.d.ts.map +1 -1
  306. package/lib/typescript/src/features/queue/repeatMode.d.ts +1 -1
  307. package/lib/typescript/src/features/queue/shuffle.d.ts +1 -1
  308. package/lib/typescript/src/features/rating.d.ts +14 -0
  309. package/lib/typescript/src/features/rating.d.ts.map +1 -0
  310. package/lib/typescript/src/features/remoteControls.d.ts +35 -23
  311. package/lib/typescript/src/features/remoteControls.d.ts.map +1 -1
  312. package/lib/typescript/src/features/sleepTimer.d.ts +4 -19
  313. package/lib/typescript/src/features/sleepTimer.d.ts.map +1 -1
  314. package/lib/typescript/src/index.d.ts.map +1 -1
  315. package/lib/typescript/src/native.d.ts +2 -1
  316. package/lib/typescript/src/native.d.ts.map +1 -1
  317. package/lib/typescript/src/native.web.d.ts +3 -0
  318. package/lib/typescript/src/native.web.d.ts.map +1 -0
  319. package/lib/typescript/src/specs/audio-browser.nitro.d.ts +225 -17
  320. package/lib/typescript/src/specs/audio-browser.nitro.d.ts.map +1 -1
  321. package/lib/typescript/src/types/browser-native.d.ts +3 -9
  322. package/lib/typescript/src/types/browser-native.d.ts.map +1 -1
  323. package/lib/typescript/src/types/browser-nodes.d.ts +13 -145
  324. package/lib/typescript/src/types/browser-nodes.d.ts.map +1 -1
  325. package/lib/typescript/src/types/browser.d.ts +85 -349
  326. package/lib/typescript/src/types/browser.d.ts.map +1 -1
  327. package/lib/typescript/src/types/player.d.ts +64 -0
  328. package/lib/typescript/src/types/player.d.ts.map +1 -0
  329. package/lib/typescript/src/utils/LazyNativeEmitter.d.ts +6 -8
  330. package/lib/typescript/src/utils/LazyNativeEmitter.d.ts.map +1 -1
  331. package/lib/typescript/src/utils/NativeUpdatedValue.d.ts +2 -0
  332. package/lib/typescript/src/utils/NativeUpdatedValue.d.ts.map +1 -1
  333. package/lib/typescript/src/utils/resolveAssetSource.d.ts.map +1 -1
  334. package/lib/typescript/src/web/NativeAudioBrowser.d.ts +188 -0
  335. package/lib/typescript/src/web/NativeAudioBrowser.d.ts.map +1 -0
  336. package/lib/typescript/src/web/SimpleRouter.d.ts +40 -0
  337. package/lib/typescript/src/web/SimpleRouter.d.ts.map +1 -0
  338. package/lib/typescript/src/web/SimpleRouter.test.d.ts +2 -0
  339. package/lib/typescript/src/web/SimpleRouter.test.d.ts.map +1 -0
  340. package/lib/typescript/src/web/TrackPlayer/Event.d.ts +11 -0
  341. package/lib/typescript/src/web/TrackPlayer/Event.d.ts.map +1 -0
  342. package/lib/typescript/src/web/TrackPlayer/Player.d.ts +59 -0
  343. package/lib/typescript/src/web/TrackPlayer/Player.d.ts.map +1 -0
  344. package/lib/typescript/src/web/TrackPlayer/PlaylistPlayer.d.ts +39 -0
  345. package/lib/typescript/src/web/TrackPlayer/PlaylistPlayer.d.ts.map +1 -0
  346. package/lib/typescript/src/web/TrackPlayer/RepeatMode.d.ts +6 -0
  347. package/lib/typescript/src/web/TrackPlayer/RepeatMode.d.ts.map +1 -0
  348. package/lib/typescript/src/web/TrackPlayer/SetupNotCalledError.d.ts +4 -0
  349. package/lib/typescript/src/web/TrackPlayer/SetupNotCalledError.d.ts.map +1 -0
  350. package/lib/typescript/src/web/TrackPlayer/SleepTimer.d.ts +34 -0
  351. package/lib/typescript/src/web/TrackPlayer/SleepTimer.d.ts.map +1 -0
  352. package/lib/typescript/src/web/TrackPlayer/State.d.ts +13 -0
  353. package/lib/typescript/src/web/TrackPlayer/State.d.ts.map +1 -0
  354. package/lib/typescript/src/web/TrackPlayer/index.d.ts +5 -0
  355. package/lib/typescript/src/web/TrackPlayer/index.d.ts.map +1 -0
  356. package/lib/typescript/src/web/browser/BrowserManager.d.ts +154 -0
  357. package/lib/typescript/src/web/browser/BrowserManager.d.ts.map +1 -0
  358. package/lib/typescript/src/web/browser/FavoriteManager.d.ts +42 -0
  359. package/lib/typescript/src/web/browser/FavoriteManager.d.ts.map +1 -0
  360. package/lib/typescript/src/web/browser/NavigationErrorManager.d.ts +40 -0
  361. package/lib/typescript/src/web/browser/NavigationErrorManager.d.ts.map +1 -0
  362. package/lib/typescript/src/web/browser/SearchManager.d.ts +22 -0
  363. package/lib/typescript/src/web/browser/SearchManager.d.ts.map +1 -0
  364. package/lib/typescript/src/web/http/HttpClient.d.ts +25 -0
  365. package/lib/typescript/src/web/http/HttpClient.d.ts.map +1 -0
  366. package/lib/typescript/src/web/http/RequestConfigBuilder.d.ts +98 -0
  367. package/lib/typescript/src/web/http/RequestConfigBuilder.d.ts.map +1 -0
  368. package/lib/typescript/src/web/player/NowPlayingManager.d.ts +34 -0
  369. package/lib/typescript/src/web/player/NowPlayingManager.d.ts.map +1 -0
  370. package/lib/typescript/src/web/player/OptionsManager.d.ts +32 -0
  371. package/lib/typescript/src/web/player/OptionsManager.d.ts.map +1 -0
  372. package/lib/typescript/src/web/util/BrowserPathHelper.d.ts +69 -0
  373. package/lib/typescript/src/web/util/BrowserPathHelper.d.ts.map +1 -0
  374. package/lib/typescript/src/web/util/shuffle.d.ts +8 -0
  375. package/lib/typescript/src/web/util/shuffle.d.ts.map +1 -0
  376. package/nitrogen/generated/android/AudioBrowser+autolinking.cmake +2 -4
  377. package/nitrogen/generated/android/AudioBrowserOnLoad.cpp +10 -24
  378. package/nitrogen/generated/android/c++/JAndroidAudioContentType.hpp +6 -6
  379. package/nitrogen/generated/android/c++/JAndroidOptions.hpp +20 -10
  380. package/nitrogen/generated/android/c++/JAndroidUpdateOptions.hpp +86 -0
  381. package/nitrogen/generated/android/c++/JArtworkRequestConfig.hpp +1 -33
  382. package/nitrogen/generated/android/c++/JBrowseResult.hpp +0 -5
  383. package/nitrogen/generated/android/c++/JCarPlayNowPlayingButton.hpp +3 -3
  384. package/nitrogen/generated/android/c++/JFavoriteChangedEvent.hpp +0 -6
  385. package/nitrogen/generated/android/c++/JFormattedNavigationError.hpp +2 -3
  386. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.hpp +0 -6
  387. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.hpp +147 -0
  388. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.hpp +0 -8
  389. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.hpp +0 -6
  390. package/nitrogen/generated/android/c++/JFunc_void_FavoriteChangedEvent.hpp +0 -6
  391. package/nitrogen/generated/android/c++/JFunc_void_IosOutput.hpp +80 -0
  392. package/nitrogen/generated/android/c++/JFunc_void_NowPlayingMetadata.hpp +10 -0
  393. package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +9 -14
  394. package/nitrogen/generated/android/c++/JFunc_void_Playback.hpp +0 -2
  395. package/nitrogen/generated/android/c++/JFunc_void_PlaybackActiveTrackChangedEvent.hpp +0 -6
  396. package/nitrogen/generated/android/c++/JFunc_void_PlaybackErrorEvent.hpp +0 -2
  397. package/nitrogen/generated/android/c++/JFunc_void_RemoteSetRatingEvent.hpp +87 -0
  398. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +10 -10
  399. package/nitrogen/generated/android/c++/JFunc_void_std__optional_ResolvedTrack_.hpp +0 -6
  400. package/nitrogen/generated/android/c++/JFunc_void_std__vector_Track_.hpp +0 -6
  401. package/nitrogen/generated/android/c++/JHeartRating.hpp +57 -0
  402. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +221 -245
  403. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.hpp +22 -25
  404. package/nitrogen/generated/android/c++/JImageRowItem.hpp +3 -33
  405. package/nitrogen/generated/android/c++/{JOutput.hpp → JIosOutput.hpp} +15 -15
  406. package/nitrogen/generated/android/c++/JIosOutputType.hpp +85 -0
  407. package/nitrogen/generated/android/c++/JMediaRequestConfig.hpp +1 -33
  408. package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +28 -61
  409. package/nitrogen/generated/android/c++/JNativeRouteEntry.hpp +9 -20
  410. package/nitrogen/generated/android/c++/JNativeUpdateOptions.hpp +24 -21
  411. package/nitrogen/generated/android/c++/JNavigationErrorType.hpp +0 -6
  412. package/nitrogen/generated/android/c++/JNitroAndroidUpdateOptions.hpp +20 -10
  413. package/nitrogen/generated/android/c++/{JRemoteButton.hpp → JNotificationButton.hpp} +20 -20
  414. package/nitrogen/generated/android/c++/JNotificationButtonLayout.hpp +94 -0
  415. package/nitrogen/generated/android/c++/JNowPlayingMetadata.hpp +17 -3
  416. package/nitrogen/generated/android/c++/JNowPlayingUpdate.hpp +3 -7
  417. package/nitrogen/generated/android/c++/JOptions.hpp +14 -19
  418. package/nitrogen/generated/android/c++/{JNativeAndroidSetupOptions.hpp → JPartialAndroidSetupPlayerOptions.hpp} +10 -10
  419. package/nitrogen/generated/android/c++/{JNativeIOSSetupOptions.hpp → JPartialIOSSetupPlayerOptions.hpp} +10 -10
  420. package/nitrogen/generated/android/c++/JPartialSetupPlayerOptions.hpp +96 -0
  421. package/nitrogen/generated/android/c++/JPercentageRating.hpp +57 -0
  422. package/nitrogen/generated/android/c++/JPlayback.hpp +0 -2
  423. package/nitrogen/generated/android/c++/JPlaybackActiveTrackChangedEvent.hpp +0 -6
  424. package/nitrogen/generated/android/c++/JPlaybackError.hpp +3 -18
  425. package/nitrogen/generated/android/c++/JPlaybackErrorEvent.hpp +0 -2
  426. package/nitrogen/generated/android/c++/JPlaybackState.hpp +3 -3
  427. package/nitrogen/generated/android/c++/JPlayerCapabilities.hpp +5 -11
  428. package/nitrogen/generated/android/c++/JRatingType.hpp +73 -0
  429. package/nitrogen/generated/android/c++/JRemoteSetRatingEvent.hpp +66 -0
  430. package/nitrogen/generated/android/c++/JResolvedTrack.hpp +5 -23
  431. package/nitrogen/generated/android/c++/JRetryConfig.hpp +7 -11
  432. package/nitrogen/generated/android/c++/JSearchMode.hpp +9 -27
  433. package/nitrogen/generated/android/c++/JSearchParams.hpp +3 -9
  434. package/nitrogen/generated/android/c++/JStarRating.hpp +57 -0
  435. package/nitrogen/generated/android/c++/{JGateEvent.hpp → JThumbsRating.hpp} +15 -16
  436. package/nitrogen/generated/android/c++/JTrack.hpp +5 -23
  437. package/nitrogen/generated/android/c++/JTrackLoadEvent.hpp +0 -6
  438. package/nitrogen/generated/android/c++/JTransformableRequestConfig.hpp +1 -14
  439. package/nitrogen/generated/android/c++/JUpdateOptions.hpp +105 -0
  440. package/nitrogen/generated/android/c++/JVariant_HeartRating_ThumbsRating_StarRating_PercentageRating.cpp +34 -0
  441. package/nitrogen/generated/android/c++/JVariant_HeartRating_ThumbsRating_StarRating_PercentageRating.hpp +105 -0
  442. package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.cpp +26 -0
  443. package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.hpp +75 -0
  444. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidAudioContentType.kt +4 -4
  445. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidOptions.kt +9 -3
  446. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidUpdateOptions.kt +50 -0
  447. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ArtworkRequestConfig.kt +4 -10
  448. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CarPlayNowPlayingButton.kt +3 -3
  449. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormattedNavigationError.kt +2 -2
  450. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.kt → Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.kt} +12 -12
  451. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_void_Output.kt → Func_void_IosOutput.kt} +9 -9
  452. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_void_GateEvent.kt → Func_void_RemoteSetRatingEvent.kt} +9 -9
  453. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_bool.kt +9 -9
  454. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Gate.kt → HeartRating.kt} +6 -9
  455. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/HybridAudioBrowserSpec.kt +109 -103
  456. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageRowItem.kt +3 -24
  457. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Output.kt → IosOutput.kt} +6 -6
  458. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IosOutputType.kt +32 -0
  459. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaRequestConfig.kt +4 -10
  460. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeBrowserConfiguration.kt +6 -18
  461. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeRouteEntry.kt +4 -4
  462. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeUpdateOptions.kt +6 -6
  463. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NavigationErrorType.kt +1 -3
  464. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroAndroidUpdateOptions.kt +9 -3
  465. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoritesMatchMode.kt → NotificationButton.kt} +8 -5
  466. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NotificationButtonLayout.kt +50 -0
  467. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingMetadata.kt +6 -3
  468. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingUpdate.kt +3 -6
  469. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Options.kt +3 -3
  470. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{NativeAndroidSetupOptions.kt → PartialAndroidSetupPlayerOptions.kt} +5 -5
  471. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{NativeIOSSetupOptions.kt → PartialIOSSetupPlayerOptions.kt} +5 -5
  472. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PartialSetupPlayerOptions.kt +47 -0
  473. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{GateDecision.kt → PercentageRating.kt} +6 -9
  474. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackError.kt +3 -12
  475. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackState.kt +6 -6
  476. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlayerCapabilities.kt +2 -2
  477. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{GateReason.kt → RatingType.kt} +10 -5
  478. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{ArtworkVariants.kt → RemoteSetRatingEvent.kt} +6 -9
  479. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ResolvedTrack.kt +3 -12
  480. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RetryConfig.kt +4 -7
  481. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SearchMode.kt +6 -12
  482. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SearchParams.kt +3 -6
  483. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{GateEvent.kt → StarRating.kt} +6 -6
  484. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoriteConfig.kt → ThumbsRating.kt} +6 -6
  485. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Track.kt +3 -12
  486. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TransformableRequestConfig.kt +4 -7
  487. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/UpdateOptions.kt +53 -0
  488. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_HeartRating_ThumbsRating_StarRating_PercentageRating.kt +77 -0
  489. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Variant_NullType_RemoteButtonLayout.kt → Variant_NullType_NotificationButtonLayout.kt} +9 -9
  490. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.cpp +28 -139
  491. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +489 -1125
  492. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +45 -66
  493. package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +118 -176
  494. package/nitrogen/generated/ios/swift/AndroidAudioContentType.swift +8 -8
  495. package/nitrogen/generated/ios/swift/AndroidOptions.swift +22 -12
  496. package/nitrogen/generated/ios/swift/AndroidUpdateOptions.swift +119 -0
  497. package/nitrogen/generated/ios/swift/ArtworkRequestConfig.swift +1 -95
  498. package/nitrogen/generated/ios/swift/CarPlayNowPlayingButton.swift +4 -4
  499. package/nitrogen/generated/ios/swift/FormattedNavigationError.swift +4 -17
  500. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.swift +68 -0
  501. package/nitrogen/generated/ios/swift/{Func_void_Output.swift → Func_void_IosOutput.swift} +10 -10
  502. package/nitrogen/generated/ios/swift/{Func_void_GateEvent.swift → Func_void_RemoteSetRatingEvent.swift} +10 -10
  503. package/nitrogen/generated/ios/swift/Func_void_bool.swift +5 -5
  504. package/nitrogen/generated/ios/swift/{Func_void_std__shared_ptr_Promise_GateDecision__.swift → Func_void_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___.swift} +17 -17
  505. package/nitrogen/generated/ios/swift/HeartRating.swift +29 -0
  506. package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec.swift +14 -20
  507. package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec_cxx.swift +197 -230
  508. package/nitrogen/generated/ios/swift/ImageRowItem.swift +2 -121
  509. package/nitrogen/generated/ios/swift/{Output.swift → IosOutput.swift} +7 -7
  510. package/nitrogen/generated/ios/swift/IosOutputType.swift +76 -0
  511. package/nitrogen/generated/ios/swift/MediaRequestConfig.swift +1 -107
  512. package/nitrogen/generated/ios/swift/NativeBrowserConfiguration.swift +22 -161
  513. package/nitrogen/generated/ios/swift/NativeRouteEntry.swift +19 -19
  514. package/nitrogen/generated/ios/swift/NativeUpdateOptions.swift +25 -12
  515. package/nitrogen/generated/ios/swift/NavigationErrorType.swift +0 -8
  516. package/nitrogen/generated/ios/swift/NitroAndroidUpdateOptions.swift +41 -12
  517. package/nitrogen/generated/ios/swift/{RemoteButton.swift → NotificationButton.swift} +10 -10
  518. package/nitrogen/generated/ios/swift/NotificationButtonLayout.swift +92 -0
  519. package/nitrogen/generated/ios/swift/NowPlayingMetadata.swift +48 -1
  520. package/nitrogen/generated/ios/swift/NowPlayingUpdate.swift +1 -19
  521. package/nitrogen/generated/ios/swift/Options.swift +4 -10
  522. package/nitrogen/generated/ios/swift/{NativeAndroidSetupOptions.swift → PartialAndroidSetupPlayerOptions.swift} +5 -5
  523. package/nitrogen/generated/ios/swift/{NativeIOSSetupOptions.swift → PartialIOSSetupPlayerOptions.swift} +5 -5
  524. package/nitrogen/generated/ios/swift/PartialSetupPlayerOptions.swift +101 -0
  525. package/nitrogen/generated/ios/swift/PercentageRating.swift +29 -0
  526. package/nitrogen/generated/ios/swift/PlaybackError.swift +2 -43
  527. package/nitrogen/generated/ios/swift/PlaybackState.swift +4 -4
  528. package/nitrogen/generated/ios/swift/PlayerCapabilities.swift +8 -27
  529. package/nitrogen/generated/ios/swift/RatingType.swift +60 -0
  530. package/nitrogen/generated/ios/swift/RemoteSetRatingEvent.swift +58 -0
  531. package/nitrogen/generated/ios/swift/ResolvedTrack.swift +8 -74
  532. package/nitrogen/generated/ios/swift/RetryConfig.swift +4 -35
  533. package/nitrogen/generated/ios/swift/SearchMode.swift +12 -36
  534. package/nitrogen/generated/ios/swift/SearchParams.swift +2 -7
  535. package/nitrogen/generated/ios/swift/StarRating.swift +29 -0
  536. package/nitrogen/generated/ios/swift/ThumbsRating.swift +29 -0
  537. package/nitrogen/generated/ios/swift/Track.swift +8 -74
  538. package/nitrogen/generated/ios/swift/TransformableRequestConfig.swift +1 -60
  539. package/nitrogen/generated/ios/swift/UpdateOptions.swift +143 -0
  540. package/nitrogen/generated/ios/swift/Variant_HeartRating_ThumbsRating_StarRating_PercentageRating.swift +20 -0
  541. package/nitrogen/generated/ios/swift/{Variant_NullType_RemoteButtonLayout.swift → Variant_NullType_NotificationButtonLayout.swift} +3 -3
  542. package/nitrogen/generated/shared/c++/AndroidAudioContentType.hpp +10 -10
  543. package/nitrogen/generated/shared/c++/AndroidOptions.hpp +19 -8
  544. package/nitrogen/generated/shared/c++/AndroidUpdateOptions.hpp +109 -0
  545. package/nitrogen/generated/shared/c++/ArtworkRequestConfig.hpp +2 -10
  546. package/nitrogen/generated/shared/c++/CarPlayNowPlayingButton.hpp +6 -6
  547. package/nitrogen/generated/shared/c++/EqualizerSettings.hpp +2 -0
  548. package/nitrogen/generated/shared/c++/FormattedNavigationError.hpp +5 -6
  549. package/nitrogen/generated/shared/c++/{GateEvent.hpp → HeartRating.hpp} +17 -18
  550. package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.cpp +18 -21
  551. package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.hpp +35 -44
  552. package/nitrogen/generated/shared/c++/ImageRowItem.hpp +2 -33
  553. package/nitrogen/generated/shared/c++/{Output.hpp → IosOutput.hpp} +18 -18
  554. package/nitrogen/generated/shared/c++/IosOutputType.hpp +112 -0
  555. package/nitrogen/generated/shared/c++/MediaRequestConfig.hpp +2 -10
  556. package/nitrogen/generated/shared/c++/NativeBrowserConfiguration.hpp +15 -31
  557. package/nitrogen/generated/shared/c++/NativeRouteEntry.hpp +5 -5
  558. package/nitrogen/generated/shared/c++/NativeUpdateOptions.hpp +7 -9
  559. package/nitrogen/generated/shared/c++/NavigationErrorType.hpp +0 -8
  560. package/nitrogen/generated/shared/c++/NitroAndroidUpdateOptions.hpp +19 -8
  561. package/nitrogen/generated/shared/c++/{RemoteButton.hpp → NotificationButton.hpp} +25 -25
  562. package/nitrogen/generated/shared/c++/NotificationButtonLayout.hpp +102 -0
  563. package/nitrogen/generated/shared/c++/NowPlayingMetadata.hpp +19 -3
  564. package/nitrogen/generated/shared/c++/NowPlayingUpdate.hpp +2 -6
  565. package/nitrogen/generated/shared/c++/Options.hpp +8 -8
  566. package/nitrogen/generated/shared/c++/{NativeAndroidSetupOptions.hpp → PartialAndroidSetupPlayerOptions.hpp} +11 -11
  567. package/nitrogen/generated/shared/c++/{NativeIOSSetupOptions.hpp → PartialIOSSetupPlayerOptions.hpp} +11 -11
  568. package/nitrogen/generated/shared/c++/PartialSetupPlayerOptions.hpp +104 -0
  569. package/nitrogen/generated/shared/c++/{FavoriteConfig.hpp → PercentageRating.hpp} +17 -18
  570. package/nitrogen/generated/shared/c++/PlaybackError.hpp +3 -18
  571. package/nitrogen/generated/shared/c++/PlaybackState.hpp +9 -9
  572. package/nitrogen/generated/shared/c++/PlayerCapabilities.hpp +6 -9
  573. package/nitrogen/generated/shared/c++/RatingType.hpp +96 -0
  574. package/nitrogen/generated/shared/c++/RemoteSetRatingEvent.hpp +94 -0
  575. package/nitrogen/generated/shared/c++/ResolvedTrack.hpp +5 -24
  576. package/nitrogen/generated/shared/c++/RetryConfig.hpp +6 -10
  577. package/nitrogen/generated/shared/c++/SearchMode.hpp +15 -39
  578. package/nitrogen/generated/shared/c++/SearchParams.hpp +2 -9
  579. package/nitrogen/generated/shared/c++/{Gate.hpp → StarRating.hpp} +16 -21
  580. package/nitrogen/generated/shared/c++/{GateDecision.hpp → ThumbsRating.hpp} +17 -23
  581. package/nitrogen/generated/shared/c++/Track.hpp +5 -24
  582. package/nitrogen/generated/shared/c++/TransformableRequestConfig.hpp +2 -6
  583. package/nitrogen/generated/shared/c++/UpdateOptions.hpp +111 -0
  584. package/package.json +5 -12
  585. package/src/AudioBrowser.ts +1 -4
  586. package/src/features/browser.ts +201 -58
  587. package/src/features/equalizer.ts +1 -1
  588. package/src/features/errors.ts +5 -71
  589. package/src/features/favorites.ts +1 -1
  590. package/src/features/index.ts +0 -2
  591. package/src/features/metadata.ts +15 -9
  592. package/src/features/network.ts +1 -1
  593. package/src/features/nowPlaying.ts +1 -37
  594. package/src/features/output.ts +22 -35
  595. package/src/features/playback/controls.ts +0 -8
  596. package/src/features/playback/index.ts +0 -1
  597. package/src/features/playback/playWhenReady.ts +1 -1
  598. package/src/features/playback/playing.ts +1 -1
  599. package/src/features/playback/progress.ts +13 -32
  600. package/src/features/playback/state.ts +1 -1
  601. package/src/features/playback/volume.ts +2 -2
  602. package/src/features/player/options.ts +110 -217
  603. package/src/features/player/setup.ts +175 -397
  604. package/src/features/queue/activeTrack.ts +1 -1
  605. package/src/features/queue/queue.ts +6 -17
  606. package/src/features/queue/repeatMode.ts +1 -1
  607. package/src/features/queue/shuffle.ts +1 -1
  608. package/src/features/rating.ts +17 -0
  609. package/src/features/remoteControls.ts +115 -13
  610. package/src/features/sleepTimer.ts +5 -24
  611. package/src/native.ts +0 -5
  612. package/src/native.web.ts +1 -4
  613. package/src/specs/audio-browser.nitro.ts +41 -131
  614. package/src/types/browser-native.ts +6 -19
  615. package/src/types/browser-nodes.ts +13 -160
  616. package/src/types/browser.ts +89 -377
  617. package/src/types/player.ts +69 -0
  618. package/src/utils/LazyNativeEmitter.ts +8 -9
  619. package/src/utils/NativeUpdatedValue.ts +2 -0
  620. package/src/web/NativeAudioBrowser.ts +158 -365
  621. package/src/web/TrackPlayer/Player.ts +39 -113
  622. package/src/web/TrackPlayer/PlaylistPlayer.ts +346 -0
  623. package/src/web/TrackPlayer/RepeatMode.ts +1 -1
  624. package/src/web/TrackPlayer/SleepTimer.ts +3 -38
  625. package/src/web/TrackPlayer/index.ts +1 -2
  626. package/src/web/browser/BrowserManager.ts +62 -231
  627. package/src/web/browser/NavigationErrorManager.ts +1 -3
  628. package/src/web/browser/SearchManager.ts +15 -11
  629. package/src/web/http/HttpClient.ts +35 -5
  630. package/src/web/http/RequestConfigBuilder.ts +63 -120
  631. package/src/web/player/NowPlayingManager.ts +5 -6
  632. package/src/web/player/OptionsManager.ts +18 -12
  633. package/android/src/main/java/com/audiobrowser/browser/ArtworkResolutionRegistry.kt +0 -37
  634. package/android/src/main/java/com/audiobrowser/browser/BrowseArtworkRegistry.kt +0 -34
  635. package/android/src/main/java/com/audiobrowser/browser/BrowserUrlResolution.kt +0 -299
  636. package/android/src/main/java/com/audiobrowser/browser/JsonArtwork.kt +0 -79
  637. package/android/src/main/java/com/audiobrowser/browser/SectionScope.kt +0 -42
  638. package/android/src/main/java/com/audiobrowser/extension/ResolvedTrackExt.kt +0 -35
  639. package/android/src/main/java/com/audiobrowser/player/CapabilityControls.kt +0 -172
  640. package/android/src/main/java/com/audiobrowser/player/EqualizerController.kt +0 -153
  641. package/android/src/main/java/com/audiobrowser/player/InterceptingPlayer.kt +0 -141
  642. package/android/src/main/java/com/audiobrowser/player/NowPlayingUpdater.kt +0 -347
  643. package/android/src/main/java/com/audiobrowser/player/PlaybackErrorClassifier.kt +0 -129
  644. package/android/src/main/java/com/audiobrowser/player/PlaybackStateMachine.kt +0 -85
  645. package/android/src/main/java/com/audiobrowser/player/PlaybackTimer.kt +0 -56
  646. package/android/src/main/java/com/audiobrowser/player/PlayerCapabilitiesExt.kt +0 -20
  647. package/android/src/main/java/com/audiobrowser/player/PlayerEngineFactory.kt +0 -130
  648. package/android/src/main/java/com/audiobrowser/player/SleepTimerManager.kt +0 -80
  649. package/android/src/main/java/com/audiobrowser/player/StuckRecoveryPolicy.kt +0 -50
  650. package/android/src/main/java/com/audiobrowser/player/VolumeFader.kt +0 -81
  651. package/android/src/main/java/com/audiobrowser/tls/AiaCertChaser.kt +0 -141
  652. package/android/src/main/java/com/audiobrowser/tls/AiaChasingTrustManager.kt +0 -37
  653. package/android/src/main/java/com/audiobrowser/tls/AiaTls.kt +0 -41
  654. package/android/src/main/java/com/audiobrowser/tls/CachingCertificateFetcher.kt +0 -209
  655. package/android/src/main/java/com/audiobrowser/util/ArtworkContentProvider.kt +0 -161
  656. package/android/src/main/java/com/audiobrowser/util/ArtworkUris.kt +0 -28
  657. package/android/src/main/java/com/audiobrowser/util/ArtworkVariant.kt +0 -24
  658. package/android/src/main/java/com/audiobrowser/util/CoilArtworkLoader.kt +0 -49
  659. package/android/src/main/java/com/audiobrowser/util/CoilArtworkLoaderHolder.kt +0 -36
  660. package/android/src/main/java/com/audiobrowser/util/OutputMonitor.kt +0 -211
  661. package/android/src/main/java/com/audiobrowser/util/OutputSwitcher.kt +0 -58
  662. package/android/src/main/java/com/audiobrowser/util/RatingFavorites.kt +0 -14
  663. package/android/src/test/java/com/audiobrowser/TestFixtures.kt +0 -165
  664. package/android/src/test/java/com/audiobrowser/browser/ArtworkResolutionRegistryTest.kt +0 -46
  665. package/android/src/test/java/com/audiobrowser/browser/BrowseArtworkRegistryTest.kt +0 -39
  666. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerBuildApiRequestTest.kt +0 -114
  667. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerLayerResolutionTest.kt +0 -141
  668. package/android/src/test/java/com/audiobrowser/browser/BrowserUrlResolutionTest.kt +0 -177
  669. package/android/src/test/java/com/audiobrowser/browser/JsonArtworkTest.kt +0 -55
  670. package/android/src/test/java/com/audiobrowser/browser/SectionScopeTest.kt +0 -94
  671. package/android/src/test/java/com/audiobrowser/player/CapabilityControlsTest.kt +0 -203
  672. package/android/src/test/java/com/audiobrowser/player/DynamicLoadControlTest.kt +0 -56
  673. package/android/src/test/java/com/audiobrowser/player/EqualizerControllerTest.kt +0 -216
  674. package/android/src/test/java/com/audiobrowser/player/MediaSessionSlotMappingTest.kt +0 -45
  675. package/android/src/test/java/com/audiobrowser/player/NowPlayingUpdaterTest.kt +0 -442
  676. package/android/src/test/java/com/audiobrowser/player/PlaybackErrorClassifierTest.kt +0 -190
  677. package/android/src/test/java/com/audiobrowser/player/PlaybackStateMachineTest.kt +0 -198
  678. package/android/src/test/java/com/audiobrowser/player/PlaybackTimerTest.kt +0 -137
  679. package/android/src/test/java/com/audiobrowser/player/PlayerEngineFactoryTest.kt +0 -36
  680. package/android/src/test/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicyTest.kt +0 -268
  681. package/android/src/test/java/com/audiobrowser/player/SessionErrorMaskTest.kt +0 -68
  682. package/android/src/test/java/com/audiobrowser/player/StuckRecoveryPolicyTest.kt +0 -40
  683. package/android/src/test/java/com/audiobrowser/player/TransformingDataSourceTest.kt +0 -193
  684. package/android/src/test/java/com/audiobrowser/tls/AiaCertChaserTest.kt +0 -107
  685. package/android/src/test/java/com/audiobrowser/tls/AiaChasingTrustManagerTest.kt +0 -73
  686. package/android/src/test/java/com/audiobrowser/tls/CachingCertificateFetcherTest.kt +0 -75
  687. package/android/src/test/java/com/audiobrowser/tls/CertFixtures.kt +0 -18
  688. package/android/src/test/java/com/audiobrowser/util/ArtworkContentProviderTest.kt +0 -163
  689. package/android/src/test/java/com/audiobrowser/util/ArtworkUrisTest.kt +0 -34
  690. package/android/src/test/java/com/audiobrowser/util/BrowserPathHelperTest.kt +0 -28
  691. package/android/src/test/java/com/audiobrowser/util/CoilArtworkLoaderHolderTest.kt +0 -53
  692. package/android/src/test/java/com/audiobrowser/util/CoilArtworkLoaderTest.kt +0 -58
  693. package/android/src/test/java/com/audiobrowser/util/FakeImageLoader.kt +0 -57
  694. package/android/src/test/java/com/audiobrowser/util/PlayingStateFactoryTest.kt +0 -40
  695. package/android/src/test/java/com/audiobrowser/util/RatingFavoritesTest.kt +0 -34
  696. package/android/src/test/java/com/audiobrowser/util/TrackFactoryBrowseTest.kt +0 -50
  697. package/android/src/test/java/com/audiobrowser/util/TrackFactoryMediaIdTest.kt +0 -63
  698. package/android/src/test/java/com/audiobrowser/util/TrackFactoryRatingTest.kt +0 -35
  699. package/android/src/test/resources/certs/isrg-root-x1.pem +0 -31
  700. package/android/src/test/resources/certs/letsencrypt-r13.der +0 -0
  701. package/android/src/test/resources/certs/letsencrypt-r13.pem +0 -29
  702. package/android/src/test/resources/certs/stationplaylist-leaf.pem +0 -34
  703. package/ios/Browser/MediaResolveComposer.swift +0 -114
  704. package/ios/Browser/SearchDrillIn.swift +0 -44
  705. package/ios/Browser/SectionScope.swift +0 -35
  706. package/ios/Browser/TabBarEntries.swift +0 -15
  707. package/ios/CarPlay/CPInterfaceController+Safe.swift +0 -126
  708. package/ios/CarPlay/ImageRowItem+CarPlay.swift +0 -19
  709. package/ios/CarPlay/RNABMediaAddHandler.swift +0 -75
  710. package/ios/CarPlay/RNABMediaAffinityHandler.swift +0 -69
  711. package/ios/Extension/PlayerCapabilities+Favorite.swift +0 -20
  712. package/ios/Extension/RequestConfig+Copying.swift +0 -31
  713. package/ios/Extension/Variant+Artwork.swift +0 -49
  714. package/ios/NowPlayingInfo/SilentAudioPrimer.swift +0 -73
  715. package/ios/Player/AirPlayStallJudgement.swift +0 -25
  716. package/ios/Player/EndOfTrackJudgement.swift +0 -32
  717. package/ios/Player/MediaIntentCriteria.swift +0 -139
  718. package/ios/Player/PersistedPlaybackState.swift +0 -11
  719. package/ios/Player/PlaybackStateStore.swift +0 -27
  720. package/ios/Player/PlaybackTimer.swift +0 -61
  721. package/ios/Player/VolumeFader.swift +0 -77
  722. package/ios/RemoteCommand/RemoteCommandCallbacks.swift +0 -47
  723. package/ios/Tests/AirPlayStallJudgementTests.swift +0 -52
  724. package/ios/Tests/EndOfTrackJudgementTests.swift +0 -35
  725. package/ios/Tests/JsonModelsTests.swift +0 -58
  726. package/ios/Tests/MediaIntentCriteriaTests.swift +0 -170
  727. package/ios/Tests/MediaLoaderAssetOptionsTests.swift +0 -46
  728. package/ios/Tests/MediaResolveTests.swift +0 -126
  729. package/ios/Tests/OnceValueTests.swift +0 -79
  730. package/ios/Tests/PlaybackStateStoreTests.swift +0 -48
  731. package/ios/Tests/PlaybackTimerTests.swift +0 -55
  732. package/ios/Tests/PlayingStateManagerTests.swift +0 -57
  733. package/ios/Tests/RemoteCommandControllerTests.swift +0 -156
  734. package/ios/Tests/RemoteCommandTests.swift +0 -67
  735. package/ios/Tests/RetryManagerTests.swift +0 -89
  736. package/ios/Tests/SearchDrillInTests.swift +0 -63
  737. package/ios/Tests/SectionScopeTests.swift +0 -82
  738. package/ios/Tests/SleepTimerManagerTests.swift +0 -107
  739. package/ios/Tests/Support/ManualSleepTimerScheduler.swift +0 -47
  740. package/ios/Tests/TabBarEntriesTests.swift +0 -71
  741. package/lib/commonjs/features/browser-config.js +0 -227
  742. package/lib/commonjs/features/browser-config.js.map +0 -1
  743. package/lib/commonjs/features/carConnection.js +0 -42
  744. package/lib/commonjs/features/carConnection.js.map +0 -1
  745. package/lib/commonjs/features/gate.js +0 -149
  746. package/lib/commonjs/features/gate.js.map +0 -1
  747. package/lib/commonjs/features/playback/trackPlaybackTime.js +0 -86
  748. package/lib/commonjs/features/playback/trackPlaybackTime.js.map +0 -1
  749. package/lib/commonjs/features/player/validateOptions.js +0 -24
  750. package/lib/commonjs/features/player/validateOptions.js.map +0 -1
  751. package/lib/commonjs/utils/artwork.js +0 -31
  752. package/lib/commonjs/utils/artwork.js.map +0 -1
  753. package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js +0 -71
  754. package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js.map +0 -1
  755. package/lib/commonjs/web/TrackPlayer/PlaybackTimer.js +0 -34
  756. package/lib/commonjs/web/TrackPlayer/PlaybackTimer.js.map +0 -1
  757. package/lib/commonjs/web/TrackPlayer/PlayingStateFactory.js +0 -21
  758. package/lib/commonjs/web/TrackPlayer/PlayingStateFactory.js.map +0 -1
  759. package/lib/commonjs/web/TrackPlayer/QueueManager.js +0 -273
  760. package/lib/commonjs/web/TrackPlayer/QueueManager.js.map +0 -1
  761. package/lib/commonjs/web/TrackPlayer/QueuePlayer.js +0 -158
  762. package/lib/commonjs/web/TrackPlayer/QueuePlayer.js.map +0 -1
  763. package/lib/commonjs/web/TrackPlayer/VolumeFader.js +0 -75
  764. package/lib/commonjs/web/TrackPlayer/VolumeFader.js.map +0 -1
  765. package/lib/commonjs/web/browser/assertBrowsePageShape.js +0 -22
  766. package/lib/commonjs/web/browser/assertBrowsePageShape.js.map +0 -1
  767. package/lib/commonjs/web/browser/classifyTrackNavigation.js +0 -41
  768. package/lib/commonjs/web/browser/classifyTrackNavigation.js.map +0 -1
  769. package/lib/commonjs/web/browser/parseSearchResponse.js +0 -20
  770. package/lib/commonjs/web/browser/parseSearchResponse.js.map +0 -1
  771. package/lib/commonjs/web/playbackErrorKind.js +0 -57
  772. package/lib/commonjs/web/playbackErrorKind.js.map +0 -1
  773. package/lib/commonjs/web/player/MediaSessionManager.js +0 -121
  774. package/lib/commonjs/web/player/MediaSessionManager.js.map +0 -1
  775. package/lib/commonjs/web/player/RemoteCommandController.js +0 -96
  776. package/lib/commonjs/web/player/RemoteCommandController.js.map +0 -1
  777. package/lib/module/features/browser-config.js +0 -221
  778. package/lib/module/features/browser-config.js.map +0 -1
  779. package/lib/module/features/carConnection.js +0 -37
  780. package/lib/module/features/carConnection.js.map +0 -1
  781. package/lib/module/features/gate.js +0 -144
  782. package/lib/module/features/gate.js.map +0 -1
  783. package/lib/module/features/playback/trackPlaybackTime.js +0 -83
  784. package/lib/module/features/playback/trackPlaybackTime.js.map +0 -1
  785. package/lib/module/features/player/validateOptions.js +0 -20
  786. package/lib/module/features/player/validateOptions.js.map +0 -1
  787. package/lib/module/utils/artwork.js +0 -26
  788. package/lib/module/utils/artwork.js.map +0 -1
  789. package/lib/module/web/TrackPlayer/PlaybackStateMachine.js +0 -67
  790. package/lib/module/web/TrackPlayer/PlaybackStateMachine.js.map +0 -1
  791. package/lib/module/web/TrackPlayer/PlaybackTimer.js +0 -29
  792. package/lib/module/web/TrackPlayer/PlaybackTimer.js.map +0 -1
  793. package/lib/module/web/TrackPlayer/PlayingStateFactory.js +0 -17
  794. package/lib/module/web/TrackPlayer/PlayingStateFactory.js.map +0 -1
  795. package/lib/module/web/TrackPlayer/QueueManager.js +0 -269
  796. package/lib/module/web/TrackPlayer/QueueManager.js.map +0 -1
  797. package/lib/module/web/TrackPlayer/QueuePlayer.js +0 -154
  798. package/lib/module/web/TrackPlayer/QueuePlayer.js.map +0 -1
  799. package/lib/module/web/TrackPlayer/VolumeFader.js +0 -70
  800. package/lib/module/web/TrackPlayer/VolumeFader.js.map +0 -1
  801. package/lib/module/web/browser/assertBrowsePageShape.js +0 -18
  802. package/lib/module/web/browser/assertBrowsePageShape.js.map +0 -1
  803. package/lib/module/web/browser/classifyTrackNavigation.js +0 -38
  804. package/lib/module/web/browser/classifyTrackNavigation.js.map +0 -1
  805. package/lib/module/web/browser/parseSearchResponse.js +0 -16
  806. package/lib/module/web/browser/parseSearchResponse.js.map +0 -1
  807. package/lib/module/web/playbackErrorKind.js +0 -52
  808. package/lib/module/web/playbackErrorKind.js.map +0 -1
  809. package/lib/module/web/player/MediaSessionManager.js +0 -116
  810. package/lib/module/web/player/MediaSessionManager.js.map +0 -1
  811. package/lib/module/web/player/RemoteCommandController.js +0 -92
  812. package/lib/module/web/player/RemoteCommandController.js.map +0 -1
  813. package/lib/typescript/src/features/browser-config.d.ts +0 -12
  814. package/lib/typescript/src/features/browser-config.d.ts.map +0 -1
  815. package/lib/typescript/src/features/carConnection.d.ts +0 -20
  816. package/lib/typescript/src/features/carConnection.d.ts.map +0 -1
  817. package/lib/typescript/src/features/gate.d.ts +0 -78
  818. package/lib/typescript/src/features/gate.d.ts.map +0 -1
  819. package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts +0 -34
  820. package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts.map +0 -1
  821. package/lib/typescript/src/features/player/validateOptions.d.ts +0 -2
  822. package/lib/typescript/src/features/player/validateOptions.d.ts.map +0 -1
  823. package/lib/typescript/src/utils/artwork.d.ts +0 -19
  824. package/lib/typescript/src/utils/artwork.d.ts.map +0 -1
  825. package/nitrogen/generated/android/c++/JArtworkVariants.hpp +0 -61
  826. package/nitrogen/generated/android/c++/JFavoriteConfig.hpp +0 -58
  827. package/nitrogen/generated/android/c++/JFavoritesMatchMode.hpp +0 -58
  828. package/nitrogen/generated/android/c++/JFormatNowPlayingParams.hpp +0 -100
  829. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.hpp +0 -112
  830. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.hpp +0 -121
  831. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___Track.hpp +0 -123
  832. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.hpp +0 -133
  833. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_std__string____Track.hpp +0 -121
  834. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.hpp +0 -139
  835. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.hpp +0 -134
  836. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.hpp +0 -131
  837. package/nitrogen/generated/android/c++/JFunc_void_GateEvent.hpp +0 -79
  838. package/nitrogen/generated/android/c++/JFunc_void_Output.hpp +0 -80
  839. package/nitrogen/generated/android/c++/JGate.hpp +0 -62
  840. package/nitrogen/generated/android/c++/JGateDecision.hpp +0 -64
  841. package/nitrogen/generated/android/c++/JGateReason.hpp +0 -58
  842. package/nitrogen/generated/android/c++/JIOSOptions.hpp +0 -95
  843. package/nitrogen/generated/android/c++/JMediaReference.hpp +0 -58
  844. package/nitrogen/generated/android/c++/JNativeGateRequest.hpp +0 -74
  845. package/nitrogen/generated/android/c++/JNativeSetupPlayerOptions.hpp +0 -182
  846. package/nitrogen/generated/android/c++/JNitroIOSUpdateOptions.hpp +0 -96
  847. package/nitrogen/generated/android/c++/JOutputType.hpp +0 -82
  848. package/nitrogen/generated/android/c++/JPlaybackErrorKind.hpp +0 -76
  849. package/nitrogen/generated/android/c++/JRemoteButtonLayout.hpp +0 -86
  850. package/nitrogen/generated/android/c++/JStallReason.hpp +0 -58
  851. package/nitrogen/generated/android/c++/JTrackRequest.hpp +0 -93
  852. package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.cpp +0 -26
  853. package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.hpp +0 -71
  854. package/nitrogen/generated/android/c++/JVariant_NullType_RemoteButtonLayout.cpp +0 -26
  855. package/nitrogen/generated/android/c++/JVariant_NullType_RemoteButtonLayout.hpp +0 -75
  856. package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.cpp +0 -41
  857. package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.hpp +0 -121
  858. package/nitrogen/generated/android/c++/JVariant_String_ArtworkVariants.cpp +0 -26
  859. package/nitrogen/generated/android/c++/JVariant_String_ArtworkVariants.hpp +0 -70
  860. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormatNowPlayingParams.kt +0 -50
  861. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.kt +0 -80
  862. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.kt +0 -80
  863. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___Track.kt +0 -80
  864. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.kt +0 -80
  865. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__optional_std__string____Track.kt +0 -80
  866. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.kt +0 -80
  867. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.kt +0 -80
  868. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSOptions.kt +0 -44
  869. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaReference.kt +0 -23
  870. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeGateRequest.kt +0 -44
  871. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeSetupPlayerOptions.kt +0 -66
  872. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroIOSUpdateOptions.kt +0 -44
  873. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/OutputType.kt +0 -31
  874. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackErrorKind.kt +0 -29
  875. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteButton.kt +0 -26
  876. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteButtonLayout.kt +0 -44
  877. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/StallReason.kt +0 -23
  878. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackRequest.kt +0 -44
  879. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_FavoriteConfig.kt +0 -53
  880. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_ResolvedTrack_BrowseError_Promise_BrowseResult_.kt +0 -65
  881. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_String_ArtworkVariants.kt +0 -53
  882. package/nitrogen/generated/ios/swift/ArtworkVariants.swift +0 -34
  883. package/nitrogen/generated/ios/swift/FavoriteConfig.swift +0 -29
  884. package/nitrogen/generated/ios/swift/FavoritesMatchMode.swift +0 -40
  885. package/nitrogen/generated/ios/swift/FormatNowPlayingParams.swift +0 -67
  886. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.swift +0 -54
  887. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.swift +0 -69
  888. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___Track.swift +0 -54
  889. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.swift +0 -60
  890. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__optional_std__string____Track.swift +0 -60
  891. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.swift +0 -61
  892. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.swift +0 -61
  893. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.swift +0 -77
  894. package/nitrogen/generated/ios/swift/Func_void_GateDecision.swift +0 -46
  895. package/nitrogen/generated/ios/swift/Func_void_TransformableRequestConfig.swift +0 -46
  896. package/nitrogen/generated/ios/swift/Func_void_std__optional_NowPlayingUpdate_.swift +0 -46
  897. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__string_.swift +0 -53
  898. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_TransformableRequestConfig__.swift +0 -66
  899. package/nitrogen/generated/ios/swift/Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____.swift +0 -81
  900. package/nitrogen/generated/ios/swift/Gate.swift +0 -47
  901. package/nitrogen/generated/ios/swift/GateDecision.swift +0 -40
  902. package/nitrogen/generated/ios/swift/GateEvent.swift +0 -29
  903. package/nitrogen/generated/ios/swift/GateReason.swift +0 -40
  904. package/nitrogen/generated/ios/swift/IOSOptions.swift +0 -51
  905. package/nitrogen/generated/ios/swift/MediaReference.swift +0 -40
  906. package/nitrogen/generated/ios/swift/NativeGateRequest.swift +0 -58
  907. package/nitrogen/generated/ios/swift/NativeSetupPlayerOptions.swift +0 -206
  908. package/nitrogen/generated/ios/swift/NitroIOSUpdateOptions.swift +0 -90
  909. package/nitrogen/generated/ios/swift/OutputType.swift +0 -72
  910. package/nitrogen/generated/ios/swift/PlaybackErrorKind.swift +0 -64
  911. package/nitrogen/generated/ios/swift/RemoteButtonLayout.swift +0 -57
  912. package/nitrogen/generated/ios/swift/StallReason.swift +0 -40
  913. package/nitrogen/generated/ios/swift/TrackRequest.swift +0 -106
  914. package/nitrogen/generated/ios/swift/Variant_Bool_FavoriteConfig.swift +0 -18
  915. package/nitrogen/generated/ios/swift/Variant_ResolvedTrack_BrowseError_Promise_BrowseResult_.swift +0 -19
  916. package/nitrogen/generated/ios/swift/Variant_String_ArtworkVariants.swift +0 -18
  917. package/nitrogen/generated/shared/c++/ArtworkVariants.hpp +0 -87
  918. package/nitrogen/generated/shared/c++/FavoritesMatchMode.hpp +0 -76
  919. package/nitrogen/generated/shared/c++/FormatNowPlayingParams.hpp +0 -110
  920. package/nitrogen/generated/shared/c++/GateReason.hpp +0 -76
  921. package/nitrogen/generated/shared/c++/IOSOptions.hpp +0 -91
  922. package/nitrogen/generated/shared/c++/MediaReference.hpp +0 -76
  923. package/nitrogen/generated/shared/c++/NativeGateRequest.hpp +0 -97
  924. package/nitrogen/generated/shared/c++/NativeSetupPlayerOptions.hpp +0 -138
  925. package/nitrogen/generated/shared/c++/NitroIOSUpdateOptions.hpp +0 -92
  926. package/nitrogen/generated/shared/c++/OutputType.hpp +0 -108
  927. package/nitrogen/generated/shared/c++/PlaybackErrorKind.hpp +0 -100
  928. package/nitrogen/generated/shared/c++/RemoteButtonLayout.hpp +0 -94
  929. package/nitrogen/generated/shared/c++/StallReason.hpp +0 -76
  930. package/nitrogen/generated/shared/c++/TrackRequest.hpp +0 -93
  931. package/src/codegen-no-config-variant.test.ts +0 -70
  932. package/src/features/browser-config.test.ts +0 -110
  933. package/src/features/browser-config.ts +0 -293
  934. package/src/features/browser.test.ts +0 -19
  935. package/src/features/carConnection.ts +0 -36
  936. package/src/features/gate.test.ts +0 -72
  937. package/src/features/gate.ts +0 -155
  938. package/src/features/playback/trackPlaybackTime.test.ts +0 -80
  939. package/src/features/playback/trackPlaybackTime.ts +0 -101
  940. package/src/features/player/options.test.ts +0 -38
  941. package/src/features/player/setup.test.ts +0 -125
  942. package/src/features/player/validateOptions.ts +0 -22
  943. package/src/features/queue/queue.test.ts +0 -36
  944. package/src/public-surface.test.ts +0 -116
  945. package/src/utils/artwork.ts +0 -30
  946. package/src/web/NativeAudioBrowser.playWhenReady.test.ts +0 -301
  947. package/src/web/TrackPlayer/PlaybackStateMachine.test.ts +0 -139
  948. package/src/web/TrackPlayer/PlaybackStateMachine.ts +0 -82
  949. package/src/web/TrackPlayer/PlaybackTimer.test.ts +0 -67
  950. package/src/web/TrackPlayer/PlaybackTimer.ts +0 -33
  951. package/src/web/TrackPlayer/Player.dispatch.test.ts +0 -229
  952. package/src/web/TrackPlayer/Player.load.test.ts +0 -86
  953. package/src/web/TrackPlayer/PlayingStateFactory.test.ts +0 -51
  954. package/src/web/TrackPlayer/PlayingStateFactory.ts +0 -24
  955. package/src/web/TrackPlayer/QueueManager.test.ts +0 -289
  956. package/src/web/TrackPlayer/QueueManager.ts +0 -302
  957. package/src/web/TrackPlayer/QueuePlayer.ts +0 -188
  958. package/src/web/TrackPlayer/VolumeFader.ts +0 -74
  959. package/src/web/browser/__tests__/layer-resolver.test.ts +0 -69
  960. package/src/web/browser/assertBrowsePageShape.test.ts +0 -27
  961. package/src/web/browser/assertBrowsePageShape.ts +0 -27
  962. package/src/web/browser/classifyTrackNavigation.test.ts +0 -41
  963. package/src/web/browser/classifyTrackNavigation.ts +0 -35
  964. package/src/web/browser/parseSearchResponse.test.ts +0 -25
  965. package/src/web/browser/parseSearchResponse.ts +0 -15
  966. package/src/web/http/RequestConfigBuilder.test.ts +0 -59
  967. package/src/web/playbackErrorKind.test.ts +0 -55
  968. package/src/web/playbackErrorKind.ts +0 -56
  969. package/src/web/player/MediaSessionManager.test.ts +0 -220
  970. package/src/web/player/MediaSessionManager.ts +0 -151
  971. package/src/web/player/NowPlayingManager.test.ts +0 -46
  972. package/src/web/player/RemoteCommandController.test.ts +0 -171
  973. package/src/web/player/RemoteCommandController.ts +0 -166
@@ -1,303 +1,228 @@
1
1
  #if !canImport(NitroModules)
2
- /// Lightweight stand-ins for NitroModules types used by the testable target.
3
- /// Only compiled when NitroModules is unavailable (SPM test builds).
4
- ///
5
- /// These stubs declare `Equatable` for test ergonomics — the generated
6
- /// Nitro types do NOT. Shared `ios/` sources must not rely on conformances
7
- /// that exist only here: `swift test` compiles, the app build breaks.
8
-
9
- struct ArtworkVariants: Equatable {
10
- var light: String
11
- var dark: String
12
- }
13
-
14
- @frozen enum Variant_String_ArtworkVariants {
15
- case first(String)
16
- case second(ArtworkVariants)
17
- }
18
-
19
- struct TrackRequest: Equatable {
20
- var userAgent: String?
21
- var headers: [String: String]?
22
- var query: [String: String]?
23
- }
24
-
25
- struct Track: Equatable {
26
- var id: String
27
- var url: String?
28
- var src: String?
29
- var request: TrackRequest?
30
- var title: String = ""
31
- var artist: String?
32
- var albumUrl: String?
33
- var album: String?
34
- var live: Bool?
35
- var artwork: Variant_String_ArtworkVariants?
36
- var artworkSource: ImageSource?
37
- var groupTitle: String?
38
- var imageRow: [ImageRowItem]?
39
- }
40
-
41
- struct TrackLoadEvent {
42
- var track: Track
43
- var queue: [Track]
44
- var startIndex: Double
45
- }
46
-
47
- enum RepeatMode {
48
- case off
49
- case track
50
- case queue
51
- }
52
-
53
- enum CarPlaySiriListButtonPosition {
54
- case top
55
- case bottom
56
-
57
- init?(fromString string: String) {
58
- switch string {
59
- case "top": self = .top
60
- case "bottom": self = .bottom
61
- default: return nil
62
- }
63
- }
64
- }
65
-
66
- struct ImageSource: Equatable {
67
- var uri: String
68
- var method: String?
69
- var headers: [String: String]?
70
- var body: String?
71
- }
72
-
73
- enum TrackStyle {
74
- case list
75
- case grid
76
-
77
- init?(fromString string: String) {
78
- switch string {
79
- case "list": self = .list
80
- case "grid": self = .grid
81
- default: return nil
82
- }
83
- }
84
- }
85
-
86
- struct ImageRowItem: Equatable {
87
- var id: String?
88
- var url: String?
89
- var src: String?
90
- var artwork: String?
91
- var artworkSource: ImageSource?
92
- var title: String
93
- }
94
-
95
- struct ResolvedTrack: Equatable {
96
- var url: String
97
- var children: [Track]?
98
- var carPlaySiriListButton: CarPlaySiriListButtonPosition?
99
- var id: String?
100
- var src: String?
101
- var artwork: Variant_String_ArtworkVariants?
102
- var artworkSource: ImageSource?
103
- var request: TrackRequest?
104
- var artworkCarPlayTinted: Bool?
105
- var title: String
106
- var subtitle: String?
107
- var artist: String?
108
- var albumUrl: String?
109
- var album: String?
110
- var description: String?
111
- var genre: String?
112
- var duration: Double?
113
- var style: TrackStyle?
114
- var childrenStyle: TrackStyle?
115
- var favorited: Bool?
116
- var groupTitle: String?
117
- var live: Bool?
118
- var imageRow: [ImageRowItem]?
119
- }
120
-
121
- enum PlaybackState: Equatable {
122
- case none
123
- case ready
124
- case playing
125
- case paused
126
- case stopped
127
- case loading
128
- case buffering
129
- case error
130
- case ended
131
- }
132
-
133
- struct TrackMetadata: Equatable {
134
- var title: String?
135
- var artist: String?
136
- var albumTitle: String?
137
- var subtitle: String?
138
- var description: String?
139
- var artworkUri: String?
140
- var trackNumber: String?
141
- var composer: String?
142
- var conductor: String?
143
- var genre: String?
144
- var compilation: String?
145
- var station: String?
146
- var mediaType: String?
147
- var creationDate: String?
148
- var creationYear: String?
149
- var url: String?
150
-
151
- init(
152
- title: String? = nil, artist: String? = nil, albumTitle: String? = nil,
153
- subtitle: String? = nil, description: String? = nil, artworkUri: String? = nil,
154
- trackNumber: String? = nil, composer: String? = nil, conductor: String? = nil,
155
- genre: String? = nil, compilation: String? = nil, station: String? = nil,
156
- mediaType: String? = nil, creationDate: String? = nil, creationYear: String? = nil,
157
- url: String? = nil,
158
- ) {
159
- self.title = title
160
- self.artist = artist
161
- self.albumTitle = albumTitle
162
- self.subtitle = subtitle
163
- self.description = description
164
- self.artworkUri = artworkUri
165
- self.trackNumber = trackNumber
166
- self.composer = composer
167
- self.conductor = conductor
168
- self.genre = genre
169
- self.compilation = compilation
170
- self.station = station
171
- self.mediaType = mediaType
172
- self.creationDate = creationDate
173
- self.creationYear = creationYear
174
- self.url = url
2
+ /// Lightweight stand-ins for NitroModules types used by the testable target.
3
+ /// Only compiled when NitroModules is unavailable (SPM test builds).
4
+
5
+ struct Track: Equatable {
6
+ var id: String
7
+ var url: String? = nil
8
+ var src: String? = nil
9
+ var title: String = ""
10
+ var artist: String? = nil
11
+ var album: String? = nil
12
+ var live: Bool? = nil
13
+ }
14
+
15
+ struct TrackLoadEvent {
16
+ var track: Track
17
+ var queue: [Track]
18
+ var startIndex: Double
19
+ }
20
+
21
+ enum RepeatMode {
22
+ case off
23
+ case track
24
+ case queue
25
+ }
26
+
27
+ enum CarPlaySiriListButtonPosition {
28
+ case top
29
+ case bottom
30
+ }
31
+
32
+ struct ImageSource: Equatable {
33
+ var uri: String
34
+ var method: String? = nil
35
+ var headers: [String: String]? = nil
36
+ var body: String? = nil
37
+ }
38
+
39
+ enum TrackStyle {
40
+ case list
41
+ case grid
42
+ }
43
+
44
+ struct ImageRowItem: Equatable {
45
+ var url: String? = nil
46
+ var artwork: String? = nil
47
+ var artworkSource: ImageSource? = nil
48
+ var title: String
49
+ }
50
+
51
+ struct ResolvedTrack: Equatable {
52
+ var url: String
53
+ var children: [Track]? = nil
54
+ var carPlaySiriListButton: CarPlaySiriListButtonPosition? = nil
55
+ var src: String? = nil
56
+ var artwork: String? = nil
57
+ var artworkSource: ImageSource? = nil
58
+ var artworkCarPlayTinted: Bool? = nil
59
+ var title: String
60
+ var subtitle: String? = nil
61
+ var artist: String? = nil
62
+ var album: String? = nil
63
+ var description: String? = nil
64
+ var genre: String? = nil
65
+ var duration: Double? = nil
66
+ var style: TrackStyle? = nil
67
+ var childrenStyle: TrackStyle? = nil
68
+ var favorited: Bool? = nil
69
+ var groupTitle: String? = nil
70
+ var live: Bool? = nil
71
+ var imageRow: [ImageRowItem]? = nil
72
+ }
73
+
74
+ enum PlaybackState: Equatable {
75
+ case none
76
+ case ready
77
+ case playing
78
+ case paused
79
+ case stopped
80
+ case loading
81
+ case buffering
82
+ case error
83
+ case ended
84
+ }
85
+
86
+ struct TrackMetadata: Equatable {
87
+ var title: String?
88
+ var artist: String?
89
+ var albumTitle: String?
90
+ var subtitle: String?
91
+ var description: String?
92
+ var artworkUri: String?
93
+ var trackNumber: String?
94
+ var composer: String?
95
+ var conductor: String?
96
+ var genre: String?
97
+ var compilation: String?
98
+ var station: String?
99
+ var mediaType: String?
100
+ var creationDate: String?
101
+ var creationYear: String?
102
+ var url: String?
103
+
104
+ init(
105
+ title: String? = nil, artist: String? = nil, albumTitle: String? = nil,
106
+ subtitle: String? = nil, description: String? = nil, artworkUri: String? = nil,
107
+ trackNumber: String? = nil, composer: String? = nil, conductor: String? = nil,
108
+ genre: String? = nil, compilation: String? = nil, station: String? = nil,
109
+ mediaType: String? = nil, creationDate: String? = nil, creationYear: String? = nil,
110
+ url: String? = nil
111
+ ) {
112
+ self.title = title
113
+ self.artist = artist
114
+ self.albumTitle = albumTitle
115
+ self.subtitle = subtitle
116
+ self.description = description
117
+ self.artworkUri = artworkUri
118
+ self.trackNumber = trackNumber
119
+ self.composer = composer
120
+ self.conductor = conductor
121
+ self.genre = genre
122
+ self.compilation = compilation
123
+ self.station = station
124
+ self.mediaType = mediaType
125
+ self.creationDate = creationDate
126
+ self.creationYear = creationYear
127
+ self.url = url
128
+ }
129
+ }
130
+
131
+ struct TimedMetadata: Equatable {
132
+ var title: String?
133
+ var artist: String?
134
+ var album: String?
135
+ var date: String?
136
+ var genre: String?
137
+
138
+ init(
139
+ title: String? = nil, artist: String? = nil, album: String? = nil,
140
+ date: String? = nil, genre: String? = nil
141
+ ) {
142
+ self.title = title
143
+ self.artist = artist
144
+ self.album = album
145
+ self.date = date
146
+ self.genre = genre
147
+ }
148
+ }
149
+
150
+ struct ChapterMetadata: Equatable {
151
+ var startTime: Double
152
+ var endTime: Double
153
+ var title: String?
154
+ var url: String?
155
+
156
+ init(startTime: Double, endTime: Double, title: String? = nil, url: String? = nil) {
157
+ self.startTime = startTime
158
+ self.endTime = endTime
159
+ self.title = title
160
+ self.url = url
161
+ }
162
+ }
163
+
164
+ // MARK: - Playback Event Types (used by PlaybackCoordinator)
165
+
166
+ struct PlaybackError: Equatable {
167
+ var code: String
168
+ var message: String
169
+ }
170
+
171
+ struct Playback: Equatable {
172
+ var state: PlaybackState
173
+ var error: PlaybackError?
174
+ }
175
+
176
+ struct PlaybackErrorEvent {
177
+ var error: PlaybackError?
178
+ }
179
+
180
+ struct PlaybackActiveTrackChangedEvent {
181
+ var lastIndex: Double?
182
+ var lastTrack: Track?
183
+ var lastPosition: Double
184
+ var index: Double?
185
+ var track: Track?
186
+ }
187
+
188
+ struct PlaybackProgressUpdatedEvent {
189
+ var track: Double
190
+ var position: Double
191
+ var duration: Double
192
+ var buffered: Double
193
+ }
194
+
195
+ struct PlayingState: Equatable {
196
+ var playing: Bool
197
+ var buffering: Bool
198
+ }
199
+
200
+ struct PlaybackQueueEndedEvent {
201
+ var track: Double
202
+ var position: Double
203
+ }
204
+
205
+ struct RepeatModeChangedEvent {
206
+ var repeatMode: RepeatMode
207
+ }
208
+
209
+ // MARK: - TrackPlayerError.PlaybackError Nitro Conversion Stub
210
+
211
+ extension TrackPlayerError.PlaybackError {
212
+ func toNitroError() -> PlaybackError {
213
+ let code = switch self {
214
+ case .failedToLoadKeyValue:
215
+ "failed_to_load"
216
+ case .invalidSourceUrl:
217
+ "invalid_source_url"
218
+ case .notConnectedToInternet:
219
+ "not_connected_to_internet"
220
+ case .playbackFailed:
221
+ "playback_failed"
222
+ case .trackWasUnplayable:
223
+ "track_unplayable"
175
224
  }
225
+ return PlaybackError(code: code, message: errorDescription ?? "Unknown error")
176
226
  }
177
-
178
- struct TimedMetadata: Equatable {
179
- var title: String?
180
- var artist: String?
181
- var album: String?
182
- var date: String?
183
- var genre: String?
184
-
185
- init(
186
- title: String? = nil, artist: String? = nil, album: String? = nil,
187
- date: String? = nil, genre: String? = nil,
188
- ) {
189
- self.title = title
190
- self.artist = artist
191
- self.album = album
192
- self.date = date
193
- self.genre = genre
194
- }
195
- }
196
-
197
- struct ChapterMetadata: Equatable {
198
- var startTime: Double
199
- var endTime: Double
200
- var title: String?
201
- var url: String?
202
-
203
- init(startTime: Double, endTime: Double, title: String? = nil, url: String? = nil) {
204
- self.startTime = startTime
205
- self.endTime = endTime
206
- self.title = title
207
- self.url = url
208
- }
209
- }
210
-
211
- // MARK: - Playback Event Types (used by PlaybackCoordinator)
212
-
213
- /// Public to match the generated Nitro enum, which `TrackPlayerError`
214
- /// exposes from a public property.
215
- public enum PlaybackErrorKind {
216
- case offline
217
- case unreachable
218
- case notFound
219
- case rejected
220
- case serverError
221
- case unplayable
222
- case stalled
223
- case unknown
224
- }
225
-
226
- struct RetryConfig {
227
- var maxRetries: Double?
228
- var maxRetryDurationMs: Double?
229
- var firstConnectMaxRetryDurationMs: Double?
230
- }
231
-
232
- @frozen enum Variant_Bool_RetryConfig {
233
- case first(Bool)
234
- case second(RetryConfig)
235
- }
236
-
237
- struct PlaybackError: Equatable {
238
- var kind: PlaybackErrorKind
239
- var code: String
240
- var message: String
241
- var statusCode: Double?
242
- var retrying: Bool?
243
- }
244
-
245
- struct Playback: Equatable {
246
- var state: PlaybackState
247
- var error: PlaybackError?
248
- }
249
-
250
- struct PlaybackErrorEvent {
251
- var error: PlaybackError?
252
- }
253
-
254
- struct PlaybackActiveTrackChangedEvent {
255
- var lastIndex: Double?
256
- var lastTrack: Track?
257
- var lastPosition: Double
258
- var index: Double?
259
- var track: Track?
260
- }
261
-
262
- struct PlaybackProgressUpdatedEvent {
263
- var track: Double
264
- var position: Double
265
- var duration: Double
266
- var buffered: Double
267
- }
268
-
269
- struct PlayingState: Equatable {
270
- var playing: Bool
271
- var buffering: Bool
272
- }
273
-
274
- struct PlaybackQueueEndedEvent {
275
- var track: Double
276
- var position: Double
277
- }
278
-
279
- struct RepeatModeChangedEvent {
280
- var repeatMode: RepeatMode
281
- }
282
-
283
- // MARK: - Sleep Timer Variant Stubs
284
-
285
- enum NullType: Equatable {
286
- case null
287
- }
288
-
289
- struct SleepTimerTime: Equatable {
290
- var time: Double
291
- }
292
-
293
- struct SleepTimerEndOfTrack: Equatable {
294
- var sleepWhenPlayedToEnd: Bool
295
- }
296
-
297
- indirect enum SleepTimer: Equatable {
298
- case first(NullType)
299
- case second(SleepTimerTime)
300
- case third(SleepTimerEndOfTrack)
301
- }
302
-
227
+ }
303
228
  #endif
@@ -23,15 +23,12 @@ class PlayerUpdateOptions {
23
23
  shuffleMode: nil, repeatMode: nil, playbackRate: nil,
24
24
  )
25
25
 
26
+ /// Repeat mode
27
+ var repeatMode: RepeatMode = .off
28
+
26
29
  /// Supported playback rates for the playback-rate capability
27
30
  var playbackRates: [Double] = [0.5, 1.0, 1.5, 2.0]
28
31
 
29
- /// Enable the "Up Next" button on the CarPlay Now Playing screen
30
- var carPlayUpNextButton: Bool = true
31
-
32
- /// Custom buttons for the CarPlay Now Playing screen
33
- var carPlayNowPlayingButtons: [CarPlayNowPlayingButton] = []
34
-
35
32
  // MARK: - Initialization
36
33
 
37
34
  init() {}
@@ -63,21 +60,13 @@ class PlayerUpdateOptions {
63
60
  capabilities = mergeCapabilities(existing: capabilities, incoming: caps)
64
61
  }
65
62
 
66
- // Update iOS player-UI options (nested under `ios` on the wire)
67
- if let ios = options.ios {
68
- if let rates = ios.playbackRates {
69
- playbackRates = rates
70
- }
71
- if let upNext = ios.carPlayUpNextButton {
72
- carPlayUpNextButton = upNext
73
- }
74
- if let buttons = ios.carPlayNowPlayingButtons {
75
- carPlayNowPlayingButtons = buttons
76
- }
63
+ // Update playback rates
64
+ if let rates = options.iosPlaybackRates {
65
+ playbackRates = rates
77
66
  }
78
67
  }
79
68
 
80
- /// The resolved options in their wire shape (what getOptions/onOptionsChanged report).
69
+ /// Convert to Nitro Options struct (full options with all required fields)
81
70
  func toOptions() -> Options {
82
71
  // Convert Double? to Variant_NullType_Double?
83
72
  let progressInterval: Variant_NullType_Double? = progressUpdateEventInterval.map { .second($0) }
@@ -88,11 +77,22 @@ class PlayerUpdateOptions {
88
77
  backwardJumpInterval: backwardJumpInterval,
89
78
  progressUpdateEventInterval: progressInterval,
90
79
  capabilities: capabilities,
91
- ios: IOSOptions(
92
- playbackRates: playbackRates,
93
- carPlayUpNextButton: carPlayUpNextButton,
94
- carPlayNowPlayingButtons: carPlayNowPlayingButtons,
95
- ),
80
+ repeatMode: repeatMode,
81
+ )
82
+ }
83
+
84
+ /// Convert to Nitro UpdateOptions struct (partial options for getOptions())
85
+ func toUpdateOptions() -> UpdateOptions {
86
+ // Convert Double? to Variant_NullType_Double?
87
+ let progressInterval: Variant_NullType_Double? = progressUpdateEventInterval.map { .second($0) }
88
+
89
+ return UpdateOptions(
90
+ android: nil,
91
+ forwardJumpInterval: forwardJumpInterval,
92
+ backwardJumpInterval: backwardJumpInterval,
93
+ progressUpdateEventInterval: progressInterval,
94
+ capabilities: capabilities,
95
+ iosPlaybackRates: playbackRates,
96
96
  )
97
97
  }
98
98
 
@@ -1,10 +1,6 @@
1
1
  import Foundation
2
2
 
3
- // Internal on purpose: nothing outside the module uses this, and a public
4
- // declaration gets printed into the generated -Swift.h C++ interop section,
5
- // where the [NSNumber] associated values don't compile for plain-C++
6
- // consumers of the header (Xcode 26.2 / Swift 6.2).
7
- enum RemoteCommand: CustomStringConvertible, Equatable {
3
+ public enum RemoteCommand: CustomStringConvertible, Equatable {
8
4
  case play
9
5
 
10
6
  case pause
@@ -23,13 +19,15 @@ enum RemoteCommand: CustomStringConvertible, Equatable {
23
19
 
24
20
  case skipBackward(preferredIntervals: [NSNumber])
25
21
 
22
+ case like(isActive: Bool, localizedTitle: String, localizedShortTitle: String)
23
+
26
24
  case changeRepeatMode
27
25
 
28
26
  case changeShuffleMode
29
27
 
30
28
  case changePlaybackRate(supportedPlaybackRates: [NSNumber])
31
29
 
32
- var description: String {
30
+ public var description: String {
33
31
  switch self {
34
32
  case .play: "play"
35
33
  case .pause: "pause"
@@ -40,6 +38,7 @@ enum RemoteCommand: CustomStringConvertible, Equatable {
40
38
  case .changePlaybackPosition: "changePlaybackPosition"
41
39
  case .skipForward: "skipForward"
42
40
  case .skipBackward: "skipBackward"
41
+ case .like: "like"
43
42
  case .changeRepeatMode: "changeRepeatMode"
44
43
  case .changeShuffleMode: "changeShuffleMode"
45
44
  case .changePlaybackRate: "changePlaybackRate"
@@ -48,24 +47,6 @@ enum RemoteCommand: CustomStringConvertible, Equatable {
48
47
 
49
48
  var key: String { description }
50
49
 
51
- /**
52
- Commands in `self` that are absent from `next` and so should be disabled.
53
-
54
- Compared by `key`, not by `==`. `RemoteCommand` is `Equatable` including its
55
- associated values, but every case with associated values maps onto a single
56
- `MPRemoteCommand` addressed by `key`: `.skipForward([15])` and
57
- `.skipForward([30])` are two different values of one command. Diffing by `==`
58
- would report the old interval as removed and disable the command that the new
59
- interval had just re-enabled.
60
- */
61
- static func commandsToDisable(
62
- enabled: [RemoteCommand],
63
- replacedBy next: [RemoteCommand],
64
- ) -> [RemoteCommand] {
65
- let nextKeys = Set(next.map(\.key))
66
- return enabled.filter { !nextKeys.contains($0.key) }
67
- }
68
-
69
50
  /**
70
51
  All values in an array for convenience.
71
52
  Don't use for associated values.
@@ -81,6 +62,7 @@ enum RemoteCommand: CustomStringConvertible, Equatable {
81
62
  .changePlaybackPosition,
82
63
  .skipForward(preferredIntervals: []),
83
64
  .skipBackward(preferredIntervals: []),
65
+ .like(isActive: false, localizedTitle: "", localizedShortTitle: ""),
84
66
  .changeRepeatMode,
85
67
  .changeShuffleMode,
86
68
  .changePlaybackRate(supportedPlaybackRates: []),