Skip to content

Feature: Add 'Random custom' and 'Custom +1' color options in Auto Color#2020

Open
kkzero84 wants to merge 1 commit into
reaper-oss:masterfrom
kkzero84:feature/enhanced-auto-color
Open

Feature: Add 'Random custom' and 'Custom +1' color options in Auto Color#2020
kkzero84 wants to merge 1 commit into
reaper-oss:masterfrom
kkzero84:feature/enhanced-auto-color

Conversation

@kkzero84

Copy link
Copy Markdown

Description
This PR introduces two new, highly requested coloring options to the Auto Color/Icon/Layout tool. Both options are designed to utilize the user's defined palette in the SWS Color Management window (g_custColors), providing better thematic consistency for projects.

Why are these needed?

  1. Random custom: The existing Random option picks colors from the entire 0-255 RGB spectrum, which often breaks a project's visual theme by applying overly bright or dull colors. Random custom restricts the random selection strictly to the non-empty slots in the user's custom palette.

  2. Custom +1 (Sequential): The existing Custom color rule simply iterates through the palette using an internal counter (iCount). However, this ignores the actual color of the preceding track, breaking the sequence if tracks are reordered or deleted. Custom +1 acts similar to Cubase's sequential coloring feature: it intelligently reads the immediate upper track's color via GetTrack, locates it in the custom palette, and automatically applies the next valid color in the sequence.

What was changed?

  • Added AC_RANDOM_CUSTOM and AC_CUSTOM_NEXT to the color types enum.
  • Added "Random custom" and "Custom +1" to the dropdown menu string array (cColorTypes).
  • Added logic in AutoColorTrack (and relative logic blocks) to handle these new behaviors, safely validating against empty (0) slots in g_custColors.

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.

1 participant