VST 3 SDK  VST 3.6.14
SDK for developing VST Plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
Test Applications

Some Host Applications showing how to use VST 3.

It uses cmake as project generator: How to use cmake for Building VST 3 Plug-ins

Validator command line

The validator is a small command line host application (source code included) which can be used to check your Plug-in for VST 3 conformity.

You can also write your own test code and let the validator execute it (see adelay for an example). Very nice for automatic build server integration.

Check the folder public.sdk/samples/vst-hosting/validator of the SDK!

AudioHost - Cross-platform Standalone

Simple cross-platform (only tested on Linux) host application allowing to register a VST3 Plug-in to Jack Server. You have to download at first the Jack Audio SDK and application server (http://www.jackaudio.org).

Windows (not tested): audiohost.exe "C:\PATH_TO_PLUGIN" macOS (not tested) / Linux: audiohost PATH_TO_PLUGIN

On Windows and macOS you can also drag and drop a VST 3 Plug-in on the executable via Explorer/Finder.

Check the folder public.sdk/samples/vst-hosting/audiohost of the SDK!

EditorHost - Cross-platform Standalone

Simple cross-platform (Win/macOS/Linux) host application allowing to open the editor of a VST3 Plug-in. (With HiDPI support on Windows/macOS) Call it from the command line: Windows: editorhost.exe "C:\PATH_TO_PLUGIN" macOS/Linux: editorhost PATH_TO_PLUGIN

On Windows and macOS you can also drag and drop a VST 3 Plug-in on the executable via Explorer/Finder.

Check the folder public.sdk/samples/vst-hosting/editorhost of the SDK!

VST 3 Plug-in Test Host

The SDK provides a test application called VST3PluginTestHost for Apple Mac OS X (i386/x86_64) and Microsoft Windows (32bits, 64bits). These different executables (installers) are located in the folder "bin".
This application allows you to load a Plug-in, simulates some inputs (Audio and Event) and acts like a small VST 3 host application based on an ASIO driver.
Included in this application is a test module which allows you to check your Plug-in in regard to the VST 3 standard.

How to use it?

plugintesthost.jpg
  • View -> Open Plug-in Information Window: opens a window showing all registered component and controller VST 3 Plug-ins
  • View -> Open Plug-in Unit Tests Window: opens a window where you can test your Plug-in with a series of unit tests.
  • View -> Open Preset Editor: allows you to open, check and modify VST 3 presets (adding meta attributes like in Instrument/Style/Character)
  • File -> Convert VST3 Preset to VST2 preset (fxp or fxb): allow to convert VST3 Presets to compatible VST2 Presets.
  • File -> Overwrite Plug-in Name in VST3 Presets: allow to rename the Plug-in name in a set of VST3 Presets.

VST Player Window

Audio Input

In this section you can select the audio source of your Plug-in for the Main Input Audio Bus and for the Aux Input Audio Bus (sidechain: if available) between:

  • A sine wave
  • Noise
  • Silence
  • ASIO Input (first stereo)
  • An Audio File (in this case use the browser (... button) to choose the file (wave, aiff))


A Volume slider allows you to control the level of the source.

Event Input

This section simulates note events sent to the Plug-in.

  • A pattern could be defined and initialized with randomized, chromatic or manual events. (for Chromatic choose the start note in the pattern and select Chromatic in the pop-up menu).
  • Active check box: enable/disable the playback of this pattern.
  • You can choose different loop stepping for this pattern [1, 1/2, ...1/32]

VST Rack

This section allows you to load serialized multiple Plug-ins. Each Plug-in will be loaded in a slot.

  • To load a Plug-in (Audio or Instrument) click on the associated pop-up menu and select one Plug-in.
  • To unload a Plug-in, click on its associated X button on its slot.


For each loaded Plug-in in a slot you can:

  • Enable/disable the Plug-in with the On button.
  • Bypass/process the Plug-in with the Byp button (if available as parameter).
  • Enable/disable the Sidechain bus with the Aux button (available only if the Plug-in has input sidechain).
  • Open its editor with the Edit button.
  • Save a Preset with the Store button.
  • Load a Preset with the Load button.
  • Open the information page of this Plug-in with the Info button (see below).



Info Window

  • Information window of AGain Plug-in showing the Parameters panel:
    infopage.jpg


  • Information window of NoteExpressionSynth Plug-in showing the Note Expression panel:
    infopage2.jpg


Transport

In this section you can:

  • set the gain of the output audio
  • control the transport state (Loop/Start/Stop/Rewind)
  • change the tempo and signature


transport.jpg



<b>VST 3 Plug-ins</b> Tests Window

plugintestwin.jpg

In this window you can select a specific test branch for a specific Plug-in. You can navigate in the test tree (left part), then click on the button Run Selected to process only the selected tests.

There are 2 kinds of tests concerning the way the Plug-in is instantiated:

  • Global Instance: only one instance of the Plug-in will be instantiated for all tests.
  • Local Instances: for each test a new instance of the Plug-in will be instantiated.

We define currently 2 sets of test:

  • VST 3 Conformity
  • Special Features

You can run all available tests with Run All. It is possible also to disable some tests with the check box in the left view.

Error reports will be displayed in the Errors view. In the Messages View some warnings (or some Plug-in limitations), test results and progress are displayed.

In this first version of this Plug-in test host, the tests are limited to the main VST 3 features, in a future version the test coverage will be extended.

Preset Editor

preseteditor.jpg

With this editor you can load and modify VST 3 presets created with the Store button of the VST Rack by adding some meta-attributes.

Empty

Copyright ©2019 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.