Skip to content
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

Implement new color action block based on reference design #912

Open
SukuWc opened this issue Jan 20, 2025 · 0 comments
Open

Implement new color action block based on reference design #912

SukuWc opened this issue Jan 20, 2025 · 0 comments
Assignees
Milestone

Comments

@SukuWc
Copy link
Member

SukuWc commented Jan 20, 2025

Use current 2D colorpicker insted of the proposed color cycle for now!
Use vertical alpha slider instead of the proposed intensity rotary dial for now!
'+' (Add keyframe) button should not be on the preview display, it should be in the top next to the name of the actionblock)
'-' (Remove keyframe) button is position next to it

Clicking the '+' button adds second (min) key frame. (new '+' button appears in the middle of the range)
Clicking the '+' button adds third (mid) key frame (maximum number of key frames is 3)

Each active key frame can be selected on the preview display, R, G, B and alpha values are loaded for the given key frame.

Api specification

-- Using single color parameter:
self:led_color(layer, {{r,g,b,a}})
-- Using min and max keyframes:
self:led_color(layer, {{r,g,b,a},{r,g,b,a}})
-- Using min, mid and max keyframes:
self:led_color(layer, {{r,g,b,a},{r,g,b,a},{r,g,b,a}})

Notes:
Add combobox for element selection:

  • Default: 'Self' (self:element_index())
  • Element 'Element 0' (element[0])
  • element: 'Set manually by the user'
    Add combobox for layer selection:
  • self:led_layer() 'Automatic' (Default!)
  • 1 'Button/Potentiometer/Fader'
  • 2 'Encoder/Endless rotation'

Questions:

  • What happenes with beautify?
    • Handled in firmware
    • Beautify is added in lua microcode of the led_color method defined as member function
  • Is alpha parameter 0...255 integer or 0...1 floating point?
    • 0...1 floating point represented with 2 decimal places
    • r, g, b parameters are still 0...255 integer
    • If alpha parameter is omitted then it will be considered 1 by lua microcode
  • How does the actionblock determine element number?
    • Uses self to determine it in firmware during runtime by default!
  • How does the actionblock determine layer number?
    • Based on self:led_layer() in runtime
    • Based on formula: layer = 1+eventtype%2

Image
Image
Image
Image

@SukuWc SukuWc converted this from a draft issue Jan 20, 2025
@SukuWc SukuWc added this to the Road to 2.0 milestone Jan 20, 2025
@SukuWc SukuWc assigned SukuWc and elsoazemelet and unassigned SukuWc Jan 20, 2025
@elsoazemelet elsoazemelet moved this from Todo to Sprint planning (Next) in Editor Roadmap Jan 22, 2025
@elsoazemelet elsoazemelet moved this from Sprint planning (Next) to Sprint Backlog (Active) in Editor Roadmap Jan 22, 2025
@elsoazemelet elsoazemelet moved this from Sprint Backlog (Active) to In Progress in Editor Roadmap Jan 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

No branches or pull requests

2 participants