react-native-nitro-player 0.7.0 → 0.7.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +47 -46
  2. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridAndroidAutoMediaLibrary.kt +9 -13
  3. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridAudioDevices.kt +45 -90
  4. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridDownloadManager.kt +48 -182
  5. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridEqualizer.kt +21 -77
  6. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridPlayerQueue.kt +55 -104
  7. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridTrackPlayer.kt +113 -123
  8. package/android/src/main/java/com/margelo/nitro/nitroplayer/core/ExoPlayerCore.kt +82 -0
  9. package/android/src/main/java/com/margelo/nitro/nitroplayer/core/ListenerRegistry.kt +48 -0
  10. package/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerAndroidAuto.kt +62 -0
  11. package/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerCore.kt +153 -1887
  12. package/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerListener.kt +122 -0
  13. package/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerNotify.kt +44 -0
  14. package/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerPlayback.kt +162 -0
  15. package/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerQueue.kt +179 -0
  16. package/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerQueueBuild.kt +170 -0
  17. package/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerSetup.kt +28 -0
  18. package/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerTempQueue.kt +121 -0
  19. package/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerUrlLoader.kt +98 -0
  20. package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadDatabase.kt +27 -18
  21. package/android/src/main/java/com/margelo/nitro/nitroplayer/equalizer/EqualizerCore.kt +150 -135
  22. package/android/src/main/java/com/margelo/nitro/nitroplayer/media/MediaSessionManager.kt +13 -30
  23. package/android/src/main/java/com/margelo/nitro/nitroplayer/playlist/PlaylistManager.kt +102 -162
  24. package/ios/HybridDownloadManager.swift +32 -26
  25. package/ios/HybridEqualizer.swift +48 -35
  26. package/ios/HybridTrackPlayer.swift +127 -102
  27. package/ios/core/ListenerRegistry.swift +60 -0
  28. package/ios/core/TrackPlayerCore.swift +130 -2356
  29. package/ios/core/TrackPlayerListener.swift +395 -0
  30. package/ios/core/TrackPlayerNotify.swift +52 -0
  31. package/ios/core/TrackPlayerPlayback.swift +274 -0
  32. package/ios/core/TrackPlayerQueue.swift +221 -0
  33. package/ios/core/TrackPlayerQueueBuild.swift +493 -0
  34. package/ios/core/TrackPlayerTempQueue.swift +167 -0
  35. package/ios/core/TrackPlayerUrlLoader.swift +169 -0
  36. package/ios/equalizer/EqualizerCore.swift +63 -123
  37. package/ios/media/MediaSessionManager.swift +32 -49
  38. package/ios/playlist/PlaylistManager.swift +2 -9
  39. package/ios/queue/HybridPlayerQueue.swift +69 -66
  40. package/lib/hooks/useDownloadedTracks.js +16 -13
  41. package/lib/hooks/useEqualizer.d.ts +4 -4
  42. package/lib/hooks/useEqualizer.js +22 -17
  43. package/lib/hooks/useEqualizerPresets.d.ts +3 -3
  44. package/lib/hooks/useEqualizerPresets.js +12 -18
  45. package/lib/specs/AndroidAutoMediaLibrary.nitro.d.ts +2 -2
  46. package/lib/specs/AudioDevices.nitro.d.ts +2 -2
  47. package/lib/specs/DownloadManager.nitro.d.ts +10 -10
  48. package/lib/specs/Equalizer.nitro.d.ts +10 -10
  49. package/lib/specs/TrackPlayer.nitro.d.ts +38 -16
  50. package/lib/types/EqualizerTypes.d.ts +3 -3
  51. package/nitrogen/generated/android/NitroPlayerOnLoad.cpp +2 -0
  52. package/nitrogen/generated/android/c++/JFunc_void_std__vector_TrackItem__std__vector_TrackItem_.hpp +122 -0
  53. package/nitrogen/generated/android/c++/JHybridAndroidAutoMediaLibrarySpec.cpp +31 -6
  54. package/nitrogen/generated/android/c++/JHybridAndroidAutoMediaLibrarySpec.hpp +2 -2
  55. package/nitrogen/generated/android/c++/JHybridAudioDevicesSpec.cpp +16 -3
  56. package/nitrogen/generated/android/c++/JHybridAudioDevicesSpec.hpp +1 -1
  57. package/nitrogen/generated/android/c++/JHybridDownloadManagerSpec.cpp +154 -44
  58. package/nitrogen/generated/android/c++/JHybridDownloadManagerSpec.hpp +10 -10
  59. package/nitrogen/generated/android/c++/JHybridEqualizerSpec.cpp +130 -34
  60. package/nitrogen/generated/android/c++/JHybridEqualizerSpec.hpp +9 -9
  61. package/nitrogen/generated/android/c++/JHybridPlayerQueueSpec.cpp +115 -24
  62. package/nitrogen/generated/android/c++/JHybridPlayerQueueSpec.hpp +8 -8
  63. package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.cpp +243 -24
  64. package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.hpp +16 -8
  65. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__vector_TrackItem__std__vector_TrackItem_.kt +80 -0
  66. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridAndroidAutoMediaLibrarySpec.kt +3 -2
  67. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridAudioDevicesSpec.kt +2 -1
  68. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridDownloadManagerSpec.kt +10 -10
  69. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridEqualizerSpec.kt +10 -9
  70. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridPlayerQueueSpec.kt +9 -8
  71. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridTrackPlayerSpec.kt +45 -8
  72. package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Bridge.cpp +74 -18
  73. package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Bridge.hpp +380 -151
  74. package/nitrogen/generated/ios/c++/HybridDownloadManagerSpecSwift.hpp +10 -10
  75. package/nitrogen/generated/ios/c++/HybridEqualizerSpecSwift.hpp +12 -9
  76. package/nitrogen/generated/ios/c++/HybridPlayerQueueSpecSwift.hpp +23 -8
  77. package/nitrogen/generated/ios/c++/HybridTrackPlayerSpecSwift.hpp +82 -8
  78. package/nitrogen/generated/ios/swift/Func_void_EqualizerState.swift +46 -0
  79. package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__DownloadedPlaylist_.swift +58 -0
  80. package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__DownloadedTrack_.swift +58 -0
  81. package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__std__string_.swift +58 -0
  82. package/nitrogen/generated/ios/swift/Func_void_std__vector_DownloadedPlaylist_.swift +46 -0
  83. package/nitrogen/generated/ios/swift/Func_void_std__vector_DownloadedTrack_.swift +46 -0
  84. package/nitrogen/generated/ios/swift/Func_void_std__vector_EqualizerBand_.swift +5 -5
  85. package/nitrogen/generated/ios/swift/Func_void_std__vector_TrackItem__std__vector_TrackItem_.swift +46 -0
  86. package/nitrogen/generated/ios/swift/HybridDownloadManagerSpec.swift +10 -10
  87. package/nitrogen/generated/ios/swift/HybridDownloadManagerSpec_cxx.swift +141 -71
  88. package/nitrogen/generated/ios/swift/HybridEqualizerSpec.swift +9 -9
  89. package/nitrogen/generated/ios/swift/HybridEqualizerSpec_cxx.swift +105 -41
  90. package/nitrogen/generated/ios/swift/HybridPlayerQueueSpec.swift +8 -8
  91. package/nitrogen/generated/ios/swift/HybridPlayerQueueSpec_cxx.swift +95 -32
  92. package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec.swift +16 -8
  93. package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec_cxx.swift +267 -32
  94. package/nitrogen/generated/shared/c++/HybridAndroidAutoMediaLibrarySpec.hpp +3 -2
  95. package/nitrogen/generated/shared/c++/HybridAudioDevicesSpec.hpp +2 -1
  96. package/nitrogen/generated/shared/c++/HybridDownloadManagerSpec.hpp +10 -10
  97. package/nitrogen/generated/shared/c++/HybridEqualizerSpec.hpp +10 -9
  98. package/nitrogen/generated/shared/c++/HybridPlayerQueueSpec.hpp +9 -8
  99. package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.cpp +8 -0
  100. package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.hpp +16 -8
  101. package/package.json +5 -5
  102. package/src/hooks/useDownloadedTracks.ts +17 -13
  103. package/src/hooks/useEqualizer.ts +26 -21
  104. package/src/hooks/useEqualizerPresets.ts +15 -21
  105. package/src/specs/AndroidAutoMediaLibrary.nitro.ts +2 -2
  106. package/src/specs/AudioDevices.nitro.ts +2 -2
  107. package/src/specs/DownloadManager.nitro.ts +10 -10
  108. package/src/specs/Equalizer.nitro.ts +10 -10
  109. package/src/specs/TrackPlayer.nitro.ts +52 -16
  110. package/src/types/EqualizerTypes.ts +17 -13
@@ -0,0 +1,46 @@
1
+ ///
2
+ /// Func_void_std__vector_DownloadedPlaylist_.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+ /**
11
+ * Wraps a Swift `(_ value: [DownloadedPlaylist]) -> Void` as a class.
12
+ * This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`.
13
+ */
14
+ public final class Func_void_std__vector_DownloadedPlaylist_ {
15
+ public typealias bridge = margelo.nitro.nitroplayer.bridge.swift
16
+
17
+ private let closure: (_ value: [DownloadedPlaylist]) -> Void
18
+
19
+ public init(_ closure: @escaping (_ value: [DownloadedPlaylist]) -> Void) {
20
+ self.closure = closure
21
+ }
22
+
23
+ @inline(__always)
24
+ public func call(value: bridge.std__vector_DownloadedPlaylist_) -> Void {
25
+ self.closure(value.map({ __item in __item }))
26
+ }
27
+
28
+ /**
29
+ * Casts this instance to a retained unsafe raw pointer.
30
+ * This acquires one additional strong reference on the object!
31
+ */
32
+ @inline(__always)
33
+ public func toUnsafe() -> UnsafeMutableRawPointer {
34
+ return Unmanaged.passRetained(self).toOpaque()
35
+ }
36
+
37
+ /**
38
+ * Casts an unsafe pointer to a `Func_void_std__vector_DownloadedPlaylist_`.
39
+ * The pointer has to be a retained opaque `Unmanaged<Func_void_std__vector_DownloadedPlaylist_>`.
40
+ * This removes one strong reference from the object!
41
+ */
42
+ @inline(__always)
43
+ public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> Func_void_std__vector_DownloadedPlaylist_ {
44
+ return Unmanaged<Func_void_std__vector_DownloadedPlaylist_>.fromOpaque(pointer).takeRetainedValue()
45
+ }
46
+ }
@@ -0,0 +1,46 @@
1
+ ///
2
+ /// Func_void_std__vector_DownloadedTrack_.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+ /**
11
+ * Wraps a Swift `(_ value: [DownloadedTrack]) -> Void` as a class.
12
+ * This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`.
13
+ */
14
+ public final class Func_void_std__vector_DownloadedTrack_ {
15
+ public typealias bridge = margelo.nitro.nitroplayer.bridge.swift
16
+
17
+ private let closure: (_ value: [DownloadedTrack]) -> Void
18
+
19
+ public init(_ closure: @escaping (_ value: [DownloadedTrack]) -> Void) {
20
+ self.closure = closure
21
+ }
22
+
23
+ @inline(__always)
24
+ public func call(value: bridge.std__vector_DownloadedTrack_) -> Void {
25
+ self.closure(value.map({ __item in __item }))
26
+ }
27
+
28
+ /**
29
+ * Casts this instance to a retained unsafe raw pointer.
30
+ * This acquires one additional strong reference on the object!
31
+ */
32
+ @inline(__always)
33
+ public func toUnsafe() -> UnsafeMutableRawPointer {
34
+ return Unmanaged.passRetained(self).toOpaque()
35
+ }
36
+
37
+ /**
38
+ * Casts an unsafe pointer to a `Func_void_std__vector_DownloadedTrack_`.
39
+ * The pointer has to be a retained opaque `Unmanaged<Func_void_std__vector_DownloadedTrack_>`.
40
+ * This removes one strong reference from the object!
41
+ */
42
+ @inline(__always)
43
+ public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> Func_void_std__vector_DownloadedTrack_ {
44
+ return Unmanaged<Func_void_std__vector_DownloadedTrack_>.fromOpaque(pointer).takeRetainedValue()
45
+ }
46
+ }
@@ -8,21 +8,21 @@
8
8
  import NitroModules
9
9
 
10
10
  /**
11
- * Wraps a Swift `(_ bands: [EqualizerBand]) -> Void` as a class.
11
+ * Wraps a Swift `(_ value: [EqualizerBand]) -> Void` as a class.
12
12
  * This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`.
13
13
  */
14
14
  public final class Func_void_std__vector_EqualizerBand_ {
15
15
  public typealias bridge = margelo.nitro.nitroplayer.bridge.swift
16
16
 
17
- private let closure: (_ bands: [EqualizerBand]) -> Void
17
+ private let closure: (_ value: [EqualizerBand]) -> Void
18
18
 
19
- public init(_ closure: @escaping (_ bands: [EqualizerBand]) -> Void) {
19
+ public init(_ closure: @escaping (_ value: [EqualizerBand]) -> Void) {
20
20
  self.closure = closure
21
21
  }
22
22
 
23
23
  @inline(__always)
24
- public func call(bands: bridge.std__vector_EqualizerBand_) -> Void {
25
- self.closure(bands.map({ __item in __item }))
24
+ public func call(value: bridge.std__vector_EqualizerBand_) -> Void {
25
+ self.closure(value.map({ __item in __item }))
26
26
  }
27
27
 
28
28
  /**
@@ -0,0 +1,46 @@
1
+ ///
2
+ /// Func_void_std__vector_TrackItem__std__vector_TrackItem_.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+ /**
11
+ * Wraps a Swift `(_ playNextQueue: [TrackItem], _ upNextQueue: [TrackItem]) -> Void` as a class.
12
+ * This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`.
13
+ */
14
+ public final class Func_void_std__vector_TrackItem__std__vector_TrackItem_ {
15
+ public typealias bridge = margelo.nitro.nitroplayer.bridge.swift
16
+
17
+ private let closure: (_ playNextQueue: [TrackItem], _ upNextQueue: [TrackItem]) -> Void
18
+
19
+ public init(_ closure: @escaping (_ playNextQueue: [TrackItem], _ upNextQueue: [TrackItem]) -> Void) {
20
+ self.closure = closure
21
+ }
22
+
23
+ @inline(__always)
24
+ public func call(playNextQueue: bridge.std__vector_TrackItem_, upNextQueue: bridge.std__vector_TrackItem_) -> Void {
25
+ self.closure(playNextQueue.map({ __item in __item }), upNextQueue.map({ __item in __item }))
26
+ }
27
+
28
+ /**
29
+ * Casts this instance to a retained unsafe raw pointer.
30
+ * This acquires one additional strong reference on the object!
31
+ */
32
+ @inline(__always)
33
+ public func toUnsafe() -> UnsafeMutableRawPointer {
34
+ return Unmanaged.passRetained(self).toOpaque()
35
+ }
36
+
37
+ /**
38
+ * Casts an unsafe pointer to a `Func_void_std__vector_TrackItem__std__vector_TrackItem_`.
39
+ * The pointer has to be a retained opaque `Unmanaged<Func_void_std__vector_TrackItem__std__vector_TrackItem_>`.
40
+ * This removes one strong reference from the object!
41
+ */
42
+ @inline(__always)
43
+ public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> Func_void_std__vector_TrackItem__std__vector_TrackItem_ {
44
+ return Unmanaged<Func_void_std__vector_TrackItem__std__vector_TrackItem_>.fromOpaque(pointer).takeRetainedValue()
45
+ }
46
+ }
@@ -29,22 +29,22 @@ public protocol HybridDownloadManagerSpec_protocol: HybridObject {
29
29
  func getQueueStatus() throws -> DownloadQueueStatus
30
30
  func isDownloading(trackId: String) throws -> Bool
31
31
  func getDownloadState(trackId: String) throws -> DownloadState
32
- func isTrackDownloaded(trackId: String) throws -> Bool
33
- func isPlaylistDownloaded(playlistId: String) throws -> Bool
34
- func isPlaylistPartiallyDownloaded(playlistId: String) throws -> Bool
35
- func getDownloadedTrack(trackId: String) throws -> Variant_NullType_DownloadedTrack
36
- func getAllDownloadedTracks() throws -> [DownloadedTrack]
37
- func getDownloadedPlaylist(playlistId: String) throws -> Variant_NullType_DownloadedPlaylist
38
- func getAllDownloadedPlaylists() throws -> [DownloadedPlaylist]
39
- func getLocalPath(trackId: String) throws -> Variant_NullType_String
32
+ func isTrackDownloaded(trackId: String) throws -> Promise<Bool>
33
+ func isPlaylistDownloaded(playlistId: String) throws -> Promise<Bool>
34
+ func isPlaylistPartiallyDownloaded(playlistId: String) throws -> Promise<Bool>
35
+ func getDownloadedTrack(trackId: String) throws -> Promise<Variant_NullType_DownloadedTrack>
36
+ func getAllDownloadedTracks() throws -> Promise<[DownloadedTrack]>
37
+ func getDownloadedPlaylist(playlistId: String) throws -> Promise<Variant_NullType_DownloadedPlaylist>
38
+ func getAllDownloadedPlaylists() throws -> Promise<[DownloadedPlaylist]>
39
+ func getLocalPath(trackId: String) throws -> Promise<Variant_NullType_String>
40
40
  func deleteDownloadedTrack(trackId: String) throws -> Promise<Void>
41
41
  func deleteDownloadedPlaylist(playlistId: String) throws -> Promise<Void>
42
42
  func deleteAllDownloads() throws -> Promise<Void>
43
43
  func getStorageInfo() throws -> Promise<DownloadStorageInfo>
44
- func syncDownloads() throws -> Double
44
+ func syncDownloads() throws -> Promise<Double>
45
45
  func setPlaybackSourcePreference(preference: PlaybackSource) throws -> Void
46
46
  func getPlaybackSourcePreference() throws -> PlaybackSource
47
- func getEffectiveUrl(track: TrackItem) throws -> String
47
+ func getEffectiveUrl(track: TrackItem) throws -> Promise<String>
48
48
  func onDownloadProgress(callback: @escaping (_ progress: DownloadProgress) -> Void) throws -> Void
49
49
  func onDownloadStateChange(callback: @escaping (_ downloadId: String, _ trackId: String, _ state: DownloadState, _ error: DownloadError?) -> Void) throws -> Void
50
50
  func onDownloadComplete(callback: @escaping (_ downloadedTrack: DownloadedTrack) -> Void) throws -> Void
@@ -405,131 +405,187 @@ open class HybridDownloadManagerSpec_cxx {
405
405
  }
406
406
 
407
407
  @inline(__always)
408
- public final func isTrackDownloaded(trackId: std.string) -> bridge.Result_bool_ {
408
+ public final func isTrackDownloaded(trackId: std.string) -> bridge.Result_std__shared_ptr_Promise_bool___ {
409
409
  do {
410
410
  let __result = try self.__implementation.isTrackDownloaded(trackId: String(trackId))
411
- let __resultCpp = __result
412
- return bridge.create_Result_bool_(__resultCpp)
411
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_bool__ in
412
+ let __promise = bridge.create_std__shared_ptr_Promise_bool__()
413
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_bool__(__promise)
414
+ __result
415
+ .then({ __result in __promiseHolder.resolve(__result) })
416
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
417
+ return __promise
418
+ }()
419
+ return bridge.create_Result_std__shared_ptr_Promise_bool___(__resultCpp)
413
420
  } catch (let __error) {
414
421
  let __exceptionPtr = __error.toCpp()
415
- return bridge.create_Result_bool_(__exceptionPtr)
422
+ return bridge.create_Result_std__shared_ptr_Promise_bool___(__exceptionPtr)
416
423
  }
417
424
  }
418
425
 
419
426
  @inline(__always)
420
- public final func isPlaylistDownloaded(playlistId: std.string) -> bridge.Result_bool_ {
427
+ public final func isPlaylistDownloaded(playlistId: std.string) -> bridge.Result_std__shared_ptr_Promise_bool___ {
421
428
  do {
422
429
  let __result = try self.__implementation.isPlaylistDownloaded(playlistId: String(playlistId))
423
- let __resultCpp = __result
424
- return bridge.create_Result_bool_(__resultCpp)
430
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_bool__ in
431
+ let __promise = bridge.create_std__shared_ptr_Promise_bool__()
432
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_bool__(__promise)
433
+ __result
434
+ .then({ __result in __promiseHolder.resolve(__result) })
435
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
436
+ return __promise
437
+ }()
438
+ return bridge.create_Result_std__shared_ptr_Promise_bool___(__resultCpp)
425
439
  } catch (let __error) {
426
440
  let __exceptionPtr = __error.toCpp()
427
- return bridge.create_Result_bool_(__exceptionPtr)
441
+ return bridge.create_Result_std__shared_ptr_Promise_bool___(__exceptionPtr)
428
442
  }
429
443
  }
430
444
 
431
445
  @inline(__always)
432
- public final func isPlaylistPartiallyDownloaded(playlistId: std.string) -> bridge.Result_bool_ {
446
+ public final func isPlaylistPartiallyDownloaded(playlistId: std.string) -> bridge.Result_std__shared_ptr_Promise_bool___ {
433
447
  do {
434
448
  let __result = try self.__implementation.isPlaylistPartiallyDownloaded(playlistId: String(playlistId))
435
- let __resultCpp = __result
436
- return bridge.create_Result_bool_(__resultCpp)
449
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_bool__ in
450
+ let __promise = bridge.create_std__shared_ptr_Promise_bool__()
451
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_bool__(__promise)
452
+ __result
453
+ .then({ __result in __promiseHolder.resolve(__result) })
454
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
455
+ return __promise
456
+ }()
457
+ return bridge.create_Result_std__shared_ptr_Promise_bool___(__resultCpp)
437
458
  } catch (let __error) {
438
459
  let __exceptionPtr = __error.toCpp()
439
- return bridge.create_Result_bool_(__exceptionPtr)
460
+ return bridge.create_Result_std__shared_ptr_Promise_bool___(__exceptionPtr)
440
461
  }
441
462
  }
442
463
 
443
464
  @inline(__always)
444
- public final func getDownloadedTrack(trackId: std.string) -> bridge.Result_std__variant_nitro__NullType__DownloadedTrack__ {
465
+ public final func getDownloadedTrack(trackId: std.string) -> bridge.Result_std__shared_ptr_Promise_std__variant_nitro__NullType__DownloadedTrack____ {
445
466
  do {
446
467
  let __result = try self.__implementation.getDownloadedTrack(trackId: String(trackId))
447
- let __resultCpp = { () -> bridge.std__variant_nitro__NullType__DownloadedTrack_ in
448
- switch __result {
449
- case .first(let __value):
450
- return bridge.create_std__variant_nitro__NullType__DownloadedTrack_(margelo.nitro.NullType.null)
451
- case .second(let __value):
452
- return bridge.create_std__variant_nitro__NullType__DownloadedTrack_(__value)
453
- }
454
- }().variant
455
- return bridge.create_Result_std__variant_nitro__NullType__DownloadedTrack__(__resultCpp)
468
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__variant_nitro__NullType__DownloadedTrack___ in
469
+ let __promise = bridge.create_std__shared_ptr_Promise_std__variant_nitro__NullType__DownloadedTrack___()
470
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__variant_nitro__NullType__DownloadedTrack___(__promise)
471
+ __result
472
+ .then({ __result in __promiseHolder.resolve({ () -> bridge.std__variant_nitro__NullType__DownloadedTrack_ in
473
+ switch __result {
474
+ case .first(let __value):
475
+ return bridge.create_std__variant_nitro__NullType__DownloadedTrack_(margelo.nitro.NullType.null)
476
+ case .second(let __value):
477
+ return bridge.create_std__variant_nitro__NullType__DownloadedTrack_(__value)
478
+ }
479
+ }().variant) })
480
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
481
+ return __promise
482
+ }()
483
+ return bridge.create_Result_std__shared_ptr_Promise_std__variant_nitro__NullType__DownloadedTrack____(__resultCpp)
456
484
  } catch (let __error) {
457
485
  let __exceptionPtr = __error.toCpp()
458
- return bridge.create_Result_std__variant_nitro__NullType__DownloadedTrack__(__exceptionPtr)
486
+ return bridge.create_Result_std__shared_ptr_Promise_std__variant_nitro__NullType__DownloadedTrack____(__exceptionPtr)
459
487
  }
460
488
  }
461
489
 
462
490
  @inline(__always)
463
- public final func getAllDownloadedTracks() -> bridge.Result_std__vector_DownloadedTrack__ {
491
+ public final func getAllDownloadedTracks() -> bridge.Result_std__shared_ptr_Promise_std__vector_DownloadedTrack____ {
464
492
  do {
465
493
  let __result = try self.__implementation.getAllDownloadedTracks()
466
- let __resultCpp = { () -> bridge.std__vector_DownloadedTrack_ in
467
- var __vector = bridge.create_std__vector_DownloadedTrack_(__result.count)
468
- for __item in __result {
469
- __vector.push_back(__item)
470
- }
471
- return __vector
494
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__vector_DownloadedTrack___ in
495
+ let __promise = bridge.create_std__shared_ptr_Promise_std__vector_DownloadedTrack___()
496
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__vector_DownloadedTrack___(__promise)
497
+ __result
498
+ .then({ __result in __promiseHolder.resolve({ () -> bridge.std__vector_DownloadedTrack_ in
499
+ var __vector = bridge.create_std__vector_DownloadedTrack_(__result.count)
500
+ for __item in __result {
501
+ __vector.push_back(__item)
502
+ }
503
+ return __vector
504
+ }()) })
505
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
506
+ return __promise
472
507
  }()
473
- return bridge.create_Result_std__vector_DownloadedTrack__(__resultCpp)
508
+ return bridge.create_Result_std__shared_ptr_Promise_std__vector_DownloadedTrack____(__resultCpp)
474
509
  } catch (let __error) {
475
510
  let __exceptionPtr = __error.toCpp()
476
- return bridge.create_Result_std__vector_DownloadedTrack__(__exceptionPtr)
511
+ return bridge.create_Result_std__shared_ptr_Promise_std__vector_DownloadedTrack____(__exceptionPtr)
477
512
  }
478
513
  }
479
514
 
480
515
  @inline(__always)
481
- public final func getDownloadedPlaylist(playlistId: std.string) -> bridge.Result_std__variant_nitro__NullType__DownloadedPlaylist__ {
516
+ public final func getDownloadedPlaylist(playlistId: std.string) -> bridge.Result_std__shared_ptr_Promise_std__variant_nitro__NullType__DownloadedPlaylist____ {
482
517
  do {
483
518
  let __result = try self.__implementation.getDownloadedPlaylist(playlistId: String(playlistId))
484
- let __resultCpp = { () -> bridge.std__variant_nitro__NullType__DownloadedPlaylist_ in
485
- switch __result {
486
- case .first(let __value):
487
- return bridge.create_std__variant_nitro__NullType__DownloadedPlaylist_(margelo.nitro.NullType.null)
488
- case .second(let __value):
489
- return bridge.create_std__variant_nitro__NullType__DownloadedPlaylist_(__value)
490
- }
491
- }().variant
492
- return bridge.create_Result_std__variant_nitro__NullType__DownloadedPlaylist__(__resultCpp)
519
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__variant_nitro__NullType__DownloadedPlaylist___ in
520
+ let __promise = bridge.create_std__shared_ptr_Promise_std__variant_nitro__NullType__DownloadedPlaylist___()
521
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__variant_nitro__NullType__DownloadedPlaylist___(__promise)
522
+ __result
523
+ .then({ __result in __promiseHolder.resolve({ () -> bridge.std__variant_nitro__NullType__DownloadedPlaylist_ in
524
+ switch __result {
525
+ case .first(let __value):
526
+ return bridge.create_std__variant_nitro__NullType__DownloadedPlaylist_(margelo.nitro.NullType.null)
527
+ case .second(let __value):
528
+ return bridge.create_std__variant_nitro__NullType__DownloadedPlaylist_(__value)
529
+ }
530
+ }().variant) })
531
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
532
+ return __promise
533
+ }()
534
+ return bridge.create_Result_std__shared_ptr_Promise_std__variant_nitro__NullType__DownloadedPlaylist____(__resultCpp)
493
535
  } catch (let __error) {
494
536
  let __exceptionPtr = __error.toCpp()
495
- return bridge.create_Result_std__variant_nitro__NullType__DownloadedPlaylist__(__exceptionPtr)
537
+ return bridge.create_Result_std__shared_ptr_Promise_std__variant_nitro__NullType__DownloadedPlaylist____(__exceptionPtr)
496
538
  }
497
539
  }
498
540
 
499
541
  @inline(__always)
500
- public final func getAllDownloadedPlaylists() -> bridge.Result_std__vector_DownloadedPlaylist__ {
542
+ public final func getAllDownloadedPlaylists() -> bridge.Result_std__shared_ptr_Promise_std__vector_DownloadedPlaylist____ {
501
543
  do {
502
544
  let __result = try self.__implementation.getAllDownloadedPlaylists()
503
- let __resultCpp = { () -> bridge.std__vector_DownloadedPlaylist_ in
504
- var __vector = bridge.create_std__vector_DownloadedPlaylist_(__result.count)
505
- for __item in __result {
506
- __vector.push_back(__item)
507
- }
508
- return __vector
545
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__vector_DownloadedPlaylist___ in
546
+ let __promise = bridge.create_std__shared_ptr_Promise_std__vector_DownloadedPlaylist___()
547
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__vector_DownloadedPlaylist___(__promise)
548
+ __result
549
+ .then({ __result in __promiseHolder.resolve({ () -> bridge.std__vector_DownloadedPlaylist_ in
550
+ var __vector = bridge.create_std__vector_DownloadedPlaylist_(__result.count)
551
+ for __item in __result {
552
+ __vector.push_back(__item)
553
+ }
554
+ return __vector
555
+ }()) })
556
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
557
+ return __promise
509
558
  }()
510
- return bridge.create_Result_std__vector_DownloadedPlaylist__(__resultCpp)
559
+ return bridge.create_Result_std__shared_ptr_Promise_std__vector_DownloadedPlaylist____(__resultCpp)
511
560
  } catch (let __error) {
512
561
  let __exceptionPtr = __error.toCpp()
513
- return bridge.create_Result_std__vector_DownloadedPlaylist__(__exceptionPtr)
562
+ return bridge.create_Result_std__shared_ptr_Promise_std__vector_DownloadedPlaylist____(__exceptionPtr)
514
563
  }
515
564
  }
516
565
 
517
566
  @inline(__always)
518
- public final func getLocalPath(trackId: std.string) -> bridge.Result_std__variant_nitro__NullType__std__string__ {
567
+ public final func getLocalPath(trackId: std.string) -> bridge.Result_std__shared_ptr_Promise_std__variant_nitro__NullType__std__string____ {
519
568
  do {
520
569
  let __result = try self.__implementation.getLocalPath(trackId: String(trackId))
521
- let __resultCpp = { () -> bridge.std__variant_nitro__NullType__std__string_ in
522
- switch __result {
523
- case .first(let __value):
524
- return bridge.create_std__variant_nitro__NullType__std__string_(margelo.nitro.NullType.null)
525
- case .second(let __value):
526
- return bridge.create_std__variant_nitro__NullType__std__string_(std.string(__value))
527
- }
528
- }().variant
529
- return bridge.create_Result_std__variant_nitro__NullType__std__string__(__resultCpp)
570
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__variant_nitro__NullType__std__string___ in
571
+ let __promise = bridge.create_std__shared_ptr_Promise_std__variant_nitro__NullType__std__string___()
572
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__variant_nitro__NullType__std__string___(__promise)
573
+ __result
574
+ .then({ __result in __promiseHolder.resolve({ () -> bridge.std__variant_nitro__NullType__std__string_ in
575
+ switch __result {
576
+ case .first(let __value):
577
+ return bridge.create_std__variant_nitro__NullType__std__string_(margelo.nitro.NullType.null)
578
+ case .second(let __value):
579
+ return bridge.create_std__variant_nitro__NullType__std__string_(std.string(__value))
580
+ }
581
+ }().variant) })
582
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
583
+ return __promise
584
+ }()
585
+ return bridge.create_Result_std__shared_ptr_Promise_std__variant_nitro__NullType__std__string____(__resultCpp)
530
586
  } catch (let __error) {
531
587
  let __exceptionPtr = __error.toCpp()
532
- return bridge.create_Result_std__variant_nitro__NullType__std__string__(__exceptionPtr)
588
+ return bridge.create_Result_std__shared_ptr_Promise_std__variant_nitro__NullType__std__string____(__exceptionPtr)
533
589
  }
534
590
  }
535
591
 
@@ -610,14 +666,21 @@ open class HybridDownloadManagerSpec_cxx {
610
666
  }
611
667
 
612
668
  @inline(__always)
613
- public final func syncDownloads() -> bridge.Result_double_ {
669
+ public final func syncDownloads() -> bridge.Result_std__shared_ptr_Promise_double___ {
614
670
  do {
615
671
  let __result = try self.__implementation.syncDownloads()
616
- let __resultCpp = __result
617
- return bridge.create_Result_double_(__resultCpp)
672
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_double__ in
673
+ let __promise = bridge.create_std__shared_ptr_Promise_double__()
674
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_double__(__promise)
675
+ __result
676
+ .then({ __result in __promiseHolder.resolve(__result) })
677
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
678
+ return __promise
679
+ }()
680
+ return bridge.create_Result_std__shared_ptr_Promise_double___(__resultCpp)
618
681
  } catch (let __error) {
619
682
  let __exceptionPtr = __error.toCpp()
620
- return bridge.create_Result_double_(__exceptionPtr)
683
+ return bridge.create_Result_std__shared_ptr_Promise_double___(__exceptionPtr)
621
684
  }
622
685
  }
623
686
 
@@ -645,14 +708,21 @@ open class HybridDownloadManagerSpec_cxx {
645
708
  }
646
709
 
647
710
  @inline(__always)
648
- public final func getEffectiveUrl(track: TrackItem) -> bridge.Result_std__string_ {
711
+ public final func getEffectiveUrl(track: TrackItem) -> bridge.Result_std__shared_ptr_Promise_std__string___ {
649
712
  do {
650
713
  let __result = try self.__implementation.getEffectiveUrl(track: track)
651
- let __resultCpp = std.string(__result)
652
- return bridge.create_Result_std__string_(__resultCpp)
714
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__string__ in
715
+ let __promise = bridge.create_std__shared_ptr_Promise_std__string__()
716
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__string__(__promise)
717
+ __result
718
+ .then({ __result in __promiseHolder.resolve(std.string(__result)) })
719
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
720
+ return __promise
721
+ }()
722
+ return bridge.create_Result_std__shared_ptr_Promise_std__string___(__resultCpp)
653
723
  } catch (let __error) {
654
724
  let __exceptionPtr = __error.toCpp()
655
- return bridge.create_Result_std__string_(__exceptionPtr)
725
+ return bridge.create_Result_std__shared_ptr_Promise_std__string___(__exceptionPtr)
656
726
  }
657
727
  }
658
728
 
@@ -13,21 +13,21 @@ public protocol HybridEqualizerSpec_protocol: HybridObject {
13
13
 
14
14
 
15
15
  // Methods
16
- func setEnabled(enabled: Bool) throws -> Bool
16
+ func setEnabled(enabled: Bool) throws -> Promise<Void>
17
17
  func isEnabled() throws -> Bool
18
- func getBands() throws -> [EqualizerBand]
19
- func setBandGain(bandIndex: Double, gainDb: Double) throws -> Bool
20
- func setAllBandGains(gains: [Double]) throws -> Bool
18
+ func getBands() throws -> Promise<[EqualizerBand]>
19
+ func setBandGain(bandIndex: Double, gainDb: Double) throws -> Promise<Void>
20
+ func setAllBandGains(gains: [Double]) throws -> Promise<Void>
21
21
  func getBandRange() throws -> GainRange
22
22
  func getPresets() throws -> [EqualizerPreset]
23
23
  func getBuiltInPresets() throws -> [EqualizerPreset]
24
24
  func getCustomPresets() throws -> [EqualizerPreset]
25
- func applyPreset(presetName: String) throws -> Bool
25
+ func applyPreset(presetName: String) throws -> Promise<Void>
26
26
  func getCurrentPresetName() throws -> Variant_NullType_String
27
- func saveCustomPreset(name: String) throws -> Bool
28
- func deleteCustomPreset(name: String) throws -> Bool
29
- func getState() throws -> EqualizerState
30
- func reset() throws -> Void
27
+ func saveCustomPreset(name: String) throws -> Promise<Void>
28
+ func deleteCustomPreset(name: String) throws -> Promise<Void>
29
+ func getState() throws -> Promise<EqualizerState>
30
+ func reset() throws -> Promise<Void>
31
31
  func onEnabledChange(callback: @escaping (_ enabled: Bool) -> Void) throws -> Void
32
32
  func onBandChange(callback: @escaping (_ bands: [EqualizerBand]) -> Void) throws -> Void
33
33
  func onPresetChange(callback: @escaping (_ presetName: Variant_NullType_String?) -> Void) throws -> Void