Skip to content

Conversation

@hm21
Copy link
Owner

@hm21 hm21 commented Jan 13, 2026

PR Checklist (Required)

Please ensure your PR meets the following requirements:

  • The commit message follows our guidelines: https://github.com/hm21/pro_image_editor/blob/stable/CONTRIBUTING.md#style-guides
  • I have run dart format . in the terminal and committed any changes.
  • I have run dart analyze . in the terminal and addressed any issues.
  • I have run flutter test in the terminal and addressed any issues.
  • I have pulled from the stable branch before committing.
  • I have updated the CHANGELOG.md file with my changes (For the version, you can use X.X.X, I will later bump it after it's merged).
  • The PR title follows the conventional commit style (e.g., feat(paint-editor): add new triangle shape).
  • If this PR introduces breaking changes, I have verified that there is no way to implement the changes without them.

PR Checklist (Optional)

  • Tests have been added for the changes.
  • Documentation has been added/updated.

PR Type

Please indicate the types of changes this PR introduces by checking the relevant boxes:

  • Bugfix
  • Feature
  • Performance
  • Refactor (no functional or API changes)
  • Code style updates (e.g., formatting, local variables)
  • Documentation updates
  • CI-related changes
  • Other... Please describe:

Current Behavior

Issue Number: N/A

New Behavior

Breaking Changes?

Does this PR introduce a breaking change?

  • Yes
  • No

Additional Information

hm21 and others added 30 commits October 17, 2025 14:11
- Updated README to reflect new features including video merging and audio track customization.
- Modified RenderVideoModel to support multiple video clips for concatenation, each with individual trim settings.
- Introduced VideoClipModel to encapsulate video clip details.
- Implemented applyComposition function to handle multiple video clips and audio normalization.
- Added custom audio path, original audio volume, and custom audio volume parameters to RenderVideoModel.
- Updated ProVideoEditorPlugin to process video clips and apply transformations.
- Enhanced video rendering examples to demonstrate concatenation and audio mixing functionalities.
- Added new audio and video assets for testing.
- Updated Kotlin and Flutter dependencies for compatibility.
- Added audio playback functionality using audioplayers package.
- Implemented audio balance adjustments between video and overlay audio.
- Introduced audio track management with predefined example audio tracks.
- Enhanced video clip merging functionality with thumbnail generation.
- Updated UI components to support audio editing features.
- Registered necessary plugins for audio support on Linux and Windows.
- Updated pubspec.yaml to include new dependencies for audio handling.
- Created AudioHelperService to manage audio playback alongside video.
- Developed ClipsPreviewer widget for displaying video clips with audio.
…merging

- Moved `Metadata.kt` to organized `features/metadata/` structure
- Added `MetadataConfig.kt`, `RenderConfig.kt`, `RenderJobHandle.kt`, and `RenderTask.kt` to improve configuration and modularity
- Refactored render helpers for clearer separation of concerns
- Introduced `EffectsProcessor.kt` for improved effect handling abstraction
- Renamed and moved `ThumbnailGenerator` under `features/thumbnail/`
- Added `ThumbnailConfig.kt` to encapsulate thumbnail generation settings
- Structural improvements lay the foundation for a scalable, professional-grade video merging solution
- Renamed core model files for naming consistency and clarity (e.g. `video_clip_model.dart` → `video_segment_model.dart`)
- Moved platform channel files to `core/platform/` for clearer separation of concerns
- Introduced `platform_interface.dart` to improve platform abstraction
- Updated integration and widget tests to align with new structure
- Modified example editor and renderer pages for compatibility with refactored APIs
- Updated `CHANGELOG.md` to reflect recent structural and naming changes
- This restructuring enhances maintainability and prepares the codebase for professional-grade video merging workflows
…eo merging

- Implemented VideoClip model for representing video segments with optional trimming.
- Developed ThumbnailGenerator class for asynchronous thumbnail extraction from video files, supporting both timestamp-based and keyframe-based methods.
- Created ThumbnailConfig model to encapsulate parameters for thumbnail generation.
- Added VideoMetadata class for extracting comprehensive metadata from video files, including technical and descriptive properties.
- Introduced RenderTask class to manage the lifecycle and state of render operations.
- Implemented MetadataConfig model for structured metadata extraction parameters.
- Enhanced RenderConfig model to support various video rendering options, including effects and audio mixing.
- Bump version to 0.5.0-dev.2 in pubspec.yaml.
- Add ApplyComposition.swift to create multi-clip video compositions with audio mixing and effects.
- Introduce AudioSequenceBuilder.swift for managing custom audio tracks, including volume control and looping.
- Implement CompositionBuilder.swift to orchestrate video sequences and audio mixing.
- Create MediaInfoExtractor.swift for extracting media information such as duration, channel count, and sample rate.
- Develop VideoSequenceBuilder.swift to handle multiple video clips, audio tracks, and composition assembly.
…erging

Fixes a test case failing on Android when the initial video in the sequence
has no audio track but a subsequent one does. Adjusted logic in
VideoSequenceBuilder to support this scenario.
hm21 and others added 29 commits December 20, 2025 09:23
…ring expectation in video_quality_config_test
- Added `AudioExtractExamplePage` widget for demonstrating audio extraction using the ProVideoEditor plugin.
- Implemented audio extraction logic in `ExtractAudio.swift` for both iOS and macOS platforms.
- Created configuration models `AudioExtractConfig` and `AudioExtractTask` to manage extraction parameters and task lifecycle.
- Introduced `AudioExtractConfigs` and `AudioFormat` models in Dart for handling audio extraction configurations and supported formats.
- Added UI components for selecting audio format, bitrate, and displaying extraction progress.
- Implemented audio playback and deletion functionality for extracted audio files.
@hm21 hm21 merged commit 5179d8c into stable Jan 13, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants