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

poly Reference

Allocate notes to different voices

poly

Description

Provides polyphonic voice-allocation by allocating data to different individual voices.

Examples

Send each voice to a different place... Limit the number of notes held at a time

Arguments

voices [number]

Optional

Sets the number of voices to which poly can allocate notes (thus limiting the number of notes poly can hold at one time). If there is no argument present, poly will hold up to 16 notes.

steal-mode [int]

Optional

If there is no second argument, or if the second argument is 0, poly sends any notes it cannot hold out the rightmost outlet. If there is a non=zero second argument, poly steals voices: when poly receives more notes than it has voices, it turns off the note it has held the longest and puts the new note in its place.

Attributes

Common Box Attributes

Messages

int

Arguments

pitch [int]
The number is treated as the pitch value of pitch-velocity pair and the note is sent out.

  (inlet1)

Arguments

velocity [int]
The number is stored as the velocity to be paired with numbers received in the left inlet.

stop

In left inlet: Immediately sends note-offs for all the notes currently being held by poly, freeing all voices.

Output

int

Out left outlet: The output is the voice number of the note-on or note-off being sent out.

Out 2nd outlet: The output is the pitch of the note-on or note-off.

Out 3rd outlet: The number is the velocity of the note-on or note-off.

list

Out 4th outlet: The first number is the pitch, and the second number is the velocity, of any notes poly cannot hold. If there is a non-zero second argument, poly steals voices rather than send out overflow, so the fourth outlet is not created.

See Also

Name Description
borax
flush
makenote