IPlug: sprintf and you, one step float formatting

 VST Plugin Development  Comments Off on IPlug: sprintf and you, one step float formatting
Mar 222009

Most of us who have used C++ for a while have crossed path with sprintf once or twice. It comes in handy in a variety of places. There are all the standard things you can do with %d, %s, %f and even diving into precision with %.2f to write two decimal places of precision to the output. Recently I came across a shortcut formatting token .* which I was not previously familiar with. Here is a short example of how it works and where it could be applied to IPlug.
Continue reading »

IPlug: Full version numbers

 VST Plugin Development  Comments Off on IPlug: Full version numbers
Mar 162009

The IPlug framework has a convenient way to manage your VST plugin’s version numbers. By design though, these version numbers only print out to the last non-zero digit. So a VST plugin at development version 1.0.0 will print as v1. I’d rather have it at least print the first digit after the decimal instead of losing it if they are all zeros. Read on to find out how to make that mod.
Continue reading »

Mar 082009

If you’ve worked with a version control system then you know how powerful that tool can be. I work with such a system at my job every day where we have dedicated system administrators to keep it running. Having such a tool available for my VST development projects at home is very valuable but I find system administration to be a task I am not cut out for. That being the case, I searched for some easy to use tools that would allow me to get version control running on my Windows box at home without too much hassle or deep configuration. The two tools I was interested in choosing between were Git and Subversion. Here’s what I found.
Continue reading »

IPlug: Prompt user input at ‘proper’ width

 VST Plugin Development  Comments Off on IPlug: Prompt user input at ‘proper’ width
Mar 062009

The IPlug framework with its associated gui makes it fairly easy to allow audio engineers to type plugin parameter values directly. Using the IPlug gui you can right click any control (default behavior, but we also covered how to allow editing with the left mouse button too) and get an input box to type your parameter value. The problem I have with the default behavior is the size of the default edit box. The width is a hard coded value that doesn’t look good over any of my plugin’s parameters. They always seemed to leave the text underneath poking out behind the sides of the edit boxes. Here is a simple fix to make the edit boxes match the width of your parameter displays.
Continue reading »

IPlug: Altered mouse button behavior

 VST Plugin Development  Comments Off on IPlug: Altered mouse button behavior
Feb 092009

Developing a slick and polished gui for your VST plugin is less about graphics and more about creating a smooth customer experience. The default behavior of IPlug is to block mouse input when an ICaptionControl has edit focus (that’s the object you use to allow someone to type values into your parameters). If I have clicked on a value to type in it and decide to tweak a knob instead, then I don’t want to have to click back in the edit field and hit enter before being able to turn that other knob. I want to directly click on that other knob and have the edit field just go away. Here is an IPlug mod that will allow your VST plugin interface to work this way.
Continue reading »

IPlug: Fix for invisible user edit bug

 VST Plugin Development  Comments Off on IPlug: Fix for invisible user edit bug
Feb 082009

The IPlug library for developing VST plugins has a bug causing the user edit window to get stuck open (but invisible) under some circumstances. This results in some sluggish UI behavior. This bug occurs in Windows with VST plugins and I have not been able to check for the bug in AU or Mac plugins using IPlug.

Continue reading »

LICE: “already defined in LIBCMT.lib”

 VST Plugin Development  Comments Off on LICE: “already defined in LIBCMT.lib”
Feb 072009

Having trouble compiling the LICE solution for your plugins because you’re getting lots of errors like about LIBCMT.lib? The fix should be relatively easy. Right click the LICE project in Visual Studio and open the properties panel. Navigate to:

Configuration Properties | C/C++ | Code Generation

And set the option for Runtime Library to the /MT value. It is set to /MD in the WDL download. All three projects in the LICE solution should be set to /MT if you are having linker problems. In fact, make sure all three projects are set to /MT for your Release configuration and /MTd for your Debug configuration.

VST plugin development is fun!