-
-
Notifications
You must be signed in to change notification settings - Fork 51
Add Color Grading effect with customizable properties #1442
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
39e5f12 to
622eb21
Compare
…ure, contrast, saturation, and more
…es for enhanced precision
…elated components
… improved style selectors
…duce GradingColorComponentsEditor
…hickness, gain, and grid visibility
…ys and improving cancellation handling
…nt and improve property registration
…n histogram and scope controls
…optimizing label positioning
…odes for enhanced visualization
… and updating related methods
…ntroduce GradingWheel control
…rading functionality
… upon closing the tab.
…urve manipulation
7b9b7ea to
8b3a34b
Compare
…ng properties management
…oved disposal and JSON handling
…istence Refactor CurvesTabViewModel to subscribe directly to Effect changes instead of SelectedObject, add JSON serialization for selected group/channel/effect, and handle effect detachment properly. Add ColorCurves_Missing localization string and display missing effect message in CurvesTab UI.
Removed unused code for parsing the third color component and simplified the extraction of the blue component.
… on selection state
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces a comprehensive Color Grading system with customizable color correction tools, color scopes for video analysis, and curve-based color adjustments. The implementation adds professional-grade color manipulation capabilities similar to those found in high-end video editing software.
Key Changes:
- Added three color scope visualizations (Waveform, Histogram, Vectorscope) for analyzing color distribution and luminance
- Implemented ColorGrading effect with controls for exposure, contrast, saturation, temperature/tint, and lift/gamma/gain adjustments
- Introduced Curves effect supporting RGB curves and HSL-based color adjustments with Bezier curve interpolation
Reviewed changes
Copilot reviewed 63 out of 64 changed files in this pull request and generated 31 comments.
Show a summary per file
| File | Description |
|---|---|
WaveformControl.cs |
Implements waveform scope with Luma, RGB Overlay, and RGB Parade modes |
HistogramControl.cs |
Provides RGB histogram visualization in overlay and parade modes |
VectorscopeControl.cs |
Displays color chrominance in YCbCr color space |
ScopeControlBase.cs |
Base class for scope controls with async rendering and double buffering |
ColorGrading.cs |
Filter effect implementing color grading with SKSL shader |
Curves.cs |
Filter effect for curve-based color adjustments with multiple curve types |
GradingColor.cs |
Data structure for color grading operations supporting negative RGB values |
CurveMap.cs |
Represents curve data with Bezier interpolation support |
GradingColorPicker.cs |
UI control for selecting grading colors with HSV/RGB modes |
ColorGradingWheel.cs |
Wheel-based color picker for intuitive color adjustments |
CurveVisualizationRenderer.cs |
Renders histogram visualizations for curve editors |
*TabViewModel.cs |
View models for integrating features into tool tabs |
*Extension.cs |
Service registrations for new features |
Files not reviewed (1)
- src/Beutl.Language/Strings.Designer.cs: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…radingColorPicker and CurveEditor
|
The following TODO comments were found:
|
Minimum allowed line rate is |
Description
Introduce a Color Grading effect with customizable properties such as exposure, contrast, and saturation. Enhance functionality with a Color Wheel editor and picker, and improve the underlying shader and data structures for better precision and performance.
Breaking changes
None.
Fixed issues
None.