You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement scroll sliders for ofxMUI trying to rescue as much as possible from ofxTimeline2 and ofxPanels
scrollbar zoomers
Make functional mockup of the UI
make functional data holder that translates the ofParameter to add a time dimension.
Parameter sliders in header
implement time transport (time Controller).
code only
gui (just a simple panel with buttons and time code view)
time translations (timecode, frame based, bpm and musically based.)
backend controller.
holds data and syncs with gui. In charge of updating the ofParameter’s values.
Optimize:
rendering. Implement a single renderer class in charge of doing all. Use VboMeshes and an general Fbo which gets redrawn only when needed. Most of the time all items remain static, besides the playhead and time display
gui updating. seems to be redundant.
Still more optimizatiion and cleaning seems posible
TImeRuler
labels still needs a bit of improvement
Trackheader
Parameter Sliders
buttons
mute
solo
rec
Implemented data types
int8_t
uint8_t
int16_t
uint16_t
int32_t
uint32_t
int64_t
uint64_t
size_t
float
double
glm::vec2
glm::vec3
glm::vec4
glm::quat (it is possible to tween between these using spherical lerp, although seems to be a glm experimental feature)
glm::mat4 (it is also possible to tween between these using glm::mix, although it is not implemented in ofxGui, so some more work needs to be done)
bool
void (because of how templating works you can not hold a void value so the whole timed data structures dont work. Yet, a simple list of the time where it gets triggered should work. Partially implemented in Keyframed)
ofColor
ofShortColor
ofFloatColor
ofRectangle (it is partially supported in ofxGui.)
Make PR to the OF core with fix for full support in ofxGui
Selector (selectors are mutually exclusive);
Keyframes selector
Regions selector
Select using keys
Track
make selectable
Highlight when selected
Region
make selectable
Highlight when selected
activate/deactivate keyframes when inside/outside of it (when changing the region in and out)
move keyframes when moving region (almost everything needed is there, just notify the controller about the dragging)
TracksPanel
Add GrabHandles to for moving and resizing when autoFill is disabled.
TimeControl
implement trigger() functon. ( Starts again from zero whenever called)
Keyframes
non linear easing (use ofxEasing? or something simpler, use handles? bezier handles?)
copy and paste.
undo/redo
mouse scroll usage
vert and horz move
zoom in/out using modifier key. Center zooming on mouse position
Keyboard shortcuts manager.
Examples:
Basic
AllParameterTypes (needs cleanup)
second window
not adjusting to window
independent timelines
One timeline triggers another one
Timeline GUI Structure
Main container: inherits from track group .
Timeruler and playhead. (it is also in charge of making the time to pixel and pixel to time conversions)
Track Headers
Track Header (has pointer to the track, and moves and scales following the track)
Tracks panel :
Other trackGroups
Track
Track (stores pointer to header. keeps the ofParameter)
Regions
Background( render video or waveform or nothing)
KeyFrames
KeyFrame
time
value (float, which then translates to the ofParameter)
The text was updated successfully, but these errors were encountered:
Thanks @awilkie1
I will add strings. I left em out as I thought it did not make sense to have strings in the timeline but then I realized that these can be used as a "named bang";
best
Yes, would be super useful! I'm making an OSC/UDP tool, being able to make bangs containing string which can be inputted via the GUI would be super slick
TO DO
Implement scroll sliders for ofxMUI trying to rescue as much as possible from ofxTimeline2 and ofxPanels
scrollbar zoomers
Make functional mockup of the UI
make functional data holder that translates the ofParameter to add a time dimension.
Parameter sliders in header
implement time transport (time Controller).
backend controller.
holds data and syncs with gui. In charge of updating the ofParameter’s values.
Optimize:
TImeRuler
Trackheader
Implemented data types
Selector (selectors are mutually exclusive);
Track
Region
TracksPanel
TimeControl
trigger()
functon. ( Starts again from zero whenever called)Keyframes
copy and paste.
undo/redo
mouse scroll usage
Keyboard shortcuts manager.
Examples:
Timeline GUI Structure
The text was updated successfully, but these errors were encountered: