Skip to content

Add Long Transition effect for multi-minute color/palette transitions#5376

Closed
Copilot wants to merge 6 commits intomainfrom
copilot/add-long-transition-fx
Closed

Add Long Transition effect for multi-minute color/palette transitions#5376
Copilot wants to merge 6 commits intomainfrom
copilot/add-long-transition-fx

Conversation

Copy link
Contributor

Copilot AI commented Feb 17, 2026

Users need slow color transitions (minutes to hours) for ambient lighting, sunrises, and day/night cycles without creating hundreds of playlist entries or external automation.

Implementation

New effect: mode_long_transition() (FX_MODE_LONG_TRANSITION, ID 218)

  • Speed slider: Transition duration in minutes (0=instant, 1-255 minutes)
  • Intensity slider: Optional preset ID to trigger on completion (0=disabled, 1-255→presets 1-250)
  • State tracking: Stores initial/current/target colors in segment data (37 bytes)
  • Update rate: State blended at 10Hz, rendered every frame
  • Change detection: New palette/color selection restarts transition from current state

Palette/Solid color support

// Solid mode: fills with blended color
if (SEGMENT.palette == 0) {
  SEGMENT.fill(state->currentColors[0]);
}
// Palette mode: displays palette with WLED's color system
else {
  for (unsigned i = 0; i < SEGLEN; i++) {
    SEGMENT.setPixelColor(i, SEGMENT.color_from_palette(i, true, PALETTE_SOLID_WRAP, 0));
  }
}

Preset chaining

Enables "very slow playlists" by triggering the next preset when transition completes:

  • Uses applyPreset(targetPreset, CALL_MODE_NOTIFICATION) to avoid feedback loops
  • Flag prevents re-triggering on same transition
  • Resets when palette/colors change

Usage

Set effect → adjust speed (minutes) → optionally set intensity (target preset) → change colors/palette to initiate smooth transition.

Original prompt

This section details on the original issue you should resolve

<issue_title>Long Transitions are currently not possible</issue_title>
<issue_description>I have seen users request longer transition times more than once to be able to make slow changing light transitions without the use of very long playlists or external software.

While increasing transition time in general is a non-starter, this could be done for basic transitions using an FX.

The proposal is this:

  • speed slider controls the number of minutes for the transition, 0 means instant which is good for testing

all the FX does is display the currently selected palette on the segment. this way it can be used as a mask.

the effect stores three states in segment data:

  • initial state
  • current state
  • target state

if the palette (or the selected color if used) changes, the current state becomes the initial state and the new state becomes the target state. states should update at 10Hz but rendering should take place each frame.

using palette blending / color blending this allows for very slow brightness (black to white in overlay for example) or color transitions.
could even use another slider to select a "target preset" that is triggered once the time has run out. that is a hack though as FX should probably not be triggering presets. it would be a simple way to generate "very slow playlists" by chaining such slow transition effects without having to use the scheduler.
</issue_description>

<agent_instructions>please implement such an FX in FX.cpp. also check if the proposed hack would be feasible or if it would interfere with the general code structure. </agent_instructions>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 5 commits February 17, 2026 06:06
Co-authored-by: DedeHai <6280424+DedeHai@users.noreply.github.com>
Co-authored-by: DedeHai <6280424+DedeHai@users.noreply.github.com>
Co-authored-by: DedeHai <6280424+DedeHai@users.noreply.github.com>
Co-authored-by: DedeHai <6280424+DedeHai@users.noreply.github.com>
Co-authored-by: DedeHai <6280424+DedeHai@users.noreply.github.com>
Copilot AI changed the title [WIP] Add support for longer transitions using FX Add Long Transition effect for multi-minute color/palette transitions Feb 17, 2026
Copilot AI requested a review from DedeHai February 17, 2026 06:17
@DedeHai
Copy link
Collaborator

DedeHai commented Feb 17, 2026

nice try, but no.

@DedeHai DedeHai closed this Feb 17, 2026
@DedeHai DedeHai deleted the copilot/add-long-transition-fx branch February 17, 2026 06:20
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.

Long Transitions are currently not possible

2 participants