VSTGUI Builder v1.03
--------------------
-by Niall Moody
(http://www.niallmoody.com/programs.htm)

How to Use It:
--------------
- The main functions are in the menu - Insert->New Background'is just there so you can see what it's meant
  to look like - it won't alter the resultant code.
- Insert->Control adds a control to the screen.  If the control has had HasGUIImage set to true in the XMP
  file, you will get an image load dialog so the image can be drawn on screen.  If you're using a control
  which uses an unspecified number of stacked images (e.g. CAnimKnob), setting the 'num_subpixmaps' value
  will calculate the corresponding values and only the first pixmap will be drawn on screen.
- You select controls by clicking on them, this will load their various properties into the left panel.
- To delete a control, select it and press the delete key.
- All the values in the left panel are strings (so they get written directly to the output file) - if you
  leave a field blank, the program will generally write a '0' in the variable's place.
- To generate the code, use File->Generate C++ Code.  In the file dialog, don't add an extension to the
  name you give, the program will do this for you (the name you give is also becomes the name of your
  editor class).
- If you're using the CSpecialDigit class, remember that you need to define a horizontal and vertical
  array.  The program will not do this for you.
- Remember to include the header file for your plugin class somewhere in the editor's code.
- If you're using one of the sliders, it's handy to set transparent to false so you can see the actual
  size of the control rather than just that of the handle.

- **Important**: The xml file is set up for the latest version of VSTGUI from sourceforge - you'll run
  into problems if you try and use it with the older version from Steinberg (no controlModifierClicked
  etc.).  It shouldn't be a problem to re-write the DefaultControls.xml file to handle the older version
  though...

The XML File:
-------------
- I basically used this program to learn xml, so there may be things I could have done better.
- The xml file (DefaultControls.xml) basically provides a bunch of templates which define how the various
  controls should be written as c++ code.  It also defines the structure of the header and source files
  themselves.  I tried to make the program flexible enough that it would be possible to use it with other
  gui toolkits if you just rewrote the xml file.  Whether I succeeded, I don't actually know...
- Structure of a control:
	- settings: Certain settings used by the program to draw the object on screen - these should be
		    presentfor every control.
	- properties: The properties that appear in the left-hand panel.  These can be anything, though
		      certain properties (e.g. num_subpixmaps) are used by the program to perform special
		      functions.
	- images: Any images the control has are defined here.  If HasGUIImage has been set, the first
		  image is always the one drawn on screen.
	- code: Defines what code is written (where open_code etc. determine where in the output files the
		code is written).  Elements from properties and images are used to indicate where their
		values should be written.  tab, nbsp and br are used for formatting.
- To add a custom control, just copy and paste, adding and deleting whatever properties and images you
  need.

Source Code:
------------
Source code is included - you can do what you like with it.  I used the libraries wxWidgets (v2.4.0,
http://www.wxwidgets.org/) and tinXML (v2.2.1, http://www.grinninglizard.com/tinyxml/).  The .manifest
file is to make it a little prettier, because I haven't got round to upgrading to a newer version of
wxWidgets yet.  Oh, and I used MS Visual C++ v5...

Release History:
----------------
v1.03 - Fixed a stupid bug in the generated code which broke the CBitmap's reference counting mechanism.
v1.02 - Generated code will now end up where you put it, rather than the same folder as VSTGUI Builder.
v1.01 - Added a couple of missing line breaks (<br/>) to the xml file.
v1.00 - Initial release.

Copyright Notice (not sure if I need this?):
--------------------------------------------
VST is a trademark of Steinberg Media Technologies GmbH.