- Computer keyboard working correctly again.
- MIDI overflow bug fixed.
- MIDI ports correctly initialized on startup now.
- Registering now works without being logged in as administrator.
- Fixed a tiny GUI bug.
- Various other small bugfixes.
VST Template allows you to easily code your own VST effects, synthesizers and MIDI plug-ins using Borland Delphi. This is a total rewrite and therefore rather different from the previous version. Lots of new and original stuff by Toby has been added to the template, like a new parameter interface (with custom ranges, units, mapping curves, parameter smoothing, etc.) and improved MIDI in and out support.
Here is what is included:
- All converted VST SDK files, no additional SDK downloads needed.
- The new VST template for creating VST plug-ins.
- The VST documentation and license from Steinberg.
- A new and comprehensive manual and tutorial written by Toby.
- Several demo plug-ins with source code (filter code, plug-ins without GUI, MIDI plug-ins, VU meter).
- Pete Morris' DIBControls for Delphi (cool GUI components).
- Toby's DspUtils unit with lots of useful functions (fast floating point math code, tempo synchronization, unti conversion, clipping, scaling, etc.).
If you want to store large data blocks inside the preset/bank files of your plug-in (e.g. samples or tables), you should use the so-called "chunks" mode. This can be somewhat tricky to handle and understand, so Toby wrote a little tutorial about how to do this in Delphi. He also included a little VST demo plug-in with full source code that allows you to store an image and a text as well as other parameters for each preset of the bank separately.
VST/ASIO host components
This download includes 2 interesting Delphi components, developed together with Christian Budde:
- VSTHost is a component for loading and accessing a VST plug-in from your Delphi programs. You can open the GUI, access the parameters, load and save banks and process audio blocks.
- ASIOHost is a component for accessing the ASIO driver of your system. It is really easy to configure and allows you fast access to the professional audio drivers.
By combining these components you can easily construct a VST plug-in that is itself a host for other VST plug-ins; a plug-in that streams its audio to the ASIO outputs; an ASIO host that loads and uses VST plug-ins; etc.
Also included in this download is:
- A little ASIO host demo.
- A demo of the VST host in combination with the VST template to profile the performance of a plug-in.
- A unit for accessing the MIDI input and output ports of the operating system.
- A unit for reading and playing back MIDI files.
- ASIOConvert: Christian Budde's excellent unit for converting audio data from one format to the other. This now includes extensive 3DNow and SSE optimisations.
WaveIOX is a Delphi unit for easy handling of WAV files, especially in the 32-bit floating point VST environment. It reads and writes WAV files of almost any format and is also able to convert them into 32-bit floating point buffers. The new version fixes many bugs and adds new functions for working with single arrays. Also included with this download is a VST plug-in (with source code) that allows you to load a WAV file, display it graphically and play it back with adjustable speed, pitch, volume, pan.
MiniHost Core source code
MiniHost Core is a cut-down version of the main MiniHost program that uses all of the files above. This version does not have all of the fancy features of the full version (like an onscreen keyboard or the arpeggiator) and the code of this version is rather messy and uncommented, but it should (hopefully) be useful to many people nevertheless.
All components and units come with full source code, there is no pre-compiled binary used or needed, so you can change/adapt anything you want. Toby would appreciate it if you would notify him of any bugs or improvements - please don't just rip out the code bits you need and claim them as your own. There is no license attached to these files, so you are free to use them (even in commercial products), but it would be nice if you could show your appreciation if you find any of this code useful, e.g. by donating some money and/or mentioning Toby in the about box and manual of your programs.