A newer version of Max is available. Click here to access the latest version of this document.

borax

Report current information about note-ons and note-offs

Description

borax acquires and outputs comprehensive information regarding note-ons and note-offs including the number of notes since the object was last reset, the voice allocation number, the number of notes currently active, the pitch of an incoming note, the velocity of an incoming note, the event number associated with the duration count, the duration value, the event number associated with the delta-time report, and the delta-time between note-ons.

Arguments

None.

Messages

bang In right inlet: Resets borax by sending note-offs for all notes currently being held, erasing the borax object's memory of all notes received, and setting its counters and its clock to 0.
int MIDI pitch value [int]
In left inlet: The number is the pitch value of a MIDI note-on message or note-off message (note-on with a velocity of 0). The pitch is paired with the velocity in the middle inlet. borax ignores note-on messages for pitches it is already holding, and ignores note-off messages for pitches that have already been turned off. If the note is not a duplicate, borax sends out the pitch and velocity values, as well as other information.

In middle inlet: The number is stored as the velocity, to be paired with pitch numbers received in the left inlet.
  (inlet1) MIDI velocity value [int]
In middle inlet: The number is stored as the velocity, to be paired with pitch numbers received in the left inlet.
delta In left inlet: Causes the delta time (the time elapsed since the last note-on) and the delta count (the number of delta times that have been reported) to be sent out.
list MIDI pitch-velocity pair [list]
In left inlet: The second number is stored as the velocity, and the first number is used as the pitch, of a pitch-velocity pair. If the note is not a duplicate, borax sends out the pitch and velocity values, as well as other information.

Information for box attributes common to all objects

Output

int: Out left outlet: Each note-on received by borax is assigned a unique number, equal to the total count of note-ons received (since the last reset). That number is sent out when the note-on is received, and the same number is sent out when the note is turned off.

Out 2nd outlet: Each note is also assigned a unique voice number, equal to the lowest available number. (A voice becomes available when the note assigned to it is turned off.) That number is sent out when the note-on is received, and the same number is sent out when the note is turned off.

Out 3rd outlet: The number of notes being held by borax is sent out each time a note-on or a note-off is received.

Out 4th outlet: The pitch of the note-on or note-off is sent out.

Out 5th outlet: The velocity of the note-on or note-off is sent out.

Out 6th outlet: When a note-off is received, the total count of all completed notes (since the last reset) is sent out.

Out 7th outlet: When a note-off is received, the duration of that note, in milliseconds, is sent out.

Out 8th outlet: Each time a delta time is reported, the total count of delta times is sent out.

Out right outlet: When a note-on is received, the delta time is sent out (the time elapsed since the previous note-on, in milliseconds). A delta message in the left inlet causes the same output.

A bang received in the right inlet causes borax to provide note-offs for any notes it currently holds. These note-offs trigger the same outputs as if they had actually been received.

Examples

borax provides extensive information about the notes passing through

See Also

Name Description
midiparse Interpret raw MIDI data
poly Allocate notes to different voices