UPDATED 01.03.2013 (quick video demo added)
But instead of refining and updating the wacvst post as intended, I finally came to a more decent conclusion. Actually bringing back a three years old idea of mine and improving it so I can share it with you, would be the only way to go in using the smoothest and easiest to setup method of having Win VST plugins in the mix as well.
Prepared and tested on a fresh 10.6.8 install. It should work with Lion and ML as well but functionality with 10.7.x/10.8.x needs to be confirmed by users first, so any Lion/ML related issues are not the subject of this post. Please take note that functionality with various DAWs is also something I won't cover and discuss apart from generic guidelines. It should work with any DAW and it's up to you how you set it up. And I won't discuss any stuff that's already covered in this tutorial so please read it thoroughly before asking any questions.
Small update 03.11.2013: based on user feedback, I believe it's safe to say now that this setup works with all major DAWs (might run into a couple of issues with Logic) and on any version of OS X including Mavericks.
Patience is your best friend. In reading
that is, not in the actual time it takes to set this up which shouldn't be more than half an hour at most. So what might look confusing at first will reveal itself to you as you go along as being easy as pie and I'm confident you will be happy with the outcome. Let's get started:
(in the event of developer links being down or taken off, all links provided here are direct download links to copies of the original files, hosted on dropbox)
plugwire (my Wineskin setup including the energyXT 1.4.1 VST plugin demo)
AudioPort Universal (AudioPort AU plugin and AudioPort Host trial)
Wormhole2 (Wormhole2 AU plugin, download the free osx binaries)
Juce Plug-in Host (free AU host to quickly test plugwire)
quicktest (to quickly load in Juce Plug-in Host)
Double-click to unpack AudioPort Universal, then unpack AudioPort Plug-in Setup MAC and install it. Unpack Wormhole2 and put Wormhole2.component in /Library/Audio/Plug-Ins/Components.
Mount plugwire.dmg and drag the plugwire folder to Applications. Start the plugwire app then click Install Software/Choose Setup Executable and choose the AudioPort Host msi package. Install it, click OK in the Choose Executable window that pops up then Quit.
Quick test in Juce Plug-in Host:
Start plugwire and enter the trial key provided by the developer in the readme file bundled with the AudioPort Universal package. AudioPort Host should now be running.
Mount PluginHost.dmg and drag to Applications. Start PluginHost, go to "Options/Change the audio device settings" to configure your audio, then scan your AU plugins as shown on the left. Besides the default Apple AU plugins and others you might have installed, Wormhole and AudioPort should show up in the list.
File/Open plugwire.filtergraph provided in quicktest.zip, double-click on AUAudioFilePlayer module, load some audio file, check Loop, click the Play button and leave that window open.
Double-click on both AudioPort modules and click Connect. You should be connected now to AudioPort Host and in the AudioPort Host window the "File/Open recent file" option should be available, load the default plugwire project then double-click on the energyXT module.
You should hear now your audio file and on the second channel you can also play some keys along with it if you have a controller active. If not, just focus on the Juce Plug-in Host window and play some keys on your computer keyboard.
Now for the most important part, using Win VST plugins, just click on the "1" button to load them as you see on the right.
Before getting to the real business of using plugwire with your DAW, I strongly suggest to try to understand how this whole setup works based on the quick demonstration with Juce Plug-in Host. You can close now plugwire from the plugwire menu on the top left of your screen: plugwire/Quit.
In the plugwire folder in Applications you will find the "Install plugin tool" for those with an installer. Just follow the same procedure described earlier for installing AudioPort Host. Some installers will place manuals in the Documents subfolder. Then there's the VSTplugins subfolder where you should copy those without an installer. You can even drop them whilst plugwire is already running.
Setting it up with your DAW:
On a track you want to process consider the Wormhole2 AU and AudioPort AU plugins as the IN and OUT pair of an insert unit, as you can see in the Juce Plug-In Host window from the main screenshot of this post. The actual insert unit is one channel in plugwire on which you load Win VST plugins.
Wormhole2 AU sends audio to plugwire using streaming over network and AudioPort AU fetches the processed audio from plugwire in the same manner. Obviously there's no actual streaming over a physical network, but the concept is exactly what makes my setup completely different from any other solution out there in that we can use simultaneously 16 independent plugwire stereo channels.
(However, unless you need to process more tracks it won't matter in which order you start your DAW and plugwire if you already have saved projects to load).
Now you can start plugwire then in your DAW connect to 127.0.0.1 all the AudioPort AU instances you've loaded making sure you start with selecting channel 1+2 as in the screencap then choose for each the next unused channel from the list of channels.
You can MIDI map in energyXT all your plugins' parameters. Check the IAC Driver part in the Win VST instruments section below. Same goes for a controller if you use one.
The only way I would recommend for any DAW is to arm a new track and record the processing that takes place in plugwire. If you won't need the original tracks anymore it's important to record starting with the track assigned to the last used plugwire channel, then the previous and so on. I'll explain why in the notes section below. For Ableton Live users there is a way though of using its freeze feature which I could append to this tutorial later on if requested. It's mostly based on my 1st post (direct mode).
The AudioPort AU instance connected to 1+2 must be connected at all times otherwise the other channels will be unusable even if they are connected. So make sure you don't unload it or you don't delete any track which contains it. Also make sure before any recording that in this particular AudioPort AU instance (1+2) you click Disconnect then Connect to get rid of any latency. In real-time if you need click Disconnect/Connect as often as you feel the tracks are out of sync.
Never hit Save in AudioPort Host because correct saving is not possible whilst energyXT is in demo mode. It will actually save, but unfortunately rewrite the default plugwire project in that you will end up with an empty one. After you buy a Windows license for energyXT, I strongly recommend though saving your projects from within
and not AudioPort Host, otherwise plugwire
would most probably crash
at loading those projects.
Don't expect every single Win VST plugin to work, few might randomly crash plugwire like some of the included good old Eric Beam plugins. I'm very confident however that the vast majority of Win VST plugins out there should work flawlessly. Tempo syncing plugins to your DAW is not possible (i.e. Glitch) but you can try the energyXT's transport.
Plugwire is beerware, if you need the "pro" version you see in the quick video demo below with up to 16 stereo channels, please click the Donate button on this blog and I'll get back to you. You will also need the AudioPort Universal bundle (trial or bought) and if you want to save your setups, a Windows license for energyXT.
Quick video demo:
Win VST instruments:
For instruments we won't be needing the Wormhole2 AU plugin. Just the AudioPort AU and for sequencing the IAC Driver: "Device is online" checked in Utilities/Audio MIDI Setup/MIDI Studio/IAC Driver Properties.
Start plugwire then in your DAW set your MIDI track's output to IAC Driver Bus 1. Open an instance of AudioPort AU on an empty audio track where to fetch your Win VST instrument's audio output and connect it to 127.0.0.1. In AudioPort Host load the default plugwire project, right-click on the energyXT module to make sure in MIDI devices Bus 1 is selected then double-click on the energyXT module.
In the energyXT window click right next to the Open button then New/Empty project. Drag the bottom right corner of the energyXT's window and you should see 2 modules: Master In and Master Out. Right-click in that area and choose your instrument from the plugins list. Make sure its MIDI input is connected to the Master In module and its audio output to Master Out. Now you should be able to play, record and MIDI map your instrument.
Credits and thanks:
plasq, Raw Material Software, Audio Impressions, PhoenixInFlight, Eric Beam, fandango, Oxygen Team, Binassmax, Evermor Design, rekkerd, Create Digital Music, Variety of Sound, Synthtopia, MacMusic, VST Cafe