From f36afd1626ea45be1e9d1e94fa1402374a9101d2 Mon Sep 17 00:00:00 2001 From: tejpratapsingh Date: Mon, 18 May 2026 09:42:21 +0530 Subject: [PATCH] Add motion-video-editor module and integrate into lyrics-maker * motion-video-editor: implement `MotionTimeline` and `MotionEditorScreen` components * motion-video-editor: add `TimelineUtils` to map SDUI views to timeline tracks * lyrics-maker: add `VideoEditor` screen to `AppNavHost` and update navigation flow * motion-video-player: add frame-stepping controls and update player UI layout * build: configure `motion-video-editor` module and project dependencies --- .idea/gradle.xml | 1 + gradle/libs.versions.toml | 1 + .../core/extensions/KtorExtension.kt | 6 +- modules/lyrics-maker/build.gradle | 1 + .../lyrics-maker/src/main/AndroidManifest.xml | 1 + .../src/main/assets/fonts/Malam_Poek.ttf | Bin 0 -> 78236 bytes .../client/AlbumArtRemoteDataSourceImpl.kt | 18 +- .../presentation/activity/SearchActivity.kt | 47 ++- .../presentation/compose/AppNavHost.kt | 72 +++- .../compose/GradientTextCompose.kt | 24 +- .../compose/LyricsTemplateSelector.kt | 198 +++++----- .../compose/ProjectDetailsCompose.kt | 24 ++ .../compose/ProjectsScreenCompose.kt | 15 +- .../compose/SearchLyricsCompose.kt | 336 +++++++++++------ .../compose/SyncedLyricsSelector.kt | 8 +- .../motion/MultiLyricsVideoProducer.kt | 67 ++-- .../templates/AccentLyricsTemplate.kt | 23 +- .../templates/GlitchLyricsTemplate.kt | 2 + .../templates/GradientLyricsTemplate.kt | 2 + .../templates/PopupLyricsTemplate.kt | 43 ++- .../templates/RainbowLyricsTemplate.kt | 77 +++- .../templates/TypewriterLyricsTemplate.kt | 40 +- .../templates/VibrateLyricsTemplate.kt | 43 ++- .../templates/WordwriterLyricsTemplate.kt | 41 ++- .../templates/ZoomLyricsTemplate.kt | 31 +- .../presentation/view/LyricsContainer.kt | 7 +- .../presentation/view/MultiLyricsContainer.kt | 24 +- .../viewmodel/ProjectsViewModel.kt | 12 +- .../presentation/worker/LyricsMotionWorker.kt | 15 +- .../extensions/ContextExtensions.kt | 13 + modules/motion-video-editor/build.gradle | 53 +++ .../motion-video-editor/consumer-rules.pro | 0 .../motion-video-editor/proguard-rules.pro | 0 .../src/main/AndroidManifest.xml | 4 + .../motioneditor/TimelineData.kt | 14 + .../motioneditor/ui/MotionEditorScreen.kt | 205 +++++++++++ .../motioneditor/ui/MotionTimeline.kt | 344 ++++++++++++++++++ .../motioneditor/utils/TimelineUtils.kt | 34 ++ .../custom/video/MotionVideoPlayerCompose.kt | 238 ++++++++---- .../background/TranslucentMotionView.kt | 37 ++ .../custom/text/AccentMiddlePopUpTextView.kt | 6 +- .../text/abstract/AbstractMotionTextView.kt | 29 +- .../ui/custom/video/MotionVideoPlayer.kt | 11 +- .../motionlib/utils/ImageUtil.kt | 15 +- .../src/main/res/drawable/default_bg.jpg | Bin 0 -> 19901 bytes .../sdui/infra/MotionSduiInitializer.kt | 27 +- .../motion/sdui/MotionSduiRegistryTest.kt | 16 + .../sdui/MotionTemplateSDUIProviderTest.kt | 62 ++++ .../extensions/BackgroundExtensions.kt | 14 + .../sdui/MotionTemplateSDUIProvider.kt | 66 ++++ settings.gradle | 1 + 51 files changed, 1930 insertions(+), 438 deletions(-) create mode 100644 modules/lyrics-maker/src/main/assets/fonts/Malam_Poek.ttf create mode 100644 modules/motion-video-editor/build.gradle create mode 100644 modules/motion-video-editor/consumer-rules.pro create mode 100644 modules/motion-video-editor/proguard-rules.pro create mode 100644 modules/motion-video-editor/src/main/AndroidManifest.xml create mode 100644 modules/motion-video-editor/src/main/java/com/tejpratapsingh/motioneditor/TimelineData.kt create mode 100644 modules/motion-video-editor/src/main/java/com/tejpratapsingh/motioneditor/ui/MotionEditorScreen.kt create mode 100644 modules/motion-video-editor/src/main/java/com/tejpratapsingh/motioneditor/ui/MotionTimeline.kt create mode 100644 modules/motion-video-editor/src/main/java/com/tejpratapsingh/motioneditor/utils/TimelineUtils.kt create mode 100644 modules/motionlib/src/main/java/com/tejpratapsingh/motionlib/ui/custom/background/TranslucentMotionView.kt create mode 100644 modules/motionlib/src/main/res/drawable/default_bg.jpg create mode 100644 modules/templates/src/androidTest/java/com/tejpratapsingh/motionlib/templates/sdui/MotionTemplateSDUIProviderTest.kt create mode 100644 modules/templates/src/main/java/com/tejpratapsingh/motionlib/templates/sdui/MotionTemplateSDUIProvider.kt diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 58334ccd..4f00e00a 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -22,6 +22,7 @@