raven
raven copied to clipboard
Enable/disable clips
Background:
- Clips (and other Items) have an
enabledflag which toggles whether they are enabled or disabled. For audio clips, this is a mute/unmute toggle. For video clips, a hide/show toggle.
Problem:
- Currently Raven's display shows no indication whether a clip is enabled or disabled.
Feature Request:
- Raven should draw disabled Clips in a muted grey color so the enabled/disabled state is clear at a glance.
- In the Inspector tab, Raven should show an "Enabled" checkbox which can be toggled on/off to modify the currently selected Clip (or other Item).
Stretch goal:
- Tracks are also Items, and can be disabled. Raven should draw whole Tracks with a ghosted/grey style.
Estimated Difficulty:
- Easy
- Some familiarity with C/C++
- Only 2 source files need to be modified (timeline.cpp and inspector.cpp)
- Data structure is already in place.
- Test data is available.
- Only user interface needs to be changed.
- No difficult design or architecture choices.
- This task is a good introduction to Dear ImGui
I'd like to take on this task
Thanks @rjwignar ! Let us know if you need any advice along the way.
For now, I've been able to extend the DrawItem() method inside timeline.cpp to gray out disabled items. The color change seems to only apply to disabled Clips though, and not disabled Tracks.
Do you know of a way to add a functional checkbox to the Inspector module while keeping the Item::_enable data member private? I tried using the _enabled accessor methods (Item::enabled() and Item::set_enabled) to somehow pass a reference of a Item::_enable to ImGui::Checkbox() but couldn't figure it out.
For now I've added the draft Pull Request above with more information.
Any update on your work @rjwignar? With the Dev Days coming up, somebody might be able to help you out get this over the finish line. 👍
@timlehr Apologies for the radio silence. I've been occupied with various commitments the past year. If it's alright with the Raven team, I would like one more week to work on this.
I've been able to publish a working PR that adds an Enabled checkbox to non-gap items. The PR also provides UI changes that distinguish enabled clips from disabled clips, but doesn't fulfill the stretch goal.