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

pgmout Reference

Send MIDI program changes

pgmout

Examples

Letter argument transmits to only one port. Otherwise, number specifies both port and channel

Arguments

port [symbol]

Optional

Specifies the port for transmitting MIDI program change messages. When a letter argument is present, channel numbers greater than 16 received in the right inlet will be wrapped around to stay within the 1-16 range. If there is no argument, pgmout initially transmits out port a, on MIDI channel 1.

port-channel [list]

A letter and number combination (separated by a space) indicates a port and a specific MIDI channel on which to transmit program change messages. Channel numbers greater than 16 will be wrapped around to stay within the 1-16 range.

device [symbol]

Optional

The name of a MIDI output device may be used as the first argument to specify the port. The name 'none' can be used to prevent the object from transmitting MIDI messages on any port.

channel [int]

A number alone can be used in place of a letter and number combination. The exact meaning of the channel number argument depends on the channel offset specified for each port in the MIDI Setup dialog.

Attributes

matchport [int] (default: 0)

If the port argument doesn't match an existing port or device name, set the object's MIDI port to 'none'.

name [symbol]

Set the object's MIDI port based on a device name. The attribute will attempt to do a case-sensitive partial string match based on the attribute's value.

zerobased [int] (default: 0)

When enabled, output program change values from 0 to 127. By default, pgmout outputs values from 1-128.

Common Box Attributes

annotation [symbol]

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

background [int] (default: 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] (default: 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] (default: 0)

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

jspainterfile [symbol]

JS Painter File

patching_rect [4 floats] (default: 0. 0. 100. 0.)

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

position [2 floats]

g/s(set)

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] (default: 0)

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

presentation_rect [4 floats] (default: 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]

g/s(set)

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]

g/s(set)

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

int

Arguments

input [int]
In left inlet: The number has 1 subtracted from it and then is transmitted as a program change value on the specified channel and port. Numbers are limited between 1 and 128, and are sent out as program changes 0 to 127.

  (inlet1)

Arguments

channel [int]
In right inlet: The number is stored as the channel number on which to transmit the program change messages.

float

Arguments

input [float]
Converted to int.

anything

Arguments

port [list]
Performs the same function as port but without need for the word, "port".

(mouse)

Double-clicking on a pgmout object shows a pop-up menu for choosing a MIDI port or device.

port

Arguments

port [symbol]
The word port, followed by a letter a- z or the name of a MIDI output port or device, specifies the port used to transmit the MIDI messages. The word port is optional and may be omitted. The name 'none' can be used to prevent the object from transmitting MIDI messages on any port.

list

Arguments

input [list]
In left inlet: The first number is the program number +1, and the second number is the channel of a MIDI program change message transmitted on the specified channel and port.

Output

(MIDI)

There are no outlets. The output is a MIDI program change message transmitted directly to the object's MIDI output port.

See Also

Name Description
MIDI MIDI
midiout Transmit raw MIDI data
pgmin Receive MIDI program changes