Implement applyProjectSequencerState and updateProjectSequencerState in App.tsx

This commit is contained in:
2026-04-15 06:18:44 +02:00
parent a72f63b335
commit 941f883ff9

View File

@@ -4140,6 +4140,39 @@ export function App({ store, initialStatusMessage }: AppProps) {
}
};
const applyProjectSequencerState = (
nextScheduler: typeof editorState.projectDocument.scheduler,
nextSequences: ProjectSequenceLibrary,
label: string,
successMessage: string
) => {
if (
areProjectSchedulersEqual(
editorState.projectDocument.scheduler,
nextScheduler
) &&
areProjectSequenceLibrariesEqual(
editorState.projectDocument.sequences,
nextSequences
)
) {
return;
}
try {
store.executeCommand(
createSetProjectSequencerCommand({
label,
scheduler: nextScheduler,
sequences: nextSequences
})
);
setStatusMessage(successMessage);
} catch (error) {
setStatusMessage(getErrorMessage(error));
}
};
const updateProjectDialogues = (
label: string,
successMessage: string,
@@ -4172,6 +4205,33 @@ export function App({ store, initialStatusMessage }: AppProps) {
}
};
const updateProjectSequencerState = (
label: string,
successMessage: string,
mutate: (
scheduler: typeof editorState.projectDocument.scheduler,
sequences: ProjectSequenceLibrary
) => void
) => {
try {
const nextScheduler = cloneProjectScheduler(
editorState.projectDocument.scheduler
);
const nextSequences = cloneProjectSequenceLibrary(
editorState.projectDocument.sequences
);
mutate(nextScheduler, nextSequences);
applyProjectSequencerState(
nextScheduler,
nextSequences,
label,
successMessage
);
} catch (error) {
setStatusMessage(getErrorMessage(error));
}
};
const updateProjectTimeSettings = (
label: string,
successMessage: string,