Buzzscript 2.01 - Written by djboo(james johnston)
Some parts written by Bignic/Cyanphase(Edward Blake)
With support and ideas from Inductive, Mute, Zephod, |PS| and others.

---------------------------------------------------------------------

Right. Where to begin? Buzzscript 2.x is merely a progression on the old
source, and as far as im aware, fully backwards compatable - commands wise.
Infact, to people who just use it in buzz, and never make their own scripts, 
the only noticable difference should be the speed (which is actually not an 
engine improvement, but better memory management)

People who are a bit more involved should notice the following:

* Dynamically sized arrays
	Not as fast as sizing the array manually, but still pretty nippy
	and it means you NEVER got an error from going over the limits of
	your array! AS has been the case since 1.9x you are limited to 3
	dimensions, but this should be more than enough.

* No Debugger!
	Thats right, the default debug screen has been removed, replaced
	with an advanced version of the editor screen (which first arrived
	in version 1.96x) - however, check the tabs on the right, one of them
	is 'debug' - guess what it does. Currently, the width of this window
	is locked (as is quickhelp and label list) but that should change 
	in the future.

* Syntax and Quickhelp
	The Status bar has two modes avaiable, the normal cursor position
	display (which is actually correct now) and the 'syntax view'
	(selectable from the view menu) which shows the syntax of the command
	on the current line. This mode is in its infancy and a lot of commands
	are not documented but this WILL be worked on. Got a command that is
	documented but the syntax itself isnt enough? Hit your f1 key (and 
	make sure the tab is on quick help) - a small paragraph or so of help
	text will pop up with a guide on that commands usage.

* Label List
	Another of the editors new tabs, lists the LABEL's of the currently 
	loaded script, double click one to zip to that position in the file.

* Tokenised system
	While this isnt very clear at the moment, its gonna make a big difference
	in the future: buzzscript is no longer locked at 2 or 3 arguments max.
	commands like divide, multiply etc which currently have destructive
	variables (one of the inputs is overwritten with the output) no longer
	need to have this. If i fix these, old scripts will break, but the language
	will be much easier to read.

	Also some (and more over time) commands support commas (,) as seperators
	as well as spaces. for instance:
	
	SETSTRING message hello world
	SETSTRING message,hello world

	should now both do the same thing. This was done for readability purposes.
	
* Maximise is optional
	On custom GUI's, sizing is no longer an option at all and maximise has to be
	turned on (with the 'maximise=true' argument). This was done because 
	buzzscript has no ability (or real need to be honest) to cope with resizing
	windows. maximise is an option for situations like the dock scripts
	ive been experimenting with (that dock to the buzzwindows and become part
	of the GUI)

* Line highlighting
	Along with the line highlighting in goto row/label, lines that are being
	executed are highlighted in the default debug modes, this slows down execution
	a -LOT- but REALLY really helps with debugging. 'debugoff' will disable this
	feature.


There have been MANY other changes, the whole core is going under a almost complete
rewrite to cope with the internal documentation and the better tokenisation.

This version of buzzscript is almost guaranteed to break old scripts, and probably
will be of no use to most people. however, its worth rewriting scripts for this new
version, and its CERTAINLY worth investigating broken scripts and tryong to work out
why they died and telling me (ill be adding a buzzscript section to the buzzformat
forum, post info there)

Hopefully, youll find writing scripts 50x easier now with the improved interface.
as always, im willing to listen to any requests/advice other than 'why didnt u make
it perl/open the interface to vbscript' (people who tell me either of these or
similar will face my wrath)

known bugs:
-----------

	These are bugs i know about, but any additional info would be appreciated
	if you investigate.

* Writearraytocolumn
	seems to be completely broke, really not sure why. looked breifly at code
	but it may be the script im using to test (octamed echo 2)
	if anyone can be arsed to play with the array/column commands ill be
	very appreicative.

* interpolate
	does nothing at all. 'ctrlkey i' does work tho (reported by |PS|)

* machinename
	'machinename' variable only works on SOME machines. ignore it for now.

* activate
	not really a bug, but the hostactivate/setactive screens are a bit 
	contradictory at moment. try to use setactivescreen and activate over
	hostactivate.

* editor issues
	it doesnt like to execute the first line (ive only just discovered this:
	good coding practice makes the first line a remark always and this is
	ignored anyways) and if theirs no carriage return after the last line, 
	its truncated by one char sometimes.

* infinite loops
	because of the way buzzscript works, its easy to get stuck in infinite loops
	with no kb control, and little mouse control, or sometimes with no OS either.
	Ill be adding a 'halt everything and open the debug screen' shortcut soon
	once i work out how to do this without the form active.


installation:
-------------

	this hasnt changed one bit, but for these test releases, im strimming the 
	packaging right low. i really dont see the point in distributing it with
	scripts that are old, out of date and just plain dont work.

	Before u can install buzzscript 2.0 (or infact any version post 1.4) u need
	overloader 1.5x, i recommend the newest u can get. Buzzscript doesnt actually
	require overloader (or infact buzz) to run, but for the buzz integration
	then it IS required.

	The OL profiles you need to get it to work come with overloader as does an 
	old version of buzzscript. Just dump the latest exe in buzz\tools\buzzscript\
	(put any scripts you download here too)

Usage:
------

	To use scripts in buzz integration mode, just right click in pattern or seq
	view, of use the 'scripts' button in wavetable screen and select a script.
	To use in edit mode just run the EXE. I recommend putting THIS script in your
	folder to use buzzscript in edit mode from within buzz (so hitting f5 runs
	right away):

	;drop into edit mode script (written *cough* by djboo)
	showdebug
	endscript

	save that as '(misc)Edit mode.sequencer.buzzscript' or similar.

	as for a commands list/programming guide: its simply not ready. If anyone 
	wants to offer their services, please do, and full source-code is available.
	(itll probably be distributed along with the EXE)


