@codingfactory/mediables-vue 2.7.2 → 2.9.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/dist/{PixiFrameExporter-n220y4aZ.cjs → PixiFrameExporter-COcgeYmj.cjs} +2 -2
- package/dist/{PixiFrameExporter-n220y4aZ.cjs.map → PixiFrameExporter-COcgeYmj.cjs.map} +1 -1
- package/dist/{PixiFrameExporter-C5RSaXvT.js → PixiFrameExporter-SiG3q5-_.js} +2 -2
- package/dist/{PixiFrameExporter-C5RSaXvT.js.map → PixiFrameExporter-SiG3q5-_.js.map} +1 -1
- package/dist/components/video/ui-v2/AssetRail.vue.d.ts +2 -0
- package/dist/components/video/ui-v2/AssetRailItem.vue.d.ts +7 -0
- package/dist/components/video/ui-v2/AudioMixerPanel.vue.d.ts +33 -0
- package/dist/components/video/ui-v2/CaptionSrtPanel.vue.d.ts +9 -0
- package/dist/components/video/ui-v2/DesktopInspectorSections.vue.d.ts +21 -0
- package/dist/components/video/ui-v2/DraftRecoveryBanner.vue.d.ts +12 -0
- package/dist/components/video/ui-v2/KeyframePresetPanel.vue.d.ts +26 -0
- package/dist/components/video/ui-v2/MobileClipSummary.vue.d.ts +4 -0
- package/dist/components/video/ui-v2/MobileToolPicker.vue.d.ts +3 -0
- package/dist/components/video/ui-v2/SplitPanelLayout.vue.d.ts +9 -5
- package/dist/components/video/ui-v2/TimelineTrackHeader.vue.d.ts +2 -0
- package/dist/composables/useClientVideoExport.d.ts +27 -0
- package/dist/composables/useLiveStream.d.ts +2 -2
- package/dist/composables/useRadialMenu.d.ts +1 -1
- package/dist/composables/useVideoEditor.d.ts +119 -7
- package/dist/composables/useVideoFilters.d.ts +4 -4
- package/dist/index-B6oyn6Pa.cjs +350 -0
- package/dist/index-B6oyn6Pa.cjs.map +1 -0
- package/dist/index-BGexNz7s.js +32993 -0
- package/dist/index-BGexNz7s.js.map +1 -0
- package/dist/mediables-vue.cjs +1 -1
- package/dist/mediables-vue.mjs +1 -1
- package/dist/render-page/assets/{index-aDRQNAjC.js → index-jZGmiMRr.js} +972 -159
- package/dist/render-page/index.html +1 -1
- package/dist/services/VideoJobClient.d.ts +1 -1
- package/dist/style.css +1 -1
- package/dist/types/api.d.ts +14 -0
- package/dist/types/video.d.ts +164 -5
- package/dist/video/project/audioMixerSchema.d.ts +152 -0
- package/dist/video/project/captionSrt.d.ts +23 -0
- package/dist/video/project/draftRecovery.d.ts +86 -0
- package/dist/video/project/exportPresets.d.ts +172 -0
- package/dist/video/project/index.d.ts +22 -0
- package/dist/video/project/keyframeAutomation.d.ts +91 -0
- package/dist/video/project/mediaSourceAnalysis.d.ts +127 -0
- package/dist/video/project/mediaSourceCache.d.ts +47 -0
- package/dist/video/project/recipeMigration.d.ts +26 -0
- package/dist/video/project/timelineSelection.d.ts +23 -0
- package/dist/video/project/timelineTransactions.d.ts +129 -0
- package/dist/video/project/visualLayerSchema.d.ts +238 -0
- package/dist/video-engine/adapters/AudioManager.d.ts +9 -0
- package/dist/video-engine/adapters/MediablesCompositionAdapter.d.ts +3 -0
- package/dist/video-engine/adapters/TextOverlayManager.d.ts +4 -2
- package/package.json +1 -1
- package/dist/index-B_7DfcKr.js +0 -29339
- package/dist/index-B_7DfcKr.js.map +0 -1
- package/dist/index-Dx7DOxwK.cjs +0 -342
- package/dist/index-Dx7DOxwK.cjs.map +0 -1
|
@@ -3,14 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Core logic for video editing operations
|
|
5
5
|
*/
|
|
6
|
-
import type { VideoRecipe, VideoMedia, AppliedFilter, TextOverlayRecipe, AudioTrackRecipe } from '../types/video';
|
|
6
|
+
import type { VideoRecipe, TimelineClip, VideoMedia, AppliedFilter, TextOverlayRecipe, AudioTrackRecipe, TimelineTransitionRecipe, CaptionTrackRecipe, VisualLayerRecipe } from '../types/video';
|
|
7
7
|
import { MediablesCompositionAdapter } from '../video-engine/adapters/MediablesCompositionAdapter';
|
|
8
8
|
export declare function useVideoEditor(mediaUuid: string, initialRecipe?: VideoRecipe, initialMedia?: VideoMedia): {
|
|
9
|
-
currentFrame: import("vue").Ref<
|
|
9
|
+
currentFrame: import("vue").Ref<unknown, unknown>;
|
|
10
10
|
playheadPosition: import("vue").ComputedRef<number>;
|
|
11
11
|
timelineClips: import("vue").ComputedRef<{
|
|
12
12
|
id: string;
|
|
13
|
-
type: "
|
|
13
|
+
type: import("@/types").TimelineClipKind;
|
|
14
|
+
trackId?: string | undefined;
|
|
15
|
+
sourceRefId?: string | undefined;
|
|
14
16
|
timelineStart: number;
|
|
15
17
|
timelineEnd: number;
|
|
16
18
|
startTime?: number | undefined;
|
|
@@ -24,12 +26,38 @@ export declare function useVideoEditor(mediaUuid: string, initialRecipe?: VideoR
|
|
|
24
26
|
filters?: {
|
|
25
27
|
id: string;
|
|
26
28
|
filterId: string;
|
|
27
|
-
params:
|
|
29
|
+
params: import("@/types").FilterParamMap;
|
|
28
30
|
intensity: number;
|
|
29
31
|
ffmpegCommand?: string | undefined;
|
|
30
32
|
}[] | undefined;
|
|
31
33
|
thumbnail?: string | undefined;
|
|
32
34
|
label?: string | undefined;
|
|
35
|
+
waveformSamples?: readonly {
|
|
36
|
+
index: number;
|
|
37
|
+
time: number;
|
|
38
|
+
duration: number;
|
|
39
|
+
endTime: number;
|
|
40
|
+
peak: number;
|
|
41
|
+
rms: number;
|
|
42
|
+
channel: import("../video/project").WaveformChannel;
|
|
43
|
+
}[] | undefined;
|
|
44
|
+
filmstripFrames?: readonly {
|
|
45
|
+
id: string;
|
|
46
|
+
time: number;
|
|
47
|
+
duration: number | null;
|
|
48
|
+
uri: string;
|
|
49
|
+
width: number;
|
|
50
|
+
height: number;
|
|
51
|
+
aspectRatio: number;
|
|
52
|
+
cacheKey: string | null;
|
|
53
|
+
}[] | undefined;
|
|
54
|
+
keyframes?: readonly {
|
|
55
|
+
id: string;
|
|
56
|
+
target: "opacity" | "scale" | "x" | "y" | "rotation" | "audioVolume";
|
|
57
|
+
time: number;
|
|
58
|
+
value: number;
|
|
59
|
+
easing: import("../video/project").KeyframeAutomationEasing;
|
|
60
|
+
}[] | undefined;
|
|
33
61
|
url?: string | undefined;
|
|
34
62
|
muted?: boolean | undefined;
|
|
35
63
|
scale?: number | undefined;
|
|
@@ -42,12 +70,56 @@ export declare function useVideoEditor(mediaUuid: string, initialRecipe?: VideoR
|
|
|
42
70
|
scale?: number | undefined;
|
|
43
71
|
} | undefined;
|
|
44
72
|
}[]>;
|
|
73
|
+
tracks: import("vue").ComputedRef<{
|
|
74
|
+
id: string;
|
|
75
|
+
type: import("@/types").TimelineTrackType;
|
|
76
|
+
name: string;
|
|
77
|
+
order: number;
|
|
78
|
+
locked?: boolean | undefined;
|
|
79
|
+
hidden?: boolean | undefined;
|
|
80
|
+
muted?: boolean | undefined;
|
|
81
|
+
solo?: boolean | undefined;
|
|
82
|
+
height?: number | undefined;
|
|
83
|
+
clipIds?: string[] | undefined;
|
|
84
|
+
}[]>;
|
|
85
|
+
mediaSources: import("vue").ComputedRef<{
|
|
86
|
+
id: string;
|
|
87
|
+
type: import("@/types").TimelineClipSourceType;
|
|
88
|
+
mediaUuid?: string | undefined;
|
|
89
|
+
url?: string | undefined;
|
|
90
|
+
filename?: string | undefined;
|
|
91
|
+
mimeType?: string | undefined;
|
|
92
|
+
duration?: number | undefined;
|
|
93
|
+
width?: number | undefined;
|
|
94
|
+
height?: number | undefined;
|
|
95
|
+
frameRate?: number | undefined;
|
|
96
|
+
hasAudio?: boolean | undefined;
|
|
97
|
+
thumbnailUrl?: string | undefined;
|
|
98
|
+
isPrivate?: boolean | undefined;
|
|
99
|
+
metadata?: import("@/types").JsonObject | undefined;
|
|
100
|
+
}[]>;
|
|
101
|
+
transitions: import("vue").ComputedRef<{
|
|
102
|
+
id: string;
|
|
103
|
+
type: import("@/types").TimelineTransitionType;
|
|
104
|
+
fromClipId: string;
|
|
105
|
+
toClipId: string;
|
|
106
|
+
duration: number;
|
|
107
|
+
easing: import("@/types").TimelineTransitionEasing;
|
|
108
|
+
cutTime?: number | undefined;
|
|
109
|
+
params?: {
|
|
110
|
+
direction?: "left" | "right" | "up" | "down" | undefined;
|
|
111
|
+
color?: string | undefined;
|
|
112
|
+
softness?: number | undefined;
|
|
113
|
+
} | undefined;
|
|
114
|
+
}[]>;
|
|
45
115
|
totalDuration: import("vue").ComputedRef<number>;
|
|
46
116
|
hasChanges: import("vue").ComputedRef<boolean>;
|
|
47
117
|
isPlaying: import("vue").ComputedRef<boolean>;
|
|
48
118
|
selectedClip: import("vue").ComputedRef<{
|
|
49
119
|
id: string;
|
|
50
|
-
type: "
|
|
120
|
+
type: import("@/types").TimelineClipKind;
|
|
121
|
+
trackId?: string | undefined;
|
|
122
|
+
sourceRefId?: string | undefined;
|
|
51
123
|
timelineStart: number;
|
|
52
124
|
timelineEnd: number;
|
|
53
125
|
startTime?: number | undefined;
|
|
@@ -61,12 +133,38 @@ export declare function useVideoEditor(mediaUuid: string, initialRecipe?: VideoR
|
|
|
61
133
|
filters?: {
|
|
62
134
|
id: string;
|
|
63
135
|
filterId: string;
|
|
64
|
-
params:
|
|
136
|
+
params: import("@/types").FilterParamMap;
|
|
65
137
|
intensity: number;
|
|
66
138
|
ffmpegCommand?: string | undefined;
|
|
67
139
|
}[] | undefined;
|
|
68
140
|
thumbnail?: string | undefined;
|
|
69
141
|
label?: string | undefined;
|
|
142
|
+
waveformSamples?: readonly {
|
|
143
|
+
index: number;
|
|
144
|
+
time: number;
|
|
145
|
+
duration: number;
|
|
146
|
+
endTime: number;
|
|
147
|
+
peak: number;
|
|
148
|
+
rms: number;
|
|
149
|
+
channel: import("../video/project").WaveformChannel;
|
|
150
|
+
}[] | undefined;
|
|
151
|
+
filmstripFrames?: readonly {
|
|
152
|
+
id: string;
|
|
153
|
+
time: number;
|
|
154
|
+
duration: number | null;
|
|
155
|
+
uri: string;
|
|
156
|
+
width: number;
|
|
157
|
+
height: number;
|
|
158
|
+
aspectRatio: number;
|
|
159
|
+
cacheKey: string | null;
|
|
160
|
+
}[] | undefined;
|
|
161
|
+
keyframes?: readonly {
|
|
162
|
+
id: string;
|
|
163
|
+
target: "opacity" | "scale" | "x" | "y" | "rotation" | "audioVolume";
|
|
164
|
+
time: number;
|
|
165
|
+
value: number;
|
|
166
|
+
easing: import("../video/project").KeyframeAutomationEasing;
|
|
167
|
+
}[] | undefined;
|
|
70
168
|
url?: string | undefined;
|
|
71
169
|
muted?: boolean | undefined;
|
|
72
170
|
scale?: number | undefined;
|
|
@@ -90,10 +188,24 @@ export declare function useVideoEditor(mediaUuid: string, initialRecipe?: VideoR
|
|
|
90
188
|
handleClipSelect: (clipId: string | null) => void;
|
|
91
189
|
splitAtPlayhead: () => void;
|
|
92
190
|
deleteSelectedClip: () => void;
|
|
191
|
+
rippleDeleteClip: (clipId: string) => boolean;
|
|
192
|
+
rippleDeleteSelectedClip: () => boolean;
|
|
93
193
|
duplicateSelectedClip: () => void;
|
|
194
|
+
appendMediaSourceToTimeline: (sourceId: string) => TimelineClip | null;
|
|
195
|
+
replaceSelectedClipSource: (sourceId: string) => boolean;
|
|
196
|
+
removeMediaSource: (sourceId: string) => boolean;
|
|
197
|
+
toggleTrackLock: (trackId: string) => boolean;
|
|
198
|
+
toggleTrackHidden: (trackId: string) => boolean;
|
|
199
|
+
toggleTrackMuted: (trackId: string) => boolean;
|
|
200
|
+
toggleTrackSolo: (trackId: string) => boolean;
|
|
94
201
|
setFilters: (filters: AppliedFilter[]) => void;
|
|
95
202
|
setTextOverlays: (overlays: TextOverlayRecipe[]) => void;
|
|
96
203
|
setAudioTracks: (tracks: AudioTrackRecipe[]) => void;
|
|
204
|
+
setCaptionTracks: (tracks: CaptionTrackRecipe[]) => void;
|
|
205
|
+
setVisualLayers: (layers: VisualLayerRecipe[]) => void;
|
|
206
|
+
setTransitions: (transitions: TimelineTransitionRecipe[]) => void;
|
|
207
|
+
setClipKeyframes: (clipId: string, keyframes: NonNullable<TimelineClip["keyframes"]>) => void;
|
|
208
|
+
loadRecipe: (recipe: VideoRecipe) => void;
|
|
97
209
|
moveClip: (clipId: string, newStart: number) => void;
|
|
98
210
|
saveDraft: () => VideoRecipe;
|
|
99
211
|
clearHasChanges: () => void;
|
|
@@ -118,7 +230,7 @@ export declare function useVideoEditor(mediaUuid: string, initialRecipe?: VideoR
|
|
|
118
230
|
canRedo: import("vue").ComputedRef<boolean>;
|
|
119
231
|
initializeComposition: (width?: number, height?: number) => Promise<void>;
|
|
120
232
|
syncCompositionWithState: () => Promise<void>;
|
|
121
|
-
syncWithComposition: (_composition:
|
|
233
|
+
syncWithComposition: (_composition: unknown) => void;
|
|
122
234
|
convertToFrames: (seconds: number) => number;
|
|
123
235
|
convertToSeconds: (frames: number) => number;
|
|
124
236
|
seekToFrame: (frame: number) => void;
|
|
@@ -53,13 +53,13 @@ export declare function useVideoFilters(): {
|
|
|
53
53
|
activeFilters: import("vue").Ref<{
|
|
54
54
|
id: string;
|
|
55
55
|
filterId: string;
|
|
56
|
-
params:
|
|
56
|
+
params: import("@/types").FilterParamMap;
|
|
57
57
|
intensity: number;
|
|
58
58
|
ffmpegCommand?: string | undefined;
|
|
59
59
|
}[], AppliedFilter[] | {
|
|
60
60
|
id: string;
|
|
61
61
|
filterId: string;
|
|
62
|
-
params:
|
|
62
|
+
params: import("@/types").FilterParamMap;
|
|
63
63
|
intensity: number;
|
|
64
64
|
ffmpegCommand?: string | undefined;
|
|
65
65
|
}[]>;
|
|
@@ -147,13 +147,13 @@ export declare function useVideoFilters(): {
|
|
|
147
147
|
previewFilter: import("vue").Ref<{
|
|
148
148
|
id: string;
|
|
149
149
|
filterId: string;
|
|
150
|
-
params:
|
|
150
|
+
params: import("@/types").FilterParamMap;
|
|
151
151
|
intensity: number;
|
|
152
152
|
ffmpegCommand?: string | undefined;
|
|
153
153
|
} | null, AppliedFilter | {
|
|
154
154
|
id: string;
|
|
155
155
|
filterId: string;
|
|
156
|
-
params:
|
|
156
|
+
params: import("@/types").FilterParamMap;
|
|
157
157
|
intensity: number;
|
|
158
158
|
ffmpegCommand?: string | undefined;
|
|
159
159
|
} | null>;
|