react-native-nitro-player 0.3.0-alpha.9 → 0.4.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 (257) hide show
  1. package/README.md +444 -4
  2. package/android/build.gradle +4 -1
  3. package/android/src/main/AndroidManifest.xml +16 -1
  4. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridAndroidAutoMediaLibrary.kt +2 -0
  5. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridAudioDevices.kt +8 -0
  6. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridDownloadManager.kt +225 -0
  7. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridEqualizer.kt +105 -0
  8. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridPlayerQueue.kt +6 -6
  9. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridTrackPlayer.kt +37 -12
  10. package/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerCore.kt +970 -213
  11. package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadDatabase.kt +475 -0
  12. package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadFileManager.kt +159 -0
  13. package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadManagerCore.kt +489 -0
  14. package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadWorker.kt +209 -0
  15. package/android/src/main/java/com/margelo/nitro/nitroplayer/equalizer/EqualizerCore.kt +486 -0
  16. package/android/src/main/java/com/margelo/nitro/nitroplayer/media/MediaBrowserService.kt +3 -1
  17. package/android/src/main/java/com/margelo/nitro/nitroplayer/media/MediaSessionManager.kt +14 -6
  18. package/android/src/main/java/com/margelo/nitro/nitroplayer/playlist/PlaylistManager.kt +27 -0
  19. package/ios/HybridDownloadManager.swift +226 -0
  20. package/ios/HybridEqualizer.swift +111 -0
  21. package/ios/HybridTrackPlayer.swift +36 -8
  22. package/ios/core/TrackPlayerCore.swift +998 -276
  23. package/ios/download/DownloadDatabase.swift +493 -0
  24. package/ios/download/DownloadFileManager.swift +241 -0
  25. package/ios/download/DownloadManagerCore.swift +923 -0
  26. package/ios/equalizer/EqualizerCore.swift +685 -0
  27. package/ios/media/MediaSessionManager.swift +40 -28
  28. package/ios/playlist/PlaylistManager.swift +40 -9
  29. package/ios/queue/HybridPlayerQueue.swift +33 -13
  30. package/lib/hooks/downloadCallbackManager.d.ts +36 -0
  31. package/lib/hooks/downloadCallbackManager.js +108 -0
  32. package/lib/hooks/equalizerCallbackManager.d.ts +37 -0
  33. package/lib/hooks/equalizerCallbackManager.js +109 -0
  34. package/lib/hooks/index.d.ts +16 -0
  35. package/lib/hooks/index.js +10 -0
  36. package/lib/hooks/useActualQueue.d.ts +48 -0
  37. package/lib/hooks/useActualQueue.js +98 -0
  38. package/lib/hooks/useDownloadActions.d.ts +26 -0
  39. package/lib/hooks/useDownloadActions.js +117 -0
  40. package/lib/hooks/useDownloadProgress.d.ts +25 -0
  41. package/lib/hooks/useDownloadProgress.js +79 -0
  42. package/lib/hooks/useDownloadStorage.d.ts +19 -0
  43. package/lib/hooks/useDownloadStorage.js +60 -0
  44. package/lib/hooks/useDownloadedTracks.d.ts +25 -0
  45. package/lib/hooks/useDownloadedTracks.js +69 -0
  46. package/lib/hooks/useEqualizer.d.ts +25 -0
  47. package/lib/hooks/useEqualizer.js +124 -0
  48. package/lib/hooks/useEqualizerPresets.d.ts +22 -0
  49. package/lib/hooks/useEqualizerPresets.js +96 -0
  50. package/lib/hooks/useNowPlaying.js +3 -2
  51. package/lib/hooks/useOnChangeTrack.js +15 -12
  52. package/lib/hooks/useOnPlaybackStateChange.js +16 -13
  53. package/lib/hooks/usePlaylist.d.ts +48 -0
  54. package/lib/hooks/usePlaylist.js +136 -0
  55. package/lib/index.d.ts +6 -0
  56. package/lib/index.js +6 -0
  57. package/lib/specs/DownloadManager.nitro.d.ts +152 -0
  58. package/lib/specs/DownloadManager.nitro.js +1 -0
  59. package/lib/specs/Equalizer.nitro.d.ts +43 -0
  60. package/lib/specs/Equalizer.nitro.js +1 -0
  61. package/lib/specs/TrackPlayer.nitro.d.ts +6 -2
  62. package/lib/types/DownloadTypes.d.ts +110 -0
  63. package/lib/types/DownloadTypes.js +1 -0
  64. package/lib/types/EqualizerTypes.d.ts +52 -0
  65. package/lib/types/EqualizerTypes.js +1 -0
  66. package/lib/types/PlayerQueue.d.ts +4 -0
  67. package/nitro.json +8 -0
  68. package/nitrogen/generated/android/NitroPlayer+autolinking.cmake +10 -1
  69. package/nitrogen/generated/android/NitroPlayerOnLoad.cpp +32 -2
  70. package/nitrogen/generated/android/c++/JCurrentPlayingType.hpp +65 -0
  71. package/nitrogen/generated/android/c++/JDownloadConfig.hpp +92 -0
  72. package/nitrogen/generated/android/c++/JDownloadError.hpp +71 -0
  73. package/nitrogen/generated/android/c++/JDownloadErrorReason.hpp +74 -0
  74. package/nitrogen/generated/android/c++/JDownloadProgress.hpp +79 -0
  75. package/nitrogen/generated/android/c++/JDownloadQueueStatus.hpp +81 -0
  76. package/nitrogen/generated/android/c++/JDownloadState.hpp +71 -0
  77. package/nitrogen/generated/android/c++/JDownloadStorageInfo.hpp +73 -0
  78. package/nitrogen/generated/android/c++/JDownloadTask.hpp +108 -0
  79. package/nitrogen/generated/android/c++/JDownloadedPlaylist.hpp +111 -0
  80. package/nitrogen/generated/android/c++/JDownloadedTrack.hpp +92 -0
  81. package/nitrogen/generated/android/c++/JEqualizerBand.hpp +69 -0
  82. package/nitrogen/generated/android/c++/JEqualizerPreset.hpp +78 -0
  83. package/nitrogen/generated/android/c++/JEqualizerState.hpp +91 -0
  84. package/nitrogen/generated/android/c++/JFunc_void_DownloadProgress.hpp +80 -0
  85. package/nitrogen/generated/android/c++/JFunc_void_DownloadedTrack.hpp +89 -0
  86. package/nitrogen/generated/android/c++/JFunc_void_TrackItem_std__optional_Reason_.hpp +2 -0
  87. package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__variant_nitro__NullType__std__string__.hpp +81 -0
  88. package/nitrogen/generated/android/c++/JFunc_void_std__string_Playlist_std__optional_QueueOperation_.hpp +2 -0
  89. package/nitrogen/generated/android/c++/JFunc_void_std__string_std__string_DownloadState_std__optional_DownloadError_.hpp +83 -0
  90. package/nitrogen/generated/android/c++/JFunc_void_std__vector_EqualizerBand_.hpp +97 -0
  91. package/nitrogen/generated/android/c++/JFunc_void_std__vector_Playlist__std__optional_QueueOperation_.hpp +2 -0
  92. package/nitrogen/generated/android/c++/JGainRange.hpp +61 -0
  93. package/nitrogen/generated/android/c++/JHybridDownloadManagerSpec.cpp +470 -0
  94. package/nitrogen/generated/android/c++/JHybridDownloadManagerSpec.hpp +99 -0
  95. package/nitrogen/generated/android/c++/JHybridEqualizerSpec.cpp +204 -0
  96. package/nitrogen/generated/android/c++/JHybridEqualizerSpec.hpp +82 -0
  97. package/nitrogen/generated/android/c++/JHybridPlayerQueueSpec.cpp +2 -0
  98. package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.cpp +117 -15
  99. package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.hpp +6 -2
  100. package/nitrogen/generated/android/c++/JPlaybackSource.hpp +62 -0
  101. package/nitrogen/generated/android/c++/JPlayerState.hpp +11 -3
  102. package/nitrogen/generated/android/c++/JPlaylist.hpp +2 -0
  103. package/nitrogen/generated/android/c++/JPresetType.hpp +59 -0
  104. package/nitrogen/generated/android/c++/JStorageLocation.hpp +59 -0
  105. package/nitrogen/generated/android/c++/JTrackItem.hpp +9 -3
  106. package/nitrogen/generated/android/c++/JTrackPlayerState.hpp +3 -3
  107. package/nitrogen/generated/android/c++/JVariant_NullType_Double.cpp +26 -0
  108. package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +69 -0
  109. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadError.cpp +26 -0
  110. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadError.hpp +74 -0
  111. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadTask.cpp +26 -0
  112. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadTask.hpp +84 -0
  113. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedPlaylist.cpp +26 -0
  114. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedPlaylist.hpp +85 -0
  115. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedTrack.cpp +26 -0
  116. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedTrack.hpp +80 -0
  117. package/nitrogen/generated/android/c++/JVariant_NullType_Playlist.hpp +2 -0
  118. package/nitrogen/generated/android/c++/JVariant_NullType_TrackItem.hpp +2 -0
  119. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/CurrentPlayingType.kt +23 -0
  120. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadConfig.kt +59 -0
  121. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadError.kt +47 -0
  122. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadErrorReason.kt +26 -0
  123. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadProgress.kt +53 -0
  124. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadQueueStatus.kt +56 -0
  125. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadState.kt +25 -0
  126. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadStorageInfo.kt +50 -0
  127. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadTask.kt +65 -0
  128. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadedPlaylist.kt +53 -0
  129. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadedTrack.kt +56 -0
  130. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/EqualizerBand.kt +47 -0
  131. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/EqualizerPreset.kt +44 -0
  132. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/EqualizerState.kt +44 -0
  133. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_DownloadProgress.kt +80 -0
  134. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_DownloadedTrack.kt +80 -0
  135. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__optional_std__variant_nitro__NullType__std__string__.kt +80 -0
  136. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__string_std__string_DownloadState_std__optional_DownloadError_.kt +80 -0
  137. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__vector_EqualizerBand_.kt +80 -0
  138. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/GainRange.kt +41 -0
  139. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridDownloadManagerSpec.kt +210 -0
  140. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridEqualizerSpec.kt +141 -0
  141. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridTrackPlayerSpec.kt +19 -2
  142. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PlaybackSource.kt +22 -0
  143. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PlayerState.kt +6 -3
  144. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PresetType.kt +21 -0
  145. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/StorageLocation.kt +21 -0
  146. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/TrackItem.kt +7 -3
  147. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/TrackPlayerState.kt +2 -2
  148. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_Double.kt +59 -0
  149. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadError.kt +59 -0
  150. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadTask.kt +59 -0
  151. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadedPlaylist.kt +59 -0
  152. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadedTrack.kt +59 -0
  153. package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Bridge.cpp +138 -8
  154. package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Bridge.hpp +1046 -121
  155. package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Umbrella.hpp +66 -0
  156. package/nitrogen/generated/ios/NitroPlayerAutolinking.mm +16 -0
  157. package/nitrogen/generated/ios/NitroPlayerAutolinking.swift +30 -0
  158. package/nitrogen/generated/ios/c++/HybridDownloadManagerSpecSwift.cpp +11 -0
  159. package/nitrogen/generated/ios/c++/HybridDownloadManagerSpecSwift.hpp +386 -0
  160. package/nitrogen/generated/ios/c++/HybridEqualizerSpecSwift.cpp +11 -0
  161. package/nitrogen/generated/ios/c++/HybridEqualizerSpecSwift.hpp +223 -0
  162. package/nitrogen/generated/ios/c++/HybridPlayerQueueSpecSwift.hpp +1 -0
  163. package/nitrogen/generated/ios/c++/HybridTrackPlayerSpecSwift.hpp +46 -6
  164. package/nitrogen/generated/ios/swift/CurrentPlayingType.swift +48 -0
  165. package/nitrogen/generated/ios/swift/DownloadConfig.swift +270 -0
  166. package/nitrogen/generated/ios/swift/DownloadError.swift +69 -0
  167. package/nitrogen/generated/ios/swift/DownloadErrorReason.swift +60 -0
  168. package/nitrogen/generated/ios/swift/DownloadProgress.swift +91 -0
  169. package/nitrogen/generated/ios/swift/DownloadQueueStatus.swift +102 -0
  170. package/nitrogen/generated/ios/swift/DownloadState.swift +56 -0
  171. package/nitrogen/generated/ios/swift/DownloadStorageInfo.swift +80 -0
  172. package/nitrogen/generated/ios/swift/DownloadTask.swift +315 -0
  173. package/nitrogen/generated/ios/swift/DownloadedPlaylist.swift +103 -0
  174. package/nitrogen/generated/ios/swift/DownloadedTrack.swift +147 -0
  175. package/nitrogen/generated/ios/swift/EqualizerBand.swift +69 -0
  176. package/nitrogen/generated/ios/swift/EqualizerPreset.swift +70 -0
  177. package/nitrogen/generated/ios/swift/EqualizerState.swift +115 -0
  178. package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
  179. package/nitrogen/generated/ios/swift/Func_void_DownloadProgress.swift +47 -0
  180. package/nitrogen/generated/ios/swift/Func_void_DownloadStorageInfo.swift +47 -0
  181. package/nitrogen/generated/ios/swift/Func_void_DownloadedTrack.swift +47 -0
  182. package/nitrogen/generated/ios/swift/Func_void_PlayerState.swift +47 -0
  183. package/nitrogen/generated/ios/swift/Func_void_bool.swift +5 -5
  184. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
  185. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__variant_nitro__NullType__std__string__.swift +66 -0
  186. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
  187. package/nitrogen/generated/ios/swift/Func_void_std__string_std__string_DownloadState_std__optional_DownloadError_.swift +47 -0
  188. package/nitrogen/generated/ios/swift/Func_void_std__vector_EqualizerBand_.swift +47 -0
  189. package/nitrogen/generated/ios/swift/Func_void_std__vector_TrackItem_.swift +47 -0
  190. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift +47 -0
  191. package/nitrogen/generated/ios/swift/GainRange.swift +47 -0
  192. package/nitrogen/generated/ios/swift/HybridDownloadManagerSpec.swift +90 -0
  193. package/nitrogen/generated/ios/swift/HybridDownloadManagerSpec_cxx.swift +705 -0
  194. package/nitrogen/generated/ios/swift/HybridEqualizerSpec.swift +73 -0
  195. package/nitrogen/generated/ios/swift/HybridEqualizerSpec_cxx.swift +396 -0
  196. package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec.swift +6 -2
  197. package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec_cxx.swift +105 -8
  198. package/nitrogen/generated/ios/swift/PlaybackSource.swift +44 -0
  199. package/nitrogen/generated/ios/swift/PlayerState.swift +13 -2
  200. package/nitrogen/generated/ios/swift/PresetType.swift +40 -0
  201. package/nitrogen/generated/ios/swift/StorageLocation.swift +40 -0
  202. package/nitrogen/generated/ios/swift/TrackItem.swift +31 -1
  203. package/nitrogen/generated/ios/swift/TrackPlayerState.swift +4 -4
  204. package/nitrogen/generated/ios/swift/Variant_NullType_Double.swift +18 -0
  205. package/nitrogen/generated/ios/swift/Variant_NullType_DownloadError.swift +18 -0
  206. package/nitrogen/generated/ios/swift/Variant_NullType_DownloadTask.swift +18 -0
  207. package/nitrogen/generated/ios/swift/Variant_NullType_DownloadedPlaylist.swift +18 -0
  208. package/nitrogen/generated/ios/swift/Variant_NullType_DownloadedTrack.swift +18 -0
  209. package/nitrogen/generated/shared/c++/CurrentPlayingType.hpp +84 -0
  210. package/nitrogen/generated/shared/c++/DownloadConfig.hpp +108 -0
  211. package/nitrogen/generated/shared/c++/DownloadError.hpp +89 -0
  212. package/nitrogen/generated/shared/c++/DownloadErrorReason.hpp +96 -0
  213. package/nitrogen/generated/shared/c++/DownloadProgress.hpp +97 -0
  214. package/nitrogen/generated/shared/c++/DownloadQueueStatus.hpp +99 -0
  215. package/nitrogen/generated/shared/c++/DownloadState.hpp +92 -0
  216. package/nitrogen/generated/shared/c++/DownloadStorageInfo.hpp +91 -0
  217. package/nitrogen/generated/shared/c++/DownloadTask.hpp +122 -0
  218. package/nitrogen/generated/shared/c++/DownloadedPlaylist.hpp +101 -0
  219. package/nitrogen/generated/shared/c++/DownloadedTrack.hpp +107 -0
  220. package/nitrogen/generated/shared/c++/EqualizerBand.hpp +87 -0
  221. package/nitrogen/generated/shared/c++/EqualizerPreset.hpp +86 -0
  222. package/nitrogen/generated/shared/c++/EqualizerState.hpp +89 -0
  223. package/nitrogen/generated/shared/c++/GainRange.hpp +79 -0
  224. package/nitrogen/generated/shared/c++/HybridDownloadManagerSpec.cpp +55 -0
  225. package/nitrogen/generated/shared/c++/HybridDownloadManagerSpec.hpp +134 -0
  226. package/nitrogen/generated/shared/c++/HybridEqualizerSpec.cpp +38 -0
  227. package/nitrogen/generated/shared/c++/HybridEqualizerSpec.hpp +95 -0
  228. package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.cpp +4 -0
  229. package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.hpp +11 -5
  230. package/nitrogen/generated/shared/c++/PlaybackSource.hpp +80 -0
  231. package/nitrogen/generated/shared/c++/PlayerState.hpp +9 -2
  232. package/nitrogen/generated/shared/c++/PresetType.hpp +76 -0
  233. package/nitrogen/generated/shared/c++/StorageLocation.hpp +76 -0
  234. package/nitrogen/generated/shared/c++/TrackItem.hpp +7 -2
  235. package/nitrogen/generated/shared/c++/TrackPlayerState.hpp +5 -5
  236. package/package.json +1 -1
  237. package/src/hooks/downloadCallbackManager.ts +149 -0
  238. package/src/hooks/equalizerCallbackManager.ts +138 -0
  239. package/src/hooks/index.ts +23 -0
  240. package/src/hooks/useActualQueue.ts +116 -0
  241. package/src/hooks/useDownloadActions.ts +179 -0
  242. package/src/hooks/useDownloadProgress.ts +126 -0
  243. package/src/hooks/useDownloadStorage.ts +84 -0
  244. package/src/hooks/useDownloadedTracks.ts +138 -0
  245. package/src/hooks/useEqualizer.ts +173 -0
  246. package/src/hooks/useEqualizerPresets.ts +140 -0
  247. package/src/hooks/useNowPlaying.ts +3 -2
  248. package/src/hooks/useOnChangeTrack.ts +15 -11
  249. package/src/hooks/useOnPlaybackStateChange.ts +19 -15
  250. package/src/hooks/usePlaylist.ts +161 -0
  251. package/src/index.ts +12 -0
  252. package/src/specs/DownloadManager.nitro.ts +203 -0
  253. package/src/specs/Equalizer.nitro.ts +69 -0
  254. package/src/specs/TrackPlayer.nitro.ts +6 -2
  255. package/src/types/DownloadTypes.ts +135 -0
  256. package/src/types/EqualizerTypes.ts +72 -0
  257. package/src/types/PlayerQueue.ts +9 -0
@@ -0,0 +1,85 @@
1
+ ///
2
+ /// JVariant_NullType_DownloadedPlaylist.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include <variant>
12
+
13
+ #include <NitroModules/Null.hpp>
14
+ #include "DownloadedPlaylist.hpp"
15
+ #include <variant>
16
+ #include <NitroModules/JNull.hpp>
17
+ #include "JDownloadedPlaylist.hpp"
18
+ #include <string>
19
+ #include "Playlist.hpp"
20
+ #include "JPlaylist.hpp"
21
+ #include <optional>
22
+ #include "JVariant_NullType_String.hpp"
23
+ #include "TrackItem.hpp"
24
+ #include <vector>
25
+ #include "JTrackItem.hpp"
26
+ #include <NitroModules/AnyMap.hpp>
27
+ #include <NitroModules/JAnyMap.hpp>
28
+ #include "DownloadedTrack.hpp"
29
+ #include "JDownloadedTrack.hpp"
30
+ #include "StorageLocation.hpp"
31
+ #include "JStorageLocation.hpp"
32
+
33
+ namespace margelo::nitro::nitroplayer {
34
+
35
+ using namespace facebook;
36
+
37
+ /**
38
+ * The C++ JNI bridge between the C++ std::variant and the Java class "Variant_NullType_DownloadedPlaylist".
39
+ */
40
+ class JVariant_NullType_DownloadedPlaylist: public jni::JavaClass<JVariant_NullType_DownloadedPlaylist> {
41
+ public:
42
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/Variant_NullType_DownloadedPlaylist;";
43
+
44
+ static jni::local_ref<JVariant_NullType_DownloadedPlaylist> create_0(jni::alias_ref<JNull> value) {
45
+ static const auto method = javaClassStatic()->getStaticMethod<JVariant_NullType_DownloadedPlaylist(jni::alias_ref<JNull>)>("create");
46
+ return method(javaClassStatic(), value);
47
+ }
48
+ static jni::local_ref<JVariant_NullType_DownloadedPlaylist> create_1(jni::alias_ref<JDownloadedPlaylist> value) {
49
+ static const auto method = javaClassStatic()->getStaticMethod<JVariant_NullType_DownloadedPlaylist(jni::alias_ref<JDownloadedPlaylist>)>("create");
50
+ return method(javaClassStatic(), value);
51
+ }
52
+
53
+ static jni::local_ref<JVariant_NullType_DownloadedPlaylist> fromCpp(const std::variant<nitro::NullType, DownloadedPlaylist>& variant) {
54
+ switch (variant.index()) {
55
+ case 0: return create_0(JNull::null());
56
+ case 1: return create_1(JDownloadedPlaylist::fromCpp(std::get<1>(variant)));
57
+ default: throw std::invalid_argument("Variant holds unknown index! (" + std::to_string(variant.index()) + ")");
58
+ }
59
+ }
60
+
61
+ [[nodiscard]] std::variant<nitro::NullType, DownloadedPlaylist> toCpp() const;
62
+ };
63
+
64
+ namespace JVariant_NullType_DownloadedPlaylist_impl {
65
+ class First: public jni::JavaClass<First, JVariant_NullType_DownloadedPlaylist> {
66
+ public:
67
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/Variant_NullType_DownloadedPlaylist$First;";
68
+
69
+ [[nodiscard]] jni::local_ref<JNull> getValue() const {
70
+ static const auto field = javaClassStatic()->getField<JNull>("value");
71
+ return getFieldValue(field);
72
+ }
73
+ };
74
+
75
+ class Second: public jni::JavaClass<Second, JVariant_NullType_DownloadedPlaylist> {
76
+ public:
77
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/Variant_NullType_DownloadedPlaylist$Second;";
78
+
79
+ [[nodiscard]] jni::local_ref<JDownloadedPlaylist> getValue() const {
80
+ static const auto field = javaClassStatic()->getField<JDownloadedPlaylist>("value");
81
+ return getFieldValue(field);
82
+ }
83
+ };
84
+ } // namespace JVariant_NullType_DownloadedPlaylist_impl
85
+ } // namespace margelo::nitro::nitroplayer
@@ -0,0 +1,26 @@
1
+ ///
2
+ /// JVariant_NullType_DownloadedTrack.cpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #include "JVariant_NullType_DownloadedTrack.hpp"
9
+
10
+ namespace margelo::nitro::nitroplayer {
11
+ /**
12
+ * Converts JVariant_NullType_DownloadedTrack to std::variant<nitro::NullType, DownloadedTrack>
13
+ */
14
+ std::variant<nitro::NullType, DownloadedTrack> JVariant_NullType_DownloadedTrack::toCpp() const {
15
+ if (isInstanceOf(JVariant_NullType_DownloadedTrack_impl::First::javaClassStatic())) {
16
+ // It's a `nitro::NullType`
17
+ auto jniValue = static_cast<const JVariant_NullType_DownloadedTrack_impl::First*>(this)->getValue();
18
+ return nitro::null;
19
+ } else if (isInstanceOf(JVariant_NullType_DownloadedTrack_impl::Second::javaClassStatic())) {
20
+ // It's a `DownloadedTrack`
21
+ auto jniValue = static_cast<const JVariant_NullType_DownloadedTrack_impl::Second*>(this)->getValue();
22
+ return jniValue->toCpp();
23
+ }
24
+ throw std::invalid_argument("Variant is unknown Kotlin instance!");
25
+ }
26
+ } // namespace margelo::nitro::nitroplayer
@@ -0,0 +1,80 @@
1
+ ///
2
+ /// JVariant_NullType_DownloadedTrack.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include <variant>
12
+
13
+ #include <NitroModules/Null.hpp>
14
+ #include "DownloadedTrack.hpp"
15
+ #include <variant>
16
+ #include <NitroModules/JNull.hpp>
17
+ #include "JDownloadedTrack.hpp"
18
+ #include <string>
19
+ #include "TrackItem.hpp"
20
+ #include "JTrackItem.hpp"
21
+ #include <optional>
22
+ #include "JVariant_NullType_String.hpp"
23
+ #include <NitroModules/AnyMap.hpp>
24
+ #include <NitroModules/JAnyMap.hpp>
25
+ #include "StorageLocation.hpp"
26
+ #include "JStorageLocation.hpp"
27
+
28
+ namespace margelo::nitro::nitroplayer {
29
+
30
+ using namespace facebook;
31
+
32
+ /**
33
+ * The C++ JNI bridge between the C++ std::variant and the Java class "Variant_NullType_DownloadedTrack".
34
+ */
35
+ class JVariant_NullType_DownloadedTrack: public jni::JavaClass<JVariant_NullType_DownloadedTrack> {
36
+ public:
37
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/Variant_NullType_DownloadedTrack;";
38
+
39
+ static jni::local_ref<JVariant_NullType_DownloadedTrack> create_0(jni::alias_ref<JNull> value) {
40
+ static const auto method = javaClassStatic()->getStaticMethod<JVariant_NullType_DownloadedTrack(jni::alias_ref<JNull>)>("create");
41
+ return method(javaClassStatic(), value);
42
+ }
43
+ static jni::local_ref<JVariant_NullType_DownloadedTrack> create_1(jni::alias_ref<JDownloadedTrack> value) {
44
+ static const auto method = javaClassStatic()->getStaticMethod<JVariant_NullType_DownloadedTrack(jni::alias_ref<JDownloadedTrack>)>("create");
45
+ return method(javaClassStatic(), value);
46
+ }
47
+
48
+ static jni::local_ref<JVariant_NullType_DownloadedTrack> fromCpp(const std::variant<nitro::NullType, DownloadedTrack>& variant) {
49
+ switch (variant.index()) {
50
+ case 0: return create_0(JNull::null());
51
+ case 1: return create_1(JDownloadedTrack::fromCpp(std::get<1>(variant)));
52
+ default: throw std::invalid_argument("Variant holds unknown index! (" + std::to_string(variant.index()) + ")");
53
+ }
54
+ }
55
+
56
+ [[nodiscard]] std::variant<nitro::NullType, DownloadedTrack> toCpp() const;
57
+ };
58
+
59
+ namespace JVariant_NullType_DownloadedTrack_impl {
60
+ class First: public jni::JavaClass<First, JVariant_NullType_DownloadedTrack> {
61
+ public:
62
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/Variant_NullType_DownloadedTrack$First;";
63
+
64
+ [[nodiscard]] jni::local_ref<JNull> getValue() const {
65
+ static const auto field = javaClassStatic()->getField<JNull>("value");
66
+ return getFieldValue(field);
67
+ }
68
+ };
69
+
70
+ class Second: public jni::JavaClass<Second, JVariant_NullType_DownloadedTrack> {
71
+ public:
72
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/Variant_NullType_DownloadedTrack$Second;";
73
+
74
+ [[nodiscard]] jni::local_ref<JDownloadedTrack> getValue() const {
75
+ static const auto field = javaClassStatic()->getField<JDownloadedTrack>("value");
76
+ return getFieldValue(field);
77
+ }
78
+ };
79
+ } // namespace JVariant_NullType_DownloadedTrack_impl
80
+ } // namespace margelo::nitro::nitroplayer
@@ -21,6 +21,8 @@
21
21
  #include "TrackItem.hpp"
22
22
  #include <vector>
23
23
  #include "JTrackItem.hpp"
24
+ #include <NitroModules/AnyMap.hpp>
25
+ #include <NitroModules/JAnyMap.hpp>
24
26
 
25
27
  namespace margelo::nitro::nitroplayer {
26
28
 
@@ -18,6 +18,8 @@
18
18
  #include <string>
19
19
  #include <optional>
20
20
  #include "JVariant_NullType_String.hpp"
21
+ #include <NitroModules/AnyMap.hpp>
22
+ #include <NitroModules/JAnyMap.hpp>
21
23
 
22
24
  namespace margelo::nitro::nitroplayer {
23
25
 
@@ -0,0 +1,23 @@
1
+ ///
2
+ /// CurrentPlayingType.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.nitroplayer
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+ /**
14
+ * Represents the JavaScript enum/union "CurrentPlayingType".
15
+ */
16
+ @DoNotStrip
17
+ @Keep
18
+ enum class CurrentPlayingType(@DoNotStrip @Keep val value: Int) {
19
+ PLAYLIST(0),
20
+ UP_NEXT(1),
21
+ PLAY_NEXT(2),
22
+ NOT_PLAYING(3);
23
+ }
@@ -0,0 +1,59 @@
1
+ ///
2
+ /// DownloadConfig.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.nitroplayer
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+ import com.margelo.nitro.core.NullType
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "DownloadConfig".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class DownloadConfig(
20
+ @DoNotStrip
21
+ @Keep
22
+ val storageLocation: StorageLocation?,
23
+ @DoNotStrip
24
+ @Keep
25
+ val maxConcurrentDownloads: Double?,
26
+ @DoNotStrip
27
+ @Keep
28
+ val autoRetry: Boolean?,
29
+ @DoNotStrip
30
+ @Keep
31
+ val maxRetryAttempts: Double?,
32
+ @DoNotStrip
33
+ @Keep
34
+ val backgroundDownloadsEnabled: Boolean?,
35
+ @DoNotStrip
36
+ @Keep
37
+ val downloadArtwork: Boolean?,
38
+ @DoNotStrip
39
+ @Keep
40
+ val customDownloadPath: Variant_NullType_String?,
41
+ @DoNotStrip
42
+ @Keep
43
+ val wifiOnlyDownloads: Boolean?
44
+ ) {
45
+ /* primary constructor */
46
+
47
+ private companion object {
48
+ /**
49
+ * Constructor called from C++
50
+ */
51
+ @DoNotStrip
52
+ @Keep
53
+ @Suppress("unused")
54
+ @JvmStatic
55
+ private fun fromCpp(storageLocation: StorageLocation?, maxConcurrentDownloads: Double?, autoRetry: Boolean?, maxRetryAttempts: Double?, backgroundDownloadsEnabled: Boolean?, downloadArtwork: Boolean?, customDownloadPath: Variant_NullType_String?, wifiOnlyDownloads: Boolean?): DownloadConfig {
56
+ return DownloadConfig(storageLocation, maxConcurrentDownloads, autoRetry, maxRetryAttempts, backgroundDownloadsEnabled, downloadArtwork, customDownloadPath, wifiOnlyDownloads)
57
+ }
58
+ }
59
+ }
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// DownloadError.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.nitroplayer
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "DownloadError".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class DownloadError(
20
+ @DoNotStrip
21
+ @Keep
22
+ val code: String,
23
+ @DoNotStrip
24
+ @Keep
25
+ val message: String,
26
+ @DoNotStrip
27
+ @Keep
28
+ val reason: DownloadErrorReason,
29
+ @DoNotStrip
30
+ @Keep
31
+ val isRetryable: Boolean
32
+ ) {
33
+ /* primary constructor */
34
+
35
+ private companion object {
36
+ /**
37
+ * Constructor called from C++
38
+ */
39
+ @DoNotStrip
40
+ @Keep
41
+ @Suppress("unused")
42
+ @JvmStatic
43
+ private fun fromCpp(code: String, message: String, reason: DownloadErrorReason, isRetryable: Boolean): DownloadError {
44
+ return DownloadError(code, message, reason, isRetryable)
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,26 @@
1
+ ///
2
+ /// DownloadErrorReason.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.nitroplayer
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+ /**
14
+ * Represents the JavaScript enum/union "DownloadErrorReason".
15
+ */
16
+ @DoNotStrip
17
+ @Keep
18
+ enum class DownloadErrorReason(@DoNotStrip @Keep val value: Int) {
19
+ NETWORK_ERROR(0),
20
+ STORAGE_FULL(1),
21
+ FILE_NOT_FOUND(2),
22
+ PERMISSION_DENIED(3),
23
+ INVALID_URL(4),
24
+ TIMEOUT(5),
25
+ UNKNOWN(6);
26
+ }
@@ -0,0 +1,53 @@
1
+ ///
2
+ /// DownloadProgress.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.nitroplayer
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "DownloadProgress".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class DownloadProgress(
20
+ @DoNotStrip
21
+ @Keep
22
+ val trackId: String,
23
+ @DoNotStrip
24
+ @Keep
25
+ val downloadId: String,
26
+ @DoNotStrip
27
+ @Keep
28
+ val bytesDownloaded: Double,
29
+ @DoNotStrip
30
+ @Keep
31
+ val totalBytes: Double,
32
+ @DoNotStrip
33
+ @Keep
34
+ val progress: Double,
35
+ @DoNotStrip
36
+ @Keep
37
+ val state: DownloadState
38
+ ) {
39
+ /* primary constructor */
40
+
41
+ private companion object {
42
+ /**
43
+ * Constructor called from C++
44
+ */
45
+ @DoNotStrip
46
+ @Keep
47
+ @Suppress("unused")
48
+ @JvmStatic
49
+ private fun fromCpp(trackId: String, downloadId: String, bytesDownloaded: Double, totalBytes: Double, progress: Double, state: DownloadState): DownloadProgress {
50
+ return DownloadProgress(trackId, downloadId, bytesDownloaded, totalBytes, progress, state)
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,56 @@
1
+ ///
2
+ /// DownloadQueueStatus.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.nitroplayer
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "DownloadQueueStatus".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class DownloadQueueStatus(
20
+ @DoNotStrip
21
+ @Keep
22
+ val pendingCount: Double,
23
+ @DoNotStrip
24
+ @Keep
25
+ val activeCount: Double,
26
+ @DoNotStrip
27
+ @Keep
28
+ val completedCount: Double,
29
+ @DoNotStrip
30
+ @Keep
31
+ val failedCount: Double,
32
+ @DoNotStrip
33
+ @Keep
34
+ val totalBytesToDownload: Double,
35
+ @DoNotStrip
36
+ @Keep
37
+ val totalBytesDownloaded: Double,
38
+ @DoNotStrip
39
+ @Keep
40
+ val overallProgress: Double
41
+ ) {
42
+ /* primary constructor */
43
+
44
+ private companion object {
45
+ /**
46
+ * Constructor called from C++
47
+ */
48
+ @DoNotStrip
49
+ @Keep
50
+ @Suppress("unused")
51
+ @JvmStatic
52
+ private fun fromCpp(pendingCount: Double, activeCount: Double, completedCount: Double, failedCount: Double, totalBytesToDownload: Double, totalBytesDownloaded: Double, overallProgress: Double): DownloadQueueStatus {
53
+ return DownloadQueueStatus(pendingCount, activeCount, completedCount, failedCount, totalBytesToDownload, totalBytesDownloaded, overallProgress)
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,25 @@
1
+ ///
2
+ /// DownloadState.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.nitroplayer
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+ /**
14
+ * Represents the JavaScript enum/union "DownloadState".
15
+ */
16
+ @DoNotStrip
17
+ @Keep
18
+ enum class DownloadState(@DoNotStrip @Keep val value: Int) {
19
+ PENDING(0),
20
+ DOWNLOADING(1),
21
+ PAUSED(2),
22
+ COMPLETED(3),
23
+ FAILED(4),
24
+ CANCELLED(5);
25
+ }
@@ -0,0 +1,50 @@
1
+ ///
2
+ /// DownloadStorageInfo.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.nitroplayer
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "DownloadStorageInfo".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class DownloadStorageInfo(
20
+ @DoNotStrip
21
+ @Keep
22
+ val totalDownloadedSize: Double,
23
+ @DoNotStrip
24
+ @Keep
25
+ val trackCount: Double,
26
+ @DoNotStrip
27
+ @Keep
28
+ val playlistCount: Double,
29
+ @DoNotStrip
30
+ @Keep
31
+ val availableSpace: Double,
32
+ @DoNotStrip
33
+ @Keep
34
+ val totalSpace: Double
35
+ ) {
36
+ /* primary constructor */
37
+
38
+ private companion object {
39
+ /**
40
+ * Constructor called from C++
41
+ */
42
+ @DoNotStrip
43
+ @Keep
44
+ @Suppress("unused")
45
+ @JvmStatic
46
+ private fun fromCpp(totalDownloadedSize: Double, trackCount: Double, playlistCount: Double, availableSpace: Double, totalSpace: Double): DownloadStorageInfo {
47
+ return DownloadStorageInfo(totalDownloadedSize, trackCount, playlistCount, availableSpace, totalSpace)
48
+ }
49
+ }
50
+ }
@@ -0,0 +1,65 @@
1
+ ///
2
+ /// DownloadTask.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.nitroplayer
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+ import com.margelo.nitro.core.NullType
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "DownloadTask".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class DownloadTask(
20
+ @DoNotStrip
21
+ @Keep
22
+ val downloadId: String,
23
+ @DoNotStrip
24
+ @Keep
25
+ val trackId: String,
26
+ @DoNotStrip
27
+ @Keep
28
+ val playlistId: Variant_NullType_String?,
29
+ @DoNotStrip
30
+ @Keep
31
+ val state: DownloadState,
32
+ @DoNotStrip
33
+ @Keep
34
+ val progress: DownloadProgress,
35
+ @DoNotStrip
36
+ @Keep
37
+ val createdAt: Double,
38
+ @DoNotStrip
39
+ @Keep
40
+ val startedAt: Variant_NullType_Double?,
41
+ @DoNotStrip
42
+ @Keep
43
+ val completedAt: Variant_NullType_Double?,
44
+ @DoNotStrip
45
+ @Keep
46
+ val error: Variant_NullType_DownloadError?,
47
+ @DoNotStrip
48
+ @Keep
49
+ val retryCount: Double
50
+ ) {
51
+ /* primary constructor */
52
+
53
+ private companion object {
54
+ /**
55
+ * Constructor called from C++
56
+ */
57
+ @DoNotStrip
58
+ @Keep
59
+ @Suppress("unused")
60
+ @JvmStatic
61
+ private fun fromCpp(downloadId: String, trackId: String, playlistId: Variant_NullType_String?, state: DownloadState, progress: DownloadProgress, createdAt: Double, startedAt: Variant_NullType_Double?, completedAt: Variant_NullType_Double?, error: Variant_NullType_DownloadError?, retryCount: Double): DownloadTask {
62
+ return DownloadTask(downloadId, trackId, playlistId, state, progress, createdAt, startedAt, completedAt, error, retryCount)
63
+ }
64
+ }
65
+ }
@@ -0,0 +1,53 @@
1
+ ///
2
+ /// DownloadedPlaylist.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.nitroplayer
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "DownloadedPlaylist".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class DownloadedPlaylist(
20
+ @DoNotStrip
21
+ @Keep
22
+ val playlistId: String,
23
+ @DoNotStrip
24
+ @Keep
25
+ val originalPlaylist: Playlist,
26
+ @DoNotStrip
27
+ @Keep
28
+ val downloadedTracks: Array<DownloadedTrack>,
29
+ @DoNotStrip
30
+ @Keep
31
+ val totalSize: Double,
32
+ @DoNotStrip
33
+ @Keep
34
+ val downloadedAt: Double,
35
+ @DoNotStrip
36
+ @Keep
37
+ val isComplete: Boolean
38
+ ) {
39
+ /* primary constructor */
40
+
41
+ private companion object {
42
+ /**
43
+ * Constructor called from C++
44
+ */
45
+ @DoNotStrip
46
+ @Keep
47
+ @Suppress("unused")
48
+ @JvmStatic
49
+ private fun fromCpp(playlistId: String, originalPlaylist: Playlist, downloadedTracks: Array<DownloadedTrack>, totalSize: Double, downloadedAt: Double, isComplete: Boolean): DownloadedPlaylist {
50
+ return DownloadedPlaylist(playlistId, originalPlaylist, downloadedTracks, totalSize, downloadedAt, isComplete)
51
+ }
52
+ }
53
+ }