by trogluddite on Sun Jun 17, 2012 4:50 pm
In this case, 'Status' just refers to the message type.
In genuine MIDI messages the message type and MIDI channel are combined into a single byte, with the upper four bits as the type, and lower four bits as Channel minus one (i.e. 0-15). Because of this, the status value will always be a multiple of 16 once the lower four bits have been separated out to get the Channel value.
Status values begin at 128, so that the highest bit is always set - this bit is used to indicate the start of a new message (hence data values only go from 0 to 127).
Valid values for 'Status' are...
128 Note Off (data1=note, data2=velocity)
144 Note On (data1=note, data2=velocity)
160 Poly Aftertouch (data1=note, data2=AT amount)
176 Continuous Controller (data1=CC number, data2=value)
192 Program Change (data1=prog.no., data 2 ignored)
208 Channel Aftertouch (data1=AT amount, data2 ignored)
224 Pitch Bend (data1=coarse, data2=fine)
240 Start SysEx message (needs to use dedicated SysEx primitives)
In raw MIDI, a value of 184 would be equivalent to; Type = Controller (176), Channel = 9 - but in SM you have to use the two separate values at their own inputs/outputs otherwise the message will get scrambled by the primitives.
Feel free to use any schematics and algorithms I post on the forum in your own designs - a credit is appreciated (but not a requirement).
Don't stagnate, mutate to create. Without randomness and serendipity the earth would be just another barren rock.