react-native-queue-player 1.0.8 → 1.1.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 +12 -6
- package/android/src/main/java/com/margelo/nitro/queueplayer/MediaItemBuilder.kt +21 -3
- package/android/src/main/java/com/margelo/nitro/queueplayer/PlaceholderArtwork.kt +30 -0
- package/android/src/main/java/com/margelo/nitro/queueplayer/PlaceholderFallbackBitmapLoader.kt +9 -6
- package/android/src/main/java/com/margelo/nitro/queueplayer/PlaybackService.kt +4 -1
- package/android/src/main/java/com/margelo/nitro/queueplayer/QueueSkipArithmetic.kt +57 -10
- package/android/src/main/java/com/margelo/nitro/queueplayer/TrackPlayer.kt +53 -20
- package/android/src/test/java/com/margelo/nitro/queueplayer/MediaItemBuilderTest.kt +55 -0
- package/android/src/test/java/com/margelo/nitro/queueplayer/PlaceholderArtworkTest.kt +72 -0
- package/android/src/test/java/com/margelo/nitro/queueplayer/PlaceholderFallbackBitmapLoaderTest.kt +21 -9
- package/android/src/test/java/com/margelo/nitro/queueplayer/PlaybackServiceArtworkLoaderTest.kt +9 -9
- package/android/src/test/java/com/margelo/nitro/queueplayer/PlaybackServiceCallbackTest.kt +1 -1
- package/android/src/test/java/com/margelo/nitro/queueplayer/QueueSkipArithmeticTest.kt +103 -0
- package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerAirPlayMetadataWiringTest.kt +1 -1
- package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerAudioFocusTest.kt +1 -1
- package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerEventsTest.kt +3 -3
- package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerLifecycleTest.kt +7 -7
- package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerLookaheadConfigTest.kt +6 -6
- package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerMutationTest.kt +2 -2
- package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerProgressThrottleTest.kt +1 -1
- package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerQueueChangeTest.kt +1 -1
- package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerQueueTest.kt +1 -1
- package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerReadersTest.kt +1 -1
- package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerSkipCapabilityTest.kt +41 -2
- package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerSkipTest.kt +34 -1
- package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerTransportTest.kt +1 -1
- package/ios/Cast/Core/CastNowPlayingController.swift +7 -4
- package/ios/NowPlayingInfo.swift +7 -9
- package/ios/PlaceholderArtwork.swift +24 -1
- package/ios/QueueSkipArithmetic.swift +55 -9
- package/ios/Tests/AVQueueBuilderTests.swift +9 -9
- package/ios/Tests/CastNowPlayingControllerTests.swift +33 -0
- package/ios/Tests/PlaceholderArtworkTests.swift +81 -0
- package/ios/Tests/SkipIndexTests.swift +97 -0
- package/ios/TrackPlayer.swift +42 -14
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js +9 -0
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/TrackPlayer.nitro.d.ts +7 -7
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +41 -0
- package/lib/typescript/types.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.cpp +4 -0
- package/nitrogen/generated/android/c++/JPlayerConfig.hpp +11 -1
- package/nitrogen/generated/android/c++/JSkipToPreviousBehavior.hpp +58 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/PlayerConfig.kt +12 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/SkipToPreviousBehavior.kt +23 -0
- package/nitrogen/generated/ios/QueuePlayer-Swift-Cxx-Bridge.hpp +18 -0
- package/nitrogen/generated/ios/QueuePlayer-Swift-Cxx-Umbrella.hpp +3 -0
- package/nitrogen/generated/ios/c++/HybridTrackPlayerSpecSwift.hpp +3 -0
- package/nitrogen/generated/ios/swift/PlayerConfig.swift +30 -1
- package/nitrogen/generated/ios/swift/SkipToPreviousBehavior.swift +40 -0
- package/nitrogen/generated/shared/c++/PlayerConfig.hpp +12 -1
- package/nitrogen/generated/shared/c++/SkipToPreviousBehavior.hpp +76 -0
- package/package.json +1 -1
- package/src/TrackPlayer.nitro.ts +7 -7
- package/src/index.ts +1 -0
- package/src/types.ts +42 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,YAAY,EAEV,SAAS,EACT,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,cAAc,EAEd,oBAAoB,EACpB,cAAc,EACd,WAAW,EAEX,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,wBAAwB,EACxB,UAAU,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,EAElB,aAAa,EACb,eAAe,EAEf,cAAc,EAEd,mBAAmB,EAEnB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EAErB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EACxB,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,+BAA+B,EAC/B,kBAAkB,EAElB,cAAc,EACd,UAAU,GACX,MAAM,SAAS,CAAC;AAKjB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAKxF,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAKlD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAKtC,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,SAAS,EACT,cAAc,EACd,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,cAAc,SAAS,CAAC;AAKxB,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,YAAY,EAEV,SAAS,EACT,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,cAAc,EAEd,oBAAoB,EACpB,cAAc,EACd,WAAW,EAEX,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,wBAAwB,EACxB,UAAU,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,EAElB,aAAa,EACb,eAAe,EAEf,cAAc,EAEd,mBAAmB,EAEnB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EAErB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EACxB,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,+BAA+B,EAC/B,kBAAkB,EAElB,cAAc,EACd,UAAU,GACX,MAAM,SAAS,CAAC;AAKjB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAKxF,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAKlD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAKtC,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,SAAS,EACT,cAAc,EACd,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,cAAc,SAAS,CAAC;AAKxB,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC"}
|
|
@@ -62,6 +62,23 @@ export interface PlayerConfig {
|
|
|
62
62
|
httpHeaders?: Record<string, string>;
|
|
63
63
|
/** Overrides the default UA on network requests. */
|
|
64
64
|
userAgent?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Replacement for the built-in RNQP cover-art placeholder (the image
|
|
67
|
+
* shown before real artwork loads and when a track has no artwork).
|
|
68
|
+
* MUST be a **local `file://` URI** — the built-in placeholder is a
|
|
69
|
+
* local file, so this must be too; remote URLs are not loaded (they
|
|
70
|
+
* would break offline playback and change behaviour). When set, this
|
|
71
|
+
* image is used in place of the built-in everywhere the built-in is
|
|
72
|
+
* used; unset, non-`file://`, or unloadable falls back to the built-in.
|
|
73
|
+
* Resolve a bundled asset to a `file://` path with expo-asset —
|
|
74
|
+
* `const a = Asset.fromModule(require('./logo.png')); await
|
|
75
|
+
* a.downloadAsync();` then pass `a.localUri` — which copies the packaged
|
|
76
|
+
* image onto the filesystem across dev and release.
|
|
77
|
+
* (`Image.resolveAssetSource(...).uri` is not suitable: it is an
|
|
78
|
+
* `http://` Metro URL in dev and a drawable resource name on Android
|
|
79
|
+
* release, neither of which is a `file://` path.)
|
|
80
|
+
*/
|
|
81
|
+
placeholderArtworkUri?: string;
|
|
65
82
|
/**
|
|
66
83
|
* Auto-retry attempts on transient errors (TIMEOUT / CONNECTION_LOST /
|
|
67
84
|
* NETWORK_UNREACHABLE / SOURCE_UNREACHABLE / CANNOT_OPEN). Clamped
|
|
@@ -148,6 +165,21 @@ export interface PlayerConfig {
|
|
|
148
165
|
* Default: `false` (targets pass through unclamped).
|
|
149
166
|
*/
|
|
150
167
|
clampSeekToBuffered?: boolean;
|
|
168
|
+
/**
|
|
169
|
+
* How skip-to-previous behaves. `'previous'` (default) always goes to the
|
|
170
|
+
* previous track. `'restart-or-previous'` restarts the current track
|
|
171
|
+
* (seeks to 0) when it is past ~3 s, otherwise goes to the previous track
|
|
172
|
+
* — the standard music-player model. Applies
|
|
173
|
+
* to local playback; during cast, Previous routes to the receiver. When
|
|
174
|
+
* `'restart-or-previous'`, the Previous control is always enabled
|
|
175
|
+
* (`canSkipPrevious` reports `true` whenever a track is loaded, so the
|
|
176
|
+
* control never greys out — even on the first track, where past the
|
|
177
|
+
* threshold it restarts).
|
|
178
|
+
*
|
|
179
|
+
* Pinned per `configure()` (a fixed behavior, not a live toggle);
|
|
180
|
+
* changing it re-runs `configure()`. Default: `'previous'`.
|
|
181
|
+
*/
|
|
182
|
+
skipToPreviousBehavior?: SkipToPreviousBehavior;
|
|
151
183
|
/**
|
|
152
184
|
* Disk budget for the lookahead cache, in megabytes. Fixed at `configure()`
|
|
153
185
|
* time and cannot change at runtime — Android's Media3 `SimpleCache` fixes
|
|
@@ -299,6 +331,15 @@ export declare const crossfadeDurationBounds: {
|
|
|
299
331
|
* one that loops.
|
|
300
332
|
*/
|
|
301
333
|
export type RepeatMode = 'off' | 'queue' | 'track';
|
|
334
|
+
/**
|
|
335
|
+
* How `skipToPrevious` (and the OS Previous control) behaves.
|
|
336
|
+
* - `'previous'` — always go to the previous track (the default; current
|
|
337
|
+
* behavior).
|
|
338
|
+
* - `'restart-or-previous'` — restart the current track (seek to 0) when it
|
|
339
|
+
* is past ~3 s, otherwise go to the previous track. The standard
|
|
340
|
+
* music-player model. See `PlayerConfig.skipToPreviousBehavior`.
|
|
341
|
+
*/
|
|
342
|
+
export type SkipToPreviousBehavior = 'previous' | 'restart-or-previous';
|
|
302
343
|
/**
|
|
303
344
|
* How the lock-screen / notification skip controls behave: skip between queue
|
|
304
345
|
* tracks (`'track'`) or jump forward/back within the current track by a fixed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,8 @@ namespace margelo::nitro::queueplayer { struct PlayerConfig; }
|
|
|
51
51
|
namespace margelo::nitro::queueplayer { enum class AudioContentType; }
|
|
52
52
|
// Forward declaration of `AudioCategoryOptions` to properly resolve imports.
|
|
53
53
|
namespace margelo::nitro::queueplayer { struct AudioCategoryOptions; }
|
|
54
|
+
// Forward declaration of `SkipToPreviousBehavior` to properly resolve imports.
|
|
55
|
+
namespace margelo::nitro::queueplayer { enum class SkipToPreviousBehavior; }
|
|
54
56
|
// Forward declaration of `EvictionPolicy` to properly resolve imports.
|
|
55
57
|
namespace margelo::nitro::queueplayer { enum class EvictionPolicy; }
|
|
56
58
|
// Forward declaration of `RepeatMode` to properly resolve imports.
|
|
@@ -156,6 +158,8 @@ namespace margelo::nitro::queueplayer { struct LookaheadCacheConfig; }
|
|
|
156
158
|
#include "JAudioContentType.hpp"
|
|
157
159
|
#include "AudioCategoryOptions.hpp"
|
|
158
160
|
#include "JAudioCategoryOptions.hpp"
|
|
161
|
+
#include "SkipToPreviousBehavior.hpp"
|
|
162
|
+
#include "JSkipToPreviousBehavior.hpp"
|
|
159
163
|
#include "EvictionPolicy.hpp"
|
|
160
164
|
#include "JEvictionPolicy.hpp"
|
|
161
165
|
#include "RepeatMode.hpp"
|
|
@@ -16,6 +16,8 @@
|
|
|
16
16
|
#include "JAudioCategoryOptions.hpp"
|
|
17
17
|
#include "JAudioContentType.hpp"
|
|
18
18
|
#include "JEvictionPolicy.hpp"
|
|
19
|
+
#include "JSkipToPreviousBehavior.hpp"
|
|
20
|
+
#include "SkipToPreviousBehavior.hpp"
|
|
19
21
|
#include <optional>
|
|
20
22
|
#include <string>
|
|
21
23
|
#include <unordered_map>
|
|
@@ -43,6 +45,8 @@ namespace margelo::nitro::queueplayer {
|
|
|
43
45
|
jni::local_ref<jni::JMap<jni::JString, jni::JString>> httpHeaders = this->getFieldValue(fieldHttpHeaders);
|
|
44
46
|
static const auto fieldUserAgent = clazz->getField<jni::JString>("userAgent");
|
|
45
47
|
jni::local_ref<jni::JString> userAgent = this->getFieldValue(fieldUserAgent);
|
|
48
|
+
static const auto fieldPlaceholderArtworkUri = clazz->getField<jni::JString>("placeholderArtworkUri");
|
|
49
|
+
jni::local_ref<jni::JString> placeholderArtworkUri = this->getFieldValue(fieldPlaceholderArtworkUri);
|
|
46
50
|
static const auto fieldAutoRetries = clazz->getField<jni::JDouble>("autoRetries");
|
|
47
51
|
jni::local_ref<jni::JDouble> autoRetries = this->getFieldValue(fieldAutoRetries);
|
|
48
52
|
static const auto fieldRetryBackoffMs = clazz->getField<jni::JDouble>("retryBackoffMs");
|
|
@@ -57,6 +61,8 @@ namespace margelo::nitro::queueplayer {
|
|
|
57
61
|
jni::local_ref<jni::JBoolean> visualizationEnabled = this->getFieldValue(fieldVisualizationEnabled);
|
|
58
62
|
static const auto fieldClampSeekToBuffered = clazz->getField<jni::JBoolean>("clampSeekToBuffered");
|
|
59
63
|
jni::local_ref<jni::JBoolean> clampSeekToBuffered = this->getFieldValue(fieldClampSeekToBuffered);
|
|
64
|
+
static const auto fieldSkipToPreviousBehavior = clazz->getField<JSkipToPreviousBehavior>("skipToPreviousBehavior");
|
|
65
|
+
jni::local_ref<JSkipToPreviousBehavior> skipToPreviousBehavior = this->getFieldValue(fieldSkipToPreviousBehavior);
|
|
60
66
|
static const auto fieldLookaheadCacheMaxSizeMb = clazz->getField<jni::JDouble>("lookaheadCacheMaxSizeMb");
|
|
61
67
|
jni::local_ref<jni::JDouble> lookaheadCacheMaxSizeMb = this->getFieldValue(fieldLookaheadCacheMaxSizeMb);
|
|
62
68
|
static const auto fieldLookaheadCacheEvictionPolicy = clazz->getField<JEvictionPolicy>("lookaheadCacheEvictionPolicy");
|
|
@@ -75,6 +81,7 @@ namespace margelo::nitro::queueplayer {
|
|
|
75
81
|
return __map;
|
|
76
82
|
}()) : std::nullopt,
|
|
77
83
|
userAgent != nullptr ? std::make_optional(userAgent->toStdString()) : std::nullopt,
|
|
84
|
+
placeholderArtworkUri != nullptr ? std::make_optional(placeholderArtworkUri->toStdString()) : std::nullopt,
|
|
78
85
|
autoRetries != nullptr ? std::make_optional(autoRetries->value()) : std::nullopt,
|
|
79
86
|
retryBackoffMs != nullptr ? std::make_optional(retryBackoffMs->value()) : std::nullopt,
|
|
80
87
|
networkTimeoutMs != nullptr ? std::make_optional(networkTimeoutMs->value()) : std::nullopt,
|
|
@@ -82,6 +89,7 @@ namespace margelo::nitro::queueplayer {
|
|
|
82
89
|
audioCategoryOptions != nullptr ? std::make_optional(audioCategoryOptions->toCpp()) : std::nullopt,
|
|
83
90
|
visualizationEnabled != nullptr ? std::make_optional(static_cast<bool>(visualizationEnabled->value())) : std::nullopt,
|
|
84
91
|
clampSeekToBuffered != nullptr ? std::make_optional(static_cast<bool>(clampSeekToBuffered->value())) : std::nullopt,
|
|
92
|
+
skipToPreviousBehavior != nullptr ? std::make_optional(skipToPreviousBehavior->toCpp()) : std::nullopt,
|
|
85
93
|
lookaheadCacheMaxSizeMb != nullptr ? std::make_optional(lookaheadCacheMaxSizeMb->value()) : std::nullopt,
|
|
86
94
|
lookaheadCacheEvictionPolicy != nullptr ? std::make_optional(lookaheadCacheEvictionPolicy->toCpp()) : std::nullopt,
|
|
87
95
|
progressUpdateIntervalMs != nullptr ? std::make_optional(progressUpdateIntervalMs->value()) : std::nullopt,
|
|
@@ -95,7 +103,7 @@ namespace margelo::nitro::queueplayer {
|
|
|
95
103
|
*/
|
|
96
104
|
[[maybe_unused]]
|
|
97
105
|
static jni::local_ref<JPlayerConfig::javaobject> fromCpp(const PlayerConfig& value) {
|
|
98
|
-
using JSignature = JPlayerConfig(jni::alias_ref<jni::JMap<jni::JString, jni::JString>>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JDouble>, jni::alias_ref<JAudioContentType>, jni::alias_ref<JAudioCategoryOptions>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JDouble>, jni::alias_ref<JEvictionPolicy>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JDouble>);
|
|
106
|
+
using JSignature = JPlayerConfig(jni::alias_ref<jni::JMap<jni::JString, jni::JString>>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JDouble>, jni::alias_ref<JAudioContentType>, jni::alias_ref<JAudioCategoryOptions>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JSkipToPreviousBehavior>, jni::alias_ref<jni::JDouble>, jni::alias_ref<JEvictionPolicy>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JDouble>);
|
|
99
107
|
static const auto clazz = javaClassStatic();
|
|
100
108
|
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
101
109
|
return create(
|
|
@@ -108,6 +116,7 @@ namespace margelo::nitro::queueplayer {
|
|
|
108
116
|
return __map;
|
|
109
117
|
}() : nullptr,
|
|
110
118
|
value.userAgent.has_value() ? jni::make_jstring(value.userAgent.value()) : nullptr,
|
|
119
|
+
value.placeholderArtworkUri.has_value() ? jni::make_jstring(value.placeholderArtworkUri.value()) : nullptr,
|
|
111
120
|
value.autoRetries.has_value() ? jni::JDouble::valueOf(value.autoRetries.value()) : nullptr,
|
|
112
121
|
value.retryBackoffMs.has_value() ? jni::JDouble::valueOf(value.retryBackoffMs.value()) : nullptr,
|
|
113
122
|
value.networkTimeoutMs.has_value() ? jni::JDouble::valueOf(value.networkTimeoutMs.value()) : nullptr,
|
|
@@ -115,6 +124,7 @@ namespace margelo::nitro::queueplayer {
|
|
|
115
124
|
value.audioCategoryOptions.has_value() ? JAudioCategoryOptions::fromCpp(value.audioCategoryOptions.value()) : nullptr,
|
|
116
125
|
value.visualizationEnabled.has_value() ? jni::JBoolean::valueOf(value.visualizationEnabled.value()) : nullptr,
|
|
117
126
|
value.clampSeekToBuffered.has_value() ? jni::JBoolean::valueOf(value.clampSeekToBuffered.value()) : nullptr,
|
|
127
|
+
value.skipToPreviousBehavior.has_value() ? JSkipToPreviousBehavior::fromCpp(value.skipToPreviousBehavior.value()) : nullptr,
|
|
118
128
|
value.lookaheadCacheMaxSizeMb.has_value() ? jni::JDouble::valueOf(value.lookaheadCacheMaxSizeMb.value()) : nullptr,
|
|
119
129
|
value.lookaheadCacheEvictionPolicy.has_value() ? JEvictionPolicy::fromCpp(value.lookaheadCacheEvictionPolicy.value()) : nullptr,
|
|
120
130
|
value.progressUpdateIntervalMs.has_value() ? jni::JDouble::valueOf(value.progressUpdateIntervalMs.value()) : nullptr,
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JSkipToPreviousBehavior.hpp
|
|
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
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "SkipToPreviousBehavior.hpp"
|
|
12
|
+
|
|
13
|
+
namespace margelo::nitro::queueplayer {
|
|
14
|
+
|
|
15
|
+
using namespace facebook;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The C++ JNI bridge between the C++ enum "SkipToPreviousBehavior" and the Kotlin enum "SkipToPreviousBehavior".
|
|
19
|
+
*/
|
|
20
|
+
struct JSkipToPreviousBehavior final: public jni::JavaClass<JSkipToPreviousBehavior> {
|
|
21
|
+
public:
|
|
22
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/queueplayer/SkipToPreviousBehavior;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum SkipToPreviousBehavior.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
SkipToPreviousBehavior toCpp() const {
|
|
31
|
+
static const auto clazz = javaClassStatic();
|
|
32
|
+
static const auto fieldOrdinal = clazz->getField<int>("value");
|
|
33
|
+
int ordinal = this->getFieldValue(fieldOrdinal);
|
|
34
|
+
return static_cast<SkipToPreviousBehavior>(ordinal);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public:
|
|
38
|
+
/**
|
|
39
|
+
* Create a Java/Kotlin-based enum with the given C++ enum's value.
|
|
40
|
+
*/
|
|
41
|
+
[[maybe_unused]]
|
|
42
|
+
static jni::alias_ref<JSkipToPreviousBehavior> fromCpp(SkipToPreviousBehavior value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
switch (value) {
|
|
45
|
+
case SkipToPreviousBehavior::PREVIOUS:
|
|
46
|
+
static const auto fieldPREVIOUS = clazz->getStaticField<JSkipToPreviousBehavior>("PREVIOUS");
|
|
47
|
+
return clazz->getStaticFieldValue(fieldPREVIOUS);
|
|
48
|
+
case SkipToPreviousBehavior::RESTART_OR_PREVIOUS:
|
|
49
|
+
static const auto fieldRESTART_OR_PREVIOUS = clazz->getStaticField<JSkipToPreviousBehavior>("RESTART_OR_PREVIOUS");
|
|
50
|
+
return clazz->getStaticFieldValue(fieldRESTART_OR_PREVIOUS);
|
|
51
|
+
default:
|
|
52
|
+
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
53
|
+
throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
} // namespace margelo::nitro::queueplayer
|
|
@@ -26,6 +26,9 @@ data class PlayerConfig(
|
|
|
26
26
|
val userAgent: String?,
|
|
27
27
|
@DoNotStrip
|
|
28
28
|
@Keep
|
|
29
|
+
val placeholderArtworkUri: String?,
|
|
30
|
+
@DoNotStrip
|
|
31
|
+
@Keep
|
|
29
32
|
val autoRetries: Double?,
|
|
30
33
|
@DoNotStrip
|
|
31
34
|
@Keep
|
|
@@ -47,6 +50,9 @@ data class PlayerConfig(
|
|
|
47
50
|
val clampSeekToBuffered: Boolean?,
|
|
48
51
|
@DoNotStrip
|
|
49
52
|
@Keep
|
|
53
|
+
val skipToPreviousBehavior: SkipToPreviousBehavior?,
|
|
54
|
+
@DoNotStrip
|
|
55
|
+
@Keep
|
|
50
56
|
val lookaheadCacheMaxSizeMb: Double?,
|
|
51
57
|
@DoNotStrip
|
|
52
58
|
@Keep
|
|
@@ -65,6 +71,7 @@ data class PlayerConfig(
|
|
|
65
71
|
if (other !is PlayerConfig) return false
|
|
66
72
|
return Objects.deepEquals(this.httpHeaders, other.httpHeaders)
|
|
67
73
|
&& Objects.deepEquals(this.userAgent, other.userAgent)
|
|
74
|
+
&& Objects.deepEquals(this.placeholderArtworkUri, other.placeholderArtworkUri)
|
|
68
75
|
&& Objects.deepEquals(this.autoRetries, other.autoRetries)
|
|
69
76
|
&& Objects.deepEquals(this.retryBackoffMs, other.retryBackoffMs)
|
|
70
77
|
&& Objects.deepEquals(this.networkTimeoutMs, other.networkTimeoutMs)
|
|
@@ -72,6 +79,7 @@ data class PlayerConfig(
|
|
|
72
79
|
&& Objects.deepEquals(this.audioCategoryOptions, other.audioCategoryOptions)
|
|
73
80
|
&& Objects.deepEquals(this.visualizationEnabled, other.visualizationEnabled)
|
|
74
81
|
&& Objects.deepEquals(this.clampSeekToBuffered, other.clampSeekToBuffered)
|
|
82
|
+
&& Objects.deepEquals(this.skipToPreviousBehavior, other.skipToPreviousBehavior)
|
|
75
83
|
&& Objects.deepEquals(this.lookaheadCacheMaxSizeMb, other.lookaheadCacheMaxSizeMb)
|
|
76
84
|
&& Objects.deepEquals(this.lookaheadCacheEvictionPolicy, other.lookaheadCacheEvictionPolicy)
|
|
77
85
|
&& Objects.deepEquals(this.progressUpdateIntervalMs, other.progressUpdateIntervalMs)
|
|
@@ -82,6 +90,7 @@ data class PlayerConfig(
|
|
|
82
90
|
return arrayOf<Any?>(
|
|
83
91
|
httpHeaders,
|
|
84
92
|
userAgent,
|
|
93
|
+
placeholderArtworkUri,
|
|
85
94
|
autoRetries,
|
|
86
95
|
retryBackoffMs,
|
|
87
96
|
networkTimeoutMs,
|
|
@@ -89,6 +98,7 @@ data class PlayerConfig(
|
|
|
89
98
|
audioCategoryOptions,
|
|
90
99
|
visualizationEnabled,
|
|
91
100
|
clampSeekToBuffered,
|
|
101
|
+
skipToPreviousBehavior,
|
|
92
102
|
lookaheadCacheMaxSizeMb,
|
|
93
103
|
lookaheadCacheEvictionPolicy,
|
|
94
104
|
progressUpdateIntervalMs,
|
|
@@ -104,8 +114,8 @@ data class PlayerConfig(
|
|
|
104
114
|
@Keep
|
|
105
115
|
@Suppress("unused")
|
|
106
116
|
@JvmStatic
|
|
107
|
-
private fun fromCpp(httpHeaders: Map<String, String>?, userAgent: String?, autoRetries: Double?, retryBackoffMs: Double?, networkTimeoutMs: Double?, audioContentType: AudioContentType?, audioCategoryOptions: AudioCategoryOptions?, visualizationEnabled: Boolean?, clampSeekToBuffered: Boolean?, lookaheadCacheMaxSizeMb: Double?, lookaheadCacheEvictionPolicy: EvictionPolicy?, progressUpdateIntervalMs: Double?, backgroundProgressUpdateIntervalMs: Double?): PlayerConfig {
|
|
108
|
-
return PlayerConfig(httpHeaders, userAgent, autoRetries, retryBackoffMs, networkTimeoutMs, audioContentType, audioCategoryOptions, visualizationEnabled, clampSeekToBuffered, lookaheadCacheMaxSizeMb, lookaheadCacheEvictionPolicy, progressUpdateIntervalMs, backgroundProgressUpdateIntervalMs)
|
|
117
|
+
private fun fromCpp(httpHeaders: Map<String, String>?, userAgent: String?, placeholderArtworkUri: String?, autoRetries: Double?, retryBackoffMs: Double?, networkTimeoutMs: Double?, audioContentType: AudioContentType?, audioCategoryOptions: AudioCategoryOptions?, visualizationEnabled: Boolean?, clampSeekToBuffered: Boolean?, skipToPreviousBehavior: SkipToPreviousBehavior?, lookaheadCacheMaxSizeMb: Double?, lookaheadCacheEvictionPolicy: EvictionPolicy?, progressUpdateIntervalMs: Double?, backgroundProgressUpdateIntervalMs: Double?): PlayerConfig {
|
|
118
|
+
return PlayerConfig(httpHeaders, userAgent, placeholderArtworkUri, autoRetries, retryBackoffMs, networkTimeoutMs, audioContentType, audioCategoryOptions, visualizationEnabled, clampSeekToBuffered, skipToPreviousBehavior, lookaheadCacheMaxSizeMb, lookaheadCacheEvictionPolicy, progressUpdateIntervalMs, backgroundProgressUpdateIntervalMs)
|
|
109
119
|
}
|
|
110
120
|
}
|
|
111
121
|
}
|
package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/SkipToPreviousBehavior.kt
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// SkipToPreviousBehavior.kt
|
|
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
|
+
package com.margelo.nitro.queueplayer
|
|
9
|
+
|
|
10
|
+
import androidx.annotation.Keep
|
|
11
|
+
import com.facebook.proguard.annotations.DoNotStrip
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Represents the JavaScript enum/union "SkipToPreviousBehavior".
|
|
15
|
+
*/
|
|
16
|
+
@DoNotStrip
|
|
17
|
+
@Keep
|
|
18
|
+
enum class SkipToPreviousBehavior(@DoNotStrip @Keep val value: Int) {
|
|
19
|
+
PREVIOUS(0),
|
|
20
|
+
RESTART_OR_PREVIOUS(1);
|
|
21
|
+
|
|
22
|
+
companion object
|
|
23
|
+
}
|
|
@@ -112,6 +112,8 @@ namespace margelo::nitro::queueplayer { enum class ServiceReadyReason; }
|
|
|
112
112
|
namespace margelo::nitro::queueplayer { struct ShuffleResult; }
|
|
113
113
|
// Forward declaration of `SkipCapability` to properly resolve imports.
|
|
114
114
|
namespace margelo::nitro::queueplayer { struct SkipCapability; }
|
|
115
|
+
// Forward declaration of `SkipToPreviousBehavior` to properly resolve imports.
|
|
116
|
+
namespace margelo::nitro::queueplayer { enum class SkipToPreviousBehavior; }
|
|
115
117
|
// Forward declaration of `SleepTimerState` to properly resolve imports.
|
|
116
118
|
namespace margelo::nitro::queueplayer { struct SleepTimerState; }
|
|
117
119
|
// Forward declaration of `StateChangeReason` to properly resolve imports.
|
|
@@ -189,6 +191,7 @@ namespace QueuePlayer { class HybridVisualizerSpec_cxx; }
|
|
|
189
191
|
#include "ServiceReadyReason.hpp"
|
|
190
192
|
#include "ShuffleResult.hpp"
|
|
191
193
|
#include "SkipCapability.hpp"
|
|
194
|
+
#include "SkipToPreviousBehavior.hpp"
|
|
192
195
|
#include "SleepTimerState.hpp"
|
|
193
196
|
#include "StateChangeReason.hpp"
|
|
194
197
|
#include "TrackChangeReason.hpp"
|
|
@@ -785,6 +788,21 @@ namespace margelo::nitro::queueplayer::bridge::swift {
|
|
|
785
788
|
return optional.value();
|
|
786
789
|
}
|
|
787
790
|
|
|
791
|
+
// pragma MARK: std::optional<SkipToPreviousBehavior>
|
|
792
|
+
/**
|
|
793
|
+
* Specialized version of `std::optional<SkipToPreviousBehavior>`.
|
|
794
|
+
*/
|
|
795
|
+
using std__optional_SkipToPreviousBehavior_ = std::optional<SkipToPreviousBehavior>;
|
|
796
|
+
inline std::optional<SkipToPreviousBehavior> create_std__optional_SkipToPreviousBehavior_(const SkipToPreviousBehavior& value) noexcept {
|
|
797
|
+
return std::optional<SkipToPreviousBehavior>(value);
|
|
798
|
+
}
|
|
799
|
+
inline bool has_value_std__optional_SkipToPreviousBehavior_(const std::optional<SkipToPreviousBehavior>& optional) noexcept {
|
|
800
|
+
return optional.has_value();
|
|
801
|
+
}
|
|
802
|
+
inline SkipToPreviousBehavior get_std__optional_SkipToPreviousBehavior_(const std::optional<SkipToPreviousBehavior>& optional) noexcept {
|
|
803
|
+
return optional.value();
|
|
804
|
+
}
|
|
805
|
+
|
|
788
806
|
// pragma MARK: std::optional<EvictionPolicy>
|
|
789
807
|
/**
|
|
790
808
|
* Specialized version of `std::optional<EvictionPolicy>`.
|
|
@@ -126,6 +126,8 @@ namespace margelo::nitro::queueplayer { enum class ServiceReadyReason; }
|
|
|
126
126
|
namespace margelo::nitro::queueplayer { struct ShuffleResult; }
|
|
127
127
|
// Forward declaration of `SkipCapability` to properly resolve imports.
|
|
128
128
|
namespace margelo::nitro::queueplayer { struct SkipCapability; }
|
|
129
|
+
// Forward declaration of `SkipToPreviousBehavior` to properly resolve imports.
|
|
130
|
+
namespace margelo::nitro::queueplayer { enum class SkipToPreviousBehavior; }
|
|
129
131
|
// Forward declaration of `SleepTimerState` to properly resolve imports.
|
|
130
132
|
namespace margelo::nitro::queueplayer { struct SleepTimerState; }
|
|
131
133
|
// Forward declaration of `StateChangeReason` to properly resolve imports.
|
|
@@ -205,6 +207,7 @@ namespace margelo::nitro::queueplayer { struct VoiceVocabulary; }
|
|
|
205
207
|
#include "ServiceReadyReason.hpp"
|
|
206
208
|
#include "ShuffleResult.hpp"
|
|
207
209
|
#include "SkipCapability.hpp"
|
|
210
|
+
#include "SkipToPreviousBehavior.hpp"
|
|
208
211
|
#include "SleepTimerState.hpp"
|
|
209
212
|
#include "StateChangeReason.hpp"
|
|
210
213
|
#include "TrackChangeReason.hpp"
|
|
@@ -18,6 +18,8 @@ namespace margelo::nitro::queueplayer { struct PlayerConfig; }
|
|
|
18
18
|
namespace margelo::nitro::queueplayer { enum class AudioContentType; }
|
|
19
19
|
// Forward declaration of `AudioCategoryOptions` to properly resolve imports.
|
|
20
20
|
namespace margelo::nitro::queueplayer { struct AudioCategoryOptions; }
|
|
21
|
+
// Forward declaration of `SkipToPreviousBehavior` to properly resolve imports.
|
|
22
|
+
namespace margelo::nitro::queueplayer { enum class SkipToPreviousBehavior; }
|
|
21
23
|
// Forward declaration of `EvictionPolicy` to properly resolve imports.
|
|
22
24
|
namespace margelo::nitro::queueplayer { enum class EvictionPolicy; }
|
|
23
25
|
// Forward declaration of `TrackItem` to properly resolve imports.
|
|
@@ -108,6 +110,7 @@ namespace margelo::nitro::queueplayer { struct NowPlayingFormatAndroidExtras; }
|
|
|
108
110
|
#include <optional>
|
|
109
111
|
#include "AudioContentType.hpp"
|
|
110
112
|
#include "AudioCategoryOptions.hpp"
|
|
113
|
+
#include "SkipToPreviousBehavior.hpp"
|
|
111
114
|
#include "EvictionPolicy.hpp"
|
|
112
115
|
#include "TrackItem.hpp"
|
|
113
116
|
#include <vector>
|
|
@@ -18,7 +18,7 @@ public extension PlayerConfig {
|
|
|
18
18
|
/**
|
|
19
19
|
* Create a new instance of `PlayerConfig`.
|
|
20
20
|
*/
|
|
21
|
-
init(httpHeaders: Dictionary<String, String>?, userAgent: String?, autoRetries: Double?, retryBackoffMs: Double?, networkTimeoutMs: Double?, audioContentType: AudioContentType?, audioCategoryOptions: AudioCategoryOptions?, visualizationEnabled: Bool?, clampSeekToBuffered: Bool?, lookaheadCacheMaxSizeMb: Double?, lookaheadCacheEvictionPolicy: EvictionPolicy?, progressUpdateIntervalMs: Double?, backgroundProgressUpdateIntervalMs: Double?) {
|
|
21
|
+
init(httpHeaders: Dictionary<String, String>?, userAgent: String?, placeholderArtworkUri: String?, autoRetries: Double?, retryBackoffMs: Double?, networkTimeoutMs: Double?, audioContentType: AudioContentType?, audioCategoryOptions: AudioCategoryOptions?, visualizationEnabled: Bool?, clampSeekToBuffered: Bool?, skipToPreviousBehavior: SkipToPreviousBehavior?, lookaheadCacheMaxSizeMb: Double?, lookaheadCacheEvictionPolicy: EvictionPolicy?, progressUpdateIntervalMs: Double?, backgroundProgressUpdateIntervalMs: Double?) {
|
|
22
22
|
self.init({ () -> bridge.std__optional_std__unordered_map_std__string__std__string__ in
|
|
23
23
|
if let __unwrappedValue = httpHeaders {
|
|
24
24
|
return bridge.create_std__optional_std__unordered_map_std__string__std__string__({ () -> bridge.std__unordered_map_std__string__std__string_ in
|
|
@@ -37,6 +37,12 @@ public extension PlayerConfig {
|
|
|
37
37
|
} else {
|
|
38
38
|
return .init()
|
|
39
39
|
}
|
|
40
|
+
}(), { () -> bridge.std__optional_std__string_ in
|
|
41
|
+
if let __unwrappedValue = placeholderArtworkUri {
|
|
42
|
+
return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
|
|
43
|
+
} else {
|
|
44
|
+
return .init()
|
|
45
|
+
}
|
|
40
46
|
}(), { () -> bridge.std__optional_double_ in
|
|
41
47
|
if let __unwrappedValue = autoRetries {
|
|
42
48
|
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
@@ -79,6 +85,12 @@ public extension PlayerConfig {
|
|
|
79
85
|
} else {
|
|
80
86
|
return .init()
|
|
81
87
|
}
|
|
88
|
+
}(), { () -> bridge.std__optional_SkipToPreviousBehavior_ in
|
|
89
|
+
if let __unwrappedValue = skipToPreviousBehavior {
|
|
90
|
+
return bridge.create_std__optional_SkipToPreviousBehavior_(__unwrappedValue)
|
|
91
|
+
} else {
|
|
92
|
+
return .init()
|
|
93
|
+
}
|
|
82
94
|
}(), { () -> bridge.std__optional_double_ in
|
|
83
95
|
if let __unwrappedValue = lookaheadCacheMaxSizeMb {
|
|
84
96
|
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
@@ -138,6 +150,18 @@ public extension PlayerConfig {
|
|
|
138
150
|
}()
|
|
139
151
|
}
|
|
140
152
|
|
|
153
|
+
@inline(__always)
|
|
154
|
+
var placeholderArtworkUri: String? {
|
|
155
|
+
return { () -> String? in
|
|
156
|
+
if bridge.has_value_std__optional_std__string_(self.__placeholderArtworkUri) {
|
|
157
|
+
let __unwrapped = bridge.get_std__optional_std__string_(self.__placeholderArtworkUri)
|
|
158
|
+
return String(__unwrapped)
|
|
159
|
+
} else {
|
|
160
|
+
return nil
|
|
161
|
+
}
|
|
162
|
+
}()
|
|
163
|
+
}
|
|
164
|
+
|
|
141
165
|
@inline(__always)
|
|
142
166
|
var autoRetries: Double? {
|
|
143
167
|
return { () -> Double? in
|
|
@@ -208,6 +232,11 @@ public extension PlayerConfig {
|
|
|
208
232
|
}()
|
|
209
233
|
}
|
|
210
234
|
|
|
235
|
+
@inline(__always)
|
|
236
|
+
var skipToPreviousBehavior: SkipToPreviousBehavior? {
|
|
237
|
+
return self.__skipToPreviousBehavior.value
|
|
238
|
+
}
|
|
239
|
+
|
|
211
240
|
@inline(__always)
|
|
212
241
|
var lookaheadCacheMaxSizeMb: Double? {
|
|
213
242
|
return { () -> Double? in
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// SkipToPreviousBehavior.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
|
+
/**
|
|
9
|
+
* Represents the JS union `SkipToPreviousBehavior`, backed by a C++ enum.
|
|
10
|
+
*/
|
|
11
|
+
public typealias SkipToPreviousBehavior = margelo.nitro.queueplayer.SkipToPreviousBehavior
|
|
12
|
+
|
|
13
|
+
public extension SkipToPreviousBehavior {
|
|
14
|
+
/**
|
|
15
|
+
* Get a SkipToPreviousBehavior 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 "previous":
|
|
21
|
+
self = .previous
|
|
22
|
+
case "restart-or-previous":
|
|
23
|
+
self = .restartOrPrevious
|
|
24
|
+
default:
|
|
25
|
+
return nil
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Get the String value this SkipToPreviousBehavior represents.
|
|
31
|
+
*/
|
|
32
|
+
var stringValue: String {
|
|
33
|
+
switch self {
|
|
34
|
+
case .previous:
|
|
35
|
+
return "previous"
|
|
36
|
+
case .restartOrPrevious:
|
|
37
|
+
return "restart-or-previous"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -32,6 +32,8 @@
|
|
|
32
32
|
namespace margelo::nitro::queueplayer { enum class AudioContentType; }
|
|
33
33
|
// Forward declaration of `AudioCategoryOptions` to properly resolve imports.
|
|
34
34
|
namespace margelo::nitro::queueplayer { struct AudioCategoryOptions; }
|
|
35
|
+
// Forward declaration of `SkipToPreviousBehavior` to properly resolve imports.
|
|
36
|
+
namespace margelo::nitro::queueplayer { enum class SkipToPreviousBehavior; }
|
|
35
37
|
// Forward declaration of `EvictionPolicy` to properly resolve imports.
|
|
36
38
|
namespace margelo::nitro::queueplayer { enum class EvictionPolicy; }
|
|
37
39
|
|
|
@@ -40,6 +42,7 @@ namespace margelo::nitro::queueplayer { enum class EvictionPolicy; }
|
|
|
40
42
|
#include <optional>
|
|
41
43
|
#include "AudioContentType.hpp"
|
|
42
44
|
#include "AudioCategoryOptions.hpp"
|
|
45
|
+
#include "SkipToPreviousBehavior.hpp"
|
|
43
46
|
#include "EvictionPolicy.hpp"
|
|
44
47
|
|
|
45
48
|
namespace margelo::nitro::queueplayer {
|
|
@@ -51,6 +54,7 @@ namespace margelo::nitro::queueplayer {
|
|
|
51
54
|
public:
|
|
52
55
|
std::optional<std::unordered_map<std::string, std::string>> httpHeaders SWIFT_PRIVATE;
|
|
53
56
|
std::optional<std::string> userAgent SWIFT_PRIVATE;
|
|
57
|
+
std::optional<std::string> placeholderArtworkUri SWIFT_PRIVATE;
|
|
54
58
|
std::optional<double> autoRetries SWIFT_PRIVATE;
|
|
55
59
|
std::optional<double> retryBackoffMs SWIFT_PRIVATE;
|
|
56
60
|
std::optional<double> networkTimeoutMs SWIFT_PRIVATE;
|
|
@@ -58,6 +62,7 @@ namespace margelo::nitro::queueplayer {
|
|
|
58
62
|
std::optional<AudioCategoryOptions> audioCategoryOptions SWIFT_PRIVATE;
|
|
59
63
|
std::optional<bool> visualizationEnabled SWIFT_PRIVATE;
|
|
60
64
|
std::optional<bool> clampSeekToBuffered SWIFT_PRIVATE;
|
|
65
|
+
std::optional<SkipToPreviousBehavior> skipToPreviousBehavior SWIFT_PRIVATE;
|
|
61
66
|
std::optional<double> lookaheadCacheMaxSizeMb SWIFT_PRIVATE;
|
|
62
67
|
std::optional<EvictionPolicy> lookaheadCacheEvictionPolicy SWIFT_PRIVATE;
|
|
63
68
|
std::optional<double> progressUpdateIntervalMs SWIFT_PRIVATE;
|
|
@@ -65,7 +70,7 @@ namespace margelo::nitro::queueplayer {
|
|
|
65
70
|
|
|
66
71
|
public:
|
|
67
72
|
PlayerConfig() = default;
|
|
68
|
-
explicit PlayerConfig(std::optional<std::unordered_map<std::string, std::string>> httpHeaders, std::optional<std::string> userAgent, std::optional<double> autoRetries, std::optional<double> retryBackoffMs, std::optional<double> networkTimeoutMs, std::optional<AudioContentType> audioContentType, std::optional<AudioCategoryOptions> audioCategoryOptions, std::optional<bool> visualizationEnabled, std::optional<bool> clampSeekToBuffered, std::optional<double> lookaheadCacheMaxSizeMb, std::optional<EvictionPolicy> lookaheadCacheEvictionPolicy, std::optional<double> progressUpdateIntervalMs, std::optional<double> backgroundProgressUpdateIntervalMs): httpHeaders(httpHeaders), userAgent(userAgent), autoRetries(autoRetries), retryBackoffMs(retryBackoffMs), networkTimeoutMs(networkTimeoutMs), audioContentType(audioContentType), audioCategoryOptions(audioCategoryOptions), visualizationEnabled(visualizationEnabled), clampSeekToBuffered(clampSeekToBuffered), lookaheadCacheMaxSizeMb(lookaheadCacheMaxSizeMb), lookaheadCacheEvictionPolicy(lookaheadCacheEvictionPolicy), progressUpdateIntervalMs(progressUpdateIntervalMs), backgroundProgressUpdateIntervalMs(backgroundProgressUpdateIntervalMs) {}
|
|
73
|
+
explicit PlayerConfig(std::optional<std::unordered_map<std::string, std::string>> httpHeaders, std::optional<std::string> userAgent, std::optional<std::string> placeholderArtworkUri, std::optional<double> autoRetries, std::optional<double> retryBackoffMs, std::optional<double> networkTimeoutMs, std::optional<AudioContentType> audioContentType, std::optional<AudioCategoryOptions> audioCategoryOptions, std::optional<bool> visualizationEnabled, std::optional<bool> clampSeekToBuffered, std::optional<SkipToPreviousBehavior> skipToPreviousBehavior, std::optional<double> lookaheadCacheMaxSizeMb, std::optional<EvictionPolicy> lookaheadCacheEvictionPolicy, std::optional<double> progressUpdateIntervalMs, std::optional<double> backgroundProgressUpdateIntervalMs): httpHeaders(httpHeaders), userAgent(userAgent), placeholderArtworkUri(placeholderArtworkUri), autoRetries(autoRetries), retryBackoffMs(retryBackoffMs), networkTimeoutMs(networkTimeoutMs), audioContentType(audioContentType), audioCategoryOptions(audioCategoryOptions), visualizationEnabled(visualizationEnabled), clampSeekToBuffered(clampSeekToBuffered), skipToPreviousBehavior(skipToPreviousBehavior), lookaheadCacheMaxSizeMb(lookaheadCacheMaxSizeMb), lookaheadCacheEvictionPolicy(lookaheadCacheEvictionPolicy), progressUpdateIntervalMs(progressUpdateIntervalMs), backgroundProgressUpdateIntervalMs(backgroundProgressUpdateIntervalMs) {}
|
|
69
74
|
|
|
70
75
|
public:
|
|
71
76
|
friend bool operator==(const PlayerConfig& lhs, const PlayerConfig& rhs) = default;
|
|
@@ -83,6 +88,7 @@ namespace margelo::nitro {
|
|
|
83
88
|
return margelo::nitro::queueplayer::PlayerConfig(
|
|
84
89
|
JSIConverter<std::optional<std::unordered_map<std::string, std::string>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "httpHeaders"))),
|
|
85
90
|
JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "userAgent"))),
|
|
91
|
+
JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "placeholderArtworkUri"))),
|
|
86
92
|
JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "autoRetries"))),
|
|
87
93
|
JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "retryBackoffMs"))),
|
|
88
94
|
JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "networkTimeoutMs"))),
|
|
@@ -90,6 +96,7 @@ namespace margelo::nitro {
|
|
|
90
96
|
JSIConverter<std::optional<margelo::nitro::queueplayer::AudioCategoryOptions>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "audioCategoryOptions"))),
|
|
91
97
|
JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "visualizationEnabled"))),
|
|
92
98
|
JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "clampSeekToBuffered"))),
|
|
99
|
+
JSIConverter<std::optional<margelo::nitro::queueplayer::SkipToPreviousBehavior>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "skipToPreviousBehavior"))),
|
|
93
100
|
JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "lookaheadCacheMaxSizeMb"))),
|
|
94
101
|
JSIConverter<std::optional<margelo::nitro::queueplayer::EvictionPolicy>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "lookaheadCacheEvictionPolicy"))),
|
|
95
102
|
JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "progressUpdateIntervalMs"))),
|
|
@@ -100,6 +107,7 @@ namespace margelo::nitro {
|
|
|
100
107
|
jsi::Object obj(runtime);
|
|
101
108
|
obj.setProperty(runtime, PropNameIDCache::get(runtime, "httpHeaders"), JSIConverter<std::optional<std::unordered_map<std::string, std::string>>>::toJSI(runtime, arg.httpHeaders));
|
|
102
109
|
obj.setProperty(runtime, PropNameIDCache::get(runtime, "userAgent"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.userAgent));
|
|
110
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "placeholderArtworkUri"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.placeholderArtworkUri));
|
|
103
111
|
obj.setProperty(runtime, PropNameIDCache::get(runtime, "autoRetries"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.autoRetries));
|
|
104
112
|
obj.setProperty(runtime, PropNameIDCache::get(runtime, "retryBackoffMs"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.retryBackoffMs));
|
|
105
113
|
obj.setProperty(runtime, PropNameIDCache::get(runtime, "networkTimeoutMs"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.networkTimeoutMs));
|
|
@@ -107,6 +115,7 @@ namespace margelo::nitro {
|
|
|
107
115
|
obj.setProperty(runtime, PropNameIDCache::get(runtime, "audioCategoryOptions"), JSIConverter<std::optional<margelo::nitro::queueplayer::AudioCategoryOptions>>::toJSI(runtime, arg.audioCategoryOptions));
|
|
108
116
|
obj.setProperty(runtime, PropNameIDCache::get(runtime, "visualizationEnabled"), JSIConverter<std::optional<bool>>::toJSI(runtime, arg.visualizationEnabled));
|
|
109
117
|
obj.setProperty(runtime, PropNameIDCache::get(runtime, "clampSeekToBuffered"), JSIConverter<std::optional<bool>>::toJSI(runtime, arg.clampSeekToBuffered));
|
|
118
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "skipToPreviousBehavior"), JSIConverter<std::optional<margelo::nitro::queueplayer::SkipToPreviousBehavior>>::toJSI(runtime, arg.skipToPreviousBehavior));
|
|
110
119
|
obj.setProperty(runtime, PropNameIDCache::get(runtime, "lookaheadCacheMaxSizeMb"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.lookaheadCacheMaxSizeMb));
|
|
111
120
|
obj.setProperty(runtime, PropNameIDCache::get(runtime, "lookaheadCacheEvictionPolicy"), JSIConverter<std::optional<margelo::nitro::queueplayer::EvictionPolicy>>::toJSI(runtime, arg.lookaheadCacheEvictionPolicy));
|
|
112
121
|
obj.setProperty(runtime, PropNameIDCache::get(runtime, "progressUpdateIntervalMs"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.progressUpdateIntervalMs));
|
|
@@ -123,6 +132,7 @@ namespace margelo::nitro {
|
|
|
123
132
|
}
|
|
124
133
|
if (!JSIConverter<std::optional<std::unordered_map<std::string, std::string>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "httpHeaders")))) return false;
|
|
125
134
|
if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "userAgent")))) return false;
|
|
135
|
+
if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "placeholderArtworkUri")))) return false;
|
|
126
136
|
if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "autoRetries")))) return false;
|
|
127
137
|
if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "retryBackoffMs")))) return false;
|
|
128
138
|
if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "networkTimeoutMs")))) return false;
|
|
@@ -130,6 +140,7 @@ namespace margelo::nitro {
|
|
|
130
140
|
if (!JSIConverter<std::optional<margelo::nitro::queueplayer::AudioCategoryOptions>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "audioCategoryOptions")))) return false;
|
|
131
141
|
if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "visualizationEnabled")))) return false;
|
|
132
142
|
if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "clampSeekToBuffered")))) return false;
|
|
143
|
+
if (!JSIConverter<std::optional<margelo::nitro::queueplayer::SkipToPreviousBehavior>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "skipToPreviousBehavior")))) return false;
|
|
133
144
|
if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "lookaheadCacheMaxSizeMb")))) return false;
|
|
134
145
|
if (!JSIConverter<std::optional<margelo::nitro::queueplayer::EvictionPolicy>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "lookaheadCacheEvictionPolicy")))) return false;
|
|
135
146
|
if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "progressUpdateIntervalMs")))) return false;
|