A graphical color curve editor for TOPs

colorCurves graphically adjusts per-channel color levels of a TOP using a plotted curve, similar to many image and video editing applications. Credit goes to Vasily for authoring the original version of this component, to which I built onto.

Part of my TDComponents library.

Any TOP can be fed into the component's input. Default is the TD Banana.

The component's output consists of the graded TOP.


Master (all channels), Red, Green and Blue channels can be edited individually by selecting them from the top tab menu. All settings can be reset for all 4 channel editors by pulsing the Reset All button.

Adding/Editing Points
Click anywhere in the curve editor (the square with the thin white diagonal line crossing through it) to add a point at that location. Click and drag to move the point into your desired position. If you click and drag on an existing point, that point will be moved.

Removing Points
Right click on any point to remove it.

Default interpolation between points is Linear. You can select between Step, Linear, Ease and Hermite for various curve styles. If Hermite is selected, the Hermite Tension par slider allows you to further tune your curve.

In addition to interpolation, your curve can be smoothed out by increasing the Smooth par slider. By default it is set to 0.0 (no interpolation). This can be used in combination with any interpolation mode.

Preview / Levels
By default a Preview of your TOP is shown. If you toggle the Preview button, it will switch to a Levels display of your current channel, which shows the total amount of values (y axis) in your adjusted TOP, drawn from dark to bright values (x-axis).

Single / Split Views
By default a single view of the edited image is shown. To compare against the original, toggle the Single View button to the Split View mode, which draws a vertical bar in the curve editor that slides from left to right. The original TOP image is on the left, and the edited TOP is on the right.

Handles and Reset
The circle handles and curve line call additional draw functions via Render TOPs. To reduce compute in your project, these can be hidden via the Handles toggle button.
Finally, the Reset button will reset the current channel being edited.

Downloads: 45

Created at: 3.7.2021

Uploaded: 3.7.2021
  • Substantially improved performance from version 2.20
  • Improved button naming conventions and layout
  • Added Handles toggle for improved performance