MIDI Square, translated to C

Original version written in HiSoft BASIC 5/18/93
Copyright 1993 David Snow

---

C version 4-5/2001 Edgar Aichinger

Used software:
compiler: 	gcc 2.95.3

libraries: (always the latest Sparemint CVS versions)
				mintlibs 0.57
				cflib 0.20
				gemlib 0.40

Hope you like it...


Changes:
--------
Here's a detailed (and hopefully complete) list of changes compared
to the original BASIC version:

	- now runs as application or accessory!
		To install as an accessory under SingleTOS:
		- rename midisqar.app to midisqar.acc
		- copy midisqar.acc and midisqar.rsc to where your accs live
		  (root dir or ACC folder of your boot drive, most likely)
		- reboot.

	- doesn't occupy all available memory anymore, now uses a fixed 
	  buffer size of 128 Kbytes
	  This is done by declaring a char array instaed of malloc(), so
	  that the memory won't be free()'d when launching/terminating 
	  programs while running MIDISquare as accessory.
	  (change BUFFER_SIZE at beginning of midisqar.c and recompile 
	  if you need a bigger buffer).

	- no system bell/beep
		I left some commented lines looking like "// beep();" to 
		indicate locations where system beeps used to be; I just 
		couldn't see a need or reason for them... anyway, there is a 
		proper definition on top of midisqar.c, so if you want them 
		back, just uncomment and recompile.

	- default midi channel is 1 (was 16)

	- makes use of CFLib features:
		- windowed, iconifiable main dialog
		- windowed alerts
		- 3d look in rsc file: group frames with small text, radio 
		  buttons... (cflib emulates these features in single TOS)
		  because of the new look the window is a bit smaller and 
		  most controls are found at different locations than before
		- keyboard shortcuts for dialog buttons

	- most text strings (alerts...) are in the rsc file now (for 
	  easier translation)

	- in the folder "german" you can find a german resource file.
	  To install, replace the one beneath midisquar.app/acc by this 
	  one.

	- the grid now is a bitmap inside the rsc (easier to redraw)

	- uses scancodes instead of ascii for transposition (keys 0-9)
	  (for non-english keyboards)
		this also makes shift/numpad keypresses work :)


ToDo:
-----
		- improve key response during playing (realtime transposition). 


Ideas for future improvements:
------------------------------
		- maybe add some more GEM Standard features (prg info box)
		- online help? (BubbleGEM, ST-Guide)
		- load/saveable parameters/scales


Bug reports, Help, Comments etc. regarding this version:
--------------------------------------------------------
	Edgar Aichinger <eaiching@t0.or.at>
