@rendley/sdk 1.10.2 → 1.11.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.
Files changed (46) hide show
  1. package/LICENSE +48 -48
  2. package/README.md +31 -31
  3. package/dist/Engine.d.ts +54 -4
  4. package/dist/index.cjs +1 -1
  5. package/dist/index.d.ts +2 -0
  6. package/dist/index.js +1 -1
  7. package/dist/modules/background-timer/background-timer.d.ts +2 -1
  8. package/dist/modules/clip/Clip.d.ts +40 -121
  9. package/dist/modules/clip/ClipStyle.d.ts +5 -0
  10. package/dist/modules/clip/clips/audio/AudioClip.d.ts +7 -18
  11. package/dist/modules/clip/clips/custom/CustomClip.d.ts +6 -17
  12. package/dist/modules/clip/clips/htmlText/HtmlTextClip.d.ts +7 -18
  13. package/dist/modules/clip/clips/lottie/LottieClip.d.ts +35 -41
  14. package/dist/modules/clip/clips/shape/ShapeClip.d.ts +6 -17
  15. package/dist/modules/clip/clips/text/TextClip.d.ts +7 -18
  16. package/dist/modules/clip/clips/video/VideoClip.d.ts +8 -18
  17. package/dist/modules/effect/BasicEffect.d.ts +6 -0
  18. package/dist/modules/effect/Effect.d.ts +47 -0
  19. package/dist/modules/effect/EffectBase.d.ts +9 -0
  20. package/dist/modules/effect/built-in-effects/BuiltInBlurEffect.d.ts +11 -0
  21. package/dist/modules/effect/built-in-effects/BuiltInFactory.d.ts +4 -0
  22. package/dist/modules/effect/index.d.ts +2 -0
  23. package/dist/modules/event-emitter/types/EventEmitter.types.d.ts +40 -4
  24. package/dist/modules/ffmpeg/types/FFmpeg.types.d.ts +1 -0
  25. package/dist/modules/filter/Filter.d.ts +32 -27
  26. package/dist/modules/filter/MaskFilter.d.ts +1 -1
  27. package/dist/modules/filter/index.d.ts +1 -1
  28. package/dist/modules/layer/Layer.d.ts +20 -19
  29. package/dist/modules/library/BuiltInEffectDefines.d.ts +7 -0
  30. package/dist/modules/library/EffectData.d.ts +141 -0
  31. package/dist/modules/library/FilterData.d.ts +49 -0
  32. package/dist/modules/library/Library.d.ts +355 -0
  33. package/dist/modules/library/MediaData.d.ts +11 -1
  34. package/dist/modules/library/TransitionData.d.ts +141 -0
  35. package/dist/modules/library/index.d.ts +7 -1
  36. package/dist/modules/library/types/Property.types.d.ts +54 -0
  37. package/dist/modules/library/types/Texture.types.d.ts +40 -0
  38. package/dist/modules/subtitles/SubtitleManager.d.ts +1 -1
  39. package/dist/modules/timeline/Timeline.d.ts +27 -24
  40. package/dist/modules/transition/Transition.d.ts +27 -17
  41. package/dist/modules/undo/UndoManager.types.d.ts +6 -0
  42. package/dist/modules/upgrader/Upgrader.d.ts +5 -0
  43. package/package.json +83 -82
  44. package/dist/modules/filter/Effect.d.ts +0 -84
  45. package/dist/modules/filter/utils/removeShaderNameLine.d.ts +0 -1
  46. package/dist/modules/library/types/MediaData.types.d.ts +0 -8
package/LICENSE CHANGED
@@ -1,48 +1,48 @@
1
- Proprietary License Agreement
2
-
3
- 1. Grant of License
4
- Onix Technologies ("Licensor") hereby grants you ("Licensee") a non-exclusive, non-transferable, limited license to use the Rendley SDK ("Software") solely for the purpose of developing and integrating applications in accordance with the terms of this Agreement.
5
-
6
- 2. Restrictions
7
-
8
- Licensee shall not:
9
-
10
- 1. Modify, adapt, translate, or create derivative works of the Software without prior written consent from Licensor.
11
- 2. Reverse engineer, decompile, disassemble, or otherwise attempt to discover the source code of the Software.
12
- 3. Redistribute, sublicense, rent, lease, or lend the Software to any third party.
13
- 4. Use the Software for any purpose that is illegal or prohibited by law.
14
-
15
- 5. Intellectual Property Rights
16
-
17
- The Software is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. All title, ownership rights, and intellectual property rights in and to the Software and all copies thereof are owned by Licensor.
18
-
19
- 4. Fees and Payment
20
- Licensee agrees to pay the license fees and any other charges incurred in connection with the use of the Software as specified in the order form or purchase agreement. All payments are non-refundable.
21
-
22
- 5. Support and Updates
23
- Licensor may, at its sole discretion, provide updates, enhancements, or modifications to the Software. Licensor is not obligated to provide any support services, updates, or enhancements unless a separate support agreement is entered into.
24
-
25
- 6. Termination
26
- This Agreement is effective until terminated. Licensee may terminate this Agreement at any time by destroying all copies of the Software in their possession. Licensor may terminate this Agreement if Licensee breaches any of the terms and conditions. Upon termination, Licensee must destroy all copies of the Software.
27
-
28
- 7. Disclaimer of Warranties
29
- THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. LICENSOR DOES NOT WARRANT THAT THE SOFTWARE WILL MEET LICENSEE'S REQUIREMENTS OR THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE.
30
-
31
- 8. Limitation of Liability
32
- IN NO EVENT SHALL LICENSOR BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, OR DAMAGES FOR LOSS OF PROFITS, REVENUE, DATA, OR USE, INCURRED BY LICENSEE OR ANY THIRD PARTY, WHETHER IN AN ACTION IN CONTRACT OR TORT, ARISING FROM LICENSEE'S ACCESS TO, OR USE OF, THE SOFTWARE.
33
-
34
- 9. Governing Law
35
- This Agreement shall be governed by and construed in accordance with the laws of Moldova, without regard to its conflict of laws principles.
36
-
37
- 10. Entire Agreement
38
- This Agreement constitutes the entire agreement between the parties with respect to the use of the Software and supersedes all prior or contemporaneous understandings regarding such subject matter. Any modifications to this Agreement must be in writing and signed by both parties.
39
-
40
- 11. Severability
41
- If any provision of this Agreement is held to be invalid or unenforceable, the remaining provisions will continue in full force and effect.
42
-
43
- 12. No Waiver
44
- The failure of either party to enforce any right or provision of this Agreement will not be deemed a waiver of such right or provision.
45
-
46
- Onix Technologies
47
- Chisinau, MD-2072
48
- Moldova
1
+ Proprietary License Agreement
2
+
3
+ 1. Grant of License
4
+ Onix Technologies ("Licensor") hereby grants you ("Licensee") a non-exclusive, non-transferable, limited license to use the Rendley SDK ("Software") solely for the purpose of developing and integrating applications in accordance with the terms of this Agreement.
5
+
6
+ 2. Restrictions
7
+
8
+ Licensee shall not:
9
+
10
+ 1. Modify, adapt, translate, or create derivative works of the Software without prior written consent from Licensor.
11
+ 2. Reverse engineer, decompile, disassemble, or otherwise attempt to discover the source code of the Software.
12
+ 3. Redistribute, sublicense, rent, lease, or lend the Software to any third party.
13
+ 4. Use the Software for any purpose that is illegal or prohibited by law.
14
+
15
+ 5. Intellectual Property Rights
16
+
17
+ The Software is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. All title, ownership rights, and intellectual property rights in and to the Software and all copies thereof are owned by Licensor.
18
+
19
+ 4. Fees and Payment
20
+ Licensee agrees to pay the license fees and any other charges incurred in connection with the use of the Software as specified in the order form or purchase agreement. All payments are non-refundable.
21
+
22
+ 5. Support and Updates
23
+ Licensor may, at its sole discretion, provide updates, enhancements, or modifications to the Software. Licensor is not obligated to provide any support services, updates, or enhancements unless a separate support agreement is entered into.
24
+
25
+ 6. Termination
26
+ This Agreement is effective until terminated. Licensee may terminate this Agreement at any time by destroying all copies of the Software in their possession. Licensor may terminate this Agreement if Licensee breaches any of the terms and conditions. Upon termination, Licensee must destroy all copies of the Software.
27
+
28
+ 7. Disclaimer of Warranties
29
+ THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. LICENSOR DOES NOT WARRANT THAT THE SOFTWARE WILL MEET LICENSEE'S REQUIREMENTS OR THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE.
30
+
31
+ 8. Limitation of Liability
32
+ IN NO EVENT SHALL LICENSOR BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, OR DAMAGES FOR LOSS OF PROFITS, REVENUE, DATA, OR USE, INCURRED BY LICENSEE OR ANY THIRD PARTY, WHETHER IN AN ACTION IN CONTRACT OR TORT, ARISING FROM LICENSEE'S ACCESS TO, OR USE OF, THE SOFTWARE.
33
+
34
+ 9. Governing Law
35
+ This Agreement shall be governed by and construed in accordance with the laws of Moldova, without regard to its conflict of laws principles.
36
+
37
+ 10. Entire Agreement
38
+ This Agreement constitutes the entire agreement between the parties with respect to the use of the Software and supersedes all prior or contemporaneous understandings regarding such subject matter. Any modifications to this Agreement must be in writing and signed by both parties.
39
+
40
+ 11. Severability
41
+ If any provision of this Agreement is held to be invalid or unenforceable, the remaining provisions will continue in full force and effect.
42
+
43
+ 12. No Waiver
44
+ The failure of either party to enforce any right or provision of this Agreement will not be deemed a waiver of such right or provision.
45
+
46
+ Onix Technologies
47
+ Chisinau, MD-2072
48
+ Moldova
package/README.md CHANGED
@@ -1,31 +1,31 @@
1
- # Rendley SDK
2
-
3
- Rendley SDK takes the complexity out of video editing by providing a comprehensive set of APIs that handle composition, effects, filters, playback, rendering, splitting, trimming, and more.
4
-
5
- To achieve maximum performance, we leverage WebGL for rendering and WebCodecs API for hardware-accelerated encoding and decoding. For browsers that don't support [WebCodecs API](https://caniuse.com/?search=webcodecs), we seamlessly fallback to a browser-based version of FFmpeg.
6
-
7
- ## Installation
8
-
9
- ### Using the NPM Registry
10
-
11
- The installation process is straightforward. Simply run one of the followin
12
-
13
- ```bash
14
- npm install @rendley/sdk
15
- ```
16
-
17
- or
18
-
19
- ```bash
20
- yarn add @rendley/sdk
21
- ```
22
-
23
- The package includes type definitions, so you don't need to worry about setting those up separately.
24
-
25
- ## Getting Started
26
-
27
- Check out the [documentation](https://docs.rendley.com) to learn more about how to get started creating compositions and building your own video editing software.
28
-
29
- ## Templates
30
-
31
- To further simplify the process, we have [pre-built interfaces](https://docs.rendley.com/video-editor) that allow you to embed our video editing capabilities onto your website with just a few lines of code.
1
+ # Rendley SDK
2
+
3
+ Rendley SDK takes the complexity out of video editing by providing a comprehensive set of APIs that handle composition, effects, filters, playback, rendering, splitting, trimming, and more.
4
+
5
+ To achieve maximum performance, we leverage WebGL for rendering and WebCodecs API for hardware-accelerated encoding and decoding. For browsers that don't support [WebCodecs API](https://caniuse.com/?search=webcodecs), we seamlessly fallback to a browser-based version of FFmpeg.
6
+
7
+ ## Installation
8
+
9
+ ### Using the NPM Registry
10
+
11
+ The installation process is straightforward. Simply run one of the followin
12
+
13
+ ```bash
14
+ npm install @rendley/sdk
15
+ ```
16
+
17
+ or
18
+
19
+ ```bash
20
+ yarn add @rendley/sdk
21
+ ```
22
+
23
+ The package includes type definitions, so you don't need to worry about setting those up separately.
24
+
25
+ ## Getting Started
26
+
27
+ Check out the [documentation](https://docs.rendley.com) to learn more about how to get started creating compositions and building your own video editing software.
28
+
29
+ ## Templates
30
+
31
+ To further simplify the process, we have [pre-built interfaces](https://docs.rendley.com/video-editor) that allow you to embed our video editing capabilities onto your website with just a few lines of code.
package/dist/Engine.d.ts CHANGED
@@ -4,7 +4,7 @@ import { CustomClip } from "./modules/clip/clips/custom/CustomClip";
4
4
  import { Display, DisplayOptions } from "./modules/display/Display";
5
5
  import { EventEmitter } from "./modules/event-emitter";
6
6
  import { FontRegistry } from "./modules/font-registry";
7
- import { Library } from "./modules/library";
7
+ import { Library, LibrarySetupData } from "./modules/library";
8
8
  import { Settings, VideoCodec } from "./modules/settings";
9
9
  import { StorageProviderBase } from "./modules/storage";
10
10
  import { StorageController } from "./modules/storage/StorageController";
@@ -41,6 +41,7 @@ export interface EngineOptions {
41
41
  storages?: StorageProviderBase[];
42
42
  transcoder?: ITranscodeProvider;
43
43
  ffmpeg?: FFmpegOptions;
44
+ onSetupLibrary?: (data: LibrarySetupData) => Promise<void>;
44
45
  }
45
46
  type CustomClipConstructor<T extends CustomClip = CustomClip> = {
46
47
  new (...args: any[]): T;
@@ -68,6 +69,8 @@ export declare class Engine {
68
69
  private projectId;
69
70
  private isDestroying;
70
71
  private createdAt;
72
+ private onSetupLibrary?;
73
+ private initOptions;
71
74
  private readonly renderer;
72
75
  private readonly backgroundTimer;
73
76
  private constructor();
@@ -76,6 +79,7 @@ export declare class Engine {
76
79
  getFFmpeg(): import("./libs/ffmpeg").FFmpeg;
77
80
  private checkSafariAudioHack;
78
81
  init(options: EngineOptions): Promise<void>;
82
+ private getMissingLibraryAssets;
79
83
  private getLicenseCredentials;
80
84
  destroy(everything?: boolean): Promise<void>;
81
85
  getBackgroundTimer(): BackgroundTimer;
@@ -123,14 +127,14 @@ export declare class Engine {
123
127
  layers: {
124
128
  id: string;
125
129
  transitions: {
126
- type: "transition";
127
- name: string;
128
130
  id: string;
131
+ provider: string;
132
+ properties: [string, any][];
129
133
  startClipId: string;
130
134
  endClipId: string;
131
135
  inDuration: number;
132
136
  outDuration: number;
133
- transitionSrc: string;
137
+ transitionId: string;
134
138
  }[];
135
139
  clips: any[];
136
140
  visible?: boolean | undefined;
@@ -150,6 +154,52 @@ export declare class Engine {
150
154
  duration: number;
151
155
  }[];
152
156
  }[];
157
+ filters: {
158
+ name: string;
159
+ id: string;
160
+ provider: string;
161
+ lutUrl: string;
162
+ }[];
163
+ effects: {
164
+ name: string;
165
+ id: string;
166
+ provider: string;
167
+ fragmentSrc: string;
168
+ properties: {
169
+ type: import("./modules/library").PropertyDescriptionTypeEnum;
170
+ name: string;
171
+ defaultValue: Required<any>;
172
+ label?: string | undefined;
173
+ description?: string | undefined;
174
+ }[];
175
+ inputTextures?: {
176
+ name: string;
177
+ url: string;
178
+ wrapMode?: import("./modules/library").InputTextureWrapMode | undefined;
179
+ scaleMode?: import("./modules/library").InputTextureScaleMode | undefined;
180
+ mipmap?: import("./modules/library").InputTextureMipmapMode | undefined;
181
+ }[] | undefined;
182
+ }[];
183
+ transitions: {
184
+ name: string;
185
+ id: string;
186
+ provider: string;
187
+ properties: {
188
+ type: import("./modules/library").PropertyDescriptionTypeEnum;
189
+ name: string;
190
+ defaultValue: Required<any>;
191
+ label?: string | undefined;
192
+ description?: string | undefined;
193
+ }[];
194
+ transitionSrc: string;
195
+ inputTextures?: {
196
+ name: string;
197
+ url: string;
198
+ wrapMode?: import("./modules/library").InputTextureWrapMode | undefined;
199
+ scaleMode?: import("./modules/library").InputTextureScaleMode | undefined;
200
+ mipmap?: import("./modules/library").InputTextureMipmapMode | undefined;
201
+ }[] | undefined;
202
+ }[];
153
203
  media: {
154
204
  type: string;
155
205
  id: string;