I’m working on the timeline too. The audiotrack is not working on OSX, at least for me. I had to make several changes in order to make it work. The same for the video track.
Besides this changes, what are you changing/fixing/updating?
- trying to use as much as possible what’s integrated into OF that is being used with an addon in ofxTimeline. (like ofxTextInputField with ofxGui’s inputField, which works a lot better).
- getting rid of pointers as much as possible and when not replace by smart pointers (shared_ptr, etc)
- Remove the openAL sound player, and replace by ofxSoundObject’s player. (and integrate with other features of it as well) This should also fix the problem with ofxAudioDecoder on linux.
- Make use of mouse and key event propagation and priorities, so to remove and simplify ofxTimeline’s modal handling (which was James George’s way to overcome OF’s lack of event propagation and priorities at the time of ofxTimeline’s development).
- Make nicer and more interactive widgets (i.g., when you right click on a node in the curves it pops up a dialog for choosing the easing type, but it doesn’t change when hovering with the mouse).
- Make use of ofxGui’s elements as much as possible. (i.g., when you click on a keyframe of the LFO track you get a bunch of parameters you can set through a super basic gui).
- fix the zoomer handles, when these are at the edges only half of it is usable, and when this edges is the edge of the window it is super easy to grab the window and resize it instead of changing the zoom.
- Replace ofVecf for glm::vec
Things to take into account.
- Multi touch management, or at least make it easy to integrate in the future.
#ifdef the added stuff in order to keep it as light as possible by disabling features.
Things I want to add after finishing the previous.
- Midi track
- recording (parameters, audio, video, midi, osc, etc).
- ofNode track (there is a camera track, which could inherit from ofNode track, or template it).
- Gui for the different timeline options, like snapping.
- Drag and drop, for video or audio files, or XML that create or add to the proper kind track.
There are more ideas, but I think that this is a lot already.
I’ll try to push to github asap any advancements.