react-native-nitro-player 0.6.0 → 0.7.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/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerCore.kt +43 -0
- package/ios/core/TrackPlayerCore.swift +15 -0
- package/nitro.json +44 -11
- package/nitrogen/generated/android/NitroPlayerOnLoad.cpp +61 -24
- package/nitrogen/generated/android/c++/JCurrentPlayingType.hpp +1 -1
- package/nitrogen/generated/android/c++/JDownloadConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JDownloadError.hpp +1 -1
- package/nitrogen/generated/android/c++/JDownloadErrorReason.hpp +1 -1
- package/nitrogen/generated/android/c++/JDownloadProgress.hpp +1 -1
- package/nitrogen/generated/android/c++/JDownloadQueueStatus.hpp +1 -1
- package/nitrogen/generated/android/c++/JDownloadState.hpp +1 -1
- package/nitrogen/generated/android/c++/JDownloadStorageInfo.hpp +1 -1
- package/nitrogen/generated/android/c++/JDownloadTask.hpp +1 -1
- package/nitrogen/generated/android/c++/JDownloadedPlaylist.hpp +1 -1
- package/nitrogen/generated/android/c++/JDownloadedTrack.hpp +1 -1
- package/nitrogen/generated/android/c++/JEqualizerBand.hpp +1 -1
- package/nitrogen/generated/android/c++/JEqualizerPreset.hpp +1 -1
- package/nitrogen/generated/android/c++/JEqualizerState.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_DownloadProgress.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_DownloadedTrack.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_TrackItem_std__optional_Reason_.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_TrackPlayerState_std__optional_Reason_.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_double_double.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_double_double_std__optional_bool_.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__variant_nitro__NullType__std__string__.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_std__string_Playlist_std__optional_QueueOperation_.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_std__string_std__string_DownloadState_std__optional_DownloadError_.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_EqualizerBand_.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_Playlist__std__optional_QueueOperation_.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_TrackItem__double.hpp +2 -2
- package/nitrogen/generated/android/c++/JGainRange.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridAndroidAutoMediaLibrarySpec.cpp +20 -26
- package/nitrogen/generated/android/c++/JHybridAndroidAutoMediaLibrarySpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridAudioDevicesSpec.cpp +20 -26
- package/nitrogen/generated/android/c++/JHybridAudioDevicesSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridDownloadManagerSpec.cpp +53 -59
- package/nitrogen/generated/android/c++/JHybridDownloadManagerSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridEqualizerSpec.cpp +36 -42
- package/nitrogen/generated/android/c++/JHybridEqualizerSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridPlayerQueueSpec.cpp +31 -37
- package/nitrogen/generated/android/c++/JHybridPlayerQueueSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.cpp +47 -53
- package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JPlaybackSource.hpp +1 -1
- package/nitrogen/generated/android/c++/JPlayerConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JPlayerState.hpp +1 -1
- package/nitrogen/generated/android/c++/JPlaylist.hpp +1 -1
- package/nitrogen/generated/android/c++/JPresetType.hpp +1 -1
- package/nitrogen/generated/android/c++/JQueueOperation.hpp +1 -1
- package/nitrogen/generated/android/c++/JReason.hpp +1 -1
- package/nitrogen/generated/android/c++/JRepeatMode.hpp +1 -1
- package/nitrogen/generated/android/c++/JStorageLocation.hpp +1 -1
- package/nitrogen/generated/android/c++/JTAudioDevice.hpp +1 -1
- package/nitrogen/generated/android/c++/JTrackItem.hpp +1 -1
- package/nitrogen/generated/android/c++/JTrackPlayerState.hpp +1 -1
- package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadError.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadTask.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedPlaylist.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedTrack.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_Playlist.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_String.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_TrackItem.hpp +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridAndroidAutoMediaLibrarySpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridAudioDevicesSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridDownloadManagerSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridEqualizerSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridPlayerQueueSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridTrackPlayerSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_Double.kt +0 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadError.kt +0 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadTask.kt +0 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadedPlaylist.kt +0 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadedTrack.kt +0 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_Playlist.kt +0 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_String.kt +0 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_TrackItem.kt +0 -6
- package/package.json +3 -3
|
@@ -89,37 +89,31 @@ namespace margelo::nitro::nitroplayer { enum class PlaybackSource; }
|
|
|
89
89
|
|
|
90
90
|
namespace margelo::nitro::nitroplayer {
|
|
91
91
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
});
|
|
92
|
+
std::shared_ptr<JHybridDownloadManagerSpec> JHybridDownloadManagerSpec::JavaPart::getJHybridDownloadManagerSpec() {
|
|
93
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
94
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridDownloadManagerSpec>(hybridObject);
|
|
95
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
96
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridDownloadManagerSpec!");
|
|
97
|
+
}
|
|
98
|
+
return castHybridObject;
|
|
100
99
|
}
|
|
101
100
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
return method(_javaPart);
|
|
101
|
+
jni::local_ref<JHybridDownloadManagerSpec::CxxPart::jhybriddata> JHybridDownloadManagerSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
102
|
+
return makeCxxInstance(jThis);
|
|
105
103
|
}
|
|
106
104
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
105
|
+
std::shared_ptr<JHybridObject> JHybridDownloadManagerSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
106
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridDownloadManagerSpec::JavaPart>(javaPart);
|
|
107
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
108
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridDownloadManagerSpec::JavaPart!");
|
|
110
109
|
}
|
|
111
|
-
return
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
void JHybridDownloadManagerSpec::dispose() noexcept {
|
|
115
|
-
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
116
|
-
method(_javaPart);
|
|
110
|
+
return std::make_shared<JHybridDownloadManagerSpec>(castJavaPart);
|
|
117
111
|
}
|
|
118
112
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
113
|
+
void JHybridDownloadManagerSpec::CxxPart::registerNatives() {
|
|
114
|
+
registerHybrid({
|
|
115
|
+
makeNativeMethod("initHybrid", JHybridDownloadManagerSpec::CxxPart::initHybrid),
|
|
116
|
+
});
|
|
123
117
|
}
|
|
124
118
|
|
|
125
119
|
// Properties
|
|
@@ -127,16 +121,16 @@ namespace margelo::nitro::nitroplayer {
|
|
|
127
121
|
|
|
128
122
|
// Methods
|
|
129
123
|
void JHybridDownloadManagerSpec::configure(const DownloadConfig& config) {
|
|
130
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JDownloadConfig> /* config */)>("configure");
|
|
124
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JDownloadConfig> /* config */)>("configure");
|
|
131
125
|
method(_javaPart, JDownloadConfig::fromCpp(config));
|
|
132
126
|
}
|
|
133
127
|
DownloadConfig JHybridDownloadManagerSpec::getConfig() {
|
|
134
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JDownloadConfig>()>("getConfig");
|
|
128
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JDownloadConfig>()>("getConfig");
|
|
135
129
|
auto __result = method(_javaPart);
|
|
136
130
|
return __result->toCpp();
|
|
137
131
|
}
|
|
138
132
|
std::shared_ptr<Promise<std::string>> JHybridDownloadManagerSpec::downloadTrack(const TrackItem& track, const std::optional<std::string>& playlistId) {
|
|
139
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JTrackItem> /* track */, jni::alias_ref<jni::JString> /* playlistId */)>("downloadTrack");
|
|
133
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JTrackItem> /* track */, jni::alias_ref<jni::JString> /* playlistId */)>("downloadTrack");
|
|
140
134
|
auto __result = method(_javaPart, JTrackItem::fromCpp(track), playlistId.has_value() ? jni::make_jstring(playlistId.value()) : nullptr);
|
|
141
135
|
return [&]() {
|
|
142
136
|
auto __promise = Promise<std::string>::create();
|
|
@@ -152,7 +146,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
152
146
|
}();
|
|
153
147
|
}
|
|
154
148
|
std::shared_ptr<Promise<std::vector<std::string>>> JHybridDownloadManagerSpec::downloadPlaylist(const std::string& playlistId, const std::vector<TrackItem>& tracks) {
|
|
155
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* playlistId */, jni::alias_ref<jni::JArrayClass<JTrackItem>> /* tracks */)>("downloadPlaylist");
|
|
149
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* playlistId */, jni::alias_ref<jni::JArrayClass<JTrackItem>> /* tracks */)>("downloadPlaylist");
|
|
156
150
|
auto __result = method(_javaPart, jni::make_jstring(playlistId), [&]() {
|
|
157
151
|
size_t __size = tracks.size();
|
|
158
152
|
jni::local_ref<jni::JArrayClass<JTrackItem>> __array = jni::JArrayClass<JTrackItem>::newArray(__size);
|
|
@@ -186,7 +180,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
186
180
|
}();
|
|
187
181
|
}
|
|
188
182
|
std::shared_ptr<Promise<void>> JHybridDownloadManagerSpec::pauseDownload(const std::string& downloadId) {
|
|
189
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* downloadId */)>("pauseDownload");
|
|
183
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* downloadId */)>("pauseDownload");
|
|
190
184
|
auto __result = method(_javaPart, jni::make_jstring(downloadId));
|
|
191
185
|
return [&]() {
|
|
192
186
|
auto __promise = Promise<void>::create();
|
|
@@ -201,7 +195,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
201
195
|
}();
|
|
202
196
|
}
|
|
203
197
|
std::shared_ptr<Promise<void>> JHybridDownloadManagerSpec::resumeDownload(const std::string& downloadId) {
|
|
204
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* downloadId */)>("resumeDownload");
|
|
198
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* downloadId */)>("resumeDownload");
|
|
205
199
|
auto __result = method(_javaPart, jni::make_jstring(downloadId));
|
|
206
200
|
return [&]() {
|
|
207
201
|
auto __promise = Promise<void>::create();
|
|
@@ -216,7 +210,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
216
210
|
}();
|
|
217
211
|
}
|
|
218
212
|
std::shared_ptr<Promise<void>> JHybridDownloadManagerSpec::cancelDownload(const std::string& downloadId) {
|
|
219
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* downloadId */)>("cancelDownload");
|
|
213
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* downloadId */)>("cancelDownload");
|
|
220
214
|
auto __result = method(_javaPart, jni::make_jstring(downloadId));
|
|
221
215
|
return [&]() {
|
|
222
216
|
auto __promise = Promise<void>::create();
|
|
@@ -231,7 +225,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
231
225
|
}();
|
|
232
226
|
}
|
|
233
227
|
std::shared_ptr<Promise<void>> JHybridDownloadManagerSpec::retryDownload(const std::string& downloadId) {
|
|
234
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* downloadId */)>("retryDownload");
|
|
228
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* downloadId */)>("retryDownload");
|
|
235
229
|
auto __result = method(_javaPart, jni::make_jstring(downloadId));
|
|
236
230
|
return [&]() {
|
|
237
231
|
auto __promise = Promise<void>::create();
|
|
@@ -246,7 +240,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
246
240
|
}();
|
|
247
241
|
}
|
|
248
242
|
std::shared_ptr<Promise<void>> JHybridDownloadManagerSpec::pauseAllDownloads() {
|
|
249
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("pauseAllDownloads");
|
|
243
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("pauseAllDownloads");
|
|
250
244
|
auto __result = method(_javaPart);
|
|
251
245
|
return [&]() {
|
|
252
246
|
auto __promise = Promise<void>::create();
|
|
@@ -261,7 +255,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
261
255
|
}();
|
|
262
256
|
}
|
|
263
257
|
std::shared_ptr<Promise<void>> JHybridDownloadManagerSpec::resumeAllDownloads() {
|
|
264
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("resumeAllDownloads");
|
|
258
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("resumeAllDownloads");
|
|
265
259
|
auto __result = method(_javaPart);
|
|
266
260
|
return [&]() {
|
|
267
261
|
auto __promise = Promise<void>::create();
|
|
@@ -276,7 +270,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
276
270
|
}();
|
|
277
271
|
}
|
|
278
272
|
std::shared_ptr<Promise<void>> JHybridDownloadManagerSpec::cancelAllDownloads() {
|
|
279
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("cancelAllDownloads");
|
|
273
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("cancelAllDownloads");
|
|
280
274
|
auto __result = method(_javaPart);
|
|
281
275
|
return [&]() {
|
|
282
276
|
auto __promise = Promise<void>::create();
|
|
@@ -291,12 +285,12 @@ namespace margelo::nitro::nitroplayer {
|
|
|
291
285
|
}();
|
|
292
286
|
}
|
|
293
287
|
std::variant<nitro::NullType, DownloadTask> JHybridDownloadManagerSpec::getDownloadTask(const std::string& downloadId) {
|
|
294
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JVariant_NullType_DownloadTask>(jni::alias_ref<jni::JString> /* downloadId */)>("getDownloadTask");
|
|
288
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JVariant_NullType_DownloadTask>(jni::alias_ref<jni::JString> /* downloadId */)>("getDownloadTask");
|
|
295
289
|
auto __result = method(_javaPart, jni::make_jstring(downloadId));
|
|
296
290
|
return __result->toCpp();
|
|
297
291
|
}
|
|
298
292
|
std::vector<DownloadTask> JHybridDownloadManagerSpec::getActiveDownloads() {
|
|
299
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JDownloadTask>>()>("getActiveDownloads");
|
|
293
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JDownloadTask>>()>("getActiveDownloads");
|
|
300
294
|
auto __result = method(_javaPart);
|
|
301
295
|
return [&]() {
|
|
302
296
|
size_t __size = __result->size();
|
|
@@ -310,42 +304,42 @@ namespace margelo::nitro::nitroplayer {
|
|
|
310
304
|
}();
|
|
311
305
|
}
|
|
312
306
|
DownloadQueueStatus JHybridDownloadManagerSpec::getQueueStatus() {
|
|
313
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JDownloadQueueStatus>()>("getQueueStatus");
|
|
307
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JDownloadQueueStatus>()>("getQueueStatus");
|
|
314
308
|
auto __result = method(_javaPart);
|
|
315
309
|
return __result->toCpp();
|
|
316
310
|
}
|
|
317
311
|
bool JHybridDownloadManagerSpec::isDownloading(const std::string& trackId) {
|
|
318
|
-
static const auto method = javaClassStatic()->getMethod<jboolean(jni::alias_ref<jni::JString> /* trackId */)>("isDownloading");
|
|
312
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean(jni::alias_ref<jni::JString> /* trackId */)>("isDownloading");
|
|
319
313
|
auto __result = method(_javaPart, jni::make_jstring(trackId));
|
|
320
314
|
return static_cast<bool>(__result);
|
|
321
315
|
}
|
|
322
316
|
DownloadState JHybridDownloadManagerSpec::getDownloadState(const std::string& trackId) {
|
|
323
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JDownloadState>(jni::alias_ref<jni::JString> /* trackId */)>("getDownloadState");
|
|
317
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JDownloadState>(jni::alias_ref<jni::JString> /* trackId */)>("getDownloadState");
|
|
324
318
|
auto __result = method(_javaPart, jni::make_jstring(trackId));
|
|
325
319
|
return __result->toCpp();
|
|
326
320
|
}
|
|
327
321
|
bool JHybridDownloadManagerSpec::isTrackDownloaded(const std::string& trackId) {
|
|
328
|
-
static const auto method = javaClassStatic()->getMethod<jboolean(jni::alias_ref<jni::JString> /* trackId */)>("isTrackDownloaded");
|
|
322
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean(jni::alias_ref<jni::JString> /* trackId */)>("isTrackDownloaded");
|
|
329
323
|
auto __result = method(_javaPart, jni::make_jstring(trackId));
|
|
330
324
|
return static_cast<bool>(__result);
|
|
331
325
|
}
|
|
332
326
|
bool JHybridDownloadManagerSpec::isPlaylistDownloaded(const std::string& playlistId) {
|
|
333
|
-
static const auto method = javaClassStatic()->getMethod<jboolean(jni::alias_ref<jni::JString> /* playlistId */)>("isPlaylistDownloaded");
|
|
327
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean(jni::alias_ref<jni::JString> /* playlistId */)>("isPlaylistDownloaded");
|
|
334
328
|
auto __result = method(_javaPart, jni::make_jstring(playlistId));
|
|
335
329
|
return static_cast<bool>(__result);
|
|
336
330
|
}
|
|
337
331
|
bool JHybridDownloadManagerSpec::isPlaylistPartiallyDownloaded(const std::string& playlistId) {
|
|
338
|
-
static const auto method = javaClassStatic()->getMethod<jboolean(jni::alias_ref<jni::JString> /* playlistId */)>("isPlaylistPartiallyDownloaded");
|
|
332
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean(jni::alias_ref<jni::JString> /* playlistId */)>("isPlaylistPartiallyDownloaded");
|
|
339
333
|
auto __result = method(_javaPart, jni::make_jstring(playlistId));
|
|
340
334
|
return static_cast<bool>(__result);
|
|
341
335
|
}
|
|
342
336
|
std::variant<nitro::NullType, DownloadedTrack> JHybridDownloadManagerSpec::getDownloadedTrack(const std::string& trackId) {
|
|
343
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JVariant_NullType_DownloadedTrack>(jni::alias_ref<jni::JString> /* trackId */)>("getDownloadedTrack");
|
|
337
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JVariant_NullType_DownloadedTrack>(jni::alias_ref<jni::JString> /* trackId */)>("getDownloadedTrack");
|
|
344
338
|
auto __result = method(_javaPart, jni::make_jstring(trackId));
|
|
345
339
|
return __result->toCpp();
|
|
346
340
|
}
|
|
347
341
|
std::vector<DownloadedTrack> JHybridDownloadManagerSpec::getAllDownloadedTracks() {
|
|
348
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JDownloadedTrack>>()>("getAllDownloadedTracks");
|
|
342
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JDownloadedTrack>>()>("getAllDownloadedTracks");
|
|
349
343
|
auto __result = method(_javaPart);
|
|
350
344
|
return [&]() {
|
|
351
345
|
size_t __size = __result->size();
|
|
@@ -359,12 +353,12 @@ namespace margelo::nitro::nitroplayer {
|
|
|
359
353
|
}();
|
|
360
354
|
}
|
|
361
355
|
std::variant<nitro::NullType, DownloadedPlaylist> JHybridDownloadManagerSpec::getDownloadedPlaylist(const std::string& playlistId) {
|
|
362
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JVariant_NullType_DownloadedPlaylist>(jni::alias_ref<jni::JString> /* playlistId */)>("getDownloadedPlaylist");
|
|
356
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JVariant_NullType_DownloadedPlaylist>(jni::alias_ref<jni::JString> /* playlistId */)>("getDownloadedPlaylist");
|
|
363
357
|
auto __result = method(_javaPart, jni::make_jstring(playlistId));
|
|
364
358
|
return __result->toCpp();
|
|
365
359
|
}
|
|
366
360
|
std::vector<DownloadedPlaylist> JHybridDownloadManagerSpec::getAllDownloadedPlaylists() {
|
|
367
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JDownloadedPlaylist>>()>("getAllDownloadedPlaylists");
|
|
361
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JDownloadedPlaylist>>()>("getAllDownloadedPlaylists");
|
|
368
362
|
auto __result = method(_javaPart);
|
|
369
363
|
return [&]() {
|
|
370
364
|
size_t __size = __result->size();
|
|
@@ -378,12 +372,12 @@ namespace margelo::nitro::nitroplayer {
|
|
|
378
372
|
}();
|
|
379
373
|
}
|
|
380
374
|
std::variant<nitro::NullType, std::string> JHybridDownloadManagerSpec::getLocalPath(const std::string& trackId) {
|
|
381
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JVariant_NullType_String>(jni::alias_ref<jni::JString> /* trackId */)>("getLocalPath");
|
|
375
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JVariant_NullType_String>(jni::alias_ref<jni::JString> /* trackId */)>("getLocalPath");
|
|
382
376
|
auto __result = method(_javaPart, jni::make_jstring(trackId));
|
|
383
377
|
return __result->toCpp();
|
|
384
378
|
}
|
|
385
379
|
std::shared_ptr<Promise<void>> JHybridDownloadManagerSpec::deleteDownloadedTrack(const std::string& trackId) {
|
|
386
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* trackId */)>("deleteDownloadedTrack");
|
|
380
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* trackId */)>("deleteDownloadedTrack");
|
|
387
381
|
auto __result = method(_javaPart, jni::make_jstring(trackId));
|
|
388
382
|
return [&]() {
|
|
389
383
|
auto __promise = Promise<void>::create();
|
|
@@ -398,7 +392,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
398
392
|
}();
|
|
399
393
|
}
|
|
400
394
|
std::shared_ptr<Promise<void>> JHybridDownloadManagerSpec::deleteDownloadedPlaylist(const std::string& playlistId) {
|
|
401
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* playlistId */)>("deleteDownloadedPlaylist");
|
|
395
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* playlistId */)>("deleteDownloadedPlaylist");
|
|
402
396
|
auto __result = method(_javaPart, jni::make_jstring(playlistId));
|
|
403
397
|
return [&]() {
|
|
404
398
|
auto __promise = Promise<void>::create();
|
|
@@ -413,7 +407,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
413
407
|
}();
|
|
414
408
|
}
|
|
415
409
|
std::shared_ptr<Promise<void>> JHybridDownloadManagerSpec::deleteAllDownloads() {
|
|
416
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("deleteAllDownloads");
|
|
410
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("deleteAllDownloads");
|
|
417
411
|
auto __result = method(_javaPart);
|
|
418
412
|
return [&]() {
|
|
419
413
|
auto __promise = Promise<void>::create();
|
|
@@ -428,7 +422,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
428
422
|
}();
|
|
429
423
|
}
|
|
430
424
|
std::shared_ptr<Promise<DownloadStorageInfo>> JHybridDownloadManagerSpec::getStorageInfo() {
|
|
431
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getStorageInfo");
|
|
425
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getStorageInfo");
|
|
432
426
|
auto __result = method(_javaPart);
|
|
433
427
|
return [&]() {
|
|
434
428
|
auto __promise = Promise<DownloadStorageInfo>::create();
|
|
@@ -444,34 +438,34 @@ namespace margelo::nitro::nitroplayer {
|
|
|
444
438
|
}();
|
|
445
439
|
}
|
|
446
440
|
double JHybridDownloadManagerSpec::syncDownloads() {
|
|
447
|
-
static const auto method = javaClassStatic()->getMethod<double()>("syncDownloads");
|
|
441
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<double()>("syncDownloads");
|
|
448
442
|
auto __result = method(_javaPart);
|
|
449
443
|
return __result;
|
|
450
444
|
}
|
|
451
445
|
void JHybridDownloadManagerSpec::setPlaybackSourcePreference(PlaybackSource preference) {
|
|
452
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JPlaybackSource> /* preference */)>("setPlaybackSourcePreference");
|
|
446
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JPlaybackSource> /* preference */)>("setPlaybackSourcePreference");
|
|
453
447
|
method(_javaPart, JPlaybackSource::fromCpp(preference));
|
|
454
448
|
}
|
|
455
449
|
PlaybackSource JHybridDownloadManagerSpec::getPlaybackSourcePreference() {
|
|
456
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPlaybackSource>()>("getPlaybackSourcePreference");
|
|
450
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPlaybackSource>()>("getPlaybackSourcePreference");
|
|
457
451
|
auto __result = method(_javaPart);
|
|
458
452
|
return __result->toCpp();
|
|
459
453
|
}
|
|
460
454
|
std::string JHybridDownloadManagerSpec::getEffectiveUrl(const TrackItem& track) {
|
|
461
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>(jni::alias_ref<JTrackItem> /* track */)>("getEffectiveUrl");
|
|
455
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>(jni::alias_ref<JTrackItem> /* track */)>("getEffectiveUrl");
|
|
462
456
|
auto __result = method(_javaPart, JTrackItem::fromCpp(track));
|
|
463
457
|
return __result->toStdString();
|
|
464
458
|
}
|
|
465
459
|
void JHybridDownloadManagerSpec::onDownloadProgress(const std::function<void(const DownloadProgress& /* progress */)>& callback) {
|
|
466
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_DownloadProgress::javaobject> /* callback */)>("onDownloadProgress_cxx");
|
|
460
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_DownloadProgress::javaobject> /* callback */)>("onDownloadProgress_cxx");
|
|
467
461
|
method(_javaPart, JFunc_void_DownloadProgress_cxx::fromCpp(callback));
|
|
468
462
|
}
|
|
469
463
|
void JHybridDownloadManagerSpec::onDownloadStateChange(const std::function<void(const std::string& /* downloadId */, const std::string& /* trackId */, DownloadState /* state */, const std::optional<DownloadError>& /* error */)>& callback) {
|
|
470
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__string_std__string_DownloadState_std__optional_DownloadError_::javaobject> /* callback */)>("onDownloadStateChange_cxx");
|
|
464
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__string_std__string_DownloadState_std__optional_DownloadError_::javaobject> /* callback */)>("onDownloadStateChange_cxx");
|
|
471
465
|
method(_javaPart, JFunc_void_std__string_std__string_DownloadState_std__optional_DownloadError__cxx::fromCpp(callback));
|
|
472
466
|
}
|
|
473
467
|
void JHybridDownloadManagerSpec::onDownloadComplete(const std::function<void(const DownloadedTrack& /* downloadedTrack */)>& callback) {
|
|
474
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_DownloadedTrack::javaobject> /* callback */)>("onDownloadComplete_cxx");
|
|
468
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_DownloadedTrack::javaobject> /* callback */)>("onDownloadComplete_cxx");
|
|
475
469
|
method(_javaPart, JFunc_void_DownloadedTrack_cxx::fromCpp(callback));
|
|
476
470
|
}
|
|
477
471
|
|
|
@@ -18,34 +18,33 @@ namespace margelo::nitro::nitroplayer {
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class JHybridDownloadManagerSpec: public
|
|
22
|
-
public virtual HybridDownloadManagerSpec {
|
|
21
|
+
class JHybridDownloadManagerSpec: public virtual HybridDownloadManagerSpec, public virtual JHybridObject {
|
|
23
22
|
public:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
HybridBase
|
|
33
|
-
|
|
23
|
+
struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
|
|
24
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/HybridDownloadManagerSpec;";
|
|
25
|
+
std::shared_ptr<JHybridDownloadManagerSpec> getJHybridDownloadManagerSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/HybridDownloadManagerSpec$CxxPart;";
|
|
29
|
+
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
30
|
+
static void registerNatives();
|
|
31
|
+
using HybridBase::HybridBase;
|
|
32
|
+
protected:
|
|
33
|
+
std::shared_ptr<JHybridObject> createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) override;
|
|
34
|
+
};
|
|
34
35
|
|
|
35
36
|
public:
|
|
37
|
+
explicit JHybridDownloadManagerSpec(const jni::local_ref<JHybridDownloadManagerSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridDownloadManagerSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
36
41
|
~JHybridDownloadManagerSpec() override {
|
|
37
42
|
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
38
43
|
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
39
44
|
}
|
|
40
45
|
|
|
41
46
|
public:
|
|
42
|
-
|
|
43
|
-
bool equals(const std::shared_ptr<HybridObject>& other) override;
|
|
44
|
-
void dispose() noexcept override;
|
|
45
|
-
std::string toString() override;
|
|
46
|
-
|
|
47
|
-
public:
|
|
48
|
-
inline const jni::global_ref<JHybridDownloadManagerSpec::javaobject>& getJavaPart() const noexcept {
|
|
47
|
+
inline const jni::global_ref<JHybridDownloadManagerSpec::JavaPart>& getJavaPart() const noexcept {
|
|
49
48
|
return _javaPart;
|
|
50
49
|
}
|
|
51
50
|
|
|
@@ -92,9 +91,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
92
91
|
void onDownloadComplete(const std::function<void(const DownloadedTrack& /* downloadedTrack */)>& callback) override;
|
|
93
92
|
|
|
94
93
|
private:
|
|
95
|
-
|
|
96
|
-
using HybridBase::HybridBase;
|
|
97
|
-
jni::global_ref<JHybridDownloadManagerSpec::javaobject> _javaPart;
|
|
94
|
+
jni::global_ref<JHybridDownloadManagerSpec::JavaPart> _javaPart;
|
|
98
95
|
};
|
|
99
96
|
|
|
100
97
|
} // namespace margelo::nitro::nitroplayer
|
|
@@ -43,37 +43,31 @@ namespace margelo::nitro::nitroplayer { struct EqualizerState; }
|
|
|
43
43
|
|
|
44
44
|
namespace margelo::nitro::nitroplayer {
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
});
|
|
46
|
+
std::shared_ptr<JHybridEqualizerSpec> JHybridEqualizerSpec::JavaPart::getJHybridEqualizerSpec() {
|
|
47
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
48
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridEqualizerSpec>(hybridObject);
|
|
49
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
50
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridEqualizerSpec!");
|
|
51
|
+
}
|
|
52
|
+
return castHybridObject;
|
|
54
53
|
}
|
|
55
54
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return method(_javaPart);
|
|
55
|
+
jni::local_ref<JHybridEqualizerSpec::CxxPart::jhybriddata> JHybridEqualizerSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
56
|
+
return makeCxxInstance(jThis);
|
|
59
57
|
}
|
|
60
58
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
59
|
+
std::shared_ptr<JHybridObject> JHybridEqualizerSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
60
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridEqualizerSpec::JavaPart>(javaPart);
|
|
61
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
62
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridEqualizerSpec::JavaPart!");
|
|
64
63
|
}
|
|
65
|
-
return
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
void JHybridEqualizerSpec::dispose() noexcept {
|
|
69
|
-
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
70
|
-
method(_javaPart);
|
|
64
|
+
return std::make_shared<JHybridEqualizerSpec>(castJavaPart);
|
|
71
65
|
}
|
|
72
66
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
67
|
+
void JHybridEqualizerSpec::CxxPart::registerNatives() {
|
|
68
|
+
registerHybrid({
|
|
69
|
+
makeNativeMethod("initHybrid", JHybridEqualizerSpec::CxxPart::initHybrid),
|
|
70
|
+
});
|
|
77
71
|
}
|
|
78
72
|
|
|
79
73
|
// Properties
|
|
@@ -81,17 +75,17 @@ namespace margelo::nitro::nitroplayer {
|
|
|
81
75
|
|
|
82
76
|
// Methods
|
|
83
77
|
bool JHybridEqualizerSpec::setEnabled(bool enabled) {
|
|
84
|
-
static const auto method = javaClassStatic()->getMethod<jboolean(jboolean /* enabled */)>("setEnabled");
|
|
78
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean(jboolean /* enabled */)>("setEnabled");
|
|
85
79
|
auto __result = method(_javaPart, enabled);
|
|
86
80
|
return static_cast<bool>(__result);
|
|
87
81
|
}
|
|
88
82
|
bool JHybridEqualizerSpec::isEnabled() {
|
|
89
|
-
static const auto method = javaClassStatic()->getMethod<jboolean()>("isEnabled");
|
|
83
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean()>("isEnabled");
|
|
90
84
|
auto __result = method(_javaPart);
|
|
91
85
|
return static_cast<bool>(__result);
|
|
92
86
|
}
|
|
93
87
|
std::vector<EqualizerBand> JHybridEqualizerSpec::getBands() {
|
|
94
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JEqualizerBand>>()>("getBands");
|
|
88
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JEqualizerBand>>()>("getBands");
|
|
95
89
|
auto __result = method(_javaPart);
|
|
96
90
|
return [&]() {
|
|
97
91
|
size_t __size = __result->size();
|
|
@@ -105,12 +99,12 @@ namespace margelo::nitro::nitroplayer {
|
|
|
105
99
|
}();
|
|
106
100
|
}
|
|
107
101
|
bool JHybridEqualizerSpec::setBandGain(double bandIndex, double gainDb) {
|
|
108
|
-
static const auto method = javaClassStatic()->getMethod<jboolean(double /* bandIndex */, double /* gainDb */)>("setBandGain");
|
|
102
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean(double /* bandIndex */, double /* gainDb */)>("setBandGain");
|
|
109
103
|
auto __result = method(_javaPart, bandIndex, gainDb);
|
|
110
104
|
return static_cast<bool>(__result);
|
|
111
105
|
}
|
|
112
106
|
bool JHybridEqualizerSpec::setAllBandGains(const std::vector<double>& gains) {
|
|
113
|
-
static const auto method = javaClassStatic()->getMethod<jboolean(jni::alias_ref<jni::JArrayDouble> /* gains */)>("setAllBandGains");
|
|
107
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean(jni::alias_ref<jni::JArrayDouble> /* gains */)>("setAllBandGains");
|
|
114
108
|
auto __result = method(_javaPart, [&]() {
|
|
115
109
|
size_t __size = gains.size();
|
|
116
110
|
jni::local_ref<jni::JArrayDouble> __array = jni::JArrayDouble::newArray(__size);
|
|
@@ -120,12 +114,12 @@ namespace margelo::nitro::nitroplayer {
|
|
|
120
114
|
return static_cast<bool>(__result);
|
|
121
115
|
}
|
|
122
116
|
GainRange JHybridEqualizerSpec::getBandRange() {
|
|
123
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JGainRange>()>("getBandRange");
|
|
117
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JGainRange>()>("getBandRange");
|
|
124
118
|
auto __result = method(_javaPart);
|
|
125
119
|
return __result->toCpp();
|
|
126
120
|
}
|
|
127
121
|
std::vector<EqualizerPreset> JHybridEqualizerSpec::getPresets() {
|
|
128
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JEqualizerPreset>>()>("getPresets");
|
|
122
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JEqualizerPreset>>()>("getPresets");
|
|
129
123
|
auto __result = method(_javaPart);
|
|
130
124
|
return [&]() {
|
|
131
125
|
size_t __size = __result->size();
|
|
@@ -139,7 +133,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
139
133
|
}();
|
|
140
134
|
}
|
|
141
135
|
std::vector<EqualizerPreset> JHybridEqualizerSpec::getBuiltInPresets() {
|
|
142
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JEqualizerPreset>>()>("getBuiltInPresets");
|
|
136
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JEqualizerPreset>>()>("getBuiltInPresets");
|
|
143
137
|
auto __result = method(_javaPart);
|
|
144
138
|
return [&]() {
|
|
145
139
|
size_t __size = __result->size();
|
|
@@ -153,7 +147,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
153
147
|
}();
|
|
154
148
|
}
|
|
155
149
|
std::vector<EqualizerPreset> JHybridEqualizerSpec::getCustomPresets() {
|
|
156
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JEqualizerPreset>>()>("getCustomPresets");
|
|
150
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JEqualizerPreset>>()>("getCustomPresets");
|
|
157
151
|
auto __result = method(_javaPart);
|
|
158
152
|
return [&]() {
|
|
159
153
|
size_t __size = __result->size();
|
|
@@ -167,44 +161,44 @@ namespace margelo::nitro::nitroplayer {
|
|
|
167
161
|
}();
|
|
168
162
|
}
|
|
169
163
|
bool JHybridEqualizerSpec::applyPreset(const std::string& presetName) {
|
|
170
|
-
static const auto method = javaClassStatic()->getMethod<jboolean(jni::alias_ref<jni::JString> /* presetName */)>("applyPreset");
|
|
164
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean(jni::alias_ref<jni::JString> /* presetName */)>("applyPreset");
|
|
171
165
|
auto __result = method(_javaPart, jni::make_jstring(presetName));
|
|
172
166
|
return static_cast<bool>(__result);
|
|
173
167
|
}
|
|
174
168
|
std::variant<nitro::NullType, std::string> JHybridEqualizerSpec::getCurrentPresetName() {
|
|
175
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JVariant_NullType_String>()>("getCurrentPresetName");
|
|
169
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JVariant_NullType_String>()>("getCurrentPresetName");
|
|
176
170
|
auto __result = method(_javaPart);
|
|
177
171
|
return __result->toCpp();
|
|
178
172
|
}
|
|
179
173
|
bool JHybridEqualizerSpec::saveCustomPreset(const std::string& name) {
|
|
180
|
-
static const auto method = javaClassStatic()->getMethod<jboolean(jni::alias_ref<jni::JString> /* name */)>("saveCustomPreset");
|
|
174
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean(jni::alias_ref<jni::JString> /* name */)>("saveCustomPreset");
|
|
181
175
|
auto __result = method(_javaPart, jni::make_jstring(name));
|
|
182
176
|
return static_cast<bool>(__result);
|
|
183
177
|
}
|
|
184
178
|
bool JHybridEqualizerSpec::deleteCustomPreset(const std::string& name) {
|
|
185
|
-
static const auto method = javaClassStatic()->getMethod<jboolean(jni::alias_ref<jni::JString> /* name */)>("deleteCustomPreset");
|
|
179
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean(jni::alias_ref<jni::JString> /* name */)>("deleteCustomPreset");
|
|
186
180
|
auto __result = method(_javaPart, jni::make_jstring(name));
|
|
187
181
|
return static_cast<bool>(__result);
|
|
188
182
|
}
|
|
189
183
|
EqualizerState JHybridEqualizerSpec::getState() {
|
|
190
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JEqualizerState>()>("getState");
|
|
184
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JEqualizerState>()>("getState");
|
|
191
185
|
auto __result = method(_javaPart);
|
|
192
186
|
return __result->toCpp();
|
|
193
187
|
}
|
|
194
188
|
void JHybridEqualizerSpec::reset() {
|
|
195
|
-
static const auto method = javaClassStatic()->getMethod<void()>("reset");
|
|
189
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void()>("reset");
|
|
196
190
|
method(_javaPart);
|
|
197
191
|
}
|
|
198
192
|
void JHybridEqualizerSpec::onEnabledChange(const std::function<void(bool /* enabled */)>& callback) {
|
|
199
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_bool::javaobject> /* callback */)>("onEnabledChange_cxx");
|
|
193
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_bool::javaobject> /* callback */)>("onEnabledChange_cxx");
|
|
200
194
|
method(_javaPart, JFunc_void_bool_cxx::fromCpp(callback));
|
|
201
195
|
}
|
|
202
196
|
void JHybridEqualizerSpec::onBandChange(const std::function<void(const std::vector<EqualizerBand>& /* bands */)>& callback) {
|
|
203
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__vector_EqualizerBand_::javaobject> /* callback */)>("onBandChange_cxx");
|
|
197
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__vector_EqualizerBand_::javaobject> /* callback */)>("onBandChange_cxx");
|
|
204
198
|
method(_javaPart, JFunc_void_std__vector_EqualizerBand__cxx::fromCpp(callback));
|
|
205
199
|
}
|
|
206
200
|
void JHybridEqualizerSpec::onPresetChange(const std::function<void(const std::optional<std::variant<nitro::NullType, std::string>>& /* presetName */)>& callback) {
|
|
207
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__optional_std__variant_nitro__NullType__std__string__::javaobject> /* callback */)>("onPresetChange_cxx");
|
|
201
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__optional_std__variant_nitro__NullType__std__string__::javaobject> /* callback */)>("onPresetChange_cxx");
|
|
208
202
|
method(_javaPart, JFunc_void_std__optional_std__variant_nitro__NullType__std__string___cxx::fromCpp(callback));
|
|
209
203
|
}
|
|
210
204
|
|
|
@@ -18,34 +18,33 @@ namespace margelo::nitro::nitroplayer {
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class JHybridEqualizerSpec: public
|
|
22
|
-
public virtual HybridEqualizerSpec {
|
|
21
|
+
class JHybridEqualizerSpec: public virtual HybridEqualizerSpec, public virtual JHybridObject {
|
|
23
22
|
public:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
HybridBase
|
|
33
|
-
|
|
23
|
+
struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
|
|
24
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/HybridEqualizerSpec;";
|
|
25
|
+
std::shared_ptr<JHybridEqualizerSpec> getJHybridEqualizerSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/HybridEqualizerSpec$CxxPart;";
|
|
29
|
+
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
30
|
+
static void registerNatives();
|
|
31
|
+
using HybridBase::HybridBase;
|
|
32
|
+
protected:
|
|
33
|
+
std::shared_ptr<JHybridObject> createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) override;
|
|
34
|
+
};
|
|
34
35
|
|
|
35
36
|
public:
|
|
37
|
+
explicit JHybridEqualizerSpec(const jni::local_ref<JHybridEqualizerSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridEqualizerSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
36
41
|
~JHybridEqualizerSpec() override {
|
|
37
42
|
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
38
43
|
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
39
44
|
}
|
|
40
45
|
|
|
41
46
|
public:
|
|
42
|
-
|
|
43
|
-
bool equals(const std::shared_ptr<HybridObject>& other) override;
|
|
44
|
-
void dispose() noexcept override;
|
|
45
|
-
std::string toString() override;
|
|
46
|
-
|
|
47
|
-
public:
|
|
48
|
-
inline const jni::global_ref<JHybridEqualizerSpec::javaobject>& getJavaPart() const noexcept {
|
|
47
|
+
inline const jni::global_ref<JHybridEqualizerSpec::JavaPart>& getJavaPart() const noexcept {
|
|
49
48
|
return _javaPart;
|
|
50
49
|
}
|
|
51
50
|
|
|
@@ -75,9 +74,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
75
74
|
void onPresetChange(const std::function<void(const std::optional<std::variant<nitro::NullType, std::string>>& /* presetName */)>& callback) override;
|
|
76
75
|
|
|
77
76
|
private:
|
|
78
|
-
|
|
79
|
-
using HybridBase::HybridBase;
|
|
80
|
-
jni::global_ref<JHybridEqualizerSpec::javaobject> _javaPart;
|
|
77
|
+
jni::global_ref<JHybridEqualizerSpec::JavaPart> _javaPart;
|
|
81
78
|
};
|
|
82
79
|
|
|
83
80
|
} // namespace margelo::nitro::nitroplayer
|