summaryrefslogtreecommitdiff
path: root/apps/web/src/lib/commands/timeline/element/update-elements.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/lib/commands/timeline/element/update-elements.ts')
-rw-r--r--apps/web/src/lib/commands/timeline/element/update-elements.ts20
1 files changed, 12 insertions, 8 deletions
diff --git a/apps/web/src/lib/commands/timeline/element/update-elements.ts b/apps/web/src/lib/commands/timeline/element/update-elements.ts
index abeec842..54d1ca88 100644
--- a/apps/web/src/lib/commands/timeline/element/update-elements.ts
+++ b/apps/web/src/lib/commands/timeline/element/update-elements.ts
@@ -1,11 +1,14 @@
import { EditorCore } from "@/core";
import { Command, type CommandResult } from "@/lib/commands/base-command";
-import type { TimelineElement, TimelineTrack } from "@/lib/timeline";
-import { updateElementInTracks } from "@/lib/timeline";
+import type { SceneTracks, TimelineElement } from "@/lib/timeline";
+import {
+ findTrackInSceneTracks,
+ updateElementInSceneTracks,
+} from "@/lib/timeline";
import { applyElementUpdate } from "@/lib/timeline/update-pipeline";
export class UpdateElementsCommand extends Command {
- private savedState: TimelineTrack[] | null = null;
+ private savedState: SceneTracks | null = null;
private readonly updates: Array<{
trackId: string;
elementId: string;
@@ -27,13 +30,14 @@ export class UpdateElementsCommand extends Command {
execute(): CommandResult | undefined {
const editor = EditorCore.getInstance();
- this.savedState = editor.timeline.getTracks();
+ this.savedState = editor.scenes.getActiveScene().tracks;
let updatedTracks = this.savedState;
for (const updateEntry of this.updates) {
- const currentTrack = updatedTracks.find(
- (track) => track.id === updateEntry.trackId,
- );
+ const currentTrack = findTrackInSceneTracks({
+ tracks: updatedTracks,
+ trackId: updateEntry.trackId,
+ });
const currentElement = currentTrack?.elements.find(
(element) => element.id === updateEntry.elementId,
);
@@ -50,7 +54,7 @@ export class UpdateElementsCommand extends Command {
},
});
- updatedTracks = updateElementInTracks({
+ updatedTracks = updateElementInSceneTracks({
tracks: updatedTracks,
trackId: updateEntry.trackId,
elementId: updateEntry.elementId,