flambe
flambe copied to clipboard
Framelabels
Adding Flump frame-label support for MovieSprite - aduros#54
Also plundered some playback helpers (play,stop, get/set frame) from here: pheno7@e486575
Ok, makes sense. I'll take a look at MovieKeyframe (and watch the formatting)
I made some changes in my main fork... hopefully this is towards what you wanted: https://github.com/mikedotalmond/flambe/commit/aaeb79232329b6435616a99fa544f97e669583db
- moved most of the label support stuff out of MovieSprite and into MovieSymbol/MovieLayer,
- support/allow frame-labels on any movie layer
- each LayerAnimator in a MovieSprite manages a currentLabel and labelChanged property in the .composeFrame call.
Possible bug: Some emits are skipped if the position seeks past multiple labels in a single update (happens consistently if two labels point at the same frame)
I also wonder if a labels :Map<String,Float>
on MovieSymbol wouldn't be better than the new exposed MovieLayer fields. That would simplify two common use-cases (a) getting a time position out of a label so you can seek to it (b) enumerating over all the labels. The MovieLayer array fields should be private implementation detail (seems also like they should be lifted to MovieSymbol).
Yeah, I had a String Map earlier but wasn't sure which approach I preferred. Happy to go back to it.
Agree about moving to MovieSymbol for most of the implementation, should help sort out the skipped label emit bug too.
Moved most framelabel related bits into MovieSymbol in this commit: https://github.com/mikedotalmond/flambe/commit/bde91cb8ab1d97304a4db91ef9b548706b906f2c
Would love to see these features integrated into the framework, any ETA on this?
Thanks!
Have another look at the state of the framelabels branch - I've tidied up and reverted changes that were not directly related to framelabels support. I'm using it with flump exported animations on a flash/html5 project, and it seems stable.
Thanks Mike, I'll take a look at it ASAP!
Nudge! Our animators would love you if frame labels were supported. Any updates on when this can be implemented?