Best Practices for deploying VST plugins on Windows

Best Practices for deploying VST plugins on Windows

Guest post by Gig Performer user Jim Erwin
— Keyboard player with The Suburbans

.

Best Practices (okay… my practices) for deploying VST Plugins on Windows

.
I’ve seen multiple approaches to installing VST plugins on Windows. After a number of years of building new Windows-based audio workstations, I have developed the following consistent approach to my plugin installation structure. There are two reasons for this. First, as I move from one machine to another, it is far easier to migrate when the machines are set up in a consistent manner from the old machine to the new machine. Second, my approach embraces the concepts around Windows security in order to avoid needing to ‘run as administrator’ for most application usage. Your mileage may vary, but here’s my take on the process. I would offer up that the install location for RTAS plugins would probably follow this same guidance, but I don’t use and typically won’t install a RTAS plugin on my system.

In today’s age, most of us Windows users (at least 90%) are on a 64-bit version of Windows. For non-business usage, that percentage is yet higher. I would expect for power-audio users, that is really at the 100% mark. I make it a policy to no longer use any 32-bit audio applications or plugins with my system, no exceptions. The incurred overhead and potential instability just isn’t worth it. That being said, I will reference where/how 32-bit plugins should be installed given my approach. Some install packages will require you to install and/or specify a location for 32-bit plugins in order to install the 64-bit versions, so there ARE some 32-big plugins on my systems. I just refuse to use them.

Application Install Location Guidance

.
By default, Windows 64-bit applications should install somewhere under C:\Program Files\ with some additional path specified by the installer package with either the vendor or application name folders or in some cases both. An example of this would be C:\Program Files\Arturia or C:\Program Files\KV331\SynthMasterOne .

By default, Windows 32-bit applications that are installed on a 64-bit Windows operating system will install to C:\Program Files (x86). Please note that in either case, I would NOT install these application files in the same location as your VST2 plugins. This is an anti-pattern. Installing the application files in your scanned plugins folders will result in scanning and flagging a significant number of .dll files that are NOT VST plugins. There are other side-effects of this approach that go beyond the scope of this set of best practices. Just suffice it to say “It’s a bad idea”.

Install Locations for VST2 Plugins

.
For VST2 plugins, a location that is ‘accessible’ to all users is a good practice. Personally, I will create a the folder C:\users\public\vstplugins on any new system I build. I will then create two additional subfolders, C:\users\public\vstplugins\x86 and C:\users\public\vstplugins\x64 for 32-bit and 64-bit plugins accordingly. I will then install any VST2 plugins of the appropriate type (32-bit or 64-bit) into the appropriate folder and specify the 64-bit one in the Plugin Manager:

Select VST Plugin Folders To Scan dialog in Gig Performer

This also makes for VERY simple setup of your VST2 scan folders for ANY audio applications that can load them.

Guidance for VST 3 Plugins

.
I don’t have any specific guidance here being as the methodology of how discovery is done with VST3 plugins is VERY different from VST2 plugins. I simply accept whatever location the installer package wants to put them in.

Installing Present Libraries, Sample Libraries, etc.

.
Provided the installer supports choosing the location of any preset/sound/sample libraries to be installed (and most do), I always install these under C:\users\public\documents. You may or may not choose to subdivide into additional subfolders based on vendor/application/etc… dependent on the particular installer package, however if you are taking a specific approach, DOCUMENT AS YOU GO. If you need to recover or build a new system, you will thank yourself for the guidance.

Please note that some libraries come with a significant amount of additional subfolders of their own, so you creating your own subdivisions could create excessively long path names that can cause other types of issues. Do so sparingly and at your own risk.

Backup, Backup, Backup

.
Lack of a backup strategy with a critical system like your audio workstation is sheer laziness that will one day bite you in the ….. I personally back up before any significant system change and at least once a week whether I’ve changed anything significant or not. This approach has saved me weeks of effort in the last year alone. Lack of a backup strategy is simply negligence on your part for something you obviously think important enough to spend some significant time on. I personally have been using Acronis True Image as my backup utility for 15 years with great success. Not only have I done full system restores from images, but occasionally just having the ability to peruse the file system at a date several months in the past to recover just one version of a given file has saved me significant effort in the long run.

Closing Thoughts

.
I’m hoping some of you find this guidance useful, however I’m sure there are others that have their own consistent standards for this topic. This post was really intended for those who do not yet have a standard, particularly those just starting out in the VST plugin world. This is one right approach, but not the only right approach. Your mileage may vary.

.
Related topics:
How to specify VST and VST3 plugin locations?
Gig Performer is used by professional and well known musicians all over the world
Community tips and tricks



Scaling curves allow you to control the shape of the output of a widget or convert an incoming note velocity to a new velocity. Various predefined curves are available and they can be tweaked as necessary. You can also just draw your own curve as well to achieve the effect you require.

 

MIDI File Player Plugin


You can load up to 128 MIDI song files in a single plugin instance. Switch from one song to another, mute tracks and/or change their channel numbers. Tempo can be controlled by individual songs or you can use the global tempo and tap tempo to control the BPM interactively.

 

Favorites and Presets


Create a sound by placing and interconnecting your desired plugins, such as a synth, some effects and perhaps a mixer. Select them all and then save the selection as a named favorite. The favorite will subsequently show up in all plugin insert menus, making it easy for you to recreate that configuration whenever you need it again. This feature is also very powerful for creating your needed sounds on your studio computer and then transferring them to your touring laptop.

 

Probabilistic Sound Designer


Parameters you select in an open plugin are captured into the Probabilistic Sound Designer dialog window. When you click Randomize, you're only adjusting those selected parameters. Each entry in the PSD dialog has a curve but unlike widgets where the curve controls scaling, in the PSD the curves are used to define the probability of particular values being selected. Make sure the filter cutoff never gets too slow so as to block all sound. Perhaps adjust the max range of the VCA attack parameter so that the sound doesn't have too much delay. Constrain the octave ranges of the oscillators, perhaps ensuring that 1/3rd of the time we select 8' and 2/3rds of the time we select 4'. The possibilities are endless.

 

More Widgets


Numerous new widgets are included in Gig Performer - a new sustain pedal, plastic knobs, drum pads and more colored sliders. Shapes can be colored with different borders and fill colors and morphed from rectangular to circular. Your creativity is now the limit to creating fabulous front panels in Gig Performer.

 

MIDI Message Helper


Select MIDI devices by name. Choose the MIDI message type and adjust the appropriate parameters for the specific type

 

  

Layout management


Gig Performer supports arbitrary resizing. Layout your widgets the way you want - resize the main window and the widgets will grow or shrink as necessary to maintain the same interrelationships. No matter what size screen you have, your front panels will still be neat and usable.

 

Undo Support


If you move your widgets around and/or resize them, or even delete them by mistake, the Undo facility will correct your mistake. Minor moves to a widget by mistake will no longer spoil your design

 

Plugin Channel Count


Some plugins support a large number of outputs and they depend on the traditional channel strip to control how many ports should be available.   When you only need a stereo pair, it is convenient not to have a large horizontal block. In Gig Performer, the number of available ports  is controlled by the channel count override, which can be applied to individual plugins and will be remembered when the gigfile is reloaded or if the plugin is saved as a favorite.

 

Input muting and output fading


Rather than a single audio length tail, Gig Performer 4 gives you the ability to control input muting and output fading separately. Input muting controls how much time it takes for audio input to be silenced when you leave the rackspace. Output fading controls how much time will be taken for audio to fade out when you leave the rackspace.

 

Faster Plugin Finder


Instead of searching through menus of perhaps hundreds of plugins (you know who you are!), the Quick Plugin Finder makes it easy to find the plugin you need by simply typing partial strings. For example, as shown here, to find the Modartt Pianoteq 7 plugins, it's enough to type pia mod 7 (in any order, by the way)  to restrict the list of available plugins to those matching your query. The Quick Plugin Finder also knows about manufacturers, presets and favorites.

 

  

Touch Friendly Input


Any entry field can be changed by either dragging your mouse (or finger) up or down, or by using the large popup touchpad where you can just tap on the squares to enter a value. The large popup keypad also does validation so you can't enter an invalid value. You can also just tap the BPM field to pop up a larger view where you can quickly change tempo, tranpose, trigger Tap Tempo and enable Ableton Link, the last allowing you to synchronize Gig Performer with any other application that also supports Ableton Link.

 

New Tuner Display


The tuner view makes it easy for guitarists to quickly check and adjust their tuning. You can toggle into the tuner view from any other view and toggle right back as soon as you're done. All output will be silenced automatically while you're in tuning mode. You can adjust the concert reference pitch from its default of 440 Hz to suit your own needs. The tuner view fills the entire screen so you can easily see it from a distance.

 

GP Script Enhancements


GP Script adds new language improvements such as multiple initialization sections, initialization with declarations and enhanced callbacks. The WidgetValueChanged callback now supports multiple widgets. Sysex messages are now built-in with numerous supporting functions. String array handling is much faster. Integer bit manipulation is now built-in. A new global GigScript allows incoming MIDI messages to be modified and redirected on the fly. It also allows you to define keyboard macros for your computer keyboard to control Gig Performer itself. For complete information, please review the GP Script Language Manual available through the Help menu.

 

Scriptlets


Scriptlets make creating custom MIDI processors easy. You don't have to be a programmer to use them - you can just download scriptlets from our ever-growing collection on our website and drop them right into your rackspaces to use them. Use scriptlets for simple operations such as turning your single notes into chords, modifying, duplicating or converting one kind of message into another, automatic chord latching (AutoSustain), threshold detection, sysex manipulation... imagination is the limit.

 

Other Improvements


  • System Actions plugin
  • MIDI Out to OSC converter
  • Comment plugin
  • New GUI dialog to define MIDI events to send on song part change
  • MIDI Out blocks can automatically send multiple MIDI events
  • Open/close a plugin editor from a widget
  • Choose default startup view
  • Quick find for plugin parameters
  • Large collection of startup hints
  • OSC Patchbay mode
  • Plugins now default to stereo I/O
  • Dragging presets into the wiring view will automatically create the required plugin
  • Numerous other minor (but nice) usability and workflow enhancements

Numerous other enhancements and optimizations serve to make Gig Performer 4 a superb platform for performing artists.

 

Songs and Setlists


You can organize your rackspaces into songs and your songs into setlists and then just select the setlist you need for a show. Then simply cycle down through the parts, or use your control surface or a MIDI Guitar pedal controller to select individual parts directly.

 

Predictive Loading


Predictive Loading™ is an advanced feature that reduces your RAM and CPU resources by only loading rackspaces (or songs) as needed.

 

 

The Global Rackspace


The Global Rackspace can receive audio from whatever rackspace is currently active. Instead of inserting effects in every rackspace, simply insert them once in the Global Rackspace and all your local rackspaces will have access to them. The Global Rackspace can also send audio to the currently active rackspace. So you can insert a looper that receives audio directly from your guitar (say) and then send the looped audio to different effects in different rackspaces. If a particular instrument such as a piano or organ is needed everywhere (or almost everywhere), put it in the Global Rackspace.

 

   

Zoomable Wiring View


Gig Performer 4 provides a virtual view allowing you to spread out your blocks and connections to make them easier to see and manage, even if you have a very small screen. You can zoom in or out and you can use the Auto-Fit option to position your blocks to fit in the available space.