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
|
@@ -27,7 +27,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
27
27
|
*/
|
|
28
28
|
struct JFunc_void_std__vector_EqualizerBand_: public jni::JavaClass<JFunc_void_std__vector_EqualizerBand_> {
|
|
29
29
|
public:
|
|
30
|
-
static auto
|
|
30
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/Func_void_std__vector_EqualizerBand_;";
|
|
31
31
|
|
|
32
32
|
public:
|
|
33
33
|
/**
|
|
@@ -81,7 +81,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
public:
|
|
84
|
-
static auto
|
|
84
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/Func_void_std__vector_EqualizerBand__cxx;";
|
|
85
85
|
static void registerNatives() {
|
|
86
86
|
registerHybrid({makeNativeMethod("invoke_cxx", JFunc_void_std__vector_EqualizerBand__cxx::invoke_cxx)});
|
|
87
87
|
}
|
|
@@ -38,7 +38,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
38
38
|
*/
|
|
39
39
|
struct JFunc_void_std__vector_Playlist__std__optional_QueueOperation_: public jni::JavaClass<JFunc_void_std__vector_Playlist__std__optional_QueueOperation_> {
|
|
40
40
|
public:
|
|
41
|
-
static auto
|
|
41
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/Func_void_std__vector_Playlist__std__optional_QueueOperation_;";
|
|
42
42
|
|
|
43
43
|
public:
|
|
44
44
|
/**
|
|
@@ -92,7 +92,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
public:
|
|
95
|
-
static auto
|
|
95
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/Func_void_std__vector_Playlist__std__optional_QueueOperation__cxx;";
|
|
96
96
|
static void registerNatives() {
|
|
97
97
|
registerHybrid({makeNativeMethod("invoke_cxx", JFunc_void_std__vector_Playlist__std__optional_QueueOperation__cxx::invoke_cxx)});
|
|
98
98
|
}
|
|
@@ -34,7 +34,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
34
34
|
*/
|
|
35
35
|
struct JFunc_void_std__vector_TrackItem__double: public jni::JavaClass<JFunc_void_std__vector_TrackItem__double> {
|
|
36
36
|
public:
|
|
37
|
-
static auto
|
|
37
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/Func_void_std__vector_TrackItem__double;";
|
|
38
38
|
|
|
39
39
|
public:
|
|
40
40
|
/**
|
|
@@ -88,7 +88,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
public:
|
|
91
|
-
static auto
|
|
91
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/Func_void_std__vector_TrackItem__double_cxx;";
|
|
92
92
|
static void registerNatives() {
|
|
93
93
|
registerHybrid({makeNativeMethod("invoke_cxx", JFunc_void_std__vector_TrackItem__double_cxx::invoke_cxx)});
|
|
94
94
|
}
|
|
@@ -21,7 +21,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
21
21
|
*/
|
|
22
22
|
struct JGainRange final: public jni::JavaClass<JGainRange> {
|
|
23
23
|
public:
|
|
24
|
-
static auto
|
|
24
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/GainRange;";
|
|
25
25
|
|
|
26
26
|
public:
|
|
27
27
|
/**
|
|
@@ -13,37 +13,31 @@
|
|
|
13
13
|
|
|
14
14
|
namespace margelo::nitro::nitroplayer {
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
});
|
|
16
|
+
std::shared_ptr<JHybridAndroidAutoMediaLibrarySpec> JHybridAndroidAutoMediaLibrarySpec::JavaPart::getJHybridAndroidAutoMediaLibrarySpec() {
|
|
17
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
18
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridAndroidAutoMediaLibrarySpec>(hybridObject);
|
|
19
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
20
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridAndroidAutoMediaLibrarySpec!");
|
|
21
|
+
}
|
|
22
|
+
return castHybridObject;
|
|
24
23
|
}
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return method(_javaPart);
|
|
25
|
+
jni::local_ref<JHybridAndroidAutoMediaLibrarySpec::CxxPart::jhybriddata> JHybridAndroidAutoMediaLibrarySpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
26
|
+
return makeCxxInstance(jThis);
|
|
29
27
|
}
|
|
30
28
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
std::shared_ptr<JHybridObject> JHybridAndroidAutoMediaLibrarySpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
30
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridAndroidAutoMediaLibrarySpec::JavaPart>(javaPart);
|
|
31
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
32
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridAndroidAutoMediaLibrarySpec::JavaPart!");
|
|
34
33
|
}
|
|
35
|
-
return
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
void JHybridAndroidAutoMediaLibrarySpec::dispose() noexcept {
|
|
39
|
-
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
40
|
-
method(_javaPart);
|
|
34
|
+
return std::make_shared<JHybridAndroidAutoMediaLibrarySpec>(castJavaPart);
|
|
41
35
|
}
|
|
42
36
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
37
|
+
void JHybridAndroidAutoMediaLibrarySpec::CxxPart::registerNatives() {
|
|
38
|
+
registerHybrid({
|
|
39
|
+
makeNativeMethod("initHybrid", JHybridAndroidAutoMediaLibrarySpec::CxxPart::initHybrid),
|
|
40
|
+
});
|
|
47
41
|
}
|
|
48
42
|
|
|
49
43
|
// Properties
|
|
@@ -51,11 +45,11 @@ namespace margelo::nitro::nitroplayer {
|
|
|
51
45
|
|
|
52
46
|
// Methods
|
|
53
47
|
void JHybridAndroidAutoMediaLibrarySpec::setMediaLibrary(const std::string& libraryJson) {
|
|
54
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* libraryJson */)>("setMediaLibrary");
|
|
48
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* libraryJson */)>("setMediaLibrary");
|
|
55
49
|
method(_javaPart, jni::make_jstring(libraryJson));
|
|
56
50
|
}
|
|
57
51
|
void JHybridAndroidAutoMediaLibrarySpec::clearMediaLibrary() {
|
|
58
|
-
static const auto method = javaClassStatic()->getMethod<void()>("clearMediaLibrary");
|
|
52
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void()>("clearMediaLibrary");
|
|
59
53
|
method(_javaPart);
|
|
60
54
|
}
|
|
61
55
|
|
|
@@ -18,34 +18,33 @@ namespace margelo::nitro::nitroplayer {
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class JHybridAndroidAutoMediaLibrarySpec: public
|
|
22
|
-
public virtual HybridAndroidAutoMediaLibrarySpec {
|
|
21
|
+
class JHybridAndroidAutoMediaLibrarySpec: public virtual HybridAndroidAutoMediaLibrarySpec, 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/HybridAndroidAutoMediaLibrarySpec;";
|
|
25
|
+
std::shared_ptr<JHybridAndroidAutoMediaLibrarySpec> getJHybridAndroidAutoMediaLibrarySpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/HybridAndroidAutoMediaLibrarySpec$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 JHybridAndroidAutoMediaLibrarySpec(const jni::local_ref<JHybridAndroidAutoMediaLibrarySpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridAndroidAutoMediaLibrarySpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
36
41
|
~JHybridAndroidAutoMediaLibrarySpec() 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<JHybridAndroidAutoMediaLibrarySpec::javaobject>& getJavaPart() const noexcept {
|
|
47
|
+
inline const jni::global_ref<JHybridAndroidAutoMediaLibrarySpec::JavaPart>& getJavaPart() const noexcept {
|
|
49
48
|
return _javaPart;
|
|
50
49
|
}
|
|
51
50
|
|
|
@@ -59,9 +58,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
59
58
|
void clearMediaLibrary() override;
|
|
60
59
|
|
|
61
60
|
private:
|
|
62
|
-
|
|
63
|
-
using HybridBase::HybridBase;
|
|
64
|
-
jni::global_ref<JHybridAndroidAutoMediaLibrarySpec::javaobject> _javaPart;
|
|
61
|
+
jni::global_ref<JHybridAndroidAutoMediaLibrarySpec::JavaPart> _javaPart;
|
|
65
62
|
};
|
|
66
63
|
|
|
67
64
|
} // namespace margelo::nitro::nitroplayer
|
|
@@ -17,37 +17,31 @@ namespace margelo::nitro::nitroplayer { struct TAudioDevice; }
|
|
|
17
17
|
|
|
18
18
|
namespace margelo::nitro::nitroplayer {
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
});
|
|
20
|
+
std::shared_ptr<JHybridAudioDevicesSpec> JHybridAudioDevicesSpec::JavaPart::getJHybridAudioDevicesSpec() {
|
|
21
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
22
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridAudioDevicesSpec>(hybridObject);
|
|
23
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
24
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridAudioDevicesSpec!");
|
|
25
|
+
}
|
|
26
|
+
return castHybridObject;
|
|
28
27
|
}
|
|
29
28
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return method(_javaPart);
|
|
29
|
+
jni::local_ref<JHybridAudioDevicesSpec::CxxPart::jhybriddata> JHybridAudioDevicesSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
30
|
+
return makeCxxInstance(jThis);
|
|
33
31
|
}
|
|
34
32
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
std::shared_ptr<JHybridObject> JHybridAudioDevicesSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
34
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridAudioDevicesSpec::JavaPart>(javaPart);
|
|
35
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
36
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridAudioDevicesSpec::JavaPart!");
|
|
38
37
|
}
|
|
39
|
-
return
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
void JHybridAudioDevicesSpec::dispose() noexcept {
|
|
43
|
-
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
44
|
-
method(_javaPart);
|
|
38
|
+
return std::make_shared<JHybridAudioDevicesSpec>(castJavaPart);
|
|
45
39
|
}
|
|
46
40
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
41
|
+
void JHybridAudioDevicesSpec::CxxPart::registerNatives() {
|
|
42
|
+
registerHybrid({
|
|
43
|
+
makeNativeMethod("initHybrid", JHybridAudioDevicesSpec::CxxPart::initHybrid),
|
|
44
|
+
});
|
|
51
45
|
}
|
|
52
46
|
|
|
53
47
|
// Properties
|
|
@@ -55,7 +49,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
55
49
|
|
|
56
50
|
// Methods
|
|
57
51
|
std::vector<TAudioDevice> JHybridAudioDevicesSpec::getAudioDevices() {
|
|
58
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JTAudioDevice>>()>("getAudioDevices");
|
|
52
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JTAudioDevice>>()>("getAudioDevices");
|
|
59
53
|
auto __result = method(_javaPart);
|
|
60
54
|
return [&]() {
|
|
61
55
|
size_t __size = __result->size();
|
|
@@ -69,7 +63,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
69
63
|
}();
|
|
70
64
|
}
|
|
71
65
|
bool JHybridAudioDevicesSpec::setAudioDevice(double deviceId) {
|
|
72
|
-
static const auto method = javaClassStatic()->getMethod<jboolean(double /* deviceId */)>("setAudioDevice");
|
|
66
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean(double /* deviceId */)>("setAudioDevice");
|
|
73
67
|
auto __result = method(_javaPart, deviceId);
|
|
74
68
|
return static_cast<bool>(__result);
|
|
75
69
|
}
|
|
@@ -18,34 +18,33 @@ namespace margelo::nitro::nitroplayer {
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class JHybridAudioDevicesSpec: public
|
|
22
|
-
public virtual HybridAudioDevicesSpec {
|
|
21
|
+
class JHybridAudioDevicesSpec: public virtual HybridAudioDevicesSpec, 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/HybridAudioDevicesSpec;";
|
|
25
|
+
std::shared_ptr<JHybridAudioDevicesSpec> getJHybridAudioDevicesSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/HybridAudioDevicesSpec$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 JHybridAudioDevicesSpec(const jni::local_ref<JHybridAudioDevicesSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridAudioDevicesSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
36
41
|
~JHybridAudioDevicesSpec() 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<JHybridAudioDevicesSpec::javaobject>& getJavaPart() const noexcept {
|
|
47
|
+
inline const jni::global_ref<JHybridAudioDevicesSpec::JavaPart>& getJavaPart() const noexcept {
|
|
49
48
|
return _javaPart;
|
|
50
49
|
}
|
|
51
50
|
|
|
@@ -59,9 +58,7 @@ namespace margelo::nitro::nitroplayer {
|
|
|
59
58
|
bool setAudioDevice(double deviceId) override;
|
|
60
59
|
|
|
61
60
|
private:
|
|
62
|
-
|
|
63
|
-
using HybridBase::HybridBase;
|
|
64
|
-
jni::global_ref<JHybridAudioDevicesSpec::javaobject> _javaPart;
|
|
61
|
+
jni::global_ref<JHybridAudioDevicesSpec::JavaPart> _javaPart;
|
|
65
62
|
};
|
|
66
63
|
|
|
67
64
|
} // namespace margelo::nitro::nitroplayer
|