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,223 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridEqualizerSpecSwift.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 "HybridEqualizerSpec.hpp"
|
|
11
|
+
|
|
12
|
+
// Forward declaration of `HybridEqualizerSpec_cxx` to properly resolve imports.
|
|
13
|
+
namespace NitroPlayer { class HybridEqualizerSpec_cxx; }
|
|
14
|
+
|
|
15
|
+
// Forward declaration of `EqualizerBand` to properly resolve imports.
|
|
16
|
+
namespace margelo::nitro::nitroplayer { struct EqualizerBand; }
|
|
17
|
+
// Forward declaration of `GainRange` to properly resolve imports.
|
|
18
|
+
namespace margelo::nitro::nitroplayer { struct GainRange; }
|
|
19
|
+
// Forward declaration of `EqualizerPreset` to properly resolve imports.
|
|
20
|
+
namespace margelo::nitro::nitroplayer { struct EqualizerPreset; }
|
|
21
|
+
// Forward declaration of `PresetType` to properly resolve imports.
|
|
22
|
+
namespace margelo::nitro::nitroplayer { enum class PresetType; }
|
|
23
|
+
// Forward declaration of `EqualizerState` to properly resolve imports.
|
|
24
|
+
namespace margelo::nitro::nitroplayer { struct EqualizerState; }
|
|
25
|
+
|
|
26
|
+
#include "EqualizerBand.hpp"
|
|
27
|
+
#include <vector>
|
|
28
|
+
#include <string>
|
|
29
|
+
#include "GainRange.hpp"
|
|
30
|
+
#include "EqualizerPreset.hpp"
|
|
31
|
+
#include "PresetType.hpp"
|
|
32
|
+
#include <NitroModules/Null.hpp>
|
|
33
|
+
#include <variant>
|
|
34
|
+
#include "EqualizerState.hpp"
|
|
35
|
+
#include <optional>
|
|
36
|
+
#include <functional>
|
|
37
|
+
|
|
38
|
+
#include "NitroPlayer-Swift-Cxx-Umbrella.hpp"
|
|
39
|
+
|
|
40
|
+
namespace margelo::nitro::nitroplayer {
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* The C++ part of HybridEqualizerSpec_cxx.swift.
|
|
44
|
+
*
|
|
45
|
+
* HybridEqualizerSpecSwift (C++) accesses HybridEqualizerSpec_cxx (Swift), and might
|
|
46
|
+
* contain some additional bridging code for C++ <> Swift interop.
|
|
47
|
+
*
|
|
48
|
+
* Since this obviously introduces an overhead, I hope at some point in
|
|
49
|
+
* the future, HybridEqualizerSpec_cxx can directly inherit from the C++ class HybridEqualizerSpec
|
|
50
|
+
* to simplify the whole structure and memory management.
|
|
51
|
+
*/
|
|
52
|
+
class HybridEqualizerSpecSwift: public virtual HybridEqualizerSpec {
|
|
53
|
+
public:
|
|
54
|
+
// Constructor from a Swift instance
|
|
55
|
+
explicit HybridEqualizerSpecSwift(const NitroPlayer::HybridEqualizerSpec_cxx& swiftPart):
|
|
56
|
+
HybridObject(HybridEqualizerSpec::TAG),
|
|
57
|
+
_swiftPart(swiftPart) { }
|
|
58
|
+
|
|
59
|
+
public:
|
|
60
|
+
// Get the Swift part
|
|
61
|
+
inline NitroPlayer::HybridEqualizerSpec_cxx& getSwiftPart() noexcept {
|
|
62
|
+
return _swiftPart;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
public:
|
|
66
|
+
inline size_t getExternalMemorySize() noexcept override {
|
|
67
|
+
return _swiftPart.getMemorySize();
|
|
68
|
+
}
|
|
69
|
+
void dispose() noexcept override {
|
|
70
|
+
_swiftPart.dispose();
|
|
71
|
+
}
|
|
72
|
+
std::string toString() override {
|
|
73
|
+
return _swiftPart.toString();
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
public:
|
|
77
|
+
// Properties
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
public:
|
|
81
|
+
// Methods
|
|
82
|
+
inline bool setEnabled(bool enabled) override {
|
|
83
|
+
auto __result = _swiftPart.setEnabled(std::forward<decltype(enabled)>(enabled));
|
|
84
|
+
if (__result.hasError()) [[unlikely]] {
|
|
85
|
+
std::rethrow_exception(__result.error());
|
|
86
|
+
}
|
|
87
|
+
auto __value = std::move(__result.value());
|
|
88
|
+
return __value;
|
|
89
|
+
}
|
|
90
|
+
inline bool isEnabled() override {
|
|
91
|
+
auto __result = _swiftPart.isEnabled();
|
|
92
|
+
if (__result.hasError()) [[unlikely]] {
|
|
93
|
+
std::rethrow_exception(__result.error());
|
|
94
|
+
}
|
|
95
|
+
auto __value = std::move(__result.value());
|
|
96
|
+
return __value;
|
|
97
|
+
}
|
|
98
|
+
inline std::vector<EqualizerBand> getBands() override {
|
|
99
|
+
auto __result = _swiftPart.getBands();
|
|
100
|
+
if (__result.hasError()) [[unlikely]] {
|
|
101
|
+
std::rethrow_exception(__result.error());
|
|
102
|
+
}
|
|
103
|
+
auto __value = std::move(__result.value());
|
|
104
|
+
return __value;
|
|
105
|
+
}
|
|
106
|
+
inline bool setBandGain(double bandIndex, double gainDb) override {
|
|
107
|
+
auto __result = _swiftPart.setBandGain(std::forward<decltype(bandIndex)>(bandIndex), std::forward<decltype(gainDb)>(gainDb));
|
|
108
|
+
if (__result.hasError()) [[unlikely]] {
|
|
109
|
+
std::rethrow_exception(__result.error());
|
|
110
|
+
}
|
|
111
|
+
auto __value = std::move(__result.value());
|
|
112
|
+
return __value;
|
|
113
|
+
}
|
|
114
|
+
inline bool setAllBandGains(const std::vector<double>& gains) override {
|
|
115
|
+
auto __result = _swiftPart.setAllBandGains(gains);
|
|
116
|
+
if (__result.hasError()) [[unlikely]] {
|
|
117
|
+
std::rethrow_exception(__result.error());
|
|
118
|
+
}
|
|
119
|
+
auto __value = std::move(__result.value());
|
|
120
|
+
return __value;
|
|
121
|
+
}
|
|
122
|
+
inline GainRange getBandRange() override {
|
|
123
|
+
auto __result = _swiftPart.getBandRange();
|
|
124
|
+
if (__result.hasError()) [[unlikely]] {
|
|
125
|
+
std::rethrow_exception(__result.error());
|
|
126
|
+
}
|
|
127
|
+
auto __value = std::move(__result.value());
|
|
128
|
+
return __value;
|
|
129
|
+
}
|
|
130
|
+
inline std::vector<EqualizerPreset> getPresets() override {
|
|
131
|
+
auto __result = _swiftPart.getPresets();
|
|
132
|
+
if (__result.hasError()) [[unlikely]] {
|
|
133
|
+
std::rethrow_exception(__result.error());
|
|
134
|
+
}
|
|
135
|
+
auto __value = std::move(__result.value());
|
|
136
|
+
return __value;
|
|
137
|
+
}
|
|
138
|
+
inline std::vector<EqualizerPreset> getBuiltInPresets() override {
|
|
139
|
+
auto __result = _swiftPart.getBuiltInPresets();
|
|
140
|
+
if (__result.hasError()) [[unlikely]] {
|
|
141
|
+
std::rethrow_exception(__result.error());
|
|
142
|
+
}
|
|
143
|
+
auto __value = std::move(__result.value());
|
|
144
|
+
return __value;
|
|
145
|
+
}
|
|
146
|
+
inline std::vector<EqualizerPreset> getCustomPresets() override {
|
|
147
|
+
auto __result = _swiftPart.getCustomPresets();
|
|
148
|
+
if (__result.hasError()) [[unlikely]] {
|
|
149
|
+
std::rethrow_exception(__result.error());
|
|
150
|
+
}
|
|
151
|
+
auto __value = std::move(__result.value());
|
|
152
|
+
return __value;
|
|
153
|
+
}
|
|
154
|
+
inline bool applyPreset(const std::string& presetName) override {
|
|
155
|
+
auto __result = _swiftPart.applyPreset(presetName);
|
|
156
|
+
if (__result.hasError()) [[unlikely]] {
|
|
157
|
+
std::rethrow_exception(__result.error());
|
|
158
|
+
}
|
|
159
|
+
auto __value = std::move(__result.value());
|
|
160
|
+
return __value;
|
|
161
|
+
}
|
|
162
|
+
inline std::variant<nitro::NullType, std::string> getCurrentPresetName() override {
|
|
163
|
+
auto __result = _swiftPart.getCurrentPresetName();
|
|
164
|
+
if (__result.hasError()) [[unlikely]] {
|
|
165
|
+
std::rethrow_exception(__result.error());
|
|
166
|
+
}
|
|
167
|
+
auto __value = std::move(__result.value());
|
|
168
|
+
return __value;
|
|
169
|
+
}
|
|
170
|
+
inline bool saveCustomPreset(const std::string& name) override {
|
|
171
|
+
auto __result = _swiftPart.saveCustomPreset(name);
|
|
172
|
+
if (__result.hasError()) [[unlikely]] {
|
|
173
|
+
std::rethrow_exception(__result.error());
|
|
174
|
+
}
|
|
175
|
+
auto __value = std::move(__result.value());
|
|
176
|
+
return __value;
|
|
177
|
+
}
|
|
178
|
+
inline bool deleteCustomPreset(const std::string& name) override {
|
|
179
|
+
auto __result = _swiftPart.deleteCustomPreset(name);
|
|
180
|
+
if (__result.hasError()) [[unlikely]] {
|
|
181
|
+
std::rethrow_exception(__result.error());
|
|
182
|
+
}
|
|
183
|
+
auto __value = std::move(__result.value());
|
|
184
|
+
return __value;
|
|
185
|
+
}
|
|
186
|
+
inline EqualizerState getState() override {
|
|
187
|
+
auto __result = _swiftPart.getState();
|
|
188
|
+
if (__result.hasError()) [[unlikely]] {
|
|
189
|
+
std::rethrow_exception(__result.error());
|
|
190
|
+
}
|
|
191
|
+
auto __value = std::move(__result.value());
|
|
192
|
+
return __value;
|
|
193
|
+
}
|
|
194
|
+
inline void reset() override {
|
|
195
|
+
auto __result = _swiftPart.reset();
|
|
196
|
+
if (__result.hasError()) [[unlikely]] {
|
|
197
|
+
std::rethrow_exception(__result.error());
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
inline void onEnabledChange(const std::function<void(bool /* enabled */)>& callback) override {
|
|
201
|
+
auto __result = _swiftPart.onEnabledChange(callback);
|
|
202
|
+
if (__result.hasError()) [[unlikely]] {
|
|
203
|
+
std::rethrow_exception(__result.error());
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
inline void onBandChange(const std::function<void(const std::vector<EqualizerBand>& /* bands */)>& callback) override {
|
|
207
|
+
auto __result = _swiftPart.onBandChange(callback);
|
|
208
|
+
if (__result.hasError()) [[unlikely]] {
|
|
209
|
+
std::rethrow_exception(__result.error());
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
inline void onPresetChange(const std::function<void(const std::optional<std::variant<nitro::NullType, std::string>>& /* presetName */)>& callback) override {
|
|
213
|
+
auto __result = _swiftPart.onPresetChange(callback);
|
|
214
|
+
if (__result.hasError()) [[unlikely]] {
|
|
215
|
+
std::rethrow_exception(__result.error());
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
private:
|
|
220
|
+
NitroPlayer::HybridEqualizerSpec_cxx _swiftPart;
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
} // namespace margelo::nitro::nitroplayer
|
|
@@ -12,12 +12,14 @@
|
|
|
12
12
|
// Forward declaration of `HybridTrackPlayerSpec_cxx` to properly resolve imports.
|
|
13
13
|
namespace NitroPlayer { class HybridTrackPlayerSpec_cxx; }
|
|
14
14
|
|
|
15
|
-
// Forward declaration of `PlayerState` to properly resolve imports.
|
|
16
|
-
namespace margelo::nitro::nitroplayer { struct PlayerState; }
|
|
17
15
|
// Forward declaration of `TrackItem` to properly resolve imports.
|
|
18
16
|
namespace margelo::nitro::nitroplayer { struct TrackItem; }
|
|
17
|
+
// Forward declaration of `PlayerState` to properly resolve imports.
|
|
18
|
+
namespace margelo::nitro::nitroplayer { struct PlayerState; }
|
|
19
19
|
// Forward declaration of `TrackPlayerState` to properly resolve imports.
|
|
20
20
|
namespace margelo::nitro::nitroplayer { enum class TrackPlayerState; }
|
|
21
|
+
// Forward declaration of `CurrentPlayingType` to properly resolve imports.
|
|
22
|
+
namespace margelo::nitro::nitroplayer { enum class CurrentPlayingType; }
|
|
21
23
|
// Forward declaration of `RepeatMode` to properly resolve imports.
|
|
22
24
|
namespace margelo::nitro::nitroplayer { enum class RepeatMode; }
|
|
23
25
|
// Forward declaration of `PlayerConfig` to properly resolve imports.
|
|
@@ -25,13 +27,17 @@ namespace margelo::nitro::nitroplayer { struct PlayerConfig; }
|
|
|
25
27
|
// Forward declaration of `Reason` to properly resolve imports.
|
|
26
28
|
namespace margelo::nitro::nitroplayer { enum class Reason; }
|
|
27
29
|
|
|
30
|
+
#include <NitroModules/Promise.hpp>
|
|
28
31
|
#include <string>
|
|
29
32
|
#include <optional>
|
|
30
|
-
#include "PlayerState.hpp"
|
|
31
|
-
#include <NitroModules/Null.hpp>
|
|
32
33
|
#include "TrackItem.hpp"
|
|
34
|
+
#include <vector>
|
|
35
|
+
#include <NitroModules/Null.hpp>
|
|
33
36
|
#include <variant>
|
|
37
|
+
#include <NitroModules/AnyMap.hpp>
|
|
38
|
+
#include "PlayerState.hpp"
|
|
34
39
|
#include "TrackPlayerState.hpp"
|
|
40
|
+
#include "CurrentPlayingType.hpp"
|
|
35
41
|
#include "RepeatMode.hpp"
|
|
36
42
|
#include "PlayerConfig.hpp"
|
|
37
43
|
#include "Reason.hpp"
|
|
@@ -93,11 +99,13 @@ namespace margelo::nitro::nitroplayer {
|
|
|
93
99
|
std::rethrow_exception(__result.error());
|
|
94
100
|
}
|
|
95
101
|
}
|
|
96
|
-
inline void playSong(const std::string& songId, const std::optional<std::string>& fromPlaylist) override {
|
|
102
|
+
inline std::shared_ptr<Promise<void>> playSong(const std::string& songId, const std::optional<std::string>& fromPlaylist) override {
|
|
97
103
|
auto __result = _swiftPart.playSong(songId, fromPlaylist);
|
|
98
104
|
if (__result.hasError()) [[unlikely]] {
|
|
99
105
|
std::rethrow_exception(__result.error());
|
|
100
106
|
}
|
|
107
|
+
auto __value = std::move(__result.value());
|
|
108
|
+
return __value;
|
|
101
109
|
}
|
|
102
110
|
inline void skipToNext() override {
|
|
103
111
|
auto __result = _swiftPart.skipToNext();
|
|
@@ -105,6 +113,14 @@ namespace margelo::nitro::nitroplayer {
|
|
|
105
113
|
std::rethrow_exception(__result.error());
|
|
106
114
|
}
|
|
107
115
|
}
|
|
116
|
+
inline std::shared_ptr<Promise<bool>> skipToIndex(double index) override {
|
|
117
|
+
auto __result = _swiftPart.skipToIndex(std::forward<decltype(index)>(index));
|
|
118
|
+
if (__result.hasError()) [[unlikely]] {
|
|
119
|
+
std::rethrow_exception(__result.error());
|
|
120
|
+
}
|
|
121
|
+
auto __value = std::move(__result.value());
|
|
122
|
+
return __value;
|
|
123
|
+
}
|
|
108
124
|
inline void skipToPrevious() override {
|
|
109
125
|
auto __result = _swiftPart.skipToPrevious();
|
|
110
126
|
if (__result.hasError()) [[unlikely]] {
|
|
@@ -117,7 +133,31 @@ namespace margelo::nitro::nitroplayer {
|
|
|
117
133
|
std::rethrow_exception(__result.error());
|
|
118
134
|
}
|
|
119
135
|
}
|
|
120
|
-
inline
|
|
136
|
+
inline std::shared_ptr<Promise<void>> addToUpNext(const std::string& trackId) override {
|
|
137
|
+
auto __result = _swiftPart.addToUpNext(trackId);
|
|
138
|
+
if (__result.hasError()) [[unlikely]] {
|
|
139
|
+
std::rethrow_exception(__result.error());
|
|
140
|
+
}
|
|
141
|
+
auto __value = std::move(__result.value());
|
|
142
|
+
return __value;
|
|
143
|
+
}
|
|
144
|
+
inline std::shared_ptr<Promise<void>> playNext(const std::string& trackId) override {
|
|
145
|
+
auto __result = _swiftPart.playNext(trackId);
|
|
146
|
+
if (__result.hasError()) [[unlikely]] {
|
|
147
|
+
std::rethrow_exception(__result.error());
|
|
148
|
+
}
|
|
149
|
+
auto __value = std::move(__result.value());
|
|
150
|
+
return __value;
|
|
151
|
+
}
|
|
152
|
+
inline std::shared_ptr<Promise<std::vector<TrackItem>>> getActualQueue() override {
|
|
153
|
+
auto __result = _swiftPart.getActualQueue();
|
|
154
|
+
if (__result.hasError()) [[unlikely]] {
|
|
155
|
+
std::rethrow_exception(__result.error());
|
|
156
|
+
}
|
|
157
|
+
auto __value = std::move(__result.value());
|
|
158
|
+
return __value;
|
|
159
|
+
}
|
|
160
|
+
inline std::shared_ptr<Promise<PlayerState>> getState() override {
|
|
121
161
|
auto __result = _swiftPart.getState();
|
|
122
162
|
if (__result.hasError()) [[unlikely]] {
|
|
123
163
|
std::rethrow_exception(__result.error());
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// CurrentPlayingType.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
|
+
/**
|
|
9
|
+
* Represents the JS union `CurrentPlayingType`, backed by a C++ enum.
|
|
10
|
+
*/
|
|
11
|
+
public typealias CurrentPlayingType = margelo.nitro.nitroplayer.CurrentPlayingType
|
|
12
|
+
|
|
13
|
+
public extension CurrentPlayingType {
|
|
14
|
+
/**
|
|
15
|
+
* Get a CurrentPlayingType for the given String value, or
|
|
16
|
+
* return `nil` if the given value was invalid/unknown.
|
|
17
|
+
*/
|
|
18
|
+
init?(fromString string: String) {
|
|
19
|
+
switch string {
|
|
20
|
+
case "playlist":
|
|
21
|
+
self = .playlist
|
|
22
|
+
case "up-next":
|
|
23
|
+
self = .upNext
|
|
24
|
+
case "play-next":
|
|
25
|
+
self = .playNext
|
|
26
|
+
case "not-playing":
|
|
27
|
+
self = .notPlaying
|
|
28
|
+
default:
|
|
29
|
+
return nil
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Get the String value this CurrentPlayingType represents.
|
|
35
|
+
*/
|
|
36
|
+
var stringValue: String {
|
|
37
|
+
switch self {
|
|
38
|
+
case .playlist:
|
|
39
|
+
return "playlist"
|
|
40
|
+
case .upNext:
|
|
41
|
+
return "up-next"
|
|
42
|
+
case .playNext:
|
|
43
|
+
return "play-next"
|
|
44
|
+
case .notPlaying:
|
|
45
|
+
return "not-playing"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// DownloadConfig.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 `DownloadConfig`, backed by a C++ struct.
|
|
13
|
+
*/
|
|
14
|
+
public typealias DownloadConfig = margelo.nitro.nitroplayer.DownloadConfig
|
|
15
|
+
|
|
16
|
+
public extension DownloadConfig {
|
|
17
|
+
private typealias bridge = margelo.nitro.nitroplayer.bridge.swift
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Create a new instance of `DownloadConfig`.
|
|
21
|
+
*/
|
|
22
|
+
init(storageLocation: StorageLocation?, maxConcurrentDownloads: Double?, autoRetry: Bool?, maxRetryAttempts: Double?, backgroundDownloadsEnabled: Bool?, downloadArtwork: Bool?, customDownloadPath: Variant_NullType_String?, wifiOnlyDownloads: Bool?) {
|
|
23
|
+
self.init({ () -> bridge.std__optional_StorageLocation_ in
|
|
24
|
+
if let __unwrappedValue = storageLocation {
|
|
25
|
+
return bridge.create_std__optional_StorageLocation_(__unwrappedValue)
|
|
26
|
+
} else {
|
|
27
|
+
return .init()
|
|
28
|
+
}
|
|
29
|
+
}(), { () -> bridge.std__optional_double_ in
|
|
30
|
+
if let __unwrappedValue = maxConcurrentDownloads {
|
|
31
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
32
|
+
} else {
|
|
33
|
+
return .init()
|
|
34
|
+
}
|
|
35
|
+
}(), { () -> bridge.std__optional_bool_ in
|
|
36
|
+
if let __unwrappedValue = autoRetry {
|
|
37
|
+
return bridge.create_std__optional_bool_(__unwrappedValue)
|
|
38
|
+
} else {
|
|
39
|
+
return .init()
|
|
40
|
+
}
|
|
41
|
+
}(), { () -> bridge.std__optional_double_ in
|
|
42
|
+
if let __unwrappedValue = maxRetryAttempts {
|
|
43
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
44
|
+
} else {
|
|
45
|
+
return .init()
|
|
46
|
+
}
|
|
47
|
+
}(), { () -> bridge.std__optional_bool_ in
|
|
48
|
+
if let __unwrappedValue = backgroundDownloadsEnabled {
|
|
49
|
+
return bridge.create_std__optional_bool_(__unwrappedValue)
|
|
50
|
+
} else {
|
|
51
|
+
return .init()
|
|
52
|
+
}
|
|
53
|
+
}(), { () -> bridge.std__optional_bool_ in
|
|
54
|
+
if let __unwrappedValue = downloadArtwork {
|
|
55
|
+
return bridge.create_std__optional_bool_(__unwrappedValue)
|
|
56
|
+
} else {
|
|
57
|
+
return .init()
|
|
58
|
+
}
|
|
59
|
+
}(), { () -> bridge.std__optional_std__variant_nitro__NullType__std__string__ in
|
|
60
|
+
if let __unwrappedValue = customDownloadPath {
|
|
61
|
+
return bridge.create_std__optional_std__variant_nitro__NullType__std__string__({ () -> bridge.std__variant_nitro__NullType__std__string_ in
|
|
62
|
+
switch __unwrappedValue {
|
|
63
|
+
case .first(let __value):
|
|
64
|
+
return bridge.create_std__variant_nitro__NullType__std__string_(margelo.nitro.NullType.null)
|
|
65
|
+
case .second(let __value):
|
|
66
|
+
return bridge.create_std__variant_nitro__NullType__std__string_(std.string(__value))
|
|
67
|
+
}
|
|
68
|
+
}().variant)
|
|
69
|
+
} else {
|
|
70
|
+
return .init()
|
|
71
|
+
}
|
|
72
|
+
}(), { () -> bridge.std__optional_bool_ in
|
|
73
|
+
if let __unwrappedValue = wifiOnlyDownloads {
|
|
74
|
+
return bridge.create_std__optional_bool_(__unwrappedValue)
|
|
75
|
+
} else {
|
|
76
|
+
return .init()
|
|
77
|
+
}
|
|
78
|
+
}())
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
var storageLocation: StorageLocation? {
|
|
82
|
+
@inline(__always)
|
|
83
|
+
get {
|
|
84
|
+
return self.__storageLocation.value
|
|
85
|
+
}
|
|
86
|
+
@inline(__always)
|
|
87
|
+
set {
|
|
88
|
+
self.__storageLocation = { () -> bridge.std__optional_StorageLocation_ in
|
|
89
|
+
if let __unwrappedValue = newValue {
|
|
90
|
+
return bridge.create_std__optional_StorageLocation_(__unwrappedValue)
|
|
91
|
+
} else {
|
|
92
|
+
return .init()
|
|
93
|
+
}
|
|
94
|
+
}()
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
var maxConcurrentDownloads: Double? {
|
|
99
|
+
@inline(__always)
|
|
100
|
+
get {
|
|
101
|
+
return self.__maxConcurrentDownloads.value
|
|
102
|
+
}
|
|
103
|
+
@inline(__always)
|
|
104
|
+
set {
|
|
105
|
+
self.__maxConcurrentDownloads = { () -> bridge.std__optional_double_ in
|
|
106
|
+
if let __unwrappedValue = newValue {
|
|
107
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
108
|
+
} else {
|
|
109
|
+
return .init()
|
|
110
|
+
}
|
|
111
|
+
}()
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
var autoRetry: Bool? {
|
|
116
|
+
@inline(__always)
|
|
117
|
+
get {
|
|
118
|
+
return { () -> Bool? in
|
|
119
|
+
if bridge.has_value_std__optional_bool_(self.__autoRetry) {
|
|
120
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__autoRetry)
|
|
121
|
+
return __unwrapped
|
|
122
|
+
} else {
|
|
123
|
+
return nil
|
|
124
|
+
}
|
|
125
|
+
}()
|
|
126
|
+
}
|
|
127
|
+
@inline(__always)
|
|
128
|
+
set {
|
|
129
|
+
self.__autoRetry = { () -> bridge.std__optional_bool_ in
|
|
130
|
+
if let __unwrappedValue = newValue {
|
|
131
|
+
return bridge.create_std__optional_bool_(__unwrappedValue)
|
|
132
|
+
} else {
|
|
133
|
+
return .init()
|
|
134
|
+
}
|
|
135
|
+
}()
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
var maxRetryAttempts: Double? {
|
|
140
|
+
@inline(__always)
|
|
141
|
+
get {
|
|
142
|
+
return self.__maxRetryAttempts.value
|
|
143
|
+
}
|
|
144
|
+
@inline(__always)
|
|
145
|
+
set {
|
|
146
|
+
self.__maxRetryAttempts = { () -> bridge.std__optional_double_ in
|
|
147
|
+
if let __unwrappedValue = newValue {
|
|
148
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
149
|
+
} else {
|
|
150
|
+
return .init()
|
|
151
|
+
}
|
|
152
|
+
}()
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
var backgroundDownloadsEnabled: Bool? {
|
|
157
|
+
@inline(__always)
|
|
158
|
+
get {
|
|
159
|
+
return { () -> Bool? in
|
|
160
|
+
if bridge.has_value_std__optional_bool_(self.__backgroundDownloadsEnabled) {
|
|
161
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__backgroundDownloadsEnabled)
|
|
162
|
+
return __unwrapped
|
|
163
|
+
} else {
|
|
164
|
+
return nil
|
|
165
|
+
}
|
|
166
|
+
}()
|
|
167
|
+
}
|
|
168
|
+
@inline(__always)
|
|
169
|
+
set {
|
|
170
|
+
self.__backgroundDownloadsEnabled = { () -> bridge.std__optional_bool_ in
|
|
171
|
+
if let __unwrappedValue = newValue {
|
|
172
|
+
return bridge.create_std__optional_bool_(__unwrappedValue)
|
|
173
|
+
} else {
|
|
174
|
+
return .init()
|
|
175
|
+
}
|
|
176
|
+
}()
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
var downloadArtwork: Bool? {
|
|
181
|
+
@inline(__always)
|
|
182
|
+
get {
|
|
183
|
+
return { () -> Bool? in
|
|
184
|
+
if bridge.has_value_std__optional_bool_(self.__downloadArtwork) {
|
|
185
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__downloadArtwork)
|
|
186
|
+
return __unwrapped
|
|
187
|
+
} else {
|
|
188
|
+
return nil
|
|
189
|
+
}
|
|
190
|
+
}()
|
|
191
|
+
}
|
|
192
|
+
@inline(__always)
|
|
193
|
+
set {
|
|
194
|
+
self.__downloadArtwork = { () -> bridge.std__optional_bool_ in
|
|
195
|
+
if let __unwrappedValue = newValue {
|
|
196
|
+
return bridge.create_std__optional_bool_(__unwrappedValue)
|
|
197
|
+
} else {
|
|
198
|
+
return .init()
|
|
199
|
+
}
|
|
200
|
+
}()
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
var customDownloadPath: Variant_NullType_String? {
|
|
205
|
+
@inline(__always)
|
|
206
|
+
get {
|
|
207
|
+
return { () -> Variant_NullType_String? in
|
|
208
|
+
if bridge.has_value_std__optional_std__variant_nitro__NullType__std__string__(self.__customDownloadPath) {
|
|
209
|
+
let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__std__string__(self.__customDownloadPath)
|
|
210
|
+
return { () -> Variant_NullType_String in
|
|
211
|
+
let __variant = bridge.std__variant_nitro__NullType__std__string_(__unwrapped)
|
|
212
|
+
switch __variant.index() {
|
|
213
|
+
case 0:
|
|
214
|
+
let __actual = __variant.get_0()
|
|
215
|
+
return .first(NullType.null)
|
|
216
|
+
case 1:
|
|
217
|
+
let __actual = __variant.get_1()
|
|
218
|
+
return .second(String(__actual))
|
|
219
|
+
default:
|
|
220
|
+
fatalError("Variant can never have index \(__variant.index())!")
|
|
221
|
+
}
|
|
222
|
+
}()
|
|
223
|
+
} else {
|
|
224
|
+
return nil
|
|
225
|
+
}
|
|
226
|
+
}()
|
|
227
|
+
}
|
|
228
|
+
@inline(__always)
|
|
229
|
+
set {
|
|
230
|
+
self.__customDownloadPath = { () -> bridge.std__optional_std__variant_nitro__NullType__std__string__ in
|
|
231
|
+
if let __unwrappedValue = newValue {
|
|
232
|
+
return bridge.create_std__optional_std__variant_nitro__NullType__std__string__({ () -> bridge.std__variant_nitro__NullType__std__string_ in
|
|
233
|
+
switch __unwrappedValue {
|
|
234
|
+
case .first(let __value):
|
|
235
|
+
return bridge.create_std__variant_nitro__NullType__std__string_(margelo.nitro.NullType.null)
|
|
236
|
+
case .second(let __value):
|
|
237
|
+
return bridge.create_std__variant_nitro__NullType__std__string_(std.string(__value))
|
|
238
|
+
}
|
|
239
|
+
}().variant)
|
|
240
|
+
} else {
|
|
241
|
+
return .init()
|
|
242
|
+
}
|
|
243
|
+
}()
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
var wifiOnlyDownloads: Bool? {
|
|
248
|
+
@inline(__always)
|
|
249
|
+
get {
|
|
250
|
+
return { () -> Bool? in
|
|
251
|
+
if bridge.has_value_std__optional_bool_(self.__wifiOnlyDownloads) {
|
|
252
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__wifiOnlyDownloads)
|
|
253
|
+
return __unwrapped
|
|
254
|
+
} else {
|
|
255
|
+
return nil
|
|
256
|
+
}
|
|
257
|
+
}()
|
|
258
|
+
}
|
|
259
|
+
@inline(__always)
|
|
260
|
+
set {
|
|
261
|
+
self.__wifiOnlyDownloads = { () -> bridge.std__optional_bool_ in
|
|
262
|
+
if let __unwrappedValue = newValue {
|
|
263
|
+
return bridge.create_std__optional_bool_(__unwrappedValue)
|
|
264
|
+
} else {
|
|
265
|
+
return .init()
|
|
266
|
+
}
|
|
267
|
+
}()
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|