No internet connection
  1. Home
  2. How to
  3. Pro Tools

Automating ARA Process

By Aaron Bastinelli @Aaron_Bastinelli
    2025-05-21 02:21:09.285Z

    Hello,

    What's the best way to automate activating an ARA Plug In, selecting a button in the ARA Plug In and then "committing" the processing?

    For example I'd love to automate my ARA DynAssist process. This requires turning on DynAssist, pressing the 'Analyze' button at the bottom of the plug in, and then rendering the processing (usually by hitting the 'none' button in the elastic audio/ARA menu on the track and selecting commit). I typically have to do this for a handful of tracks, so it would requiring running the entire process on one track, and then moving onto the next track below to repeat the process since you can only have one instance of DynAssist active at a time.

    Thanks for any help!

    Solved in post #2, click to view
    • 4 replies
    1. Ben Rubin @Ben_Rubin
        2025-05-21 13:55:46.150Z

        This should get you started. It's a template to put an ARA or Elastic Audio plugin on selected tracks. You will have to make a preset for each Plugin you want to use. Gonna make a searchable one, but havent gotten to it yet.

        const elasticAudioARAPluginName = event.props.elasticAudioARAPluginName
        
        /**
         * @param {object} obj
         * @param {string} obj.plugin
         */
        function setElasticAudioPlugin({ plugin }) {
            const track = sf.ui.proTools.selectedTrack;
            const elasticAudioOrAraPlugInSelector = track.popupButtons.whoseTitle.is("Elastic Audio or ARA Plugin selector").first; 
        
            elasticAudioOrAraPlugInSelector.popupMenuSelect({
                menuPath: [plugin],
                isOption: true,
                isShift: true,
            });
        }
        
        sf.ui.proTools.appActivateMainWindow();
        
        setElasticAudioPlugin({
            plugin: elasticAudioARAPluginName
        });
        
        sf.ui.proTools.mainWindow.invalidate()
        

        Here is a list of all the plugins (with correct naming, current as of today):
        Polyphonic
        Rhythmic
        Monophonic
        Varispeed
        elastiquePRO
        X-Form (Rendered Only)
        Acoustica
        Auto-Align 2
        DynAssist
        Melodyne
        RePitch Elements
        RX Spectral Editor
        SpectraLayers
        VocAlign 6 Standard
        WaveLab

        if you're unfamiliar with making a template. first choose script, then convert to template. Then create a property called Elastic Audio ARA Plugin Name with type "string."

        This script will do all selected tracks at once. There is plenty of code floating around this site to set your script up so it will cycle through one track at a time.

        ReplySolution
        1. AAaron Bastinelli @Aaron_Bastinelli
            2025-05-21 22:36:56.528Z

            Hey Ben,

            Thanks so much, I really appreciate this! Apologies as I'm on day 2 of sorting out how to use Soundflow and becoming familiar with Scripts. I know how to make a template with this Script, but I'm struggling to figure out what part of the script I need to change with the plug in name. I've tried a few different places but keep running into errors. Any guidance would be appreciated!

          • Ben Rubin @Ben_Rubin
              2025-05-22 00:27:38.220Z

              Hey Aaron,
              You shouldn't have to change the script at all. When you make the template, you are creating the variable "elasticAudioARAPluginName," which is defined by

              const elasticAudioARAPluginName = event.props.elasticAudioARAPluginName
              

              then you create a preset for each plugin you want to have access to and you put that name in the field available in the preset. then the script will feed that preset into the script using the variable.

              Does that make sense?

              1. A
                Aaron Bastinelli @Aaron_Bastinelli
                  2025-05-22 18:30:23.863Z

                  Hey Ben,

                  This does! Appreciate your patience and explanation. I have it working now. The script opens up the desired ARA plug in on the track I have highlighted, I'll hunt around for scripts to have it move to the next track.

                  I'm trying to sort out how to get the script to close and render the plug in. Maybe you can help clarify how the UI Element "pick" works. Is there a way for me to "menu" dive with that feature? I can't figure out how to click an element in a drop down menu that has multiple options after the initial clicking. If that makes sense.