Text notes in RIFF chunks?


I’m building a plugin host which is designed to load Tracktion WAVEFORM files for use in a tutorial/training context - and one of the requirements is the ability to add ‘notes’ (text) in the project so that, as the user encounters the sections of audio involved, a text note is also displayed which explains the phenomenon being observed in the Edit.

I thought one nice way to do this would be to embed the text notes in RIFF chunks in the project .WAV files - but I haven’t done any research on this, and before I do I thought I’d ask what other pro devs think about how to accomplish this. Its essentially the same as having a “subtitle” track, but I’m not sure if this is supported properly by Tracktion, or indeed JUCE.

Anyone see any gotchas/glitches with taking this approach? My app will have a text overlay that displays the text chunks as playback through their relevant regions occurs. Its sort of similar to the “notes” feature of Reaper, which I use extensively in productions to keep producer/mixing engineers aligned with the original artist intentions for the relevant sections …


I probably wouldn’t approach it like this. If it was me, I’d probably use Marker Clips with a custom string held in a property of the state member. You can then display that in your UI when the playhead is over a marker.

Alternatively you could do the same for normal audio clips.

Thats an interesting approach, but I wonder how ‘future proof’ it would be - and also how would these Markers bet set in the Edit - through Waveform, somehow?

Not sure what you mean with doing the same for normal audio clips, though …

Well everything in Tracktion Engine has a juce::ValueTree state member, so you can just set custom properties on that to use in your UI.

I’m not sure what your worry is about “future proof” though? If the ValueTree changes, they’ll be bigger things than text to deal with…

Ah, I see what you mean. I’m thinking more of how to create these custom markers - preferably with an editor that already supports them - which is why I was thinking about plain old text notes in the riff chunks, but your suggestion got me thinking about other ways to do it. I mostly want to be able to hand off the creation of the notes to a producer who uses a standard editor (i.e. I don’t have to write them one) to add annotations to sessions for display to students.

In Waveform if you add a Marker Clip you’ll see it has a “Notes” field where you can add custom text.
This is stored in the Marker clip’s IDs::notes property so you can fetch it from there.

Ah, that is very helpful advice, thank you @dave96 - I will spend some time learning Waveform for this feature …