Bpm change not working and audio graph debugger

i followed an example from tracktion inserted an audotrack and inserted a wave clip using the following code
juce::File jfile(selFiles.first().toUtf8().data());
EngineHelpers::loadAudioFileAsClip(edit, jfile);

but when i change the bpm the new bpm is not applied to the audio. i can see that the bpm value has been updated in valutree and also Edit::TreeWatcher is called when bpm is changed.
i would appreciate if anybody can help me debug the issue.
by the way is there an aduio graph debugger like value tree debugger (could be useful to check if the audio graph is built the way we want it)

At the moment audio files are rendered on a background thread to a new WAV proxy file that has the time-stretching applied. Are you waiting long enough for that to happen?

As a side note, I’m not sure what your selFiles variable is but you probably don’t need the toUtf8().data() bit.


I depends what you mean. In the upcoming audio graph (based on the tracktion_graph module) there are some helper methods to walk the graph and print out the Nodes.
Remember though, the graph that’s played back can be very different in structure to the Track/Clip model you interact with in the Engine.

Are you after some kind of specific debugging representation?

thanks for the response.
i am developing ui in qt hence this code selFiles.first().toUtf8().data() to get the char* to file . I fixed the bpm changes issue, it was not working because the message manager was not started so i had to add
MessageManager::getInstance(); to main function to start the message manager(if i had used juce that would have been automatically taken care of). but i noticed that it takes very long to apply bpm changes one of my requirement’s is that bpm changes are applied immediately. i have noticed in the tracktion waveform daw the bpm changes are applied immediately(can i achive this by using a different timestrech algoritham for the clips).

Are you after some kind of specific debugging representation?
i thought tracktion_graph is already in use by default. but after going through the tacktion engion code i realized it has to be enabled and its still in experimental stage. i am not after any particular representaion just wanted to check if something is available to see how the notes in stepclip are mapped to graph.

bit off topic though . can you please tell me what traction plugins are (i understand vst plugins are they same as vst plugins?). i have gone though the trackion engine plugins example but didn’t understand it well. i would appreciate if you can give me a background about what tracktion plugins are

It depends on the source file if tempo changes are applied immediately or not. If the source file it just resampled, this will happen immediately, if it is time-stretched new wav proxies will need to be created which can take a bit of time. In a future update we will be removing this requirement but there’s a chunk of work that needs to be done first.

To find the note sequence added to the graph by a step clip, you’re probably best off outputting the sequence in StepClip::generateMidiSequence .

As for the plugins, it depends what you’re asking. Tracktion Engine can be build as a plugin so in can run as a VST/AU etc. Or Tracktion Engine comes with a bunch of simple internal effects that can be added to tracks as plugins. These can be found in plugins/effects and utility plugins in plugins/internal.

I hope that helps.