1- export struct SegmentFilterListItem {
1+ export struct SegmentFilter {
22 enabled : bool ,
33 name : string ,
44 detail : string , // 经过序列化后的json
55}
66
7+ export struct PresetFilter {
8+ name : string ,
9+ filters: [SegmentFilter],
10+ }
11+
712export struct BrightnessDetail {
813 adjustment : float , // -100.0 to 100.0 (0.0 = no change)
914}
@@ -14,6 +19,32 @@ export global VEFilter {
1419 in-out property <[string ]> overlay-filters : [];
1520 in-out property <[string ]> subtitle-filters : [];
1621
22+ in-out property <[PresetFilter ]> video-preset-filters : [
23+ {
24+ name: "preset filter1" ,
25+ },
26+ {
27+ name: "preset filter2" ,
28+ },
29+ ];
30+ in-out property <[PresetFilter ]> audio-preset-filters : [];
31+ in-out property <[PresetFilter ]> overlay-preset-filters : [];
32+ in-out property <[PresetFilter ]> subtitle-preset-filters : [];
33+
34+ // 用于创建预设滤镜时,临时存储选中的滤镜
35+ in-out property <[PresetFilter ]> cache-preset-filters : [];
36+
37+ callback up-filter (index : int );
38+ callback down-filter (index : int );
39+ callback remove-filter (index : int );
40+ callback toggle-filter (index : int );
41+ callback add-filter (filter-name : string );
42+
43+ callback create-preset-filter (name : string );
44+ callback add-preset-filter (filter : PresetFilter );
45+ callback add-cache-preset-filter (filter : SegmentFilter );
46+ callback remove-cache-preset-filter (filter : SegmentFilter );
47+
1748 pure callback from-brightness-json (json : string ) -> BrightnessDetail ;
1849 callback modify-brightness-filter (index : int , config : BrightnessDetail );
1950}
0 commit comments