MIDISquare
Copyright 1993 David Snow

MIDISquare is a mouse-oriented MIDI synth controller for Atari 
computers. It has been tested on a 1040ST and a Falcon, so I expect it 
to work on all the ST's cousins, and it runs in any resolution except 
ST LOW.

Assuming you already have your synth hooked up to your computer, you 
play the synth by left-clicking the mouse and dragging it over the 
square grid on the screen.  Each little square in the grid plays a 
different four-note chord: a horizontal note along with a 
user-selected harmony interval, and a vertical note along with a 
user-selected harmony interval. Pitches are derived from a 
user-selected diatonic (i.e. modal, not chromatic) scale that runs low 
to high horizontally from left to right, and low to high vertically 
from top to bottom.  Notes are played only when the left mouse button 
is depressed.  Everything you play can be captured and saved as a MIDI 
file for editing and playback using a conventional software sequencer.

On-screen controls:

MIDI MODE
In "Poly" (polyphonic) mode, all four notes are played on the same 
MIDI channel.  In "Mono" (monophonic) mode, each note is played on a 
different MIDI channel so you can assign a different patch to each 
note in the chord.

MIDI CHANNEL
To select a MIDI channel, click on the up and down arrows in the MIDI 
CHANNEL box.  In Mono mode, the four MIDI channels used are 
numerically consecutive (that is, if you select MIDI channel 10, the 
notes will play back on channels 10, 11, 12 and 13).

DIATONIC SCALE
Pitches are selected from a 7-note scale. Each "white-key" note (C, D, 
E, F, G, A, and B) can be selected sharp, natural, or flat.  Besides 
conventional 7-note modes, it is possible to construct pentatonic 
scales by selecting enharmonic notes (example: C, D, E, Fb [which is 
enharmonic with E], G, A, and B# [which is enharmonic with C]).  It is 
also possible to construct non-diatonic scales with chromatic clusters 
(example: C, D#, E, F, Gb, A#, B).

DIATONIC INTERVAL
The intervals of the horizontal and vertical harmony notes are 
selected by clicking on the up and down arrows in the DIATONIC 
INTERVAL box.  The numbers represent diatonic, not chromatic 
intervals: a "+1" means that the harmony note will be next higher note 
in the user-selected diatonic scale, a "+2" means the second higher 
note, and so on.

TRANSPOSITION
With TRANSPOSITION set at "0," the notes played will be exactly those 
indicated in the DIATONIC SCALE box.  Higher and lower numbers cause 
the notes to be transposed chromatically (example: with a diatonic 
scale of C, D, E, F, G, A, and B, along with a transposition value of 
"1," the notes played will be C#, D#, E#, F#, G#, A#, and B#).

TEMPO and UNIT
The speed at which notes are played is determined by the TEMPO (beats 
per minute) and UNIT (subdivsion of each beat) parameters.  A UNIT 
value of "1" means a note will play once on every beat (quarter note); 
a value of "2" means a note plays twice per beat (eighth note); a "3" 
means three notes per beat (triplet-eighth), and "4," "6," and "8" 
mean sixteenth, triplet-sixteenth, and thirtysecond notes, 
respectively.  Notes are only played when the mouse is moving over the 
grid with the left button held.

VELOCITY
To change the velocity (loudness) of the notes, press the right button 
while moving the mouse over the grid (this can be done simultaneously 
while pressing the left button).  There are two user-selectable 
velocity patterns:

VELOCITY "A"
	The velocity of the two horizontal notes goes from soft to 
	loud moving left to right, and the velocity of the two 
	vertical notes goes from soft to loud moving top to bottom.

VELOCITY "B"
	The velocity of the two horizontal notes goes from loud to 
	soft moving left to right, and the velocity of the two 
	vertical notes goes from loud to soft moving top to bottom.
	
Note-velocity is changed only when the mouse is moving over the grid 
with the right button held.

MIDI FILE RECORDING
Clicking on the START button records all note output in a Standard 
MIDI file.  Click on STOP to save the file.
