@cesdk/cesdk-js 1.8.0-alpha.4 → 1.8.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/index.d.ts CHANGED
@@ -112,6 +112,7 @@ export declare class AssetAPI {
112
112
  * @param assetResult - A single assetResult of a `findAssets` query.
113
113
  */
114
114
  defaultApplyAsset(assetResult: AssetResult): Promise<void>;
115
+
115
116
  }
116
117
 
117
118
  /**
@@ -1103,6 +1104,16 @@ export declare class BlockAPI {
1103
1104
  * @param minScaleRatio - The minimal crop scale ratio to go down to.
1104
1105
  */
1105
1106
  adjustCropToFillFrame(id: DesignBlockId, minScaleRatio: number): number;
1107
+ /**
1108
+ * Adjusts the crop in order to flip the content along its own horizontal axis.
1109
+ * @param block - The block whose crop should be updated.
1110
+ */
1111
+ flipCropHorizontal(id: DesignBlockId): void;
1112
+ /**
1113
+ * Adjusts the crop in order to flip the content along its own vertical axis.
1114
+ * @param block - The block whose crop should be updated.
1115
+ */
1116
+ flipCropVertical(id: DesignBlockId): void;
1106
1117
  /**
1107
1118
  * Query if the given block has an opacity.
1108
1119
  * @param id - The block to query.
@@ -1714,6 +1725,13 @@ export declare class BlockAPI {
1714
1725
  * @returns whether the key exists.
1715
1726
  */
1716
1727
  hasMetadata(id: DesignBlockId, key: string): boolean;
1728
+ /**
1729
+ * Query all metadata keys that exist on this block.
1730
+ * @param id - The block whose metadata will be accessed.
1731
+ * @returns A list of all metadata keys on this block or an error,
1732
+ * if the block is invalid.
1733
+ */
1734
+ findAllMetadata(id: DesignBlockId): string[];
1717
1735
  /**
1718
1736
  * Remove metadata associated with the key from the given block.
1719
1737
  * If the key does not exist, this method will fail.
@@ -1790,23 +1808,26 @@ export declare class BlockAPI {
1790
1808
  hasTrim(id: DesignBlockId): boolean;
1791
1809
  /**
1792
1810
  * Set the trim offset of the given block or fill.
1793
- * Sets the relative time within the fill at which playback of the audio or video clip should begin.
1794
- * This is a percentage value in the range [0, 1].
1811
+ * Sets the time in seconds within the fill at which playback of the audio or video clip should begin.
1812
+ * This requires the video or audio clip to be loaded.
1795
1813
  * @param id - The block whose trim should be updated.
1796
1814
  * @param offset - The new trim offset.
1797
1815
  */
1798
1816
  setTrimOffset(id: DesignBlockId, offset: number): void;
1799
1817
  /**
1800
1818
  * Get the trim offset of this block.
1819
+ * * This requires the video or audio clip to be loaded.
1801
1820
  * @param id - The block whose trim offset should be queried.
1802
- * @returns the trim offset.
1821
+ * @returns the trim offset in seconds.
1803
1822
  */
1804
1823
  getTrimOffset(id: DesignBlockId): number;
1805
1824
  /**
1806
1825
  * Set the trim length of the given block or fill.
1807
- * The trim length is the percentage of the audio or video clip that should be used for playback.
1826
+ * The trim length is the duration of the audio or video clip that should be used for playback.
1827
+ * After reaching this value during playback, the trim region will loop.
1828
+ * This requires the video or audio clip to be loaded.
1808
1829
  * @param id - The object whose trim length should be updated.
1809
- * @param length - The new trim length as a percentage of the clip duration in the range [0, 1].
1830
+ * @param length - The new trim length in seconds.
1810
1831
  */
1811
1832
  setTrimLength(id: DesignBlockId, length: number): void;
1812
1833
  /**
@@ -1868,6 +1889,24 @@ export declare class BlockAPI {
1868
1889
  * @returns Whether solo playback is enabled for this block.
1869
1890
  */
1870
1891
  isSoloPlaybackEnabled(id: DesignBlockId): boolean;
1892
+ /**
1893
+ * Begins loading the required audio and video resource for the given video fill or audio block.
1894
+ * @param id - The video fill or audio block whose resource should be loaded.
1895
+ * @returns A Promise that resolves once the resource has finished loading.
1896
+ */
1897
+ forceLoadAVResource(id: DesignBlockId): Promise<void>;
1898
+ /**
1899
+ * Get the duration in seconds of the video or audio resource that is attached to the given block.
1900
+ * @param id - The video fill or audio block.
1901
+ * @returns The video or audio file duration
1902
+ */
1903
+ getAVResourceTotalDuration(id: DesignBlockId): number;
1904
+ /**
1905
+ * Generate a thumbnail for the given video fill.
1906
+ * @param id - The video fill.
1907
+ * @returns A thumbnail encoded as PNG with a height of 128px.
1908
+ */
1909
+ getVideoFillThumbnail(id: DesignBlockId): Promise<Blob>;
1871
1910
  }
1872
1911
 
1873
1912
  /** @public */
@@ -2914,6 +2953,18 @@ export declare type StrokeStyle = 'Dashed' | 'DashedRound' | 'Dotted' | 'LongDas
2914
2953
  /** @public */
2915
2954
  declare type Subscription = number;
2916
2955
 
2956
+ /**
2957
+ * Checks if the current browser supports video editing
2958
+ * @public
2959
+ */
2960
+ export declare function supportsVideo(): boolean;
2961
+
2962
+ /**
2963
+ * Checks if the current browser supports web assembly
2964
+ * @public
2965
+ */
2966
+ export declare function supportsWasm(): boolean;
2967
+
2917
2968
  /** @public */
2918
2969
  declare type TemplateDefinition = Preset & {
2919
2970
  label: string;
@@ -3083,6 +3134,7 @@ declare interface UserInterfaceInspectorBlockPage extends UserInterfaceInspector
3083
3134
  declare interface UserInterfaceInspectorBlocks {
3084
3135
  opacity?: UserInterfaceElement | boolean;
3085
3136
  transform?: UserInterfaceElement | boolean;
3137
+ trim?: UserInterfaceElement | boolean;
3086
3138
  '//ly.img.ubq/image'?: UserInterfaceInspectorBlockImage;
3087
3139
  '//ly.img.ubq/text'?: UserInterfaceInspectorBlockText;
3088
3140
  '//ly.img.ubq/page'?: UserInterfaceInspectorBlockPage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cesdk/cesdk-js",
3
- "version": "1.8.0-alpha.4",
3
+ "version": "1.8.0",
4
4
  "main": "./cesdk.umd.js",
5
5
  "types": "./index.d.ts",
6
6
  "homepage": "https://www.img.ly",