Reading all input samples for analysis before processing in plugin


First time poster. Is it possible for a plugin to access all samples from the input track for analysis prior to processing, or is visibility limited to one frame at a time as it is passed to the plugin? I’m hoping there is some pointer that will give me access to reading all of the samples at any time.

Specific motivation: I’d like to have a button in my plugin that will allow me to analyze the entire audio waveform (offline) without needing to explicitly load the file separately with a browse button. This would allow me to setup certain parameters prior to processing.

It is not possible with the official Juce plugin client code. There have been unofficial forks that support Pro Tools offline AudioSuite(*) and the Celemony ARA plugin extension system. AudioSuite is of course Pro Tools-only, and ARA is not supported in all VST or AU hosts yet.

(*) The last time I looked, it seems that fork has now disappeared from the internet.

Bummer! Thanks for saving me some time.

I’m sure there’s a good reason for why this is unsupported. If anyone with visibility into this can comment on whether we might expect official support for something like this or not I’d appreciate it. Sometimes you avoid one path only to learn that it was on the roadmap and coming sooner that later :slight_smile:

And Apple have an auol offline type, but I didn’t find a way to utilise that. They use it for two apple built in plugins, but I am afraid you need a backdoor enabled…

➜  ~ auval -s auol

    AU Validation Tool
    Version: 1.6.1a1
    Copyright 2003-2013, Apple Inc. All Rights Reserved.
    Specify -h (-help) for command options

auol tmpt appl  -  Apple: AUTimePitch
auol vari appl  -  Apple: AUVarispeed

If you find out how to enable that, let me know, would be most useful

That would add a render pass called “Preflight” which is exactly such an analysis pass

If I find a good solution I’ll gladly share it :slight_smile: