react-native-video-trim 4.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -8
- package/VideoTrim.podspec +1 -1
- package/android/build.gradle +9 -1
- package/android/gradle.properties +2 -0
- package/android/src/main/java/com/margelo/nitro/videotrim/VideoTrim.kt +138 -121
- package/android/src/main/java/com/margelo/nitro/videotrim/utils/VideoTrimmerUtil.java +29 -21
- package/android/src/main/java/com/margelo/nitro/videotrim/widgets/VideoTrimmerView.java +10 -6
- package/ios/VideoTrim.swift +7 -0
- package/ios/VideoTrimImpl.swift +221 -124
- package/lib/module/index.js +38 -11
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/VideoTrim.nitro.d.ts +74 -57
- package/lib/typescript/src/VideoTrim.nitro.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +9 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JEditorConfig.hpp +54 -46
- package/nitrogen/generated/android/c++/JHybridVideoTrimSpec.cpp +20 -0
- package/nitrogen/generated/android/c++/JHybridVideoTrimSpec.hpp +1 -0
- package/nitrogen/generated/android/c++/JTrimOptions.hpp +109 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/EditorConfig.kt +14 -12
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/HybridVideoTrimSpec.kt +4 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/TrimOptions.kt +40 -0
- package/nitrogen/generated/ios/VideoTrim-Swift-Cxx-Bridge.cpp +8 -0
- package/nitrogen/generated/ios/VideoTrim-Swift-Cxx-Bridge.hpp +43 -0
- package/nitrogen/generated/ios/VideoTrim-Swift-Cxx-Umbrella.hpp +3 -0
- package/nitrogen/generated/ios/c++/HybridVideoTrimSpecSwift.hpp +11 -0
- package/nitrogen/generated/ios/swift/EditorConfig.swift +116 -94
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridVideoTrimSpec.swift +1 -0
- package/nitrogen/generated/ios/swift/HybridVideoTrimSpec_cxx.swift +19 -0
- package/nitrogen/generated/ios/swift/TrimOptions.swift +189 -0
- package/nitrogen/generated/shared/c++/EditorConfig.hpp +54 -46
- package/nitrogen/generated/shared/c++/HybridVideoTrimSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridVideoTrimSpec.hpp +4 -0
- package/nitrogen/generated/shared/c++/TrimOptions.hpp +125 -0
- package/package.json +1 -1
- package/src/VideoTrim.nitro.ts +76 -57
- package/src/index.tsx +45 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoTrim.nitro.d.ts","sourceRoot":"","sources":["../../../src/VideoTrim.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"VideoTrim.nitro.d.ts","sourceRoot":"","sources":["../../../src/VideoTrim.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,uBAAuB,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,4BAA4B,EAAE,OAAO,CAAC;IACtC;;;OAGG;IACH,2BAA2B,EAAE,OAAO,CAAC;IACrC;;;OAGG;IACH,gCAAgC,EAAE,OAAO,CAAC;IAC1C;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C;;;OAGG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,sBAAsB,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,uBAAuB,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,wBAAwB,EAAE,MAAM,CAAC;IACjC;;;OAGG;IACH,0BAA0B,EAAE,OAAO,CAAC;IACpC;;;OAGG;IACH,yBAAyB,EAAE,MAAM,CAAC;IAClC;;;OAGG;IACH,2BAA2B,EAAE,MAAM,CAAC;IACpC;;;OAGG;IACH,8BAA8B,EAAE,MAAM,CAAC;IACvC;;;OAGG;IACH,+BAA+B,EAAE,MAAM,CAAC;IACxC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IACzD,UAAU,CACR,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,GACpE,IAAI,CAAC;IACR,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,WAAW,CAAC,UAAU,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC1C,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EditorConfig, FileValidationResult } from './VideoTrim.nitro';
|
|
1
|
+
import type { EditorConfig, FileValidationResult, TrimOptions } from './VideoTrim.nitro';
|
|
2
2
|
/**
|
|
3
3
|
* Delete a file
|
|
4
4
|
*
|
|
@@ -38,4 +38,12 @@ export declare function closeEditor(onComplete?: () => void): void;
|
|
|
38
38
|
* @returns {Promise} A **Promise** which resolves file info if successful
|
|
39
39
|
*/
|
|
40
40
|
export declare function isValidFile(url: string): Promise<FileValidationResult>;
|
|
41
|
+
/**
|
|
42
|
+
* Trim a video file
|
|
43
|
+
*
|
|
44
|
+
* @param {string} url: absolute non-empty file path to edit
|
|
45
|
+
* @param {TrimOptions} options: trim options
|
|
46
|
+
* @returns {Promise<string>} A **Promise** which resolves to the trimmed file path
|
|
47
|
+
*/
|
|
48
|
+
export declare function trim(url: string, options: Partial<TrimOptions>): Promise<string>;
|
|
41
49
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,YAAY,EACZ,oBAAoB,EACpB,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAgF3B;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,GAAG;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,EACD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,GACrE,IAAI,CAYN;AAED;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAE5C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK7D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAEtE;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAClB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC,CAEjB"}
|
|
@@ -33,8 +33,6 @@ namespace margelo::nitro::videotrim {
|
|
|
33
33
|
static const auto clazz = javaClassStatic();
|
|
34
34
|
static const auto fieldEnableHapticFeedback = clazz->getField<jboolean>("enableHapticFeedback");
|
|
35
35
|
jboolean enableHapticFeedback = this->getFieldValue(fieldEnableHapticFeedback);
|
|
36
|
-
static const auto fieldSaveToPhoto = clazz->getField<jboolean>("saveToPhoto");
|
|
37
|
-
jboolean saveToPhoto = this->getFieldValue(fieldSaveToPhoto);
|
|
38
36
|
static const auto fieldMaxDuration = clazz->getField<double>("maxDuration");
|
|
39
37
|
double maxDuration = this->getFieldValue(fieldMaxDuration);
|
|
40
38
|
static const auto fieldMinDuration = clazz->getField<double>("minDuration");
|
|
@@ -67,26 +65,6 @@ namespace margelo::nitro::videotrim {
|
|
|
67
65
|
jni::local_ref<jni::JString> trimmingText = this->getFieldValue(fieldTrimmingText);
|
|
68
66
|
static const auto fieldFullScreenModalIOS = clazz->getField<jboolean>("fullScreenModalIOS");
|
|
69
67
|
jboolean fullScreenModalIOS = this->getFieldValue(fieldFullScreenModalIOS);
|
|
70
|
-
static const auto fieldType = clazz->getField<jni::JString>("type");
|
|
71
|
-
jni::local_ref<jni::JString> type = this->getFieldValue(fieldType);
|
|
72
|
-
static const auto fieldOutputExt = clazz->getField<jni::JString>("outputExt");
|
|
73
|
-
jni::local_ref<jni::JString> outputExt = this->getFieldValue(fieldOutputExt);
|
|
74
|
-
static const auto fieldOpenDocumentsOnFinish = clazz->getField<jboolean>("openDocumentsOnFinish");
|
|
75
|
-
jboolean openDocumentsOnFinish = this->getFieldValue(fieldOpenDocumentsOnFinish);
|
|
76
|
-
static const auto fieldOpenShareSheetOnFinish = clazz->getField<jboolean>("openShareSheetOnFinish");
|
|
77
|
-
jboolean openShareSheetOnFinish = this->getFieldValue(fieldOpenShareSheetOnFinish);
|
|
78
|
-
static const auto fieldRemoveAfterSavedToPhoto = clazz->getField<jboolean>("removeAfterSavedToPhoto");
|
|
79
|
-
jboolean removeAfterSavedToPhoto = this->getFieldValue(fieldRemoveAfterSavedToPhoto);
|
|
80
|
-
static const auto fieldRemoveAfterFailedToSavePhoto = clazz->getField<jboolean>("removeAfterFailedToSavePhoto");
|
|
81
|
-
jboolean removeAfterFailedToSavePhoto = this->getFieldValue(fieldRemoveAfterFailedToSavePhoto);
|
|
82
|
-
static const auto fieldRemoveAfterSavedToDocuments = clazz->getField<jboolean>("removeAfterSavedToDocuments");
|
|
83
|
-
jboolean removeAfterSavedToDocuments = this->getFieldValue(fieldRemoveAfterSavedToDocuments);
|
|
84
|
-
static const auto fieldRemoveAfterFailedToSaveDocuments = clazz->getField<jboolean>("removeAfterFailedToSaveDocuments");
|
|
85
|
-
jboolean removeAfterFailedToSaveDocuments = this->getFieldValue(fieldRemoveAfterFailedToSaveDocuments);
|
|
86
|
-
static const auto fieldRemoveAfterShared = clazz->getField<jboolean>("removeAfterShared");
|
|
87
|
-
jboolean removeAfterShared = this->getFieldValue(fieldRemoveAfterShared);
|
|
88
|
-
static const auto fieldRemoveAfterFailedToShare = clazz->getField<jboolean>("removeAfterFailedToShare");
|
|
89
|
-
jboolean removeAfterFailedToShare = this->getFieldValue(fieldRemoveAfterFailedToShare);
|
|
90
68
|
static const auto fieldAutoplay = clazz->getField<jboolean>("autoplay");
|
|
91
69
|
jboolean autoplay = this->getFieldValue(fieldAutoplay);
|
|
92
70
|
static const auto fieldJumpToPositionOnLoad = clazz->getField<double>("jumpToPositionOnLoad");
|
|
@@ -121,9 +99,34 @@ namespace margelo::nitro::videotrim {
|
|
|
121
99
|
jni::local_ref<jni::JString> alertOnFailMessage = this->getFieldValue(fieldAlertOnFailMessage);
|
|
122
100
|
static const auto fieldAlertOnFailCloseText = clazz->getField<jni::JString>("alertOnFailCloseText");
|
|
123
101
|
jni::local_ref<jni::JString> alertOnFailCloseText = this->getFieldValue(fieldAlertOnFailCloseText);
|
|
102
|
+
static const auto fieldSaveToPhoto = clazz->getField<jboolean>("saveToPhoto");
|
|
103
|
+
jboolean saveToPhoto = this->getFieldValue(fieldSaveToPhoto);
|
|
104
|
+
static const auto fieldType = clazz->getField<jni::JString>("type");
|
|
105
|
+
jni::local_ref<jni::JString> type = this->getFieldValue(fieldType);
|
|
106
|
+
static const auto fieldOutputExt = clazz->getField<jni::JString>("outputExt");
|
|
107
|
+
jni::local_ref<jni::JString> outputExt = this->getFieldValue(fieldOutputExt);
|
|
108
|
+
static const auto fieldOpenDocumentsOnFinish = clazz->getField<jboolean>("openDocumentsOnFinish");
|
|
109
|
+
jboolean openDocumentsOnFinish = this->getFieldValue(fieldOpenDocumentsOnFinish);
|
|
110
|
+
static const auto fieldOpenShareSheetOnFinish = clazz->getField<jboolean>("openShareSheetOnFinish");
|
|
111
|
+
jboolean openShareSheetOnFinish = this->getFieldValue(fieldOpenShareSheetOnFinish);
|
|
112
|
+
static const auto fieldRemoveAfterSavedToPhoto = clazz->getField<jboolean>("removeAfterSavedToPhoto");
|
|
113
|
+
jboolean removeAfterSavedToPhoto = this->getFieldValue(fieldRemoveAfterSavedToPhoto);
|
|
114
|
+
static const auto fieldRemoveAfterFailedToSavePhoto = clazz->getField<jboolean>("removeAfterFailedToSavePhoto");
|
|
115
|
+
jboolean removeAfterFailedToSavePhoto = this->getFieldValue(fieldRemoveAfterFailedToSavePhoto);
|
|
116
|
+
static const auto fieldRemoveAfterSavedToDocuments = clazz->getField<jboolean>("removeAfterSavedToDocuments");
|
|
117
|
+
jboolean removeAfterSavedToDocuments = this->getFieldValue(fieldRemoveAfterSavedToDocuments);
|
|
118
|
+
static const auto fieldRemoveAfterFailedToSaveDocuments = clazz->getField<jboolean>("removeAfterFailedToSaveDocuments");
|
|
119
|
+
jboolean removeAfterFailedToSaveDocuments = this->getFieldValue(fieldRemoveAfterFailedToSaveDocuments);
|
|
120
|
+
static const auto fieldRemoveAfterShared = clazz->getField<jboolean>("removeAfterShared");
|
|
121
|
+
jboolean removeAfterShared = this->getFieldValue(fieldRemoveAfterShared);
|
|
122
|
+
static const auto fieldRemoveAfterFailedToShare = clazz->getField<jboolean>("removeAfterFailedToShare");
|
|
123
|
+
jboolean removeAfterFailedToShare = this->getFieldValue(fieldRemoveAfterFailedToShare);
|
|
124
|
+
static const auto fieldEnableRotation = clazz->getField<jboolean>("enableRotation");
|
|
125
|
+
jboolean enableRotation = this->getFieldValue(fieldEnableRotation);
|
|
126
|
+
static const auto fieldRotationAngle = clazz->getField<double>("rotationAngle");
|
|
127
|
+
double rotationAngle = this->getFieldValue(fieldRotationAngle);
|
|
124
128
|
return EditorConfig(
|
|
125
129
|
static_cast<bool>(enableHapticFeedback),
|
|
126
|
-
static_cast<bool>(saveToPhoto),
|
|
127
130
|
maxDuration,
|
|
128
131
|
minDuration,
|
|
129
132
|
cancelButtonText->toStdString(),
|
|
@@ -140,16 +143,6 @@ namespace margelo::nitro::videotrim {
|
|
|
140
143
|
saveDialogConfirmText->toStdString(),
|
|
141
144
|
trimmingText->toStdString(),
|
|
142
145
|
static_cast<bool>(fullScreenModalIOS),
|
|
143
|
-
type->toStdString(),
|
|
144
|
-
outputExt->toStdString(),
|
|
145
|
-
static_cast<bool>(openDocumentsOnFinish),
|
|
146
|
-
static_cast<bool>(openShareSheetOnFinish),
|
|
147
|
-
static_cast<bool>(removeAfterSavedToPhoto),
|
|
148
|
-
static_cast<bool>(removeAfterFailedToSavePhoto),
|
|
149
|
-
static_cast<bool>(removeAfterSavedToDocuments),
|
|
150
|
-
static_cast<bool>(removeAfterFailedToSaveDocuments),
|
|
151
|
-
static_cast<bool>(removeAfterShared),
|
|
152
|
-
static_cast<bool>(removeAfterFailedToShare),
|
|
153
146
|
static_cast<bool>(autoplay),
|
|
154
147
|
jumpToPositionOnLoad,
|
|
155
148
|
static_cast<bool>(closeWhenFinish),
|
|
@@ -166,7 +159,20 @@ namespace margelo::nitro::videotrim {
|
|
|
166
159
|
static_cast<bool>(alertOnFailToLoad),
|
|
167
160
|
alertOnFailTitle->toStdString(),
|
|
168
161
|
alertOnFailMessage->toStdString(),
|
|
169
|
-
alertOnFailCloseText->toStdString()
|
|
162
|
+
alertOnFailCloseText->toStdString(),
|
|
163
|
+
static_cast<bool>(saveToPhoto),
|
|
164
|
+
type->toStdString(),
|
|
165
|
+
outputExt->toStdString(),
|
|
166
|
+
static_cast<bool>(openDocumentsOnFinish),
|
|
167
|
+
static_cast<bool>(openShareSheetOnFinish),
|
|
168
|
+
static_cast<bool>(removeAfterSavedToPhoto),
|
|
169
|
+
static_cast<bool>(removeAfterFailedToSavePhoto),
|
|
170
|
+
static_cast<bool>(removeAfterSavedToDocuments),
|
|
171
|
+
static_cast<bool>(removeAfterFailedToSaveDocuments),
|
|
172
|
+
static_cast<bool>(removeAfterShared),
|
|
173
|
+
static_cast<bool>(removeAfterFailedToShare),
|
|
174
|
+
static_cast<bool>(enableRotation),
|
|
175
|
+
rotationAngle
|
|
170
176
|
);
|
|
171
177
|
}
|
|
172
178
|
|
|
@@ -178,7 +184,6 @@ namespace margelo::nitro::videotrim {
|
|
|
178
184
|
static jni::local_ref<JEditorConfig::javaobject> fromCpp(const EditorConfig& value) {
|
|
179
185
|
return newInstance(
|
|
180
186
|
value.enableHapticFeedback,
|
|
181
|
-
value.saveToPhoto,
|
|
182
187
|
value.maxDuration,
|
|
183
188
|
value.minDuration,
|
|
184
189
|
jni::make_jstring(value.cancelButtonText),
|
|
@@ -195,16 +200,6 @@ namespace margelo::nitro::videotrim {
|
|
|
195
200
|
jni::make_jstring(value.saveDialogConfirmText),
|
|
196
201
|
jni::make_jstring(value.trimmingText),
|
|
197
202
|
value.fullScreenModalIOS,
|
|
198
|
-
jni::make_jstring(value.type),
|
|
199
|
-
jni::make_jstring(value.outputExt),
|
|
200
|
-
value.openDocumentsOnFinish,
|
|
201
|
-
value.openShareSheetOnFinish,
|
|
202
|
-
value.removeAfterSavedToPhoto,
|
|
203
|
-
value.removeAfterFailedToSavePhoto,
|
|
204
|
-
value.removeAfterSavedToDocuments,
|
|
205
|
-
value.removeAfterFailedToSaveDocuments,
|
|
206
|
-
value.removeAfterShared,
|
|
207
|
-
value.removeAfterFailedToShare,
|
|
208
203
|
value.autoplay,
|
|
209
204
|
value.jumpToPositionOnLoad,
|
|
210
205
|
value.closeWhenFinish,
|
|
@@ -221,7 +216,20 @@ namespace margelo::nitro::videotrim {
|
|
|
221
216
|
value.alertOnFailToLoad,
|
|
222
217
|
jni::make_jstring(value.alertOnFailTitle),
|
|
223
218
|
jni::make_jstring(value.alertOnFailMessage),
|
|
224
|
-
jni::make_jstring(value.alertOnFailCloseText)
|
|
219
|
+
jni::make_jstring(value.alertOnFailCloseText),
|
|
220
|
+
value.saveToPhoto,
|
|
221
|
+
jni::make_jstring(value.type),
|
|
222
|
+
jni::make_jstring(value.outputExt),
|
|
223
|
+
value.openDocumentsOnFinish,
|
|
224
|
+
value.openShareSheetOnFinish,
|
|
225
|
+
value.removeAfterSavedToPhoto,
|
|
226
|
+
value.removeAfterFailedToSavePhoto,
|
|
227
|
+
value.removeAfterSavedToDocuments,
|
|
228
|
+
value.removeAfterFailedToSaveDocuments,
|
|
229
|
+
value.removeAfterShared,
|
|
230
|
+
value.removeAfterFailedToShare,
|
|
231
|
+
value.enableRotation,
|
|
232
|
+
value.rotationAngle
|
|
225
233
|
);
|
|
226
234
|
}
|
|
227
235
|
};
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
namespace margelo::nitro::videotrim { struct FileValidationResult; }
|
|
12
12
|
// Forward declaration of `EditorConfig` to properly resolve imports.
|
|
13
13
|
namespace margelo::nitro::videotrim { struct EditorConfig; }
|
|
14
|
+
// Forward declaration of `TrimOptions` to properly resolve imports.
|
|
15
|
+
namespace margelo::nitro::videotrim { struct TrimOptions; }
|
|
14
16
|
|
|
15
17
|
#include <NitroModules/Promise.hpp>
|
|
16
18
|
#include <vector>
|
|
@@ -24,6 +26,8 @@ namespace margelo::nitro::videotrim { struct EditorConfig; }
|
|
|
24
26
|
#include <unordered_map>
|
|
25
27
|
#include "JFunc_void_std__string_std__unordered_map_std__string__std__string_.hpp"
|
|
26
28
|
#include "JFunc_void.hpp"
|
|
29
|
+
#include "TrimOptions.hpp"
|
|
30
|
+
#include "JTrimOptions.hpp"
|
|
27
31
|
|
|
28
32
|
namespace margelo::nitro::videotrim {
|
|
29
33
|
|
|
@@ -127,5 +131,21 @@ namespace margelo::nitro::videotrim {
|
|
|
127
131
|
return __promise;
|
|
128
132
|
}();
|
|
129
133
|
}
|
|
134
|
+
std::shared_ptr<Promise<std::string>> JHybridVideoTrimSpec::trim(const std::string& url, const TrimOptions& options) {
|
|
135
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* url */, jni::alias_ref<JTrimOptions> /* options */)>("trim");
|
|
136
|
+
auto __result = method(_javaPart, jni::make_jstring(url), JTrimOptions::fromCpp(options));
|
|
137
|
+
return [&]() {
|
|
138
|
+
auto __promise = Promise<std::string>::create();
|
|
139
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
140
|
+
auto __result = jni::static_ref_cast<jni::JString>(__boxedResult);
|
|
141
|
+
__promise->resolve(__result->toStdString());
|
|
142
|
+
});
|
|
143
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
144
|
+
jni::JniException __jniError(__throwable);
|
|
145
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
146
|
+
});
|
|
147
|
+
return __promise;
|
|
148
|
+
}();
|
|
149
|
+
}
|
|
130
150
|
|
|
131
151
|
} // namespace margelo::nitro::videotrim
|
|
@@ -57,6 +57,7 @@ namespace margelo::nitro::videotrim {
|
|
|
57
57
|
std::shared_ptr<Promise<bool>> deleteFile(const std::string& filePath) override;
|
|
58
58
|
void closeEditor(const std::function<void()>& onComplete) override;
|
|
59
59
|
std::shared_ptr<Promise<FileValidationResult>> isValidFile(const std::string& url) override;
|
|
60
|
+
std::shared_ptr<Promise<std::string>> trim(const std::string& url, const TrimOptions& options) override;
|
|
60
61
|
|
|
61
62
|
private:
|
|
62
63
|
friend HybridBase;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JTrimOptions.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "TrimOptions.hpp"
|
|
12
|
+
|
|
13
|
+
#include <string>
|
|
14
|
+
|
|
15
|
+
namespace margelo::nitro::videotrim {
|
|
16
|
+
|
|
17
|
+
using namespace facebook;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The C++ JNI bridge between the C++ struct "TrimOptions" and the the Kotlin data class "TrimOptions".
|
|
21
|
+
*/
|
|
22
|
+
struct JTrimOptions final: public jni::JavaClass<JTrimOptions> {
|
|
23
|
+
public:
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/videotrim/TrimOptions;";
|
|
25
|
+
|
|
26
|
+
public:
|
|
27
|
+
/**
|
|
28
|
+
* Convert this Java/Kotlin-based struct to the C++ struct TrimOptions by copying all values to C++.
|
|
29
|
+
*/
|
|
30
|
+
[[maybe_unused]]
|
|
31
|
+
[[nodiscard]]
|
|
32
|
+
TrimOptions toCpp() const {
|
|
33
|
+
static const auto clazz = javaClassStatic();
|
|
34
|
+
static const auto fieldStartTime = clazz->getField<double>("startTime");
|
|
35
|
+
double startTime = this->getFieldValue(fieldStartTime);
|
|
36
|
+
static const auto fieldEndTime = clazz->getField<double>("endTime");
|
|
37
|
+
double endTime = this->getFieldValue(fieldEndTime);
|
|
38
|
+
static const auto fieldSaveToPhoto = clazz->getField<jboolean>("saveToPhoto");
|
|
39
|
+
jboolean saveToPhoto = this->getFieldValue(fieldSaveToPhoto);
|
|
40
|
+
static const auto fieldType = clazz->getField<jni::JString>("type");
|
|
41
|
+
jni::local_ref<jni::JString> type = this->getFieldValue(fieldType);
|
|
42
|
+
static const auto fieldOutputExt = clazz->getField<jni::JString>("outputExt");
|
|
43
|
+
jni::local_ref<jni::JString> outputExt = this->getFieldValue(fieldOutputExt);
|
|
44
|
+
static const auto fieldOpenDocumentsOnFinish = clazz->getField<jboolean>("openDocumentsOnFinish");
|
|
45
|
+
jboolean openDocumentsOnFinish = this->getFieldValue(fieldOpenDocumentsOnFinish);
|
|
46
|
+
static const auto fieldOpenShareSheetOnFinish = clazz->getField<jboolean>("openShareSheetOnFinish");
|
|
47
|
+
jboolean openShareSheetOnFinish = this->getFieldValue(fieldOpenShareSheetOnFinish);
|
|
48
|
+
static const auto fieldRemoveAfterSavedToPhoto = clazz->getField<jboolean>("removeAfterSavedToPhoto");
|
|
49
|
+
jboolean removeAfterSavedToPhoto = this->getFieldValue(fieldRemoveAfterSavedToPhoto);
|
|
50
|
+
static const auto fieldRemoveAfterFailedToSavePhoto = clazz->getField<jboolean>("removeAfterFailedToSavePhoto");
|
|
51
|
+
jboolean removeAfterFailedToSavePhoto = this->getFieldValue(fieldRemoveAfterFailedToSavePhoto);
|
|
52
|
+
static const auto fieldRemoveAfterSavedToDocuments = clazz->getField<jboolean>("removeAfterSavedToDocuments");
|
|
53
|
+
jboolean removeAfterSavedToDocuments = this->getFieldValue(fieldRemoveAfterSavedToDocuments);
|
|
54
|
+
static const auto fieldRemoveAfterFailedToSaveDocuments = clazz->getField<jboolean>("removeAfterFailedToSaveDocuments");
|
|
55
|
+
jboolean removeAfterFailedToSaveDocuments = this->getFieldValue(fieldRemoveAfterFailedToSaveDocuments);
|
|
56
|
+
static const auto fieldRemoveAfterShared = clazz->getField<jboolean>("removeAfterShared");
|
|
57
|
+
jboolean removeAfterShared = this->getFieldValue(fieldRemoveAfterShared);
|
|
58
|
+
static const auto fieldRemoveAfterFailedToShare = clazz->getField<jboolean>("removeAfterFailedToShare");
|
|
59
|
+
jboolean removeAfterFailedToShare = this->getFieldValue(fieldRemoveAfterFailedToShare);
|
|
60
|
+
static const auto fieldEnableRotation = clazz->getField<jboolean>("enableRotation");
|
|
61
|
+
jboolean enableRotation = this->getFieldValue(fieldEnableRotation);
|
|
62
|
+
static const auto fieldRotationAngle = clazz->getField<double>("rotationAngle");
|
|
63
|
+
double rotationAngle = this->getFieldValue(fieldRotationAngle);
|
|
64
|
+
return TrimOptions(
|
|
65
|
+
startTime,
|
|
66
|
+
endTime,
|
|
67
|
+
static_cast<bool>(saveToPhoto),
|
|
68
|
+
type->toStdString(),
|
|
69
|
+
outputExt->toStdString(),
|
|
70
|
+
static_cast<bool>(openDocumentsOnFinish),
|
|
71
|
+
static_cast<bool>(openShareSheetOnFinish),
|
|
72
|
+
static_cast<bool>(removeAfterSavedToPhoto),
|
|
73
|
+
static_cast<bool>(removeAfterFailedToSavePhoto),
|
|
74
|
+
static_cast<bool>(removeAfterSavedToDocuments),
|
|
75
|
+
static_cast<bool>(removeAfterFailedToSaveDocuments),
|
|
76
|
+
static_cast<bool>(removeAfterShared),
|
|
77
|
+
static_cast<bool>(removeAfterFailedToShare),
|
|
78
|
+
static_cast<bool>(enableRotation),
|
|
79
|
+
rotationAngle
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
public:
|
|
84
|
+
/**
|
|
85
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
86
|
+
*/
|
|
87
|
+
[[maybe_unused]]
|
|
88
|
+
static jni::local_ref<JTrimOptions::javaobject> fromCpp(const TrimOptions& value) {
|
|
89
|
+
return newInstance(
|
|
90
|
+
value.startTime,
|
|
91
|
+
value.endTime,
|
|
92
|
+
value.saveToPhoto,
|
|
93
|
+
jni::make_jstring(value.type),
|
|
94
|
+
jni::make_jstring(value.outputExt),
|
|
95
|
+
value.openDocumentsOnFinish,
|
|
96
|
+
value.openShareSheetOnFinish,
|
|
97
|
+
value.removeAfterSavedToPhoto,
|
|
98
|
+
value.removeAfterFailedToSavePhoto,
|
|
99
|
+
value.removeAfterSavedToDocuments,
|
|
100
|
+
value.removeAfterFailedToSaveDocuments,
|
|
101
|
+
value.removeAfterShared,
|
|
102
|
+
value.removeAfterFailedToShare,
|
|
103
|
+
value.enableRotation,
|
|
104
|
+
value.rotationAngle
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
} // namespace margelo::nitro::videotrim
|
|
@@ -21,7 +21,6 @@ data class EditorConfig
|
|
|
21
21
|
@Keep
|
|
22
22
|
constructor(
|
|
23
23
|
val enableHapticFeedback: Boolean,
|
|
24
|
-
val saveToPhoto: Boolean,
|
|
25
24
|
val maxDuration: Double,
|
|
26
25
|
val minDuration: Double,
|
|
27
26
|
val cancelButtonText: String,
|
|
@@ -38,16 +37,6 @@ data class EditorConfig
|
|
|
38
37
|
val saveDialogConfirmText: String,
|
|
39
38
|
val trimmingText: String,
|
|
40
39
|
val fullScreenModalIOS: Boolean,
|
|
41
|
-
val type: String,
|
|
42
|
-
val outputExt: String,
|
|
43
|
-
val openDocumentsOnFinish: Boolean,
|
|
44
|
-
val openShareSheetOnFinish: Boolean,
|
|
45
|
-
val removeAfterSavedToPhoto: Boolean,
|
|
46
|
-
val removeAfterFailedToSavePhoto: Boolean,
|
|
47
|
-
val removeAfterSavedToDocuments: Boolean,
|
|
48
|
-
val removeAfterFailedToSaveDocuments: Boolean,
|
|
49
|
-
val removeAfterShared: Boolean,
|
|
50
|
-
val removeAfterFailedToShare: Boolean,
|
|
51
40
|
val autoplay: Boolean,
|
|
52
41
|
val jumpToPositionOnLoad: Double,
|
|
53
42
|
val closeWhenFinish: Boolean,
|
|
@@ -64,7 +53,20 @@ data class EditorConfig
|
|
|
64
53
|
val alertOnFailToLoad: Boolean,
|
|
65
54
|
val alertOnFailTitle: String,
|
|
66
55
|
val alertOnFailMessage: String,
|
|
67
|
-
val alertOnFailCloseText: String
|
|
56
|
+
val alertOnFailCloseText: String,
|
|
57
|
+
val saveToPhoto: Boolean,
|
|
58
|
+
val type: String,
|
|
59
|
+
val outputExt: String,
|
|
60
|
+
val openDocumentsOnFinish: Boolean,
|
|
61
|
+
val openShareSheetOnFinish: Boolean,
|
|
62
|
+
val removeAfterSavedToPhoto: Boolean,
|
|
63
|
+
val removeAfterFailedToSavePhoto: Boolean,
|
|
64
|
+
val removeAfterSavedToDocuments: Boolean,
|
|
65
|
+
val removeAfterFailedToSaveDocuments: Boolean,
|
|
66
|
+
val removeAfterShared: Boolean,
|
|
67
|
+
val removeAfterFailedToShare: Boolean,
|
|
68
|
+
val enableRotation: Boolean,
|
|
69
|
+
val rotationAngle: Double
|
|
68
70
|
) {
|
|
69
71
|
/* main constructor */
|
|
70
72
|
}
|
package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/HybridVideoTrimSpec.kt
CHANGED
|
@@ -73,6 +73,10 @@ abstract class HybridVideoTrimSpec: HybridObject() {
|
|
|
73
73
|
@DoNotStrip
|
|
74
74
|
@Keep
|
|
75
75
|
abstract fun isValidFile(url: String): Promise<FileValidationResult>
|
|
76
|
+
|
|
77
|
+
@DoNotStrip
|
|
78
|
+
@Keep
|
|
79
|
+
abstract fun trim(url: String, options: TrimOptions): Promise<String>
|
|
76
80
|
|
|
77
81
|
private external fun initHybrid(): HybridData
|
|
78
82
|
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// TrimOptions.kt
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
package com.margelo.nitro.videotrim
|
|
9
|
+
|
|
10
|
+
import androidx.annotation.Keep
|
|
11
|
+
import com.facebook.proguard.annotations.DoNotStrip
|
|
12
|
+
import com.margelo.nitro.core.*
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Represents the JavaScript object/struct "TrimOptions".
|
|
16
|
+
*/
|
|
17
|
+
@DoNotStrip
|
|
18
|
+
@Keep
|
|
19
|
+
data class TrimOptions
|
|
20
|
+
@DoNotStrip
|
|
21
|
+
@Keep
|
|
22
|
+
constructor(
|
|
23
|
+
val startTime: Double,
|
|
24
|
+
val endTime: Double,
|
|
25
|
+
val saveToPhoto: Boolean,
|
|
26
|
+
val type: String,
|
|
27
|
+
val outputExt: String,
|
|
28
|
+
val openDocumentsOnFinish: Boolean,
|
|
29
|
+
val openShareSheetOnFinish: Boolean,
|
|
30
|
+
val removeAfterSavedToPhoto: Boolean,
|
|
31
|
+
val removeAfterFailedToSavePhoto: Boolean,
|
|
32
|
+
val removeAfterSavedToDocuments: Boolean,
|
|
33
|
+
val removeAfterFailedToSaveDocuments: Boolean,
|
|
34
|
+
val removeAfterShared: Boolean,
|
|
35
|
+
val removeAfterFailedToShare: Boolean,
|
|
36
|
+
val enableRotation: Boolean,
|
|
37
|
+
val rotationAngle: Double
|
|
38
|
+
) {
|
|
39
|
+
/* main constructor */
|
|
40
|
+
}
|
|
@@ -69,6 +69,14 @@ namespace margelo::nitro::videotrim::bridge::swift {
|
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
+
// pragma MARK: std::function<void(const std::string& /* result */)>
|
|
73
|
+
Func_void_std__string create_Func_void_std__string(void* _Nonnull swiftClosureWrapper) {
|
|
74
|
+
auto swiftClosure = VideoTrim::Func_void_std__string::fromUnsafe(swiftClosureWrapper);
|
|
75
|
+
return [swiftClosure = std::move(swiftClosure)](const std::string& result) mutable -> void {
|
|
76
|
+
swiftClosure.call(result);
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
|
|
72
80
|
// pragma MARK: std::shared_ptr<margelo::nitro::videotrim::HybridVideoTrimSpec>
|
|
73
81
|
std::shared_ptr<margelo::nitro::videotrim::HybridVideoTrimSpec> create_std__shared_ptr_margelo__nitro__videotrim__HybridVideoTrimSpec_(void* _Nonnull swiftUnsafePointer) {
|
|
74
82
|
VideoTrim::HybridVideoTrimSpec_cxx swiftPart = VideoTrim::HybridVideoTrimSpec_cxx::fromUnsafe(swiftUnsafePointer);
|
|
@@ -271,6 +271,40 @@ namespace margelo::nitro::videotrim::bridge::swift {
|
|
|
271
271
|
return Func_void_FileValidationResult_Wrapper(std::move(value));
|
|
272
272
|
}
|
|
273
273
|
|
|
274
|
+
// pragma MARK: std::shared_ptr<Promise<std::string>>
|
|
275
|
+
/**
|
|
276
|
+
* Specialized version of `std::shared_ptr<Promise<std::string>>`.
|
|
277
|
+
*/
|
|
278
|
+
using std__shared_ptr_Promise_std__string__ = std::shared_ptr<Promise<std::string>>;
|
|
279
|
+
inline std::shared_ptr<Promise<std::string>> create_std__shared_ptr_Promise_std__string__() {
|
|
280
|
+
return Promise<std::string>::create();
|
|
281
|
+
}
|
|
282
|
+
inline PromiseHolder<std::string> wrap_std__shared_ptr_Promise_std__string__(std::shared_ptr<Promise<std::string>> promise) {
|
|
283
|
+
return PromiseHolder<std::string>(std::move(promise));
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
// pragma MARK: std::function<void(const std::string& /* result */)>
|
|
287
|
+
/**
|
|
288
|
+
* Specialized version of `std::function<void(const std::string&)>`.
|
|
289
|
+
*/
|
|
290
|
+
using Func_void_std__string = std::function<void(const std::string& /* result */)>;
|
|
291
|
+
/**
|
|
292
|
+
* Wrapper class for a `std::function<void(const std::string& / * result * /)>`, this can be used from Swift.
|
|
293
|
+
*/
|
|
294
|
+
class Func_void_std__string_Wrapper final {
|
|
295
|
+
public:
|
|
296
|
+
explicit Func_void_std__string_Wrapper(std::function<void(const std::string& /* result */)>&& func): _function(std::make_shared<std::function<void(const std::string& /* result */)>>(std::move(func))) {}
|
|
297
|
+
inline void call(std::string result) const {
|
|
298
|
+
_function->operator()(result);
|
|
299
|
+
}
|
|
300
|
+
private:
|
|
301
|
+
std::shared_ptr<std::function<void(const std::string& /* result */)>> _function;
|
|
302
|
+
};
|
|
303
|
+
Func_void_std__string create_Func_void_std__string(void* _Nonnull swiftClosureWrapper);
|
|
304
|
+
inline Func_void_std__string_Wrapper wrap_Func_void_std__string(Func_void_std__string value) {
|
|
305
|
+
return Func_void_std__string_Wrapper(std::move(value));
|
|
306
|
+
}
|
|
307
|
+
|
|
274
308
|
// pragma MARK: std::shared_ptr<margelo::nitro::videotrim::HybridVideoTrimSpec>
|
|
275
309
|
/**
|
|
276
310
|
* Specialized version of `std::shared_ptr<margelo::nitro::videotrim::HybridVideoTrimSpec>`.
|
|
@@ -327,5 +361,14 @@ namespace margelo::nitro::videotrim::bridge::swift {
|
|
|
327
361
|
inline Result_std__shared_ptr_Promise_FileValidationResult___ create_Result_std__shared_ptr_Promise_FileValidationResult___(const std::exception_ptr& error) {
|
|
328
362
|
return Result<std::shared_ptr<Promise<FileValidationResult>>>::withError(error);
|
|
329
363
|
}
|
|
364
|
+
|
|
365
|
+
// pragma MARK: Result<std::shared_ptr<Promise<std::string>>>
|
|
366
|
+
using Result_std__shared_ptr_Promise_std__string___ = Result<std::shared_ptr<Promise<std::string>>>;
|
|
367
|
+
inline Result_std__shared_ptr_Promise_std__string___ create_Result_std__shared_ptr_Promise_std__string___(const std::shared_ptr<Promise<std::string>>& value) {
|
|
368
|
+
return Result<std::shared_ptr<Promise<std::string>>>::withValue(value);
|
|
369
|
+
}
|
|
370
|
+
inline Result_std__shared_ptr_Promise_std__string___ create_Result_std__shared_ptr_Promise_std__string___(const std::exception_ptr& error) {
|
|
371
|
+
return Result<std::shared_ptr<Promise<std::string>>>::withError(error);
|
|
372
|
+
}
|
|
330
373
|
|
|
331
374
|
} // namespace margelo::nitro::videotrim::bridge::swift
|
|
@@ -14,11 +14,14 @@ namespace margelo::nitro::videotrim { struct EditorConfig; }
|
|
|
14
14
|
namespace margelo::nitro::videotrim { struct FileValidationResult; }
|
|
15
15
|
// Forward declaration of `HybridVideoTrimSpec` to properly resolve imports.
|
|
16
16
|
namespace margelo::nitro::videotrim { class HybridVideoTrimSpec; }
|
|
17
|
+
// Forward declaration of `TrimOptions` to properly resolve imports.
|
|
18
|
+
namespace margelo::nitro::videotrim { struct TrimOptions; }
|
|
17
19
|
|
|
18
20
|
// Include C++ defined types
|
|
19
21
|
#include "EditorConfig.hpp"
|
|
20
22
|
#include "FileValidationResult.hpp"
|
|
21
23
|
#include "HybridVideoTrimSpec.hpp"
|
|
24
|
+
#include "TrimOptions.hpp"
|
|
22
25
|
#include <NitroModules/Promise.hpp>
|
|
23
26
|
#include <NitroModules/Result.hpp>
|
|
24
27
|
#include <exception>
|
|
@@ -16,6 +16,8 @@ namespace VideoTrim { class HybridVideoTrimSpec_cxx; }
|
|
|
16
16
|
namespace margelo::nitro::videotrim { struct EditorConfig; }
|
|
17
17
|
// Forward declaration of `FileValidationResult` to properly resolve imports.
|
|
18
18
|
namespace margelo::nitro::videotrim { struct FileValidationResult; }
|
|
19
|
+
// Forward declaration of `TrimOptions` to properly resolve imports.
|
|
20
|
+
namespace margelo::nitro::videotrim { struct TrimOptions; }
|
|
19
21
|
|
|
20
22
|
#include <string>
|
|
21
23
|
#include "EditorConfig.hpp"
|
|
@@ -24,6 +26,7 @@ namespace margelo::nitro::videotrim { struct FileValidationResult; }
|
|
|
24
26
|
#include <NitroModules/Promise.hpp>
|
|
25
27
|
#include <vector>
|
|
26
28
|
#include "FileValidationResult.hpp"
|
|
29
|
+
#include "TrimOptions.hpp"
|
|
27
30
|
|
|
28
31
|
#include "VideoTrim-Swift-Cxx-Umbrella.hpp"
|
|
29
32
|
|
|
@@ -108,6 +111,14 @@ namespace margelo::nitro::videotrim {
|
|
|
108
111
|
auto __value = std::move(__result.value());
|
|
109
112
|
return __value;
|
|
110
113
|
}
|
|
114
|
+
inline std::shared_ptr<Promise<std::string>> trim(const std::string& url, const TrimOptions& options) override {
|
|
115
|
+
auto __result = _swiftPart.trim(url, options);
|
|
116
|
+
if (__result.hasError()) [[unlikely]] {
|
|
117
|
+
std::rethrow_exception(__result.error());
|
|
118
|
+
}
|
|
119
|
+
auto __value = std::move(__result.value());
|
|
120
|
+
return __value;
|
|
121
|
+
}
|
|
111
122
|
|
|
112
123
|
private:
|
|
113
124
|
VideoTrim::HybridVideoTrimSpec_cxx _swiftPart;
|