Package Max

mpeparse

Interpret raw MPE MIDI data

Description

Separates raw Multidimensional Polyphonic Expression (MPE) MIDI bytes into standard message types.

Arguments

None.

Attributes

hires[int]: 0

The hires attribute is used to support high-resolution pitch bend scaling. When the attribute is set to 0, mpeparse will accept and output pitch bend integer values in the standard MIDI range of 0 to 127. When the attribute is set to 1, it accepts high resolution MIDI data and outputs float values in the range of -1 to 1. When the attribute is set to 2, it accepts high resolution MIDI data and outputs integer values in the range of -8192 to 8191 (standard 14-bit MIDI high resolution pitch bend range). Possible values:

0 = 'Off (0-127)' ( Standard 8-bit MIDI pitch bend range (default) )
1 = 'Float (-1 to 1)' ( Uses pitch bend messages in the audio signal range )
2 = '14-bit Fixed (-8192 to 8191)' ( Standard 14-bit MIDI high resolution pitch bend range )

index[int]: 0

Set mpeparse to output only on the specified voice number (from 1 to 15).

strict[int]: 0

Enforce MPE Scope

Common Box Attributes

Below is a list of attributes shared by all objects. If you want to change one of these attributes for an object based on the object box, you need to place the word sendbox in front of the attribute name, or use the object's Inspector.

annotation[symbol]

Sets the text that will be displayed in the Clue window when the user moves the mouse over the object.

background[int]: 0

Adds or removes the object from the patcher's background layer. background 1 adds the object to the background layer, background 0 removes it. Objects in the background layer are shown behind all objects in the default foreground layer.

color[4 floats]

Sets the color for the object box outline.

fontface[int]

Sets the type style used by the object. The options are:

plain
bold
italic
bold italic Possible values:

0 = 'regular'
1 = 'bold'
2 = 'italic'
3 = 'bold italic'

fontname[symbol]

Sets the object's font.

fontsize[float]

Sets the object's font size (in points). Possible values:

'8'
'9'
'10'
'11'
'12'
'13'
'14'
'16'
'18'
'20'
'24'
'30'
'36'
'48'
'64'
'72'

hidden[int]: 0

Toggles whether an object is hidden when the patcher is locked.

hint[symbol]

Sets the text that will be displayed in as a pop-up hint when the user moves the mouse over the object in a locked patcher.

ignoreclick[int]: 0

Toggles whether an object ignores mouse clicks in a locked patcher.

jspainterfile[symbol]

You can override the default appearance of a user interface object by assigning a JavaScript file with code for painting the object. The file must be in the search path.

patching_rect[4 floats]: 0. 0. 100. 0.

Sets the position and size of the object in the patcher window.

position[2 floats]
write-only

Sets the object's x and y position in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its size unchanged.

presentation[int]: 0

Sets whether an object belongs to the patcher's presentation.

presentation_rect[4 floats]: 0. 0. 0. 0.

Sets the x and y position and width and height of the object in the patcher's presentation, leaving its patching position unchanged.

rect[4 floats]
write-only

Sets the x and y position and width and height of the object in both patching and presentation modes (if the object belongs to its patcher's presentation).

size[2 floats]
write-only

Sets the object's width and height in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its position unchanged.

textcolor[4 floats]

Sets the color for the object's text in RGBA format.

textjustification[int]

Sets the justification for the object's text. Possible values:

0 = 'left'
1 = 'center'
2 = 'right'

varname[symbol]

Sets the patcher's scripting name, which can be used to address the object by name in pattr, scripting messages to thispatcher, and the js object.

Messages

bang

Clears the mpeparse object's memory of any partial MPE MIDI message received up to that point.

int

Numbers received in the inlet are treated as bytes of a MIDI message (usually from a midiin or polymidiin object). The status byte determines the outlet which will be used to output the data bytes.

Arguments:
  • byte [int]

float

Converted to int .

Arguments:
  • byte [float]

mpeevent

The word 'mpeevent' followed by 6 integers, which specify the Zone First Channel, Zone Index, Voice Number, Channel Number, MIDI Message Number, and Data.

Arguments:
  • MPE-messages [list]

Output

int

Out 4th outlet: The number is a program change.

Out 5th outlet: The number is an aftertouch (channel pressure) value.

Out 6th outlet: The number is a pitch bend value.

Out 7th outlet: The number is the voice number (-1 if global).

Out 8th outlet: The number is the Zone First Channel.

Out 9th outlet: The number is the Zone Index (-1 if global).

list

Out leftmost outlet: A note-on/note-off message. The first number is a pitch value and the second number is a velocity value.

Out 2nd outlet: A polyphonic key pressure message. The first number is an aftertouch (pressure) value and the second number is a pitch value (key number).

Out 3rd outlet: A control message. The first number is a control value and the second number is a controller number.

list

Out rightmost outlet: The MPE Event Message. The MPE event message is a list composed of the symbol mpeevent , followed by 6 integers which specify the Zone First Channel, Zone Index, Voice Number, Channel Number, MIDI Message Number, and Data. This message can be sent to a patch encapsulated in a poly~ object using the polymidiin object.

See Also

Name Description
midiin Output raw MIDI data
midiformat Prepare data in the form of a MIDI message
midiparse Interpret raw MIDI data
mpeconfig Configure a MIDI device that supports Multidimensional Polyphonic Expression (MPE) messages
mpeformat Prepare data in the form of a Multidimensional Polyphonic Expression (MPE) MIDI message
polymidiin Output Multidimensional Polyphonic Expression (MPE) MIDI data