How To Tell If You Computer Has Vst Plugins

How to Manage VST Plug-Ins with Windows

  1. How To Tell If You Computer Has Vst Plugins Plugin
  2. How To Tell If You Computer Has Vst Plugins Better
  3. How To Tell If You Computer Has Vst Plugins Free
  4. How To Tell If You Computer Has Vst Plugins Download

The way you install your plug-ins can help determine how easy they are to use

by Craig Anderton

There are lots of other frameworks out there for developing VST plugins in other languages (such as C#, Java, Ruby and Python, just to name a few). This tutorial will walk you through the process of installing and configuring the tools you’ll need to build your own VST plugins with Visual Studio, and creating a simple VST plugin with optional. Your plugins on Splice. You haven't purchased or downloaded any plugins on Splice yet. Browse free plugins.

You’ve blown your budget on some kick-ass plug-ins, both processors and instruments, and downloaded scores of public domain goodies from the interwebz. Face it: you have a bad case of plug-initis.

But as the number of plug-ins increases, watch out. Some plug-ins are incompatible with certain programs or systems. Or, a program that used to work fine might hang whenever it tries to load a new plug-in—so you can’t open the program to tell it to ignore the problematic plug. And for some reason, that tempo-synched delay simply refuses to sync . . .

Definitely one of the best free VST plugins you ought to have in your VST rig! 33) MX Project T. Rex 606 Modelled after the vintage Roland TR-606 drum machine of yore, The T.REX 606 is a beast in its own right with some added bells and whistles.

Before matters get out of hand, let’s look at how to raise well-behaved plug-ins. We’ll concentrate on the VST format, but also give a nod to the DirectX plug-ins. I call DirectX a “zombie format” because new development ceased a long time ago after Microsoft lost interest, but they remain relevant and are supported by Sony, Cakewalk, Acoustica, and others.

CALLING ALL PLUG-INS

VST plug-ins usually reside in a folder called (surprise!) “Vstplugins.” Ideally, you should keep all your VST plug-ins in one folder. If you have multiple programs that support VST plug-ins, point them to this one folder. Usually you can specify a folder where a program should install its plug-ins during the installation process, or via a Preferences or Options page where you can specify the folder’s path.

Because some program’s plug-ins will work with other programs, you might want to specify C:Program FilesCommon Files as an appropriate location to install common shared executable content like plug-ins. For example, C:Program FilesCommon FilesVST3 can be a suitable location for VST3 files; some vendors (including Celemony) put plug-ins in C:Program FilesCommon FilesVST2.

Some programs will instead insist on installing their own plug-ins folder, and reference that. You may be able to simply drag a plug-in from that folder to your main folder, but that doesn’t always work. Move the plug-in, tell your program not to scan the original folder, and see if the program recognizes the plug-in in your main folder. If so, you should be okay but there may also be presets and other elements scattered around. Often, it’s best just to leave any installed folders (Fig. 1), and include them in the scan path. (Also, do a search on “vstplugins”—you might be surprised at how many folders you unearth.)

Fig. 1: In Live’s Preferences menu, like most other hosts, you can specify a path to the VST plug-in folder. Clicking on the browse button can change the path from the default folder.

DirectX plugs can live anywhere, because installing them registers them in the scary Windows Registry. However, you may not know exactly where they are, which can be a hassle if you want to uninstall a troublesome plug-in and there’s no obvious uninstall routine. If you’re a Cakewalk SONAR user, the Plug-In Manager lists your DX plug-ins and shows their file paths, file names, and registry keys; it can also import, export, and manage (delete, rename) plug-in presets.

WHEN GOOD PLUGS GO BAD

Many programs that host plug-ins scan and initialize them when launched. Often there will be a “status line” that shows each plug’s name as it’s being scanned. Sometimes, though, the program will “freeze” at a particular plug-in.

Don’t panic! Like other software, first check for updates on the web, especially if you’ve changed operating systems. Sometimes that alone fixes the problem. If it doesn’t, with a VST host, look at the status line. If it’s stuck on a plug-in name, 99% of the time that will be the plug-in causing the problem. Reboot, go to the Vstplugins folder, then drag the plug-in out of the folder. Now re-launch the program. This time, it won’t hang at the plug-in because the plug-in isn’t there. Hopefully, the program will load completely but if it hangs on another plug-in, remove it too.

After the program loads successfully, quit the program, then drag one of the plug-ins back into the Vstplugins folder and re-launch the program. Often times, the plug-in will now be recognized. Repeat for all the plug-ins you removed. If the program still hangs at a particular plug-in, try re-booting and re-launching. If a problem remains after a few reboots/re-launches, the plug-in may simply be incompatible.

If a particular program is allergic to certain plug-ins, you can:

  • Create a separate plug-ins folder, drag over copies of all the plug-ins known to work with the program (or re-install if needed), and point the program to this folder.
  • Disable problematic plug-ins from within the program. For example, Steinberg Wavelab has an Organize Master Section Plug-Ins function under the Options menu where you can “turn off” plug-ins (Fig. 2).

Fig. 2: Wavelab’s plug-in organizer can enable and disable specific plug-ins; it also provides some information about them.

This problem seems less common with DirectX, but if a DX host program hangs on launch while scanning plug-ins, close it and launch again. In almost every time this has happened to me, running the program a couple of times will eventually recognize all the plug-ins. With some programs, you can create different plug-in layouts so that, for example, you could create a set that excludes all DirectX plug-ins (Fig. 3).

Fig. 3: SONAR’s plug-in manager lets you enable or exclude plug-ins. It also furnishes path and registry information, allows exchanging plug-in presets with other SONAR users, and lets you create “layouts” for particular plug-ins—for example, you can create one with only 64-bit plug-ins, and another with particular collections of plug-ins.

32-BIT PLUG-INS IN A 64-BIT WORLD

People often ask if their favorite 32-bit plug-ins will work with 64-bit programs. The answer is a definitive...maybe. There are two popular “wrappers,” BitBridge and JBridge, which allow 32-bit plug-ins to work in 64-bit systems. It’s amazing they work at all, but do note that some plug-ins simply will not play nice. Also, some users report one program being able to wrap some plug-ins while the other one can’t, so it is somewhat hit-or-miss. It’s highly recommended that if you’re running a 64-bit DAW with a 64-bit OS that you use true 64-bit plug-ins, but that said, these utilities can extend the life of your 32-bit plug-ins while you wait for 64-bit versions to arrive...assuming they ever do, of course.

Bear in mind that plug-in bridging can make some systems less stable. This isn’t really the fault of the bridge software, but the result of trying to do something that stretches the boundaries of compatibility.

LEAN AND FRESH

If you don’t use a plug-in, remove it from your system (for VST, uinstall or if that's not possible, drag to a different folder or delete; for DirectX, use the uninstall routine). Although plug-ins tend to be pretty solid, fewer plug-ins mean less scanning time when a program launches, and a tidier selection process.

How To Tell If You Computer Has Vst Plugins Plugin

Okay! Now go weed out the clutter and refresh your plug-ins—your system will thank you for it. -HC-

______________________________________________

Craig Anderton is Editorial Director of Harmony Central. He has played on, mixed, or produced over 20 major label releases (as well as mastered over a hundred tracks for various musicians), and written over a thousand articles for magazines like Guitar Player, Keyboard, Sound on Sound (UK), and Sound + Recording (Germany). He has also lectured on technology and the arts in 38 states, 10 countries, and three languages.

Introduction

Microsoft announced that it would offer Visual Studio Express free of charge forever. Though the Express version of Visual C++ (hereafter referred to as VC++) has some limitations, it’s still a great tool and it’s nice to see Microsoft taking some steps to support the developers writing software for their platform. This document will describe how to get VC++ installed and building VST plugins. It assumes that you have prior experience developing VST plugins, and are familiar with the structure and layout of the VST SDK.

How To Tell If You Computer Has Vst Plugins Better

If you are trying to write VST’s in a language other than C++, than this guide is not for you. There are lots of other frameworks out there for developing VST plugins in other languages (such as C#, Java, Ruby and Python, just to name a few).

This tutorial will walk you through the process of installing and configuring the tools you’ll need to build your own VST plugins with Visual Studio, and creating a simple VST plugin with optional support for a VSTGUI frontend. This guide only covers building VST 2.x plugins, as the VST3 SDK is not very widely supported yet. Note that Steinberg’s website is a bit confusing and it is easy to accidentally download the wrong version of the SDK, so double-check to make sure that you have the 2.4 SDK.

Download required packages

  1. Steinberg’s VST SDK, which requires you to make a free Steinberg Developer account.
  2. Microsoft’s Visual C++. This guide uses the 2010 Express edition, as it was the latest version at time of writing.
  3. Libpng and zlib (optional)

Install Visual C++

If you already have a working installation of VC++, you can skip this step. Otherwise, download VC++ and install it. The standard installation should be OK, but you can choose to perform a custom installation if you don’t want documentation or other stuff installed with it. Before installing VC++, you must remove any other versions of VC++ on your computer.

Next, download and install the Platform SDK, which will provide you with the standard header files and libraries you’ll need to build software. You may choose to install VC++ anywhere on your hard drive, but the default location is C:Program FilesMicrosoft Visual Studio 10.0.

Creating your project

Create a new project of type “Class Library”, which we’ll call YourProjectName. In the rest of this tutorial, whenever you see YourProjectName, replace that text with the actual name of your project.

In Visual Studio 9, you’d make a new project with the wizard found at File -> New -> Project. Select Visual C++ -> Win32 Console Application, and choose a directory for your project. When the wizard opens, press “Next” and select DLL as the Application Type. Also check the “Empty Project” box.

If you prefer not to start with an empty project, then you can remove all of the files that VC++ creates for you, but keep the resource.h and YourProjectName.rc files, and remove any references to these files (such as YourProjectName.ico being listed in the resource file).

Add Source Code to the Project

If you already have source code for your plugin, simply add it to the project. Otherwise, you need to create the following files:

  • YourProjectName.cpp
  • YourProjectName.h
  • resource.h (Only needed if building a plugin GUI)
  • YourProjectName.rc (Only needed if building a plugin GUI)

You will also need to add the files from the VST SDK, which includes everything under the vstsdk2.4/public.sdk/source/vst2.x and vstsdk2.4/pluginterfaces/vst2.x directories. I usually prefer to manually make groups for these directories and drag the files to the groups from Explorer, as dragging the entire “vstsdk2.4” directory to VS can cause it to choke when it tries to add a bunch of unused files to the project.

To start out with, the plugin’s entry point header file (YourProjectName.h) should look something like this:

The accompanying class definition (YourProjectName.cpp) should look something like this:

Note that your project won’t compile just yet, but be patient!

The above code samples are simply blank entry points which don’t do anything exciting. The VST SDK offers lots of methods which you can override in order to do things like setting parameters, receiving MIDI messages, and so on. These things are beyond the scope of this tutorial; if you don’t know what code to put inside of processReplacing, try checking out the “again” example distributed within the VST SDK in the public.sdk/samples/vst2.x/again folder.

You must also create a module definition file for your project, named YourProjectName.def. Usually this file is placed in the same directory as the VC++ project file, but you may place it somewhere else so long as this definition matches the Module Definition File settings in the Linker section of the project preferences. This is just a plain-text file which should contain the following text:

Configure build settings

Go to the project settings either by right clicking on the project in the solution explorer and then selecting “Properties”. Make the following changes to the project for all build configurations:

  • General
    • Character Set: Not Set
    • Common Language Runtime Support: No Common Language Runtime Support
  • C/C++
    • General:
      • Additional Include Directories:
        1. (or wherever you put the VST SDK)
        2. Your source code directory
        3. Any other directories which you may have header files stored in Global SDK directories, such as
    • Preprocessor:
      • Preprocessor Definitions:
      • For Debug builds you may also wish to add
      • If you wish to use PNG graphics for a VSTGUI frontend, add
      • To avoid lots of compiler nags and warnings, define
      • In some cases, you may also need to define
    • Code Generation:
      • Runtime Library: Multi-threaded. Multi-threaded debug may be used for debug builds. This will build the VC++ common runtime library statically into your plugin, increasing its size by approximately 200Kb. If you choose to use the CRL as a dynamic library, then you must also distribute a copy of the CRL with your application, which complicates deployment and distribution.
    • Precompiled Headers:
      • Precompiled Header: Not Using Precompiled Headers. Yeah, this makes rebuilding a bit slower, but will avoid a bunch of weird errors as you are getting your project set up. Once you get the project building you can revisit this step.
  • Linker
    • General:
      • Additional Library Directories: Add any other library directories which your project depends on.
    • Input:
      • Additional Dependencies (for Release builds):
        • libcmt.lib
        • uuid.lib
        • shell32.lib
        • ole32.lib
        • gdi32.lib
        • User32.lib
        • advapi32.lib
        • zlib.lib (only if you are building with a GUI)
        • libpng.lib (only if you are building with a GUI)
      • Additional Dependencies (for Debug builds):
        • shell32.lib
        • msvcrtd.lib
        • ole32.lib
        • gdi32.lib
        • User32.lib
        • advapi32.lib
        • zlib.lib (only if you are building with a GUI)
        • libpng.lib (only if you are building with a GUI)
      • Ignore Specific Default Library (for Release builds):
        • msvcrt.lib
        • libc.lib
        • msvcrtd.lib
        • libcd.lib
        • libcmtd.lib
      • Ignore Specific Default Library (for Debug builds):
        • libcmt.lib
        • libcmtd.lib
        • msvcrt.lib
      • Module Definition File: YourProjectName.def
How to tell if you computer has vst plugins free

Adding support for VSTGUI (optional)

Include VSTGUI support in your plugin, simply add the VSTGUI files into your project in addition to your own editor class. At a very minimum, these are:

  • aeffguieditor.cpp
  • vstcontrols.cpp
  • vstgui.cpp

Adding support for PNG graphics (optional)

If you would like to use PNG’s in your plugin instead of BMP graphics, you will need to also build your own version of libpng and zlib. Download the source code for both libraries from the links given in the “Requirements” section of the document and place them in the same directory. There is a Visual Studio project for libpng which will also build zlib for you; it is located in the projectsvisualc71 directory. In order to get the projects to build correctly, you’ll need to rename the source code directories to simply “libpng” and “zlib”, removing the version numbers from the directory name.

How To Tell If You Computer Has Vst Plugins Free

When you open the project up, VC++ will run you through the project conversion wizard. Convert the project, and change the “Runtime Library” settings in both libpng and zlib to be Multi-Threaded, as described above. Unless this step is performed, the dependency on the CLR will be present in your project. Next, choose the LIB ASM Release or LIB Release build style and build the project; if you build the libraries as DLL’s, you will be unable to statically link them into your plugin. The project should build ok, but throw a few errors when attempting to run the pngtest files. You can ignore these problems, as the libraries will still be correctly compiled and can now be linked to your project.

Visual Studio doesn’t need to have the libraries within your actual project. Instead, place the libraries in a directory of your choosing and be sure to add this path to the list of “Additional Library Directories” in the Linker preferences for your project. You may choose to place the libraries in the same directory as the Microsoft Platform SDK stuff, but I personally prefer to keep them in a separate directory checked into version control. Also be sure to add references to libpng.lib and zlib.lib for your project in the “Additional Dependencies” section of your Linker preferences for the project.

The path must be relative to the location of the project file. Then, in resource.h, add the following preprocessor definitions:

Now you can use IDB_BITMAP1 (or any other name of your choosing) in your code when creating new CBitmap objects.

I have heard some reports of vstgui.cpp not compiling properly due to the missing symbol png_set_expand_gray_1_2_4_to_8. Changing png_set_gray_1_2_4_to_8 to png_set_expand_gray_1_2_4_to_8 in vstgui.cpp seems to fix this issue.

Final considerations

VC++ ships with an optimizing compiler, but sometimes the compiler will choke on certain files and optimization must be disabled. In particular, I have experienced this with Laurent de Soras’ FFTReal libraries, since they are written as template classes. In general, however, optimization is a good idea, as is “Eliminating Unreferenced Data” (in the linker settings). The “Whole Program Optimization” setting appears tempting, but usually results in dozens of build errors and problems, so it’s best to avoid this. Also, be sure to use the optimization features of this compiler and linker, as they can greatly boost runtime performance.

If you are developing on a multi-core machine, then you might need to disable parallel builds by setting the number of parallel builds to 1 under Tools -> Options -> Projects and Solutions -> Build and Run. In past verisons of VS, I noticed that the compiler does not always link projects in the order one would expect, which caused odd errors during linking about missing symbols. However, VS2010 users probably shouldn’t need worry about this setting.

HowTell

Unresolved symbols when linking

Sometimes you may see errors like the following:

If you are getting errors in your build about missing symbols, make sure that you double- and triple-check the debug and release configurations for the library configuration above, since some of the libraries which are used in one build style are specifically excluded from the other. Also, when you close and re-open the project’s build properties, VS always “forgets” the last selected build style, so remember to check and set this appropriately.

Also, you should check to make sure that the Platform SDK was correctly installed on your system and that your project’s include and library paths are pointing to these directories.

Unresolved external symbols

If you are seeing errors like this:

Then this most likely means that the file which contains the given symbol is not correctly added to the VC++ solution.

How To Tell If You Computer Has Vst Plugins Download

Linking errors with symbols defined multiple times

This is undoubtedly one of the most frustrating problems which can occur when building a VST in VC++. If you are seeing error messages like this, then it most likely means there is some problem with your library configuration:

Most likely, the libcmt and msvcrt libraries are being included incorrectly in your build. Double-check the library list above, keeping in mind that the recommended configuration uses libcmt for release builds only, and msvcrtd for debug builds only.