Package Max

ctlout

Transmit MIDI controller messages

Description

Transmits MIDI continuous controller values to a MIDI device.

Arguments

port[symbol]
optional

Specifies the port (a-z) for transmitting MIDI control messages. If there is no argument, ctlout initially transmits out port a, on channel 1. When a port is specified by a letter argument, channel numbers greater than 16 received in the right inlet 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.

ctrllr-channel[list]
optional

Following the (optional) port argument, the next argument is an initial value for the controller number to be used in control messages transmitted by ctlout. Controller numbers are automatically limited between 0 and 127. If there is no controller number specified, the initial controller number is 1.

Following the controller number argument is an initial value for the channel number on which to transmit control messages. If the channel argument is not present, ctlout initially transmits control messages on channel 1. In order for this argument to be used, a controller number argument must precede it.

If a port has been specified with a letter argument, channel numbers greater than 16 will be wrapped around to stay within the 1-16 range. If no port argument is present, the channel number specifies both the port and the channel. 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]: 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.

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]

JS Painter File

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

int

In left inlet: The number is used as the control value, and ctlout transmits a MIDI control change message. Numbers are limited between 0 and 127.

Arguments:
  • input [int]

  (inlet1)

In middle inlet: The number is stored as the controller number of the control change messages transmitted by ctlout. Numbers are limited between 0 and 127.

Arguments:
  • controller [int]

  (inlet2)

In right inlet: The number is stored as the channel number on which to transmit the control messages.

Arguments:
  • channel [int]

float

Converted to int .

Arguments:
  • input [float]

anything

Performs the same function as port .

Arguments:
  • port [list]

(mouse)

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

port

In left inlet: 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 MIDI control messages. The word port is optional and can be omitted. The name 'none' can be used to prevent the object from transmitting MIDI messages on any port.

Arguments:
  • port [symbol]

Output

(MIDI)

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

See Also

Name Description
bendout Send MIDI pitch bend messages
ctlin Output received MIDI control values
midiout Transmit raw MIDI data
noteout Transmit MIDI note messages
xbendout Format extra precision MIDI pitch bend messages