workshop : max/msp course @ Goldsmiths College, London

max/msp course notes
19 March 2005
Goldsmiths College, London

bang & toggle -> easy way to see what's going on in the patch; test; use it to print values

apple m = status window
number box passes on info when it receives the bang

- off when 0 (int)
- on for any other int value
- if it gets a float, it truncates the decimal to give 0 or 1 eg 1.57 would give 1; 0.73 would give 0

give arguments labels if multiple elemnts are used
eg print A, print B

prepend set - message -> monitoring data; to preview data
timings are in milliseconds

metro 1000-34 -> 1000 is the start value; 34 will override 1000 (right input)

help metro -> to show help pages (patches); or check help menus; also check status bar

1. what numbers do we use to control the object
2. what numbers do we need
3. how do we convert 1. to 2.

- toggle
- int number
- float number
- sliders
- radio buttons x/y
- dial
- keyboard
-- polyphonic (multiple select/toggle keys) or monophonic (single select keys)
- apple i shows inspector eg uslider inspector

fatal loops = endless loop; stack overflow

right to left rule of calculation
- patch values are calculated from top to bottom and right to left

maths expressions

select object
- if then else

midi - can use virtual midi if no midi device connected

midi objects
- don't use midi in/out much as this will include all the sync/clock/timing midi commands
- use note in/out or bend in/out (pitch bend) etc instead
- ctrl in -> fader control

16channel = 1 channel for each device
- this is right most number (A)
note in
(C) (B) (A)

(A) who do you speak to (channel)
(B) what do you tell it (velocity)
(C) what value (value)

need to send note off also to stop notes. use makenote instead to manage this for you.
makenote 67 1000 will turn off the note after 1 sec (1000)
if musician plays notes on keyboard they decide when the note offs are sent so you don't need to send them for live players; only for virtual midi

trigger ff
trigger ii (int)
trigger (bb (bang)
- avoids the right-left problems for cases i++ or ++i


first audio / msp