@twick/studio 0.14.12 → 0.14.14

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/index.mjs CHANGED
@@ -3588,6 +3588,45 @@ const useStudioOperation = (studioConfig) => {
3588
3588
  getSubtitleStatus
3589
3589
  };
3590
3590
  };
3591
+ const useGenerateSubtitles = (studioConfig) => {
3592
+ const { editor, present } = useTimelineContext();
3593
+ const onGenerateSubtitles = async (videoElement) => {
3594
+ if (studioConfig == null ? void 0 : studioConfig.subtitleGenerationService) {
3595
+ const service = studioConfig.subtitleGenerationService;
3596
+ const reqId = await service.generateSubtitles(
3597
+ videoElement,
3598
+ present
3599
+ );
3600
+ return reqId;
3601
+ }
3602
+ alert("Generate subtitles not supported in demo mode");
3603
+ return null;
3604
+ };
3605
+ const addSubtitlesToTimeline = (subtitles) => {
3606
+ var _a;
3607
+ const updatedProjectJSON = (_a = studioConfig == null ? void 0 : studioConfig.subtitleGenerationService) == null ? void 0 : _a.updateProjectWithSubtitles(
3608
+ subtitles
3609
+ );
3610
+ if (updatedProjectJSON) {
3611
+ editor.loadProject(updatedProjectJSON);
3612
+ }
3613
+ };
3614
+ const getSubtitleStatus = async (reqId) => {
3615
+ if (studioConfig == null ? void 0 : studioConfig.subtitleGenerationService) {
3616
+ const service = studioConfig.subtitleGenerationService;
3617
+ return await service.getRequestStatus(reqId);
3618
+ }
3619
+ return {
3620
+ status: "failed",
3621
+ error: "Subtitle generation service not found"
3622
+ };
3623
+ };
3624
+ return {
3625
+ onGenerateSubtitles,
3626
+ addSubtitlesToTimeline,
3627
+ getSubtitleStatus
3628
+ };
3629
+ };
3591
3630
  function TwickStudio({ studioConfig }) {
3592
3631
  var _a;
3593
3632
  const {
@@ -3603,11 +3642,9 @@ function TwickStudio({ studioConfig }) {
3603
3642
  const {
3604
3643
  onLoadProject,
3605
3644
  onSaveProject,
3606
- onExportVideo,
3607
- onGenerateSubtitles,
3608
- addSubtitlesToTimeline,
3609
- getSubtitleStatus
3645
+ onExportVideo
3610
3646
  } = useStudioOperation(studioConfig);
3647
+ const { onGenerateSubtitles, addSubtitlesToTimeline, getSubtitleStatus } = useGenerateSubtitles(studioConfig);
3611
3648
  const twickStudiConfig = useMemo(
3612
3649
  () => ({
3613
3650
  canvasMode: true,
@@ -3683,6 +3720,7 @@ function TwickStudio({ studioConfig }) {
3683
3720
  }
3684
3721
  export {
3685
3722
  AudioPanel,
3723
+ CAPTION_PROPS,
3686
3724
  CirclePanel,
3687
3725
  IconPanel,
3688
3726
  ImagePanel,
@@ -3694,6 +3732,7 @@ export {
3694
3732
  TwickStudio,
3695
3733
  VideoPanel,
3696
3734
  TwickStudio as default,
3735
+ useGenerateSubtitles,
3697
3736
  useStudioManager
3698
3737
  };
3699
3738
  //# sourceMappingURL=index.mjs.map