ndc Plugs

Open source VST plugins for Windows and OSX

14/08/08 - On the off chance anyone's still checking here for updates, I'll make it official; ndc Plugs is finished. I'm not going to be making anymore VST plugins, and it's extremely unlikely I'll fix any issues people have with the existing ones.

Since it's one of the plugins whose source code I lost, and it seems to be of interest to some people, I've posted an explanation of how the Reversinator works in the forum: here.

9/11/07 - Oops! That last update to Fragmental introduced a pretty serious bug to the GUI code. I've uploaded a fixed version. Thanks to jtxx000 for spotting it!

31/10/07 - I wasn't really planning to update this site again, but having played quite a bit with Fragmental, I discovered a really stupid denormalisation bug with the delay (I'd put code in to avoid denormals, then on the next line added code that completely negated the previous line's fix, doh!). I've uploaded a new version that fixes it, and I also fixed the LFO Freq Range button when Host Sync's on.

22/5/07 - We've finally finished the plugin we've (me and shamann from KVR) been working on for well over a year now: Fragmental. It's a fairly complex multi-fx plugin with a combination of buffer- and phase vocoder-type effects. I tried to design the UI around the idea that it's a plugin to be performed with, and therefore the user should be able to manipulate the sound with the minimum number of mouse actions. As such, the effects routings use a scheme where effects can be moved around with a single mouse gesture, and both modulation routings and amounts can be set together, again with a single gesture.

I've also uploaded a wee experiment I did for my PhD, called orbits - it doesn't really deserve its own page, so you can get it from the plugins page (scroll down, they're in alphabetical order).

Finally, I've got to announce that these will probably be the last VST plugins I release. I've grown tired of Steinberg's stupid license restrictions preventing me from releasing these plugins under the GPL, and with Vista looking kind of worrying for various reasons, I'm going to be moving my music-making activities over to Linux. Obviously that's going to be a huge pain in the arse, so I'm going to be spending most of my spare programming time trying to create a Linux DAW/host/A-V environment that I can feel reasonably comfortable working in. Luckily it does look like it's possible, with a bit of work, to get Windows VST plugins running in Linux under WINE, so hopefully I won't have to try and code the various freeware compressors and distortions (and VAZ+!) that I use constantly myself (that would be way beyond me anyway - I think those guys must be witch-doctors, or mathematicians, or something).

25/4/07 - Luigi from NUSofting's created a modified version of Brush Strokes, with a filter, echo and MIDI-triggered brownian motion. This is exactly why I make my plugins open source - so people can modify them to do things I didn't think of. You can get it here.

5/3/07 - I've just uploaded an audiovisual instrument I came up with over the weekend: BrushStrokes. It's a simple idea (you play it by drawing), but actually quite powerful too, since gesture, sound and visuals are all very tightly linked. I also included a Processing applet on the webpage to demonstrate the visual part (much more interesting than the usual static screenshot ;-).

17/9/06 - As you can see, I've finally got round to re-doing the site, using css rather than the ugly table mess previously (and more in line with the other parts of my niallmoody.com domain). I got rid of the iframe, as I know it's frowned upon by people in the know, but the only way I could find to let me update the left links easily whenever I release a new plugin was to write a program to update the static html. It was a bit more hassle (why can't I just include a separate file in basic html?), but it's done now. I reckon this design looks a lot better than the old one too :)

Also, I should probably point out (it is mentioned elsewhere) that contrary to the subtitle above not all the plugins here are open source - I've lost the code to the older plugins (i.e. any plugin that doesn't have a zip of the source code available on this site). So there are a number of plugins which are only available in binary form. To be honest though, most of those plugins were not coded well, and you're really not missing anything. The only plugin with relatively interesting code (at least, worth sharing) is the Reversinator, and that's getting reborn as part of a multi-fx plugin I'm working on, so the basic algorithm will be up on the site when that gets released. Also regarding the subtitle, following my most recent experience with OSX I'm not entirely sure whether I'll continue releasing OSX versions, but that will (hopefully) be resolved by the time the next plugin's ready to be released. (of course what I should really do is develop a cross-plugin-format framework, so I could easily port plugins to Audio Units as well, and I'd probably do LADSPA too)

11/9/06 - Amazingly, within hours of releasing Soul Force! (and my accompanying OSX rant), I received an e-mail from Bernie Torelli over at Nomad Factory, containing a working OSX version (and universal binary, too!). As a result, you can now get a proper OSX version of Soul Force! from it's page, thanks to Bernie.

10/9/06 - I've just uploaded a new distortion plugin: Soul Force! It's basically a waveshaper, but the shaping can be modulated by the audio signal, which makes things a lot more interesting. The gui was done in blender (and the .blend file's in the source code zip), and was inspired by the Audio Damage cel-shaded 3d look (I have to admit I've been drooling over those plugins recently).

Note: there is no OSX version of Soul Force! Every time I try to port something to OSX it causes more and more hassle (even with Soul Force!, which is as simple as you can get), and I've had enough. So, no more updates etc. for the OSX versions of my plugins. I'll probably have an OSX update for VSTGL in the next couple of days, but after that I'm done. Maybe when leopard's out I'll revisit the situation, but as it is at the moment it's far too much hassle, and it's just not worth the effort on my part.

1/8/06 - I recently discovered a weird bug with MultiGUI and VSTGL, where the editor would disappear if you used the 'replace plugin' command in certain hosts on Windows, so I've updated them both. Also on Windows, I've fixed it so that VSTGL editors will now grab the mouse pointer if you drag it outside the editor's bounds.

20/7/06 - Courtesy of some gentle prodding by hcv242 on the forum, I've updated Tempo Sync Reverser, fixing some clicking that was happening on the reverse, and fixing a bug where the MIDI CCs weren't set properly.

24/5/06 - I've just uploaded Feedback-y Thing, a plugin derived from the plugin I'm working on at the moment with shamann, from KVR. It's basically a simple delay set up to act as a kind of fake feedback generator (most useful for guitars, I think).

8/5/06 - There's a small update to My First Step Sequencer, after johnisfaster (forum post) made me aware of a bug with it in Live on OSX, where it would crash if you tried to update a parameter while the editor was closed.

30/3/06 - I've finally uploaded a version of MultiGUI which will work with VST 2.4. There's no new features (not sure it needs any), just some updated OSX code to work with the new HIView gui model.

5/3/06 - Right, I've just uploaded SimpleColourOrgan, a plugin based on the ideas of people like Father Louis Bertrand Castel and A. Wallace Rimington, where musical notes correspond to specific colours. It's strictly a visual instrument (no sound), and the idea is that you 'play colour' with it like you would music. It's based on my PhD research, and is mainly an experiment, but it can be quite effective if you have multiple instances on screen, all playing their own parts.

4/3/06 - I've just (finally) updated VSTGL, to v1.5 - this version includes major code refactoring (which will break compatibility with the previous version, I'm afraid), plus a simple message-based timer class to replace the host's (generally rubbish) idle() calls, and support for vertical sync and hardware antialiasing. It's also compatible with VST 2.4. I'm afraid you'll have to wait a bit for MultiGUI to be updated to work with VST 2.4, but now I've got VSTGL working, it should be very simple to do, so it hopefully won't take me too long.

Also, keep your eyes peeled, because with a bit of luck I'll have a new plugin to upload tomorrow.

6/2/06 - As you should be able to see on the left, I've added a forum to my site, so any questions, discussion etc. about ndc Plugs can be carried out there. Hopefully I'll have some VST news soon too...

8/12/05 - Sorry it's been so long since I've had anything to post here, but we've finally released a new plugin: My First Step Sequencer - the first of the two plugins commissioned by people at kvr in exchange for a small donation towards the site's hosting costs. It's a simple 16-(and 8-)step sequencer, aimed at children. As usual it's open source and available for OSX and Windows, so go get it! Hopefully it won't be so long until the next update this time...

23/6/05 - I've just updated the Programming Stuff section with a couple of things: there's now a tutorial/walkthrough on setting up XCode to build a VST plugin, and I've updated the Polyphonic Synth Tutorial a bit. Basically the code hasn't changed, but I've added some more information to the documentation, to try and make it a bit easier to understand what's going on.

13/6/05 - Okay, if you check out the Programming Stuff page, you'll see I've uploaded some simple example code of how to design a polyphonic synth using the VST standard. Hopefully it's simple enough that people can understand how it works.

10/5/05 - Well, this is the new, minimal ndc Plugs website. As well as being a little easier on the eyes, it should be easier for me to maitain as well, thanks to my recent discovery of html's <iframe> tag. The only thing is that you have to come in by the front door (i.e. index.htm), or the links on the left will always open in a new window, instead of the current page, as they're supposed to. You may have noticed I've removed One Trick Pony, which is mainly because it was never a particularly funny joke, but also because, bizarrely, it was getting the most hits on the site, and I figured I could claw back some bandwidth by removing it.

Anyway, on to the actual news...
Harmonical: This is a new instrument based on spherical harmonics. Basically, instead of the usual saw/square wave etc. oscillators, it uses a 3d sphere as a sound source, the vertices of which are modulated via spherical harmonics. It's more of an experiment than anything, but it displays the sphere(s) in an opengl display, and (to my knowledge) it's pretty unique.
VSTGL: This is basically a cross-platform class to allow you to create VST plugin editors/GUIs with opengl (it's used in Harmonical). I've made the code available in the new Programming section, so other developers can use it too, and do what they want with it.
MultiGUI: This is another cross-platform class to allow more than one AEffEditor object to be attached to the window provided by a VST host. It's main purpose is to allow the combination of a VSTGUI 2d interface with a 3d VSTGL one (this is also used in Harmonical). Again, this is in the new Programming section, and is free to use, modify etc.
Simple Controls: This is a set of widgets for VSTGUI that work entirely without bitmaps. You can see them in action in the ndcMIDI pack. I did originally have plans to create more widgets before I released them, but I got kind of bored with that, so I've released them as is. Hopefully they'll be useful to someone.