Developer Notes: SONAR X3 VST Enhancements

Introduction

SONAR X3 is packed with enhancements and updates to the VST engine, including a brand new VST scanner with industry leading automatic background scanning, support for the VST3 plugin format and an updated plugin browser that supports plugin categorization. Many of the changes apply equally to VST2 and VST3 plugins.

VST background scanning

Users of prior versions of SONAR and other DAW software will be familiar with the process of scanning for VST plugins when the application starts up. SONAR has always had a fast scanner that only scans what’s needed. X3 kicks this up several notches by introducing industry leading background scanning. With background scanning there is no annoying wait every time you start the application. The launch is instantaneous and you can start working immediately. SONAR will continue checking for new plugins in the background and seamlessly make them available to SONAR when scanning is complete. When a new plugin is found a “toast notification” will show up in SONAR’s status area, much like how a new e-mail is displayed in some email clients. At the same time SONAR’s menus and the browser will automatically populate with the new entries.

 

This process dramatically speeds up application startup even if you have hundreds of plugins on your system only changed plugins are actually scanned. With background scanning, you can even install an entire plugin suite while SONAR is running the plugin’s will be detected, scanned and added to the plugin browser automatically without any user intervention.

VST Scan Preferences

There are several new options in the VST preferences.

Scan options: 

  • Automatic Background Scanning (default)
    SONAR automatically scans the folders in the VST Scan Paths list in the background by periodically detecting when data in the folders have been updated, or the scan paths have changed

  • Scan on Startup
    The folders listed in the VST Scan Paths list are searched for new plug-ins whenever you start SONAR. Scanning occurs in the background. Scan progress displays as toast notification messages in SONAR.

  • Manual Scan
    The folders listed in the VST Scan Paths list are searched for new plug-ins when you click the Scan button.

VST3 Migration:

  • Hide Related VST2 Plug-ins.
    If you have both VST2 and VST3 versions of a plug-in, you can instruct SONAR to automatically hide any redundant VST2 plug-ins from SONAR’s plug-in menus.

  • Replace VST2 Plug-ins When Opening Projects.
    If you have both VST2 and VST3 versions of a plug-in, you can instruct SONAR to automatically upgrade to the VST3 version when loading a project that uses VST2 plug-ins.

There are a few permutations for how VST plug-ins are substituted depending on whether you are loading in SONAR X86 or X64 and the chosen VST2 to VST3 migration flag settings.
See the online help for a detailed table showing the expected plug-in substitution results when opening projects containing VST plug-ins.

VST scanner features

  • Optimally detects and scans only changed plugins

  • Faster launch of SONAR

  • Dynamic background scanning – scans and finds newly added VST’s automatically in the background

  • Toast notifications display in SONAR showing scan progress and number of plugins detected

  • Many enhancements and fixes even for VST2

  • Supports VST3 plugins and plugin packages (e.g. waves shells)

  • Automatically detects updates in plugin packages when newly licenced plugins are added to the package, without requiring a manual reset and rescan

  • Backwards compatible with X2 and earlier

 

VST3 Support in X3 

Background

SONAR has supported various open plugin standards such as DX, MFX and VST2 for several years. With X3 we have added support for the VST3 plugin standard from Steinberg.

VST3, like its popular predecessor VST2, is a protocol for a host and plugin to communicate parameters, events and audio data. The name VST3 is a bit misleading however, since it really isn’t an evolution of the VST2 API but is a completely new plugin format. This factor has slowed down the adoption a lot since it requires significant changes to a host program and to plugin vendors to implement. Many VST3 features could also be achieved in VST2 plugins using “vendor specific extensions” to the VST2.4 specification. However this practice led to fragmentation of the API, since as such there was no official standard for even common operations such as sidechaining. VST3 on the other hand has “out of box” support for these operations and is a relatively more modern object oriented architecture similar to a model/view/controller design.

In more recent times, a few plugin vendors(e.g, Antares, Waves) have moved exclusively to VST3 for their development, to avoid the costs in developing for multiple formats as well as for some cross platform advantages offered by VST3. Another justification for our VST3 implementation came from our ARA (Audio Random Access) development in X3, since it was more natural for us to implement ARA using VST3 as the plugin model.

Supported VST3 functionality 

VST3 defines the protocol for a host and plugin to communicate with each other. As such VST3 itself doesn’t implement any features.like parameter automation, sidechaining, bypass etc.These must be implemented by both the plugin and the host. This is akin to the MIDI specification where there are a myriad operations defined in the spec, but typically a given synth only implements a subset of these.

X3 has a fairly deep VST3 implementation. All prior operations common to VST2 are supported of course, as well as a bunch of VST3 specific ones. Some highlights are:

  • All VST2 compatible operations

  • Improved Sidechaining including support for true mono sidechains.

  • Resizable plugin edit windows (eg Melodyne, Waves Dorrough Stereo, Fabfilter Timeless 2)

  • Plugin subcategories (plugin can be viewed by category in the plugin browser and menus)

  • Logical parameter organization (plugin parameters are organized logically by category in the edit filter allowing you to easily find a parameter)

  • Dynamic plugin packages. All VST dlls can now package multiple plugins. In VST2 Waves were the only vendor actively using Waveshells.

  • Automatable Plugin Bypass button/parameter. The effects view toolbar now shows an automatable per plugin bypass button when supported.

  • CPU savings for silent buffers. Silent buffers are marked so that plugins will not consume extra CPU for processing.

  • Sample accurate automation. Automation is now timestamped so plugins can interpolate and process it in a sample accurate way. In VST2 automation was as accurate as the audio buffer size.

  • VST preset support. You can save and load VST3 presets in the .vstpreset format.

  • VST program support. Programs built into plugins will be shown in the fx toolbar where supported

  • Backwards compatibility with VST2 plugins. Where supported, SONAR will automatically  migrate a VST2 plugin to its VST3 counterpart and retain its settings when loading projects. e.g Vendors like Waves support this.

 

IMPORTANT:

1.  All the above operations require support from the plugin itself so may not be available.

2. There is no VST3 bridging. You must use native 64-bit plugins in the 64 bit version of SONAR

 

Automatic VST2 to VST3 migration in SONAR 

Some VST3 plugins support automatic migration from VST2 plugins to the new VST3 version. This provides for a seamless migration path to VST3 when opening older project files containing the VST2 plugins. SONAR X3 will attempt to detect a compatible VST3 plugin when loading a project and automatically transition the VST 2.4 plugin to its compatible VST3 counterpart.

This capability must be supported by the plugin vendor to work. Currently Waves and Celemony support this protocol.

Migration Process

The logic for automatic migration relies on the VST3 plugin to advertise its compatibility with a VST2 plugin counterpart. If the VST3 plugin advertises compatibility, SONAR will automatically swap in the VST3 equivalent at load time and plugin will get a chance to load its state from.the VST2 persistent settings.

For plugin vendors that have a large base of VST2 plugins and wish to provide a smooth migration path to VST3, we recommend implementing this support for automatic migration.
For vendors who are interested in doing this there will be another article that describes this process in detail.

 

Compatible VST2 plugin Filtering

Another benefit of the compatible VST3 plugin detection protocol is that SONAR can  automatically filter out the compatible VST2 versions from its plugin menus and only show the newer VST3 version of the plugin. This helps avoid user confusion by not listing duplicate versions of the same plugins in the browser and menus. This filtering as well as the automatic migration can be disabled in the VST preferences.

 

Enhanced VST engine

SONAR’s VST plugin engine was redesigned to handle both VST2 and VST3 formats seamlessly. Along with the ARA implementation, our plugin abstraction layer was unified and optimized. Several longstanding plugin compatibility issues were also addressed.

 

Updated Plugin Browser

The plugin browser has been updated to make sorting and finding plugins easier.

Plugins can be grouped into folders by type – VST3, VST2, DX

When a plugin is selected in browser, status bar shows vendor name, version plugin type (VST2, VST3 or DX) bit depth, inputs and outputs

Spotlight search speed has been improved in the browser

Updated Edit Filter

In the edit filter if the plugin supports plugin supports parameter categories, the params will be grouped into sub category folders. For plugins that have hundreds of parameters, this makes it much easier to find what you are looking for.

 

 

 

Updated Plugin Manager

Plugin manager has been updated to list VST3 plugins

Plugin layouts can now distinguish between VST2 and VST3 plugins

 TIP: You can now quickly make pre categorized custom layouts. To do this:

– Turn on “Sort VST3 Plugins by category” in the plugin browser

– Select Manage Layouts from the plugin browser.

This will open the plugin manager pre populated with the VST3 categories.

 

Misc Enhancements

 

Automatically stream audio through FX

This option replaces the old Play Effect Tails on stop option in Options | Audio | Playback and recording, and is a superset of that functionality. It is enabled by default.

When enabled, if the track/bus contains any active fx, the audio engine will be activated and will stream silence through this track/bus effects always, even if the track has no audio data or input monitor active.

This addresses numerous longstanding problems with plugins that don’t update their UI until audio is streamed through them. Another benefit is that plugins will now respond to envelopes even on empty audio tracks, something that confuses many users when parameters in the plugin UI did not change.

This also benefits plugins that are generative – for example a plugin may have a preview audio mode (eg Melodyne) or may emit a tone when clicking on a virtual keyboard.

The only time the user may want to disable this is to conserve a bit of CPU if there are lots of dormant tracks in the project containing FX.

 

Flicker free plugin window resizing

Plugin windows can now be resized by dragging borders without flicker. On demand resizing is also permitted for plugins that support it.

Support for mono-only sidechain plugins

X2 and earlier only supported sidechain plugins with stereo inputs.

X3 now has full support for mono sidechainable plugins for both VST2 and VST3 (e.g. Fabfilter Pro C – Mono SC, Waves C1 comp SC mono, etc)

Enhanced VST MIDI Out functionality

VST plugins that support VST MIDI out are directly supported without needing to register them as a synth first. A MIDI out port is enabled automatically when a VST plugin supports MIDI output.

A future update will allow MIDI input/output on such plugins to be toggled at will.

Additionally a longstanding problem with multiple MIDI out VST plugins causing a SONAR to hang was addressed.

 

Dynamic plugin parameter envelope value tooltips

Tooltips now show parameter values in native plugin units for VST3 plugins

Internal parameter filtering

Some plugins have internal non automatable parameters. In past versions these parameters would be listed along with others in the edit filter. X3 now filters out all non automatable parameters from the edit filter.

Seamless, Genius, Limitless

No more plugin limit warnings! Past versions supported upto 700 plugins in menus.

SONAR X3 now supports unlimited plugins in menus and in the plugin browser.

Summary

SONAR X3 is packed with enhancements and updates to the VST engine, greatly improves the plugin workflow and provides users with greater compatibility with their plugins.

2 Replies to “Developer Notes: SONAR X3 VST Enhancements”

Comments are closed.