Mission-DMX / Mission-DMX/Project-Editor

Improve Cue widget Keyframe rendering and usage

Open
#181 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement usability
Dominant language
Python
Stars
10
Forks
1
Avg merge
27m
Merged PRs (30d)
1

Description

  • For 8bit, 16bit and color channels there should be a dragable bar on the keyframe indicator. It should indicate the value for the keyframe (8bit: 0 to 255, 16bit: 0 to 16384, color: Intensity value of color). Dragging it should change the corresponding value.
  • The rendering method of the timeline widget should use the drawing region hints of the drawing event. If the channel Y values are outside the range of the rendering window, the loop should continue. If the current keyframe to be rendered has an X value smaller than the X value of the rendering range, the loop should continue. If the X value of the last keyframe is smaller than the X value of the rendering range, the loop should brake.
  • Transitions between key frames should be visualized. OpenGL compute shaders should be used for that. For every key frame an image should be rendered ranging from the pixel values of the last keyframe up to the current one drawing the transition given the last values, the current one and the transition method. At the end, the rednered transitions should be layed over the rendered key frames, leaving out transparent spaces for the controls of the current and last keyframe. Caching or pre-rendering should be explored as an option.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Cue widget's keyframe indicator and timeline widget rendering entry points. Review how drawing-event region hints and keyframe values are handled before investigating OpenGL compute-shader rendering and caching. Done means draggable channel-value bars, clipped timeline rendering, and visible transitions with transparent control spaces for the current and previous keyframes.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.