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.
- package/README.md +444 -4
- package/android/build.gradle +4 -1
- package/android/src/main/AndroidManifest.xml +16 -1
- package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridAndroidAutoMediaLibrary.kt +2 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridAudioDevices.kt +8 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridDownloadManager.kt +225 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridEqualizer.kt +105 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridPlayerQueue.kt +6 -6
- package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridTrackPlayer.kt +37 -12
- package/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerCore.kt +970 -213
- package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadDatabase.kt +475 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadFileManager.kt +159 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadManagerCore.kt +489 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadWorker.kt +209 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/equalizer/EqualizerCore.kt +486 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/media/MediaBrowserService.kt +3 -1
- package/android/src/main/java/com/margelo/nitro/nitroplayer/media/MediaSessionManager.kt +14 -6
- package/android/src/main/java/com/margelo/nitro/nitroplayer/playlist/PlaylistManager.kt +27 -0
- package/ios/HybridDownloadManager.swift +226 -0
- package/ios/HybridEqualizer.swift +111 -0
- package/ios/HybridTrackPlayer.swift +36 -8
- package/ios/core/TrackPlayerCore.swift +998 -276
- package/ios/download/DownloadDatabase.swift +493 -0
- package/ios/download/DownloadFileManager.swift +241 -0
- package/ios/download/DownloadManagerCore.swift +923 -0
- package/ios/equalizer/EqualizerCore.swift +685 -0
- package/ios/media/MediaSessionManager.swift +40 -28
- package/ios/playlist/PlaylistManager.swift +40 -9
- package/ios/queue/HybridPlayerQueue.swift +33 -13
- package/lib/hooks/downloadCallbackManager.d.ts +36 -0
- package/lib/hooks/downloadCallbackManager.js +108 -0
- package/lib/hooks/equalizerCallbackManager.d.ts +37 -0
- package/lib/hooks/equalizerCallbackManager.js +109 -0
- package/lib/hooks/index.d.ts +16 -0
- package/lib/hooks/index.js +10 -0
- package/lib/hooks/useActualQueue.d.ts +48 -0
- package/lib/hooks/useActualQueue.js +98 -0
- package/lib/hooks/useDownloadActions.d.ts +26 -0
- package/lib/hooks/useDownloadActions.js +117 -0
- package/lib/hooks/useDownloadProgress.d.ts +25 -0
- package/lib/hooks/useDownloadProgress.js +79 -0
- package/lib/hooks/useDownloadStorage.d.ts +19 -0
- package/lib/hooks/useDownloadStorage.js +60 -0
- package/lib/hooks/useDownloadedTracks.d.ts +25 -0
- package/lib/hooks/useDownloadedTracks.js +69 -0
- package/lib/hooks/useEqualizer.d.ts +25 -0
- package/lib/hooks/useEqualizer.js +124 -0
- package/lib/hooks/useEqualizerPresets.d.ts +22 -0
- package/lib/hooks/useEqualizerPresets.js +96 -0
- package/lib/hooks/useNowPlaying.js +3 -2
- package/lib/hooks/useOnChangeTrack.js +15 -12
- package/lib/hooks/useOnPlaybackStateChange.js +16 -13
- package/lib/hooks/usePlaylist.d.ts +48 -0
- package/lib/hooks/usePlaylist.js +136 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.js +6 -0
- package/lib/specs/DownloadManager.nitro.d.ts +152 -0
- package/lib/specs/DownloadManager.nitro.js +1 -0
- package/lib/specs/Equalizer.nitro.d.ts +43 -0
- package/lib/specs/Equalizer.nitro.js +1 -0
- package/lib/specs/TrackPlayer.nitro.d.ts +6 -2
- package/lib/types/DownloadTypes.d.ts +110 -0
- package/lib/types/DownloadTypes.js +1 -0
- package/lib/types/EqualizerTypes.d.ts +52 -0
- package/lib/types/EqualizerTypes.js +1 -0
- package/lib/types/PlayerQueue.d.ts +4 -0
- package/nitro.json +8 -0
- package/nitrogen/generated/android/NitroPlayer+autolinking.cmake +10 -1
- package/nitrogen/generated/android/NitroPlayerOnLoad.cpp +32 -2
- package/nitrogen/generated/android/c++/JCurrentPlayingType.hpp +65 -0
- package/nitrogen/generated/android/c++/JDownloadConfig.hpp +92 -0
- package/nitrogen/generated/android/c++/JDownloadError.hpp +71 -0
- package/nitrogen/generated/android/c++/JDownloadErrorReason.hpp +74 -0
- package/nitrogen/generated/android/c++/JDownloadProgress.hpp +79 -0
- package/nitrogen/generated/android/c++/JDownloadQueueStatus.hpp +81 -0
- package/nitrogen/generated/android/c++/JDownloadState.hpp +71 -0
- package/nitrogen/generated/android/c++/JDownloadStorageInfo.hpp +73 -0
- package/nitrogen/generated/android/c++/JDownloadTask.hpp +108 -0
- package/nitrogen/generated/android/c++/JDownloadedPlaylist.hpp +111 -0
- package/nitrogen/generated/android/c++/JDownloadedTrack.hpp +92 -0
- package/nitrogen/generated/android/c++/JEqualizerBand.hpp +69 -0
- package/nitrogen/generated/android/c++/JEqualizerPreset.hpp +78 -0
- package/nitrogen/generated/android/c++/JEqualizerState.hpp +91 -0
- package/nitrogen/generated/android/c++/JFunc_void_DownloadProgress.hpp +80 -0
- package/nitrogen/generated/android/c++/JFunc_void_DownloadedTrack.hpp +89 -0
- package/nitrogen/generated/android/c++/JFunc_void_TrackItem_std__optional_Reason_.hpp +2 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__variant_nitro__NullType__std__string__.hpp +81 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__string_Playlist_std__optional_QueueOperation_.hpp +2 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__string_std__string_DownloadState_std__optional_DownloadError_.hpp +83 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_EqualizerBand_.hpp +97 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_Playlist__std__optional_QueueOperation_.hpp +2 -0
- package/nitrogen/generated/android/c++/JGainRange.hpp +61 -0
- package/nitrogen/generated/android/c++/JHybridDownloadManagerSpec.cpp +470 -0
- package/nitrogen/generated/android/c++/JHybridDownloadManagerSpec.hpp +99 -0
- package/nitrogen/generated/android/c++/JHybridEqualizerSpec.cpp +204 -0
- package/nitrogen/generated/android/c++/JHybridEqualizerSpec.hpp +82 -0
- package/nitrogen/generated/android/c++/JHybridPlayerQueueSpec.cpp +2 -0
- package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.cpp +117 -15
- package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.hpp +6 -2
- package/nitrogen/generated/android/c++/JPlaybackSource.hpp +62 -0
- package/nitrogen/generated/android/c++/JPlayerState.hpp +11 -3
- package/nitrogen/generated/android/c++/JPlaylist.hpp +2 -0
- package/nitrogen/generated/android/c++/JPresetType.hpp +59 -0
- package/nitrogen/generated/android/c++/JStorageLocation.hpp +59 -0
- package/nitrogen/generated/android/c++/JTrackItem.hpp +9 -3
- package/nitrogen/generated/android/c++/JTrackPlayerState.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_Double.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +69 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadError.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadError.hpp +74 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadTask.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadTask.hpp +84 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedPlaylist.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedPlaylist.hpp +85 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedTrack.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedTrack.hpp +80 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Playlist.hpp +2 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_TrackItem.hpp +2 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/CurrentPlayingType.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadConfig.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadError.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadErrorReason.kt +26 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadProgress.kt +53 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadQueueStatus.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadState.kt +25 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadStorageInfo.kt +50 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadTask.kt +65 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadedPlaylist.kt +53 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadedTrack.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/EqualizerBand.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/EqualizerPreset.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/EqualizerState.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_DownloadProgress.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_DownloadedTrack.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__optional_std__variant_nitro__NullType__std__string__.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__string_std__string_DownloadState_std__optional_DownloadError_.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__vector_EqualizerBand_.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/GainRange.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridDownloadManagerSpec.kt +210 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridEqualizerSpec.kt +141 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridTrackPlayerSpec.kt +19 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PlaybackSource.kt +22 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PlayerState.kt +6 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PresetType.kt +21 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/StorageLocation.kt +21 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/TrackItem.kt +7 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/TrackPlayerState.kt +2 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_Double.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadError.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadTask.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadedPlaylist.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadedTrack.kt +59 -0
- package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Bridge.cpp +138 -8
- package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Bridge.hpp +1046 -121
- package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Umbrella.hpp +66 -0
- package/nitrogen/generated/ios/NitroPlayerAutolinking.mm +16 -0
- package/nitrogen/generated/ios/NitroPlayerAutolinking.swift +30 -0
- package/nitrogen/generated/ios/c++/HybridDownloadManagerSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridDownloadManagerSpecSwift.hpp +386 -0
- package/nitrogen/generated/ios/c++/HybridEqualizerSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridEqualizerSpecSwift.hpp +223 -0
- package/nitrogen/generated/ios/c++/HybridPlayerQueueSpecSwift.hpp +1 -0
- package/nitrogen/generated/ios/c++/HybridTrackPlayerSpecSwift.hpp +46 -6
- package/nitrogen/generated/ios/swift/CurrentPlayingType.swift +48 -0
- package/nitrogen/generated/ios/swift/DownloadConfig.swift +270 -0
- package/nitrogen/generated/ios/swift/DownloadError.swift +69 -0
- package/nitrogen/generated/ios/swift/DownloadErrorReason.swift +60 -0
- package/nitrogen/generated/ios/swift/DownloadProgress.swift +91 -0
- package/nitrogen/generated/ios/swift/DownloadQueueStatus.swift +102 -0
- package/nitrogen/generated/ios/swift/DownloadState.swift +56 -0
- package/nitrogen/generated/ios/swift/DownloadStorageInfo.swift +80 -0
- package/nitrogen/generated/ios/swift/DownloadTask.swift +315 -0
- package/nitrogen/generated/ios/swift/DownloadedPlaylist.swift +103 -0
- package/nitrogen/generated/ios/swift/DownloadedTrack.swift +147 -0
- package/nitrogen/generated/ios/swift/EqualizerBand.swift +69 -0
- package/nitrogen/generated/ios/swift/EqualizerPreset.swift +70 -0
- package/nitrogen/generated/ios/swift/EqualizerState.swift +115 -0
- package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_DownloadProgress.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_DownloadStorageInfo.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_DownloadedTrack.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_PlayerState.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +5 -5
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_std__variant_nitro__NullType__std__string__.swift +66 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string_std__string_DownloadState_std__optional_DownloadError_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_EqualizerBand_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_TrackItem_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift +47 -0
- package/nitrogen/generated/ios/swift/GainRange.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridDownloadManagerSpec.swift +90 -0
- package/nitrogen/generated/ios/swift/HybridDownloadManagerSpec_cxx.swift +705 -0
- package/nitrogen/generated/ios/swift/HybridEqualizerSpec.swift +73 -0
- package/nitrogen/generated/ios/swift/HybridEqualizerSpec_cxx.swift +396 -0
- package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec.swift +6 -2
- package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec_cxx.swift +105 -8
- package/nitrogen/generated/ios/swift/PlaybackSource.swift +44 -0
- package/nitrogen/generated/ios/swift/PlayerState.swift +13 -2
- package/nitrogen/generated/ios/swift/PresetType.swift +40 -0
- package/nitrogen/generated/ios/swift/StorageLocation.swift +40 -0
- package/nitrogen/generated/ios/swift/TrackItem.swift +31 -1
- package/nitrogen/generated/ios/swift/TrackPlayerState.swift +4 -4
- package/nitrogen/generated/ios/swift/Variant_NullType_Double.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_DownloadError.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_DownloadTask.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_DownloadedPlaylist.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_DownloadedTrack.swift +18 -0
- package/nitrogen/generated/shared/c++/CurrentPlayingType.hpp +84 -0
- package/nitrogen/generated/shared/c++/DownloadConfig.hpp +108 -0
- package/nitrogen/generated/shared/c++/DownloadError.hpp +89 -0
- package/nitrogen/generated/shared/c++/DownloadErrorReason.hpp +96 -0
- package/nitrogen/generated/shared/c++/DownloadProgress.hpp +97 -0
- package/nitrogen/generated/shared/c++/DownloadQueueStatus.hpp +99 -0
- package/nitrogen/generated/shared/c++/DownloadState.hpp +92 -0
- package/nitrogen/generated/shared/c++/DownloadStorageInfo.hpp +91 -0
- package/nitrogen/generated/shared/c++/DownloadTask.hpp +122 -0
- package/nitrogen/generated/shared/c++/DownloadedPlaylist.hpp +101 -0
- package/nitrogen/generated/shared/c++/DownloadedTrack.hpp +107 -0
- package/nitrogen/generated/shared/c++/EqualizerBand.hpp +87 -0
- package/nitrogen/generated/shared/c++/EqualizerPreset.hpp +86 -0
- package/nitrogen/generated/shared/c++/EqualizerState.hpp +89 -0
- package/nitrogen/generated/shared/c++/GainRange.hpp +79 -0
- package/nitrogen/generated/shared/c++/HybridDownloadManagerSpec.cpp +55 -0
- package/nitrogen/generated/shared/c++/HybridDownloadManagerSpec.hpp +134 -0
- package/nitrogen/generated/shared/c++/HybridEqualizerSpec.cpp +38 -0
- package/nitrogen/generated/shared/c++/HybridEqualizerSpec.hpp +95 -0
- package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.cpp +4 -0
- package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.hpp +11 -5
- package/nitrogen/generated/shared/c++/PlaybackSource.hpp +80 -0
- package/nitrogen/generated/shared/c++/PlayerState.hpp +9 -2
- package/nitrogen/generated/shared/c++/PresetType.hpp +76 -0
- package/nitrogen/generated/shared/c++/StorageLocation.hpp +76 -0
- package/nitrogen/generated/shared/c++/TrackItem.hpp +7 -2
- package/nitrogen/generated/shared/c++/TrackPlayerState.hpp +5 -5
- package/package.json +1 -1
- package/src/hooks/downloadCallbackManager.ts +149 -0
- package/src/hooks/equalizerCallbackManager.ts +138 -0
- package/src/hooks/index.ts +23 -0
- package/src/hooks/useActualQueue.ts +116 -0
- package/src/hooks/useDownloadActions.ts +179 -0
- package/src/hooks/useDownloadProgress.ts +126 -0
- package/src/hooks/useDownloadStorage.ts +84 -0
- package/src/hooks/useDownloadedTracks.ts +138 -0
- package/src/hooks/useEqualizer.ts +173 -0
- package/src/hooks/useEqualizerPresets.ts +140 -0
- package/src/hooks/useNowPlaying.ts +3 -2
- package/src/hooks/useOnChangeTrack.ts +15 -11
- package/src/hooks/useOnPlaybackStateChange.ts +19 -15
- package/src/hooks/usePlaylist.ts +161 -0
- package/src/index.ts +12 -0
- package/src/specs/DownloadManager.nitro.ts +203 -0
- package/src/specs/Equalizer.nitro.ts +69 -0
- package/src/specs/TrackPlayer.nitro.ts +6 -2
- package/src/types/DownloadTypes.ts +135 -0
- package/src/types/EqualizerTypes.ts +72 -0
- package/src/types/PlayerQueue.ts +9 -0
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// DownloadTask.swift
|
|
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
|
+
import Foundation
|
|
9
|
+
import NitroModules
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Represents an instance of `DownloadTask`, backed by a C++ struct.
|
|
13
|
+
*/
|
|
14
|
+
public typealias DownloadTask = margelo.nitro.nitroplayer.DownloadTask
|
|
15
|
+
|
|
16
|
+
public extension DownloadTask {
|
|
17
|
+
private typealias bridge = margelo.nitro.nitroplayer.bridge.swift
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Create a new instance of `DownloadTask`.
|
|
21
|
+
*/
|
|
22
|
+
init(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) {
|
|
23
|
+
self.init(std.string(downloadId), std.string(trackId), { () -> bridge.std__optional_std__variant_nitro__NullType__std__string__ in
|
|
24
|
+
if let __unwrappedValue = playlistId {
|
|
25
|
+
return bridge.create_std__optional_std__variant_nitro__NullType__std__string__({ () -> bridge.std__variant_nitro__NullType__std__string_ in
|
|
26
|
+
switch __unwrappedValue {
|
|
27
|
+
case .first(let __value):
|
|
28
|
+
return bridge.create_std__variant_nitro__NullType__std__string_(margelo.nitro.NullType.null)
|
|
29
|
+
case .second(let __value):
|
|
30
|
+
return bridge.create_std__variant_nitro__NullType__std__string_(std.string(__value))
|
|
31
|
+
}
|
|
32
|
+
}().variant)
|
|
33
|
+
} else {
|
|
34
|
+
return .init()
|
|
35
|
+
}
|
|
36
|
+
}(), state, progress, createdAt, { () -> bridge.std__optional_std__variant_nitro__NullType__double__ in
|
|
37
|
+
if let __unwrappedValue = startedAt {
|
|
38
|
+
return bridge.create_std__optional_std__variant_nitro__NullType__double__({ () -> bridge.std__variant_nitro__NullType__double_ in
|
|
39
|
+
switch __unwrappedValue {
|
|
40
|
+
case .first(let __value):
|
|
41
|
+
return bridge.create_std__variant_nitro__NullType__double_(margelo.nitro.NullType.null)
|
|
42
|
+
case .second(let __value):
|
|
43
|
+
return bridge.create_std__variant_nitro__NullType__double_(__value)
|
|
44
|
+
}
|
|
45
|
+
}().variant)
|
|
46
|
+
} else {
|
|
47
|
+
return .init()
|
|
48
|
+
}
|
|
49
|
+
}(), { () -> bridge.std__optional_std__variant_nitro__NullType__double__ in
|
|
50
|
+
if let __unwrappedValue = completedAt {
|
|
51
|
+
return bridge.create_std__optional_std__variant_nitro__NullType__double__({ () -> bridge.std__variant_nitro__NullType__double_ in
|
|
52
|
+
switch __unwrappedValue {
|
|
53
|
+
case .first(let __value):
|
|
54
|
+
return bridge.create_std__variant_nitro__NullType__double_(margelo.nitro.NullType.null)
|
|
55
|
+
case .second(let __value):
|
|
56
|
+
return bridge.create_std__variant_nitro__NullType__double_(__value)
|
|
57
|
+
}
|
|
58
|
+
}().variant)
|
|
59
|
+
} else {
|
|
60
|
+
return .init()
|
|
61
|
+
}
|
|
62
|
+
}(), { () -> bridge.std__optional_std__variant_nitro__NullType__DownloadError__ in
|
|
63
|
+
if let __unwrappedValue = error {
|
|
64
|
+
return bridge.create_std__optional_std__variant_nitro__NullType__DownloadError__({ () -> bridge.std__variant_nitro__NullType__DownloadError_ in
|
|
65
|
+
switch __unwrappedValue {
|
|
66
|
+
case .first(let __value):
|
|
67
|
+
return bridge.create_std__variant_nitro__NullType__DownloadError_(margelo.nitro.NullType.null)
|
|
68
|
+
case .second(let __value):
|
|
69
|
+
return bridge.create_std__variant_nitro__NullType__DownloadError_(__value)
|
|
70
|
+
}
|
|
71
|
+
}().variant)
|
|
72
|
+
} else {
|
|
73
|
+
return .init()
|
|
74
|
+
}
|
|
75
|
+
}(), retryCount)
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
var downloadId: String {
|
|
79
|
+
@inline(__always)
|
|
80
|
+
get {
|
|
81
|
+
return String(self.__downloadId)
|
|
82
|
+
}
|
|
83
|
+
@inline(__always)
|
|
84
|
+
set {
|
|
85
|
+
self.__downloadId = std.string(newValue)
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
var trackId: String {
|
|
90
|
+
@inline(__always)
|
|
91
|
+
get {
|
|
92
|
+
return String(self.__trackId)
|
|
93
|
+
}
|
|
94
|
+
@inline(__always)
|
|
95
|
+
set {
|
|
96
|
+
self.__trackId = std.string(newValue)
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
var playlistId: Variant_NullType_String? {
|
|
101
|
+
@inline(__always)
|
|
102
|
+
get {
|
|
103
|
+
return { () -> Variant_NullType_String? in
|
|
104
|
+
if bridge.has_value_std__optional_std__variant_nitro__NullType__std__string__(self.__playlistId) {
|
|
105
|
+
let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__std__string__(self.__playlistId)
|
|
106
|
+
return { () -> Variant_NullType_String in
|
|
107
|
+
let __variant = bridge.std__variant_nitro__NullType__std__string_(__unwrapped)
|
|
108
|
+
switch __variant.index() {
|
|
109
|
+
case 0:
|
|
110
|
+
let __actual = __variant.get_0()
|
|
111
|
+
return .first(NullType.null)
|
|
112
|
+
case 1:
|
|
113
|
+
let __actual = __variant.get_1()
|
|
114
|
+
return .second(String(__actual))
|
|
115
|
+
default:
|
|
116
|
+
fatalError("Variant can never have index \(__variant.index())!")
|
|
117
|
+
}
|
|
118
|
+
}()
|
|
119
|
+
} else {
|
|
120
|
+
return nil
|
|
121
|
+
}
|
|
122
|
+
}()
|
|
123
|
+
}
|
|
124
|
+
@inline(__always)
|
|
125
|
+
set {
|
|
126
|
+
self.__playlistId = { () -> bridge.std__optional_std__variant_nitro__NullType__std__string__ in
|
|
127
|
+
if let __unwrappedValue = newValue {
|
|
128
|
+
return bridge.create_std__optional_std__variant_nitro__NullType__std__string__({ () -> bridge.std__variant_nitro__NullType__std__string_ in
|
|
129
|
+
switch __unwrappedValue {
|
|
130
|
+
case .first(let __value):
|
|
131
|
+
return bridge.create_std__variant_nitro__NullType__std__string_(margelo.nitro.NullType.null)
|
|
132
|
+
case .second(let __value):
|
|
133
|
+
return bridge.create_std__variant_nitro__NullType__std__string_(std.string(__value))
|
|
134
|
+
}
|
|
135
|
+
}().variant)
|
|
136
|
+
} else {
|
|
137
|
+
return .init()
|
|
138
|
+
}
|
|
139
|
+
}()
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
var state: DownloadState {
|
|
144
|
+
@inline(__always)
|
|
145
|
+
get {
|
|
146
|
+
return self.__state
|
|
147
|
+
}
|
|
148
|
+
@inline(__always)
|
|
149
|
+
set {
|
|
150
|
+
self.__state = newValue
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
var progress: DownloadProgress {
|
|
155
|
+
@inline(__always)
|
|
156
|
+
get {
|
|
157
|
+
return self.__progress
|
|
158
|
+
}
|
|
159
|
+
@inline(__always)
|
|
160
|
+
set {
|
|
161
|
+
self.__progress = newValue
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
var createdAt: Double {
|
|
166
|
+
@inline(__always)
|
|
167
|
+
get {
|
|
168
|
+
return self.__createdAt
|
|
169
|
+
}
|
|
170
|
+
@inline(__always)
|
|
171
|
+
set {
|
|
172
|
+
self.__createdAt = newValue
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
var startedAt: Variant_NullType_Double? {
|
|
177
|
+
@inline(__always)
|
|
178
|
+
get {
|
|
179
|
+
return { () -> Variant_NullType_Double? in
|
|
180
|
+
if bridge.has_value_std__optional_std__variant_nitro__NullType__double__(self.__startedAt) {
|
|
181
|
+
let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__double__(self.__startedAt)
|
|
182
|
+
return { () -> Variant_NullType_Double in
|
|
183
|
+
let __variant = bridge.std__variant_nitro__NullType__double_(__unwrapped)
|
|
184
|
+
switch __variant.index() {
|
|
185
|
+
case 0:
|
|
186
|
+
let __actual = __variant.get_0()
|
|
187
|
+
return .first(NullType.null)
|
|
188
|
+
case 1:
|
|
189
|
+
let __actual = __variant.get_1()
|
|
190
|
+
return .second(__actual)
|
|
191
|
+
default:
|
|
192
|
+
fatalError("Variant can never have index \(__variant.index())!")
|
|
193
|
+
}
|
|
194
|
+
}()
|
|
195
|
+
} else {
|
|
196
|
+
return nil
|
|
197
|
+
}
|
|
198
|
+
}()
|
|
199
|
+
}
|
|
200
|
+
@inline(__always)
|
|
201
|
+
set {
|
|
202
|
+
self.__startedAt = { () -> bridge.std__optional_std__variant_nitro__NullType__double__ in
|
|
203
|
+
if let __unwrappedValue = newValue {
|
|
204
|
+
return bridge.create_std__optional_std__variant_nitro__NullType__double__({ () -> bridge.std__variant_nitro__NullType__double_ in
|
|
205
|
+
switch __unwrappedValue {
|
|
206
|
+
case .first(let __value):
|
|
207
|
+
return bridge.create_std__variant_nitro__NullType__double_(margelo.nitro.NullType.null)
|
|
208
|
+
case .second(let __value):
|
|
209
|
+
return bridge.create_std__variant_nitro__NullType__double_(__value)
|
|
210
|
+
}
|
|
211
|
+
}().variant)
|
|
212
|
+
} else {
|
|
213
|
+
return .init()
|
|
214
|
+
}
|
|
215
|
+
}()
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
var completedAt: Variant_NullType_Double? {
|
|
220
|
+
@inline(__always)
|
|
221
|
+
get {
|
|
222
|
+
return { () -> Variant_NullType_Double? in
|
|
223
|
+
if bridge.has_value_std__optional_std__variant_nitro__NullType__double__(self.__completedAt) {
|
|
224
|
+
let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__double__(self.__completedAt)
|
|
225
|
+
return { () -> Variant_NullType_Double in
|
|
226
|
+
let __variant = bridge.std__variant_nitro__NullType__double_(__unwrapped)
|
|
227
|
+
switch __variant.index() {
|
|
228
|
+
case 0:
|
|
229
|
+
let __actual = __variant.get_0()
|
|
230
|
+
return .first(NullType.null)
|
|
231
|
+
case 1:
|
|
232
|
+
let __actual = __variant.get_1()
|
|
233
|
+
return .second(__actual)
|
|
234
|
+
default:
|
|
235
|
+
fatalError("Variant can never have index \(__variant.index())!")
|
|
236
|
+
}
|
|
237
|
+
}()
|
|
238
|
+
} else {
|
|
239
|
+
return nil
|
|
240
|
+
}
|
|
241
|
+
}()
|
|
242
|
+
}
|
|
243
|
+
@inline(__always)
|
|
244
|
+
set {
|
|
245
|
+
self.__completedAt = { () -> bridge.std__optional_std__variant_nitro__NullType__double__ in
|
|
246
|
+
if let __unwrappedValue = newValue {
|
|
247
|
+
return bridge.create_std__optional_std__variant_nitro__NullType__double__({ () -> bridge.std__variant_nitro__NullType__double_ in
|
|
248
|
+
switch __unwrappedValue {
|
|
249
|
+
case .first(let __value):
|
|
250
|
+
return bridge.create_std__variant_nitro__NullType__double_(margelo.nitro.NullType.null)
|
|
251
|
+
case .second(let __value):
|
|
252
|
+
return bridge.create_std__variant_nitro__NullType__double_(__value)
|
|
253
|
+
}
|
|
254
|
+
}().variant)
|
|
255
|
+
} else {
|
|
256
|
+
return .init()
|
|
257
|
+
}
|
|
258
|
+
}()
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
var error: Variant_NullType_DownloadError? {
|
|
263
|
+
@inline(__always)
|
|
264
|
+
get {
|
|
265
|
+
return { () -> Variant_NullType_DownloadError? in
|
|
266
|
+
if bridge.has_value_std__optional_std__variant_nitro__NullType__DownloadError__(self.__error) {
|
|
267
|
+
let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__DownloadError__(self.__error)
|
|
268
|
+
return { () -> Variant_NullType_DownloadError in
|
|
269
|
+
let __variant = bridge.std__variant_nitro__NullType__DownloadError_(__unwrapped)
|
|
270
|
+
switch __variant.index() {
|
|
271
|
+
case 0:
|
|
272
|
+
let __actual = __variant.get_0()
|
|
273
|
+
return .first(NullType.null)
|
|
274
|
+
case 1:
|
|
275
|
+
let __actual = __variant.get_1()
|
|
276
|
+
return .second(__actual)
|
|
277
|
+
default:
|
|
278
|
+
fatalError("Variant can never have index \(__variant.index())!")
|
|
279
|
+
}
|
|
280
|
+
}()
|
|
281
|
+
} else {
|
|
282
|
+
return nil
|
|
283
|
+
}
|
|
284
|
+
}()
|
|
285
|
+
}
|
|
286
|
+
@inline(__always)
|
|
287
|
+
set {
|
|
288
|
+
self.__error = { () -> bridge.std__optional_std__variant_nitro__NullType__DownloadError__ in
|
|
289
|
+
if let __unwrappedValue = newValue {
|
|
290
|
+
return bridge.create_std__optional_std__variant_nitro__NullType__DownloadError__({ () -> bridge.std__variant_nitro__NullType__DownloadError_ in
|
|
291
|
+
switch __unwrappedValue {
|
|
292
|
+
case .first(let __value):
|
|
293
|
+
return bridge.create_std__variant_nitro__NullType__DownloadError_(margelo.nitro.NullType.null)
|
|
294
|
+
case .second(let __value):
|
|
295
|
+
return bridge.create_std__variant_nitro__NullType__DownloadError_(__value)
|
|
296
|
+
}
|
|
297
|
+
}().variant)
|
|
298
|
+
} else {
|
|
299
|
+
return .init()
|
|
300
|
+
}
|
|
301
|
+
}()
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
var retryCount: Double {
|
|
306
|
+
@inline(__always)
|
|
307
|
+
get {
|
|
308
|
+
return self.__retryCount
|
|
309
|
+
}
|
|
310
|
+
@inline(__always)
|
|
311
|
+
set {
|
|
312
|
+
self.__retryCount = newValue
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// DownloadedPlaylist.swift
|
|
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
|
+
import Foundation
|
|
9
|
+
import NitroModules
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Represents an instance of `DownloadedPlaylist`, backed by a C++ struct.
|
|
13
|
+
*/
|
|
14
|
+
public typealias DownloadedPlaylist = margelo.nitro.nitroplayer.DownloadedPlaylist
|
|
15
|
+
|
|
16
|
+
public extension DownloadedPlaylist {
|
|
17
|
+
private typealias bridge = margelo.nitro.nitroplayer.bridge.swift
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Create a new instance of `DownloadedPlaylist`.
|
|
21
|
+
*/
|
|
22
|
+
init(playlistId: String, originalPlaylist: Playlist, downloadedTracks: [DownloadedTrack], totalSize: Double, downloadedAt: Double, isComplete: Bool) {
|
|
23
|
+
self.init(std.string(playlistId), originalPlaylist, { () -> bridge.std__vector_DownloadedTrack_ in
|
|
24
|
+
var __vector = bridge.create_std__vector_DownloadedTrack_(downloadedTracks.count)
|
|
25
|
+
for __item in downloadedTracks {
|
|
26
|
+
__vector.push_back(__item)
|
|
27
|
+
}
|
|
28
|
+
return __vector
|
|
29
|
+
}(), totalSize, downloadedAt, isComplete)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
var playlistId: String {
|
|
33
|
+
@inline(__always)
|
|
34
|
+
get {
|
|
35
|
+
return String(self.__playlistId)
|
|
36
|
+
}
|
|
37
|
+
@inline(__always)
|
|
38
|
+
set {
|
|
39
|
+
self.__playlistId = std.string(newValue)
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
var originalPlaylist: Playlist {
|
|
44
|
+
@inline(__always)
|
|
45
|
+
get {
|
|
46
|
+
return self.__originalPlaylist
|
|
47
|
+
}
|
|
48
|
+
@inline(__always)
|
|
49
|
+
set {
|
|
50
|
+
self.__originalPlaylist = newValue
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
var downloadedTracks: [DownloadedTrack] {
|
|
55
|
+
@inline(__always)
|
|
56
|
+
get {
|
|
57
|
+
return self.__downloadedTracks.map({ __item in __item })
|
|
58
|
+
}
|
|
59
|
+
@inline(__always)
|
|
60
|
+
set {
|
|
61
|
+
self.__downloadedTracks = { () -> bridge.std__vector_DownloadedTrack_ in
|
|
62
|
+
var __vector = bridge.create_std__vector_DownloadedTrack_(newValue.count)
|
|
63
|
+
for __item in newValue {
|
|
64
|
+
__vector.push_back(__item)
|
|
65
|
+
}
|
|
66
|
+
return __vector
|
|
67
|
+
}()
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
var totalSize: Double {
|
|
72
|
+
@inline(__always)
|
|
73
|
+
get {
|
|
74
|
+
return self.__totalSize
|
|
75
|
+
}
|
|
76
|
+
@inline(__always)
|
|
77
|
+
set {
|
|
78
|
+
self.__totalSize = newValue
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
var downloadedAt: Double {
|
|
83
|
+
@inline(__always)
|
|
84
|
+
get {
|
|
85
|
+
return self.__downloadedAt
|
|
86
|
+
}
|
|
87
|
+
@inline(__always)
|
|
88
|
+
set {
|
|
89
|
+
self.__downloadedAt = newValue
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
var isComplete: Bool {
|
|
94
|
+
@inline(__always)
|
|
95
|
+
get {
|
|
96
|
+
return self.__isComplete
|
|
97
|
+
}
|
|
98
|
+
@inline(__always)
|
|
99
|
+
set {
|
|
100
|
+
self.__isComplete = newValue
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// DownloadedTrack.swift
|
|
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
|
+
import Foundation
|
|
9
|
+
import NitroModules
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Represents an instance of `DownloadedTrack`, backed by a C++ struct.
|
|
13
|
+
*/
|
|
14
|
+
public typealias DownloadedTrack = margelo.nitro.nitroplayer.DownloadedTrack
|
|
15
|
+
|
|
16
|
+
public extension DownloadedTrack {
|
|
17
|
+
private typealias bridge = margelo.nitro.nitroplayer.bridge.swift
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Create a new instance of `DownloadedTrack`.
|
|
21
|
+
*/
|
|
22
|
+
init(trackId: String, originalTrack: TrackItem, localPath: String, localArtworkPath: Variant_NullType_String?, downloadedAt: Double, fileSize: Double, storageLocation: StorageLocation) {
|
|
23
|
+
self.init(std.string(trackId), originalTrack, std.string(localPath), { () -> bridge.std__optional_std__variant_nitro__NullType__std__string__ in
|
|
24
|
+
if let __unwrappedValue = localArtworkPath {
|
|
25
|
+
return bridge.create_std__optional_std__variant_nitro__NullType__std__string__({ () -> bridge.std__variant_nitro__NullType__std__string_ in
|
|
26
|
+
switch __unwrappedValue {
|
|
27
|
+
case .first(let __value):
|
|
28
|
+
return bridge.create_std__variant_nitro__NullType__std__string_(margelo.nitro.NullType.null)
|
|
29
|
+
case .second(let __value):
|
|
30
|
+
return bridge.create_std__variant_nitro__NullType__std__string_(std.string(__value))
|
|
31
|
+
}
|
|
32
|
+
}().variant)
|
|
33
|
+
} else {
|
|
34
|
+
return .init()
|
|
35
|
+
}
|
|
36
|
+
}(), downloadedAt, fileSize, storageLocation)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
var trackId: String {
|
|
40
|
+
@inline(__always)
|
|
41
|
+
get {
|
|
42
|
+
return String(self.__trackId)
|
|
43
|
+
}
|
|
44
|
+
@inline(__always)
|
|
45
|
+
set {
|
|
46
|
+
self.__trackId = std.string(newValue)
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
var originalTrack: TrackItem {
|
|
51
|
+
@inline(__always)
|
|
52
|
+
get {
|
|
53
|
+
return self.__originalTrack
|
|
54
|
+
}
|
|
55
|
+
@inline(__always)
|
|
56
|
+
set {
|
|
57
|
+
self.__originalTrack = newValue
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
var localPath: String {
|
|
62
|
+
@inline(__always)
|
|
63
|
+
get {
|
|
64
|
+
return String(self.__localPath)
|
|
65
|
+
}
|
|
66
|
+
@inline(__always)
|
|
67
|
+
set {
|
|
68
|
+
self.__localPath = std.string(newValue)
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
var localArtworkPath: Variant_NullType_String? {
|
|
73
|
+
@inline(__always)
|
|
74
|
+
get {
|
|
75
|
+
return { () -> Variant_NullType_String? in
|
|
76
|
+
if bridge.has_value_std__optional_std__variant_nitro__NullType__std__string__(self.__localArtworkPath) {
|
|
77
|
+
let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__std__string__(self.__localArtworkPath)
|
|
78
|
+
return { () -> Variant_NullType_String in
|
|
79
|
+
let __variant = bridge.std__variant_nitro__NullType__std__string_(__unwrapped)
|
|
80
|
+
switch __variant.index() {
|
|
81
|
+
case 0:
|
|
82
|
+
let __actual = __variant.get_0()
|
|
83
|
+
return .first(NullType.null)
|
|
84
|
+
case 1:
|
|
85
|
+
let __actual = __variant.get_1()
|
|
86
|
+
return .second(String(__actual))
|
|
87
|
+
default:
|
|
88
|
+
fatalError("Variant can never have index \(__variant.index())!")
|
|
89
|
+
}
|
|
90
|
+
}()
|
|
91
|
+
} else {
|
|
92
|
+
return nil
|
|
93
|
+
}
|
|
94
|
+
}()
|
|
95
|
+
}
|
|
96
|
+
@inline(__always)
|
|
97
|
+
set {
|
|
98
|
+
self.__localArtworkPath = { () -> bridge.std__optional_std__variant_nitro__NullType__std__string__ in
|
|
99
|
+
if let __unwrappedValue = newValue {
|
|
100
|
+
return bridge.create_std__optional_std__variant_nitro__NullType__std__string__({ () -> bridge.std__variant_nitro__NullType__std__string_ in
|
|
101
|
+
switch __unwrappedValue {
|
|
102
|
+
case .first(let __value):
|
|
103
|
+
return bridge.create_std__variant_nitro__NullType__std__string_(margelo.nitro.NullType.null)
|
|
104
|
+
case .second(let __value):
|
|
105
|
+
return bridge.create_std__variant_nitro__NullType__std__string_(std.string(__value))
|
|
106
|
+
}
|
|
107
|
+
}().variant)
|
|
108
|
+
} else {
|
|
109
|
+
return .init()
|
|
110
|
+
}
|
|
111
|
+
}()
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
var downloadedAt: Double {
|
|
116
|
+
@inline(__always)
|
|
117
|
+
get {
|
|
118
|
+
return self.__downloadedAt
|
|
119
|
+
}
|
|
120
|
+
@inline(__always)
|
|
121
|
+
set {
|
|
122
|
+
self.__downloadedAt = newValue
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
var fileSize: Double {
|
|
127
|
+
@inline(__always)
|
|
128
|
+
get {
|
|
129
|
+
return self.__fileSize
|
|
130
|
+
}
|
|
131
|
+
@inline(__always)
|
|
132
|
+
set {
|
|
133
|
+
self.__fileSize = newValue
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
var storageLocation: StorageLocation {
|
|
138
|
+
@inline(__always)
|
|
139
|
+
get {
|
|
140
|
+
return self.__storageLocation
|
|
141
|
+
}
|
|
142
|
+
@inline(__always)
|
|
143
|
+
set {
|
|
144
|
+
self.__storageLocation = newValue
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// EqualizerBand.swift
|
|
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
|
+
import Foundation
|
|
9
|
+
import NitroModules
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Represents an instance of `EqualizerBand`, backed by a C++ struct.
|
|
13
|
+
*/
|
|
14
|
+
public typealias EqualizerBand = margelo.nitro.nitroplayer.EqualizerBand
|
|
15
|
+
|
|
16
|
+
public extension EqualizerBand {
|
|
17
|
+
private typealias bridge = margelo.nitro.nitroplayer.bridge.swift
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Create a new instance of `EqualizerBand`.
|
|
21
|
+
*/
|
|
22
|
+
init(index: Double, centerFrequency: Double, gainDb: Double, frequencyLabel: String) {
|
|
23
|
+
self.init(index, centerFrequency, gainDb, std.string(frequencyLabel))
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
var index: Double {
|
|
27
|
+
@inline(__always)
|
|
28
|
+
get {
|
|
29
|
+
return self.__index
|
|
30
|
+
}
|
|
31
|
+
@inline(__always)
|
|
32
|
+
set {
|
|
33
|
+
self.__index = newValue
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
var centerFrequency: Double {
|
|
38
|
+
@inline(__always)
|
|
39
|
+
get {
|
|
40
|
+
return self.__centerFrequency
|
|
41
|
+
}
|
|
42
|
+
@inline(__always)
|
|
43
|
+
set {
|
|
44
|
+
self.__centerFrequency = newValue
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
var gainDb: Double {
|
|
49
|
+
@inline(__always)
|
|
50
|
+
get {
|
|
51
|
+
return self.__gainDb
|
|
52
|
+
}
|
|
53
|
+
@inline(__always)
|
|
54
|
+
set {
|
|
55
|
+
self.__gainDb = newValue
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
var frequencyLabel: String {
|
|
60
|
+
@inline(__always)
|
|
61
|
+
get {
|
|
62
|
+
return String(self.__frequencyLabel)
|
|
63
|
+
}
|
|
64
|
+
@inline(__always)
|
|
65
|
+
set {
|
|
66
|
+
self.__frequencyLabel = std.string(newValue)
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// EqualizerPreset.swift
|
|
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
|
+
import Foundation
|
|
9
|
+
import NitroModules
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Represents an instance of `EqualizerPreset`, backed by a C++ struct.
|
|
13
|
+
*/
|
|
14
|
+
public typealias EqualizerPreset = margelo.nitro.nitroplayer.EqualizerPreset
|
|
15
|
+
|
|
16
|
+
public extension EqualizerPreset {
|
|
17
|
+
private typealias bridge = margelo.nitro.nitroplayer.bridge.swift
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Create a new instance of `EqualizerPreset`.
|
|
21
|
+
*/
|
|
22
|
+
init(name: String, gains: [Double], type: PresetType) {
|
|
23
|
+
self.init(std.string(name), { () -> bridge.std__vector_double_ in
|
|
24
|
+
var __vector = bridge.create_std__vector_double_(gains.count)
|
|
25
|
+
for __item in gains {
|
|
26
|
+
__vector.push_back(__item)
|
|
27
|
+
}
|
|
28
|
+
return __vector
|
|
29
|
+
}(), type)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
var name: String {
|
|
33
|
+
@inline(__always)
|
|
34
|
+
get {
|
|
35
|
+
return String(self.__name)
|
|
36
|
+
}
|
|
37
|
+
@inline(__always)
|
|
38
|
+
set {
|
|
39
|
+
self.__name = std.string(newValue)
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
var gains: [Double] {
|
|
44
|
+
@inline(__always)
|
|
45
|
+
get {
|
|
46
|
+
return self.__gains.map({ __item in __item })
|
|
47
|
+
}
|
|
48
|
+
@inline(__always)
|
|
49
|
+
set {
|
|
50
|
+
self.__gains = { () -> bridge.std__vector_double_ in
|
|
51
|
+
var __vector = bridge.create_std__vector_double_(newValue.count)
|
|
52
|
+
for __item in newValue {
|
|
53
|
+
__vector.push_back(__item)
|
|
54
|
+
}
|
|
55
|
+
return __vector
|
|
56
|
+
}()
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
var type: PresetType {
|
|
61
|
+
@inline(__always)
|
|
62
|
+
get {
|
|
63
|
+
return self.__type
|
|
64
|
+
}
|
|
65
|
+
@inline(__always)
|
|
66
|
+
set {
|
|
67
|
+
self.__type = newValue
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|