What I have to do? Besides that assert, what’s the next step after what is shown in the video?
I’ve studied the code of the “ARAPluginDemo” example, but not only is different in numerous aspects wrt the video above, it’s also too convoluted for what I need, and it’s really difficult to extract from it only what I need for my project.
Are there any tutorials available that I’ve missed? Simple examples? Detailed documentation?
If I’ll be able to make this project, I’m available for building and publishing on GitHub a very simple example project to help future ARA developer.
Thank you, I’ll give a look at the example! Could you please confirm that the basic project that I’m trying to build (one button, process the whole track, and playback the processed version) is actually feasible with ARA? Thanks
a. I’m not sure what’s the benefit of ARA is the actual constrain is CPU usage. (if it is then basic offline rendering would be sufficient).
b. Not sure about the process you’re planning, as I guess you can separate it into multiple steps as some would be lighter/suitable for real time. But, yes, with ARA you can “analyze” the audio in non-realtime. but you’d have to implement a way to play it back in realtime. (so if it’s to intensive and you simply render the audio to files and then replays it, you end up making huge files, also, it’ll make the ARA plug-in less portable between studios as the user will have to ensure all the rendered files are shared with the project)
Thank you for your feedback. Correct me if I’m wrong, but JUCE does not support offline rendering right? Or better, you have to bounce in place the track with the effects enabled through your DAW menus. My problem is that the audio processing that needs to be integrated is too CPU intensive to run in real time, and also will strongly benefit from knowing the whole track (or at least pretty large buffers of it = not only CPU usage but also latency if run in real time).
Maybe offline rendering and saving the output in another track of the project may be the best solution , it could be something like: record the track, add the plugin, bounce in place the track, remove the plugin from the old track and mute it.
JUCE does not support offline rendering since the plugin formats do not support it.
But this is no problem when using ARA or letting the user record the audio manually.
If in your case not only the analysis but also the playback is too CPU intensive, you could just process the entire clip using ara/the recorded clip, store this as a file, and then playback the cached audio file instead.