Timeline with waveform

Hello,

Is there such thing as working timeline with waveform ?

ofxTimeline, which seems the most obvious addon to use, doesn’t seems to be working. Referencing to ofxBaseSoundPlayer, which doesn’t exist… This one I managed to fix. But then it’s referencing to some getCocoaWindow(), which again doesn’t exist. Found the addon for CocoaWindow, but this just fails to compile with thousands errors and it looks like it’s more than 12 years old…

Does this work for anyone ?

is there an alternative timeline with WAV ?

thanks
M

hi. I made GitHub - roymacdonald/ofxLineaDeTiempo: A new timeline addon for openframeworks. some time ago to address the issue that ofxTimeline was not being updated. I did not intend to make a direct replacement rather something new and simple to use. I think I never added the waveform feature but it was one of the features in the TODO list. Check it out and let me know how you want to use it as adding the waveform can be quite straight forwards to me

1 Like

Hello Roy,

Yes, I’ve tried that as well. The good thing it compiles and works fine :slight_smile:
The bad thing - I’m not sure exactly how to use it. If I understand correctly, there are parameters, that can be animated ?

Thanks
M

Hi!
the idea is that it is a timeline for ofParameters so you can animate these, and get it to work with very few lines of code.
The code of the addon is heavily templated, (which now I see as a bad idea I had), where the original idea was to be able to put audio tracks and video within it and animate parameters and clip beginings, ends, etc like a DAW or video editor. The infrastructure for such is there, and that is why I am saying that adding the waveform track can be quite straight forwards.

Now, what is exactly that you are looking for?

Hello Roy,

So what I need to implement somehow is sound player, which loads WAV file.
I need to play WAV and then trigger certain events at particular moments (quite precise).

Originally I thought to implement and editor with timeline, where I can put keyframes.
Luckily I found a way to export keys from After Effects, so that means I don’t need to write editor.

However I still need to play WAV and send events.

One potential problem that I anticipate is framerate that can change while application is running. Or WAV playback speed is FPS independent ? For me WAV (music) the foundation for this installation so everything should be synchronized with the music…

Thanks
M

Hi, So you dont really need the waveform to get drawn. You can use my addon and use ofParameter parameters which act like triggers. Add Listeners to these trhough wich you start the sound players.

Another option is to run an external software, some DAW like ableton live or apple’s logic and send midi commands when you need to start tracks etc.

yes wav playback is independendt of FPS. All the audio runs on a different thread and it is only dependant on the samplerate you use for the audio, but that does not change dynamically. and does not matter how much FPS you get from your app, audio should be consistent

There are some forks of ofxTimeline that work, I have been using this one GitHub - jonasfehr/ofxTimeline: lightweight timeline tools for openFrameworks I had to change one or two things, but it worked and can load audio files. It is a great way of using events based on audio timelines. There are some other options though, you could just play the file and using getPositionMS() you can use a range to trigger events (but this way you need to know the timings ahead of time).

Another way is to use an external software - I use this sometimes Chataigne | Chataigne it is a very mature and well developed timeline tool. You can output OSC to trigger events in your openframeworks application. If you need automation it can run scripts to start your app as well. I do generally prefer to have everything all in one, but I have sometimes really liked this system. I can run an OF app on another machine, create all the functionality and data links and then sit down and focus on the timeline and control the OF app as a follower applcation. This also lets mea easily save multilpe versions of the timeline. It also has some other advanced functions like amazing audio routing that is easy to reconfigure). You can do all this stuff within OF using a functional fork of ofxTimeline, but this is sometimes nice, expecially if you want to talk to multilpe different systems at once - it is kind of a pro-level timeline (or not) based show controller.

2 Likes

Hello Roy,

Blockquote
Another option is to run an external software, some DAW like ableton live or apple’s logic and send midi commands when you need to start tracks etc.

Thanks again for your help. I find the idea of using external DAW is brilliant. I think what I need is software where I can load WAV and send SysEx messages out. This way I can aggregate all data I need to send in single packet. Apparently Abltone + Max for Live can do this, but maybe there is something simpler. Will ask chatGPT if it knows :slight_smile:

Thanks
M

Hi. not sure if you need max for live to send the sysex messages. Anyways ableton is a good candidate since it allows you to control it remotely. go to ofxaddons.com and search for ableton. there are a bunch of addons that allow you to do so.

Check the software I linked above Chataigne | Chataigne it can do exactly what you want (send sysex and any other kind of message in just about any protocol). It’s super reliable and free.

1 Like

Interesting! Let me try that - thanks!!

Thanks much for the hint. I installed Chataigne and it’s excellent - exactly why I needed! Trying to learn it in more details now…

1 Like

I have a version of ofxTimeline that I’ve kept updated here GitHub - CreativeInquiry/ofxTimeline: lightweight timeline tools for openFrameworks

1 Like