Dplug VST3 Guide

Guillaume Piolat edited this page Dec 21, 2018 · 4 revisions

How to build VST3 plug-ins with Dplug?

This write-up describes the steps required to build a private VST3 plug-in using Dplug. Whether or not Dplug is GPLv3 compatible is unknown. It's advised not to distribute such a plug-in.

Step 1. Modifying dub.json

Add a dplug:vst3 dependency in your plugin's dub.json

eg:

    "dependencies":
    {
        "dplug:vst3": "~>8.0"
    }

Step 2. VST3 Configuration

Add a configuration with a name starting with VST3 in your plugin project

"configurations": [
    {
        "name": "VST3-GOLD-EDITION",
        "versions": ["VST3"],
        "targetType": "dynamicLibrary",
        "lflags-osx-ldc": [ "-exported_symbols_list", "module-vst3.lst", "-dead_strip" ]
    }
]

You can find module-vst3.lst in the given example in the distort or clipit examples.

Step 3. VST3 Entry points

Add the VST3 entry points in your main source file:

    version(VST3)
    {
        import dplug.vst3;
        mixin(VST3EntryPoint!MyClient);
    }

Step 4. Building with dplug-build

Build with the right configuration:

$ dplug-build -c VST3-GOLD-EDITION

Such a VST3 cannot be distributed.

How to distribute VST3 plug-ins with Dplug?

This write-up describes the steps required to release a commercial VST3 plug-in using Dplug.

Step 1. Make your own Dplug VST3 client

From the Steinberg original VST3 SDK, create a dplug:vst3 equivalent following the Proprietary License option. Keep this modified SDK private.

Use a path-based dependency to use it. You can't look at the GPLv3 dplug:vst3.

Step 2. VST3 Distribution Agreement

Get a signed agreement for VST3 distribution with Steinberg. You can't ever release VST3 plug-ins without Steinberg's approval.

Step 3. Distribute

Use the VST3-compatible image in your documentation, binary distributions, and any material accompanying the VST3 plug-in.

VST Compatible Logo

FAQ

Should I sign a VST3 distribution agreement with Steinberg?

Yes, if you want to distribute VST3 plug-ins.

Reimplementing dplug:vst3 without looking at it doesn't seem easy.

Not my problem.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.