
DIN Is Noise 
Copyright (c) 2006-2017 Jagannathan Sampath <jag@dinisnoise.org>.

------------
| Mondrian |
------------

Inspired by the work of Dutch artist Piet Mondrian.

Balls bounce in boxes.
Pass thru slits.
Sound on impact.
Pitch from point of impact.
Initial volume from Menu > Parameters > Min Voices
  More voices means less volume per voice and vice-versa.

Horizontal goes from Key note to octave above.
Vertical goes Key note to octave above.

Set Key note and choose notes of the scale from Settings screen.

Boxes:

Create boxes within boxes.

r - split box under cursor into two new vertical boxes

    Menu > Tools > Split box vertically into 2 boxes 

SHIFT + r - split box under cursor into vertical boxes 
            on the notes of the scale 

            or Menu > Tools > Split box vertically at notes

CTRL + r -  split box under cursor vertically into N boxes. 

            or Menu > Tools > Split box vertically into N boxes

            Set N from Tools menu.

f - split box under cursor into two new horizontal boxes
    
    or Menu > Tools > Split box horizontally into 2 boxes

SHIFT + f - split box under cursor into horizontal boxes 
            on the notes of the scale

            or Menu > Tools > Split box horizontally at notes

CTRL + f  - split box under cursor horizontally into N boxes.

            or Menu > Tools > Split box horizontally into N boxes

            Set N from tools menu.

v - delete box under cursor or Menu > Tools > Delete box

SHIFT + v - delete all boxes in Mondrian
            or Menu > Tools > Delete all boxes

t - make a grid of boxes on the notes of the scale
    or Menu > Tools > Make note grid

SHIFT + t - make a N x N grid of boxes. Set N from tools menu.
            or Menu > Tools > Make N x N grid

h - assign random color to box under cursor

Click on a box's edge and just move mouse to move the edge. 
Click again or ESC to stop.

Slits:

Slits let balls of a box pass thru its walls or ceilings into
other boxes.

  You can make or close slits or let wrecking and healing balls 
  [see below] make and close them automatically.

  / - Click on an edge of a box to slit. If a slit already exists, 
      it will close.

	SHIFT + / - Create a slit as before but this one starts animating. 
							If slit is already animating, it will stop animating.

							In this mode, slits made by wreckers will start animating
							too!

	NUM_PAD 6 - Clear animation of slit under cursor
	NUM_PAD 7 - Slow down the animation of slit under cursor
	NUM_PAD 8 - Speed up the animation of slit under cursor
	NUM_PAD 9 - Clear slit under cursor

  Cannot slit if balls will escape the entire playing area.
  Cannot slit corners.

  NUM_PAD + - Increase default slit size
  NUM_PAD - - Decrease default slit size

  To adjust an existing slit, edit one of its two lips:
  Click once on a lip, just move mouse to move the lip and click 
  again to stop.

  Also,

  F9  - remove all slits on the current edge
  F10 - remove all slits in the current box
  F11 - remove all slits

Balls:

b - to launch bouncers or Menu > Tools > Add bouncers
SHIFT + b - to launch wreckers or Menu > Tools > Add wreckers
CTRL + b - to launch healers or Menu > Tools > Add healers

Click, drag and release to launch with an initial velocity

The shortcuts below affect selected balls, balls in box under cursor 
or if cursor is outside all boxes, all the balls in Mondrian. 

[ - decrease speed
] - increase speed

; - decrease attack time
' - increase attack time
SHIFT + ; - decrease attack time increment
SHIFT + ' - increase attack time increment

, - decrease decay time
. - increase decay time
SHIFT + , - decrease decay time increment
SHIFT + . - increase decay time increment

o - rotate direction anti-clockwise
p - rotate direction clockwise
SHIFT + o - decrease angle of rotation
SHIFT + p - increase angle of rotation
CTRL + o - toggle auto rotate direction anti-clockwise
CTRL + p - toggle auto rotate direction clockwise

j - flip direction of travel

SPACE - freeze or thaw  balls
SHIFT + SPACE - freeze balls
CTRL + SPACE - thaw balls

- - decrease trail length
= - increase trail length

Ball types:

  A wrecking ball slits walls and ceilings. Red in color.
  A healing ball closes slits.  Blue in color.

  F3  - turns selected balls into wrecking balls
        or wrecking balls into bouncing balls.
  
  F4  - turns selected balls into healing balls
        or healing balls into bouncing balls.
  
  F5 -  turns selected balls into bouncing balls.

  F6 -  change all wrecking balls into healing balls
        and vice-versa.
  
  F7 -  select all wrecking balls.

  F8 -  select all healing balls.

Ball selection:

Click once and just move mouse to draw a box to select 
some balls. Click again to stop.

Hold down SHIFT to add to existing selection
Hold down CTRL to toggle existing selection

i - invert current selection
k - select all balls in box under cursor
l - select all balls in all boxes
n - clear selected balls

Ball manipulation:

c - delete selected balls

m - move selected balls
      just move mouse to move balls, click or ESC or m to stop.

Miscellaneous:

1 - switch instrument or Menu > Instrument
2 - edit waveform 
3 - edit attack curve
4 - edit decay curve

z - shift instrument or selected balls an octave down
x - shift instrument or selected balls an octave up
      balls are gray if they trigger notes without modulation (default)
      balls are black if they trigger notes shifted down
      balls are white if they trigger notes shifted up

y - decrease number of voices
u - increase number of voices

Visual:

Mondrian draws a regular polygon when & where it triggers a note.

9 - decrease radius of note polygon
0 - increase radius of note polygon
SHIFT + 9 - decrease points in note polygon
SHIFT + 0 - increase points in note polygon

F2  - Turn the UI ON or OFF
        Only draws triggered notes.

See Menu > Misc for more visual options.

w, a, s, d - move viewpoint

q, e - zoom in and out

Recording:
  
  CTRL + ENTER - to start/stop sound recording
  or Click on the Record button at the bottom of the microtonal-keyboard

  LALT + ENTER - clear existing recording
  or choose Menu > File > Clear

  Menu > File > Save to save the recording as a .WAV file on the desktop.


Console:

TAB : enter/leave command mode
UP_ARROW / DOWN_ARROW: scroll up/down
LSHIFT + UP_ARROW / DOWN_ARROW: scroll up/down command history

In command mode, type help to reveal available commands. Or type
help command_name
to get help for a particular command.

PgUp, PgDn: page up, page down
BACKSPACE : delete all text in console
` : fold/unfold console
