@gmessier/nitro-speech 0.2.0 → 0.3.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 +11 -3
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/nitrogen/generated/android/NitroSpeech+autolinking.cmake +1 -1
- package/nitrogen/generated/android/NitroSpeech+autolinking.gradle +1 -1
- package/nitrogen/generated/android/NitroSpeechOnLoad.cpp +32 -22
- package/nitrogen/generated/android/NitroSpeechOnLoad.hpp +14 -5
- package/nitrogen/generated/android/c++/JFunc_void.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_double.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_std__string_.hpp +1 -1
- package/nitrogen/generated/android/c++/JHapticFeedbackStyle.hpp +5 -6
- package/nitrogen/generated/android/c++/JHybridNitroSpeechSpec.cpp +23 -22
- package/nitrogen/generated/android/c++/JHybridNitroSpeechSpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JHybridRecognizerSpec.cpp +39 -38
- package/nitrogen/generated/android/c++/JHybridRecognizerSpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JSpeechToTextParams.hpp +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrospeech/Func_void.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrospeech/Func_void_double.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrospeech/Func_void_std__string.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrospeech/Func_void_std__vector_std__string_.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrospeech/HapticFeedbackStyle.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrospeech/HybridNitroSpeechSpec.kt +16 -19
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrospeech/HybridRecognizerSpec.kt +16 -19
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrospeech/NitroSpeechOnLoad.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrospeech/SpeechToTextParams.kt +2 -2
- package/nitrogen/generated/ios/NitroSpeech+autolinking.rb +2 -2
- package/nitrogen/generated/ios/NitroSpeech-Swift-Cxx-Bridge.cpp +1 -1
- package/nitrogen/generated/ios/NitroSpeech-Swift-Cxx-Bridge.hpp +11 -11
- package/nitrogen/generated/ios/NitroSpeech-Swift-Cxx-Umbrella.hpp +1 -1
- package/nitrogen/generated/ios/NitroSpeechAutolinking.mm +1 -1
- package/nitrogen/generated/ios/NitroSpeechAutolinking.swift +9 -8
- package/nitrogen/generated/ios/c++/HybridNitroSpeechSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridNitroSpeechSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/c++/HybridRecognizerSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridRecognizerSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/swift/Func_void.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_double.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift +1 -2
- package/nitrogen/generated/ios/swift/HapticFeedbackStyle.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridNitroSpeechSpec.swift +3 -4
- package/nitrogen/generated/ios/swift/HybridNitroSpeechSpec_cxx.swift +10 -3
- package/nitrogen/generated/ios/swift/HybridRecognizerSpec.swift +3 -4
- package/nitrogen/generated/ios/swift/HybridRecognizerSpec_cxx.swift +17 -3
- package/nitrogen/generated/ios/swift/SpeechToTextParams.swift +86 -218
- package/nitrogen/generated/shared/c++/HapticFeedbackStyle.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNitroSpeechSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNitroSpeechSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridRecognizerSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridRecognizerSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/SpeechToTextParams.hpp +43 -35
- package/package.json +6 -3
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// JHapticFeedbackStyle.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -41,19 +41,18 @@ namespace margelo::nitro::nitrospeech {
|
|
|
41
41
|
[[maybe_unused]]
|
|
42
42
|
static jni::alias_ref<JHapticFeedbackStyle> fromCpp(HapticFeedbackStyle value) {
|
|
43
43
|
static const auto clazz = javaClassStatic();
|
|
44
|
-
static const auto fieldLIGHT = clazz->getStaticField<JHapticFeedbackStyle>("LIGHT");
|
|
45
|
-
static const auto fieldMEDIUM = clazz->getStaticField<JHapticFeedbackStyle>("MEDIUM");
|
|
46
|
-
static const auto fieldHEAVY = clazz->getStaticField<JHapticFeedbackStyle>("HEAVY");
|
|
47
|
-
static const auto fieldNONE = clazz->getStaticField<JHapticFeedbackStyle>("NONE");
|
|
48
|
-
|
|
49
44
|
switch (value) {
|
|
50
45
|
case HapticFeedbackStyle::LIGHT:
|
|
46
|
+
static const auto fieldLIGHT = clazz->getStaticField<JHapticFeedbackStyle>("LIGHT");
|
|
51
47
|
return clazz->getStaticFieldValue(fieldLIGHT);
|
|
52
48
|
case HapticFeedbackStyle::MEDIUM:
|
|
49
|
+
static const auto fieldMEDIUM = clazz->getStaticField<JHapticFeedbackStyle>("MEDIUM");
|
|
53
50
|
return clazz->getStaticFieldValue(fieldMEDIUM);
|
|
54
51
|
case HapticFeedbackStyle::HEAVY:
|
|
52
|
+
static const auto fieldHEAVY = clazz->getStaticField<JHapticFeedbackStyle>("HEAVY");
|
|
55
53
|
return clazz->getStaticFieldValue(fieldHEAVY);
|
|
56
54
|
case HapticFeedbackStyle::NONE:
|
|
55
|
+
static const auto fieldNONE = clazz->getStaticField<JHapticFeedbackStyle>("NONE");
|
|
57
56
|
return clazz->getStaticFieldValue(fieldNONE);
|
|
58
57
|
default:
|
|
59
58
|
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// JHybridNitroSpeechSpec.cpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "JHybridNitroSpeechSpec.hpp"
|
|
@@ -16,40 +16,41 @@ namespace margelo::nitro::nitrospeech { class HybridRecognizerSpec; }
|
|
|
16
16
|
|
|
17
17
|
namespace margelo::nitro::nitrospeech {
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
});
|
|
19
|
+
std::shared_ptr<JHybridNitroSpeechSpec> JHybridNitroSpeechSpec::JavaPart::getJHybridNitroSpeechSpec() {
|
|
20
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
21
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridNitroSpeechSpec>(hybridObject);
|
|
22
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
23
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridNitroSpeechSpec!");
|
|
24
|
+
}
|
|
25
|
+
return castHybridObject;
|
|
27
26
|
}
|
|
28
27
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return method(_javaPart);
|
|
28
|
+
jni::local_ref<JHybridNitroSpeechSpec::CxxPart::jhybriddata> JHybridNitroSpeechSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
29
|
+
return makeCxxInstance(jThis);
|
|
32
30
|
}
|
|
33
31
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
std::shared_ptr<JHybridObject> JHybridNitroSpeechSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
33
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridNitroSpeechSpec::JavaPart>(javaPart);
|
|
34
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
35
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridNitroSpeechSpec::JavaPart!");
|
|
36
|
+
}
|
|
37
|
+
return std::make_shared<JHybridNitroSpeechSpec>(castJavaPart);
|
|
37
38
|
}
|
|
38
39
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
void JHybridNitroSpeechSpec::CxxPart::registerNatives() {
|
|
41
|
+
registerHybrid({
|
|
42
|
+
makeNativeMethod("initHybrid", JHybridNitroSpeechSpec::CxxPart::initHybrid),
|
|
43
|
+
});
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
// Properties
|
|
46
47
|
std::shared_ptr<HybridRecognizerSpec> JHybridNitroSpeechSpec::getRecognizer() {
|
|
47
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridRecognizerSpec::
|
|
48
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridRecognizerSpec::JavaPart>()>("getRecognizer");
|
|
48
49
|
auto __result = method(_javaPart);
|
|
49
|
-
return __result->
|
|
50
|
+
return __result->getJHybridRecognizerSpec();
|
|
50
51
|
}
|
|
51
52
|
void JHybridNitroSpeechSpec::setRecognizer(const std::shared_ptr<HybridRecognizerSpec>& recognizer) {
|
|
52
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JHybridRecognizerSpec::
|
|
53
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JHybridRecognizerSpec::JavaPart> /* recognizer */)>("setRecognizer");
|
|
53
54
|
method(_javaPart, std::dynamic_pointer_cast<JHybridRecognizerSpec>(recognizer)->getJavaPart());
|
|
54
55
|
}
|
|
55
56
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridNitroSpeechSpec.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -18,33 +18,33 @@ namespace margelo::nitro::nitrospeech {
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class JHybridNitroSpeechSpec: public
|
|
22
|
-
public virtual HybridNitroSpeechSpec {
|
|
21
|
+
class JHybridNitroSpeechSpec: public virtual HybridNitroSpeechSpec, 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 auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitrospeech/HybridNitroSpeechSpec;";
|
|
25
|
+
std::shared_ptr<JHybridNitroSpeechSpec> getJHybridNitroSpeechSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitrospeech/HybridNitroSpeechSpec$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 JHybridNitroSpeechSpec(const jni::local_ref<JHybridNitroSpeechSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridNitroSpeechSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
36
41
|
~JHybridNitroSpeechSpec() 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
|
-
void dispose() noexcept override;
|
|
44
|
-
std::string toString() override;
|
|
45
|
-
|
|
46
|
-
public:
|
|
47
|
-
inline const jni::global_ref<JHybridNitroSpeechSpec::javaobject>& getJavaPart() const noexcept {
|
|
47
|
+
inline const jni::global_ref<JHybridNitroSpeechSpec::JavaPart>& getJavaPart() const noexcept {
|
|
48
48
|
return _javaPart;
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -58,9 +58,7 @@ namespace margelo::nitro::nitrospeech {
|
|
|
58
58
|
|
|
59
59
|
|
|
60
60
|
private:
|
|
61
|
-
|
|
62
|
-
using HybridBase::HybridBase;
|
|
63
|
-
jni::global_ref<JHybridNitroSpeechSpec::javaobject> _javaPart;
|
|
61
|
+
jni::global_ref<JHybridNitroSpeechSpec::JavaPart> _javaPart;
|
|
64
62
|
};
|
|
65
63
|
|
|
66
64
|
} // namespace margelo::nitro::nitrospeech
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// JHybridRecognizerSpec.cpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "JHybridRecognizerSpec.hpp"
|
|
@@ -28,35 +28,36 @@ namespace margelo::nitro::nitrospeech { enum class HapticFeedbackStyle; }
|
|
|
28
28
|
|
|
29
29
|
namespace margelo::nitro::nitrospeech {
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
});
|
|
31
|
+
std::shared_ptr<JHybridRecognizerSpec> JHybridRecognizerSpec::JavaPart::getJHybridRecognizerSpec() {
|
|
32
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
33
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridRecognizerSpec>(hybridObject);
|
|
34
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
35
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridRecognizerSpec!");
|
|
36
|
+
}
|
|
37
|
+
return castHybridObject;
|
|
39
38
|
}
|
|
40
39
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return method(_javaPart);
|
|
40
|
+
jni::local_ref<JHybridRecognizerSpec::CxxPart::jhybriddata> JHybridRecognizerSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
41
|
+
return makeCxxInstance(jThis);
|
|
44
42
|
}
|
|
45
43
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
std::shared_ptr<JHybridObject> JHybridRecognizerSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
45
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridRecognizerSpec::JavaPart>(javaPart);
|
|
46
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
47
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridRecognizerSpec::JavaPart!");
|
|
48
|
+
}
|
|
49
|
+
return std::make_shared<JHybridRecognizerSpec>(castJavaPart);
|
|
49
50
|
}
|
|
50
51
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
void JHybridRecognizerSpec::CxxPart::registerNatives() {
|
|
53
|
+
registerHybrid({
|
|
54
|
+
makeNativeMethod("initHybrid", JHybridRecognizerSpec::CxxPart::initHybrid),
|
|
55
|
+
});
|
|
55
56
|
}
|
|
56
57
|
|
|
57
58
|
// Properties
|
|
58
59
|
std::optional<std::function<void()>> JHybridRecognizerSpec::getOnReadyForSpeech() {
|
|
59
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>()>("getOnReadyForSpeech_cxx");
|
|
60
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>()>("getOnReadyForSpeech_cxx");
|
|
60
61
|
auto __result = method(_javaPart);
|
|
61
62
|
return __result != nullptr ? std::make_optional([&]() -> std::function<void()> {
|
|
62
63
|
if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
|
|
@@ -69,11 +70,11 @@ namespace margelo::nitro::nitrospeech {
|
|
|
69
70
|
}()) : std::nullopt;
|
|
70
71
|
}
|
|
71
72
|
void JHybridRecognizerSpec::setOnReadyForSpeech(const std::optional<std::function<void()>>& onReadyForSpeech) {
|
|
72
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void::javaobject> /* onReadyForSpeech */)>("setOnReadyForSpeech_cxx");
|
|
73
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void::javaobject> /* onReadyForSpeech */)>("setOnReadyForSpeech_cxx");
|
|
73
74
|
method(_javaPart, onReadyForSpeech.has_value() ? JFunc_void_cxx::fromCpp(onReadyForSpeech.value()) : nullptr);
|
|
74
75
|
}
|
|
75
76
|
std::optional<std::function<void()>> JHybridRecognizerSpec::getOnRecordingStopped() {
|
|
76
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>()>("getOnRecordingStopped_cxx");
|
|
77
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>()>("getOnRecordingStopped_cxx");
|
|
77
78
|
auto __result = method(_javaPart);
|
|
78
79
|
return __result != nullptr ? std::make_optional([&]() -> std::function<void()> {
|
|
79
80
|
if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
|
|
@@ -86,11 +87,11 @@ namespace margelo::nitro::nitrospeech {
|
|
|
86
87
|
}()) : std::nullopt;
|
|
87
88
|
}
|
|
88
89
|
void JHybridRecognizerSpec::setOnRecordingStopped(const std::optional<std::function<void()>>& onRecordingStopped) {
|
|
89
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void::javaobject> /* onRecordingStopped */)>("setOnRecordingStopped_cxx");
|
|
90
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void::javaobject> /* onRecordingStopped */)>("setOnRecordingStopped_cxx");
|
|
90
91
|
method(_javaPart, onRecordingStopped.has_value() ? JFunc_void_cxx::fromCpp(onRecordingStopped.value()) : nullptr);
|
|
91
92
|
}
|
|
92
93
|
std::optional<std::function<void(const std::vector<std::string>& /* resultBatches */)>> JHybridRecognizerSpec::getOnResult() {
|
|
93
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_std__vector_std__string_::javaobject>()>("getOnResult_cxx");
|
|
94
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JFunc_void_std__vector_std__string_::javaobject>()>("getOnResult_cxx");
|
|
94
95
|
auto __result = method(_javaPart);
|
|
95
96
|
return __result != nullptr ? std::make_optional([&]() -> std::function<void(const std::vector<std::string>& /* resultBatches */)> {
|
|
96
97
|
if (__result->isInstanceOf(JFunc_void_std__vector_std__string__cxx::javaClassStatic())) [[likely]] {
|
|
@@ -103,11 +104,11 @@ namespace margelo::nitro::nitrospeech {
|
|
|
103
104
|
}()) : std::nullopt;
|
|
104
105
|
}
|
|
105
106
|
void JHybridRecognizerSpec::setOnResult(const std::optional<std::function<void(const std::vector<std::string>& /* resultBatches */)>>& onResult) {
|
|
106
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__vector_std__string_::javaobject> /* onResult */)>("setOnResult_cxx");
|
|
107
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__vector_std__string_::javaobject> /* onResult */)>("setOnResult_cxx");
|
|
107
108
|
method(_javaPart, onResult.has_value() ? JFunc_void_std__vector_std__string__cxx::fromCpp(onResult.value()) : nullptr);
|
|
108
109
|
}
|
|
109
110
|
std::optional<std::function<void(double /* timeLeftMs */)>> JHybridRecognizerSpec::getOnAutoFinishProgress() {
|
|
110
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_double::javaobject>()>("getOnAutoFinishProgress_cxx");
|
|
111
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JFunc_void_double::javaobject>()>("getOnAutoFinishProgress_cxx");
|
|
111
112
|
auto __result = method(_javaPart);
|
|
112
113
|
return __result != nullptr ? std::make_optional([&]() -> std::function<void(double /* timeLeftMs */)> {
|
|
113
114
|
if (__result->isInstanceOf(JFunc_void_double_cxx::javaClassStatic())) [[likely]] {
|
|
@@ -120,11 +121,11 @@ namespace margelo::nitro::nitrospeech {
|
|
|
120
121
|
}()) : std::nullopt;
|
|
121
122
|
}
|
|
122
123
|
void JHybridRecognizerSpec::setOnAutoFinishProgress(const std::optional<std::function<void(double /* timeLeftMs */)>>& onAutoFinishProgress) {
|
|
123
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_double::javaobject> /* onAutoFinishProgress */)>("setOnAutoFinishProgress_cxx");
|
|
124
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_double::javaobject> /* onAutoFinishProgress */)>("setOnAutoFinishProgress_cxx");
|
|
124
125
|
method(_javaPart, onAutoFinishProgress.has_value() ? JFunc_void_double_cxx::fromCpp(onAutoFinishProgress.value()) : nullptr);
|
|
125
126
|
}
|
|
126
127
|
std::optional<std::function<void(const std::string& /* message */)>> JHybridRecognizerSpec::getOnError() {
|
|
127
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_std__string::javaobject>()>("getOnError_cxx");
|
|
128
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JFunc_void_std__string::javaobject>()>("getOnError_cxx");
|
|
128
129
|
auto __result = method(_javaPart);
|
|
129
130
|
return __result != nullptr ? std::make_optional([&]() -> std::function<void(const std::string& /* message */)> {
|
|
130
131
|
if (__result->isInstanceOf(JFunc_void_std__string_cxx::javaClassStatic())) [[likely]] {
|
|
@@ -137,11 +138,11 @@ namespace margelo::nitro::nitrospeech {
|
|
|
137
138
|
}()) : std::nullopt;
|
|
138
139
|
}
|
|
139
140
|
void JHybridRecognizerSpec::setOnError(const std::optional<std::function<void(const std::string& /* message */)>>& onError) {
|
|
140
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__string::javaobject> /* onError */)>("setOnError_cxx");
|
|
141
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__string::javaobject> /* onError */)>("setOnError_cxx");
|
|
141
142
|
method(_javaPart, onError.has_value() ? JFunc_void_std__string_cxx::fromCpp(onError.value()) : nullptr);
|
|
142
143
|
}
|
|
143
144
|
std::optional<std::function<void()>> JHybridRecognizerSpec::getOnPermissionDenied() {
|
|
144
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>()>("getOnPermissionDenied_cxx");
|
|
145
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>()>("getOnPermissionDenied_cxx");
|
|
145
146
|
auto __result = method(_javaPart);
|
|
146
147
|
return __result != nullptr ? std::make_optional([&]() -> std::function<void()> {
|
|
147
148
|
if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
|
|
@@ -154,11 +155,11 @@ namespace margelo::nitro::nitrospeech {
|
|
|
154
155
|
}()) : std::nullopt;
|
|
155
156
|
}
|
|
156
157
|
void JHybridRecognizerSpec::setOnPermissionDenied(const std::optional<std::function<void()>>& onPermissionDenied) {
|
|
157
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void::javaobject> /* onPermissionDenied */)>("setOnPermissionDenied_cxx");
|
|
158
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void::javaobject> /* onPermissionDenied */)>("setOnPermissionDenied_cxx");
|
|
158
159
|
method(_javaPart, onPermissionDenied.has_value() ? JFunc_void_cxx::fromCpp(onPermissionDenied.value()) : nullptr);
|
|
159
160
|
}
|
|
160
161
|
std::optional<std::function<void(double /* normVolume */)>> JHybridRecognizerSpec::getOnVolumeChange() {
|
|
161
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_double::javaobject>()>("getOnVolumeChange_cxx");
|
|
162
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JFunc_void_double::javaobject>()>("getOnVolumeChange_cxx");
|
|
162
163
|
auto __result = method(_javaPart);
|
|
163
164
|
return __result != nullptr ? std::make_optional([&]() -> std::function<void(double /* normVolume */)> {
|
|
164
165
|
if (__result->isInstanceOf(JFunc_void_double_cxx::javaClassStatic())) [[likely]] {
|
|
@@ -171,29 +172,29 @@ namespace margelo::nitro::nitrospeech {
|
|
|
171
172
|
}()) : std::nullopt;
|
|
172
173
|
}
|
|
173
174
|
void JHybridRecognizerSpec::setOnVolumeChange(const std::optional<std::function<void(double /* normVolume */)>>& onVolumeChange) {
|
|
174
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_double::javaobject> /* onVolumeChange */)>("setOnVolumeChange_cxx");
|
|
175
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_double::javaobject> /* onVolumeChange */)>("setOnVolumeChange_cxx");
|
|
175
176
|
method(_javaPart, onVolumeChange.has_value() ? JFunc_void_double_cxx::fromCpp(onVolumeChange.value()) : nullptr);
|
|
176
177
|
}
|
|
177
178
|
|
|
178
179
|
// Methods
|
|
179
180
|
void JHybridRecognizerSpec::startListening(const SpeechToTextParams& params) {
|
|
180
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JSpeechToTextParams> /* params */)>("startListening");
|
|
181
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JSpeechToTextParams> /* params */)>("startListening");
|
|
181
182
|
method(_javaPart, JSpeechToTextParams::fromCpp(params));
|
|
182
183
|
}
|
|
183
184
|
void JHybridRecognizerSpec::stopListening() {
|
|
184
|
-
static const auto method = javaClassStatic()->getMethod<void()>("stopListening");
|
|
185
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void()>("stopListening");
|
|
185
186
|
method(_javaPart);
|
|
186
187
|
}
|
|
187
188
|
void JHybridRecognizerSpec::addAutoFinishTime(std::optional<double> additionalTimeMs) {
|
|
188
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JDouble> /* additionalTimeMs */)>("addAutoFinishTime");
|
|
189
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JDouble> /* additionalTimeMs */)>("addAutoFinishTime");
|
|
189
190
|
method(_javaPart, additionalTimeMs.has_value() ? jni::JDouble::valueOf(additionalTimeMs.value()) : nullptr);
|
|
190
191
|
}
|
|
191
192
|
void JHybridRecognizerSpec::updateAutoFinishTime(double newTimeMs, std::optional<bool> withRefresh) {
|
|
192
|
-
static const auto method = javaClassStatic()->getMethod<void(double /* newTimeMs */, jni::alias_ref<jni::JBoolean> /* withRefresh */)>("updateAutoFinishTime");
|
|
193
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* newTimeMs */, jni::alias_ref<jni::JBoolean> /* withRefresh */)>("updateAutoFinishTime");
|
|
193
194
|
method(_javaPart, newTimeMs, withRefresh.has_value() ? jni::JBoolean::valueOf(withRefresh.value()) : nullptr);
|
|
194
195
|
}
|
|
195
196
|
bool JHybridRecognizerSpec::getIsActive() {
|
|
196
|
-
static const auto method = javaClassStatic()->getMethod<jboolean()>("getIsActive");
|
|
197
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean()>("getIsActive");
|
|
197
198
|
auto __result = method(_javaPart);
|
|
198
199
|
return static_cast<bool>(__result);
|
|
199
200
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridRecognizerSpec.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -18,33 +18,33 @@ namespace margelo::nitro::nitrospeech {
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class JHybridRecognizerSpec: public
|
|
22
|
-
public virtual HybridRecognizerSpec {
|
|
21
|
+
class JHybridRecognizerSpec: public virtual HybridRecognizerSpec, 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 auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitrospeech/HybridRecognizerSpec;";
|
|
25
|
+
std::shared_ptr<JHybridRecognizerSpec> getJHybridRecognizerSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitrospeech/HybridRecognizerSpec$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 JHybridRecognizerSpec(const jni::local_ref<JHybridRecognizerSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridRecognizerSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
36
41
|
~JHybridRecognizerSpec() 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
|
-
void dispose() noexcept override;
|
|
44
|
-
std::string toString() override;
|
|
45
|
-
|
|
46
|
-
public:
|
|
47
|
-
inline const jni::global_ref<JHybridRecognizerSpec::javaobject>& getJavaPart() const noexcept {
|
|
47
|
+
inline const jni::global_ref<JHybridRecognizerSpec::JavaPart>& getJavaPart() const noexcept {
|
|
48
48
|
return _javaPart;
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -74,9 +74,7 @@ namespace margelo::nitro::nitrospeech {
|
|
|
74
74
|
bool getIsActive() override;
|
|
75
75
|
|
|
76
76
|
private:
|
|
77
|
-
|
|
78
|
-
using HybridBase::HybridBase;
|
|
79
|
-
jni::global_ref<JHybridRecognizerSpec::javaobject> _javaPart;
|
|
77
|
+
jni::global_ref<JHybridRecognizerSpec::JavaPart> _javaPart;
|
|
80
78
|
};
|
|
81
79
|
|
|
82
80
|
} // namespace margelo::nitro::nitrospeech
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// Func_void_double.kt
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
package com.margelo.nitro.nitrospeech
|
package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrospeech/Func_void_std__string.kt
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// Func_void_std__string.kt
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
package com.margelo.nitro.nitrospeech
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// Func_void_std__vector_std__string_.kt
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
package com.margelo.nitro.nitrospeech
|
package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrospeech/HapticFeedbackStyle.kt
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HapticFeedbackStyle.kt
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
package com.margelo.nitro.nitrospeech
|
|
@@ -20,4 +20,6 @@ enum class HapticFeedbackStyle(@DoNotStrip @Keep val value: Int) {
|
|
|
20
20
|
MEDIUM(1),
|
|
21
21
|
HEAVY(2),
|
|
22
22
|
NONE(3);
|
|
23
|
+
|
|
24
|
+
companion object
|
|
23
25
|
}
|
package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrospeech/HybridNitroSpeechSpec.kt
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridNitroSpeechSpec.kt
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
package com.margelo.nitro.nitrospeech
|
|
@@ -24,23 +24,6 @@ import com.margelo.nitro.core.HybridObject
|
|
|
24
24
|
"LocalVariableName", "PropertyName", "PrivatePropertyName", "FunctionName"
|
|
25
25
|
)
|
|
26
26
|
abstract class HybridNitroSpeechSpec: HybridObject() {
|
|
27
|
-
@DoNotStrip
|
|
28
|
-
private var mHybridData: HybridData = initHybrid()
|
|
29
|
-
|
|
30
|
-
init {
|
|
31
|
-
super.updateNative(mHybridData)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
override fun updateNative(hybridData: HybridData) {
|
|
35
|
-
mHybridData = hybridData
|
|
36
|
-
super.updateNative(hybridData)
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
// Default implementation of `HybridObject.toString()`
|
|
40
|
-
override fun toString(): String {
|
|
41
|
-
return "[HybridObject NitroSpeech]"
|
|
42
|
-
}
|
|
43
|
-
|
|
44
27
|
// Properties
|
|
45
28
|
@get:DoNotStrip
|
|
46
29
|
@get:Keep
|
|
@@ -51,7 +34,21 @@ abstract class HybridNitroSpeechSpec: HybridObject() {
|
|
|
51
34
|
// Methods
|
|
52
35
|
|
|
53
36
|
|
|
54
|
-
|
|
37
|
+
// Default implementation of `HybridObject.toString()`
|
|
38
|
+
override fun toString(): String {
|
|
39
|
+
return "[HybridObject NitroSpeech]"
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// C++ backing class
|
|
43
|
+
@DoNotStrip
|
|
44
|
+
@Keep
|
|
45
|
+
protected open class CxxPart(javaPart: HybridNitroSpeechSpec): HybridObject.CxxPart(javaPart) {
|
|
46
|
+
// C++ JHybridNitroSpeechSpec::CxxPart::initHybrid(...)
|
|
47
|
+
external override fun initHybrid(): HybridData
|
|
48
|
+
}
|
|
49
|
+
override fun createCxxPart(): CxxPart {
|
|
50
|
+
return CxxPart(this)
|
|
51
|
+
}
|
|
55
52
|
|
|
56
53
|
companion object {
|
|
57
54
|
protected const val TAG = "HybridNitroSpeechSpec"
|
package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrospeech/HybridRecognizerSpec.kt
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridRecognizerSpec.kt
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
package com.margelo.nitro.nitrospeech
|
|
@@ -24,23 +24,6 @@ import com.margelo.nitro.core.HybridObject
|
|
|
24
24
|
"LocalVariableName", "PropertyName", "PrivatePropertyName", "FunctionName"
|
|
25
25
|
)
|
|
26
26
|
abstract class HybridRecognizerSpec: HybridObject() {
|
|
27
|
-
@DoNotStrip
|
|
28
|
-
private var mHybridData: HybridData = initHybrid()
|
|
29
|
-
|
|
30
|
-
init {
|
|
31
|
-
super.updateNative(mHybridData)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
override fun updateNative(hybridData: HybridData) {
|
|
35
|
-
mHybridData = hybridData
|
|
36
|
-
super.updateNative(hybridData)
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
// Default implementation of `HybridObject.toString()`
|
|
40
|
-
override fun toString(): String {
|
|
41
|
-
return "[HybridObject Recognizer]"
|
|
42
|
-
}
|
|
43
|
-
|
|
44
27
|
// Properties
|
|
45
28
|
abstract var onReadyForSpeech: (() -> Unit)?
|
|
46
29
|
|
|
@@ -161,7 +144,21 @@ abstract class HybridRecognizerSpec: HybridObject() {
|
|
|
161
144
|
@Keep
|
|
162
145
|
abstract fun getIsActive(): Boolean
|
|
163
146
|
|
|
164
|
-
|
|
147
|
+
// Default implementation of `HybridObject.toString()`
|
|
148
|
+
override fun toString(): String {
|
|
149
|
+
return "[HybridObject Recognizer]"
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// C++ backing class
|
|
153
|
+
@DoNotStrip
|
|
154
|
+
@Keep
|
|
155
|
+
protected open class CxxPart(javaPart: HybridRecognizerSpec): HybridObject.CxxPart(javaPart) {
|
|
156
|
+
// C++ JHybridRecognizerSpec::CxxPart::initHybrid(...)
|
|
157
|
+
external override fun initHybrid(): HybridData
|
|
158
|
+
}
|
|
159
|
+
override fun createCxxPart(): CxxPart {
|
|
160
|
+
return CxxPart(this)
|
|
161
|
+
}
|
|
165
162
|
|
|
166
163
|
companion object {
|
|
167
164
|
protected const val TAG = "HybridRecognizerSpec"
|
package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrospeech/NitroSpeechOnLoad.kt
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// NitroSpeechOnLoad.kt
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
package com.margelo.nitro.nitrospeech
|