Add a third-party VST3 preset via script?

Thiago_Sase wrote on 12/7/2025, 5:31 PM

@jetdv Hello, Sir. Is it possible to add a third-party VST3 preset via script, like those saved as presets from Izotope or Waves plugins?

Comments

jetdv wrote on 12/8/2025, 9:24 AM

As long as you're only choosing a preset, that should work fine. Just add the audio effect to the audio event and then tell it which preset you want to use. Basically after adding the effect, add:

effect.Preset = "The Preset I Want To Use";

It really should not matter what kind of effect it is. They should all work the same.

Thiago_Sase wrote on 12/8/2025, 10:02 AM

@jetdv Thanks for trying to help. I learned from your video lessons how to add an audio effect with a preset.
 

// Method to Add the "Volume" FX
public void AddVolume(Vegas vegas)
{
    try
    {
        PlugInNode effects = myVegas.AudioFX;

        foreach (Track myTrack in myVegas.Project.Tracks) // Go through the tracks
        {
            if (myTrack.IsAudio()) // Is it an audio track?
            {
                foreach (AudioEvent aEvnt in myTrack.Events) // If yes, go through the audio events
                {
                    if (aEvnt.Selected) // If the audio event is selected, add the audio effect
                    {
                        Guid effGUID = new Guid("ee38ca88-d78e-4bfb-b05e-577892730c83"); // Volume effect GUID
                        PlugInNode thisEff = effects.GetChildByClassID(effGUID);
                        Effect audioEffect = new Effect(thisEff);

                        aEvnt.Effects.Add(audioEffect);

                        // Set the desired preset count
                        int presetCount = 2; // Assuming 2 is the index of the desired preset
                        if (audioEffect.Presets.Count > presetCount) // Ensure the preset exists
                        {
                            audioEffect.Preset = audioEffect.Presets[presetCount].Name; // Set the preset
                        }
                        else
                        {
                            MessageBox.Show("Preset index out of range.", "Error");
                        }
                    }
                }
            }
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show("An error occurred: " + ex.Message, "Error");
    }
}

However, that approach does not work with VST3 preset files. In my case, I'm using the De-Clip effect from iZotope RX 11.

Guid effGUID = new Guid("9e637d3c-3195-19ec-03ba-0007e95d36fa"); // iZotope RX De-clip GUID

When I save the preset from the iZotope De-Clip effect, it is saved by default in the following path:

C:\Users\SASE1\Documents\VST3 Presets\iZotope\RX 11 De-clip

The preset file name is "De-ClipSase" and the extension is .vstpreset

De-ClipSase.vstpreset

This is my issue: How can I call the preset file via script? Is it possible?

 

jetdv wrote on 12/8/2025, 10:10 AM

If it's an actual "Vegas" preset, it should work. If it's a preset chosen using the Izotope interface, I can see there being an issue. I don't have any VST (other than what comes with VEGAS) to test with. But if it has to load a file using the VST interface, I'm sure the script can't see that. If you load that preset, can you save it then as a VEGAS preset? For example, here's a VST that is on my system. There's two places for presets. You can only choose from the top one:

Thiago_Sase wrote on 12/8/2025, 11:47 AM

If it's a preset chosen using the Izotope interface, I can see there being an issue.

I understand better now. Indeed, it is not possible to save using the Vegas interface because, even when saving through the Vegas interface icon, it immediately opens the VST3 path. In other words, it has to load a file using the VST interface.

Anyway, thank you very much for the help, Sir.