Configure the behavior of a plug-in
addview |
name [symbol] x-offset [int] y-offset [int] initial-view (1 or 0) [int] |
plugconfig with the name of an added view as an argument, the patcher window will scroll to the view's x and y offset. This works in Max as well as in the run-time plug-in environment, allowing you to test interface configurations. | adds an additional "Interface" view to the plug-in's menu with a specified x and y offset. This allows you to scroll the patcher to a different location to expose a different part of the interface that might correspond to a "page" of parameter controls. If you send the message to
accurate | 0/1 [list] |
The By default, accurate mode is not enabled and the scheduler runs at the same interval as the I/O vector size of the host environment (typically 512 or 1024 samples). The only thing accurate mode affects is parameter updating to a plug-in, so for example if you have a control-rate LFO you may want to use this mode. The use of accurate mode will also increase the frequency of parameter updating from control-rate scheduled plugmod processes. |
message tells the runtime plug-in environment to run the Max event (or control) scheduler at the same number-of-samples interval as the signal vector size. At 32 samples this is slightly less than 1 ms but running the scheduler this often can have some impact on the overall CPU-intensiveness of the plug-in.
autosize | , which by default is enabled, sizes the plug-in edit window to be the height necessary to display all of the parameters, and the width of the parameter display. | |
defaultview |
name [symbol] x-offset [int] y-offset [int] initial-view (1 or 0) [int] |
renames the "Interface" item in the plug-in's menu to the name argument, scrolling the patcher to the specified x and y offsets when the view is made visible. If the third argument (optional) to is non-zero, the view is made the initial view shown when the plug-in editing window is opened. This will be true anyway if there is no "Parameters" view (as specified by the message). |
dragscroll | allow/disallow-flag (1 or 0) [int] |
This message is currently unimplemented. |
capture |
program-number [int] program-name [symbol] |
The word pp and plugmultiparam data and adds the valude in the form of a message in the plugconfig. Sending a message is customarily how you create plug-in presets while creating a plug-in patch. | , followed by a program number (numbering starts at 1), saves all current
category | category-number [int] |
The word None: 0 (0x0000 hex) EQ: 1 (0x0001 hex) Dynamics: 2 (0x0002 hex) PitchShift: 4 (0x0004 hex) Reverb: 8 (0x0008 hex) Delay: 16 (0x0010 hex) Modulation: 32 (0x0020 hex) Harmonic: 64 (0x0040 hex) NoiseReduction: 128 (0x0080 hex) Dither: 256 (0x0100 hex) SoundField: 512 (0x0200 hex) HWGenerators: 1024 (0x0400 hex) SWGenerators: 2048 (0x0800 hex) WrappedPlugin: 4096 (0x1000 hex) Effect: 8192 (0x2000 hex) |
, followed by a number that specifies a category for the plug-in, identifies the plug-in to a host application. Some hosts, such as Pro-Tools, list plug-ins based on what category of plug-in they are assigned rather than the location on the hard drive. If you choose to not define the category your plug-in will be listed in the "none" or "other" category. The following chart lists what numbers map to which categories:
(mouse) | Double-clicking on the plugconfig object will opens an editing window where you can view its contents. | |
infopict |
pict-file-name [symbol] 0 [int] |
The | allows you to include a picture to display in the "Plug-in Info" view.
infotext | text-content [list] |
allows you to describe the effect and have the text appear in the "Plug-in Info" view. There is a limit of about 256 words. A special symbol consisting of a less-than symbol and a greater-than symbol surrounding a capital "P" produces a carriage return. Note that all commas and semicolons in the text must be preceded by a backslash. If you do not do this, you could wipe out the rest of your script when you save it. |
hintcolor |
16-bit color value [int] 16-bit color value [int] 16-bit color value [int] |
The word | , followed by three numbers that specify a color as a 16-bit value, sets the text color which appears in the hint area for standard pluggo-format interfaces. As an example, a black hint would be specified with .
hintbg |
16-bit color value [int] 16-bit color value [int] 16-bit color value [int] |
The word | , followed by three numbers that specify a color as a 16-bit value, sets the background color which appears in the hint area for standard pluggo-format interfaces. As an example, a medium gray would be specified with , and a white background would be specified with .
hintfg |
16-bit color value [int] 16-bit color value [int] 16-bit color value [int] |
The word | , followed by three numbers that specify a color as a 16-bit value, sets the second background color which appears in the hint area for standard pluggo-format interfaces.
initialpgm | program number [int] |
The word loadbang objects to set the initial values of plug-in parameters. This behavior, however, is not consistent with the majority of plug-ins that get set to the values in program 1 when they are loaded (since 1 is always the initial program, unless the plug-in is being restored as part of a document for the host application). Once you have a collection of settings that you like, consider storing them in the first program inside plugconfig and adding an message. This has the added benefit of doing away with loadbang objects used to initialize your parameters. Any other program number (up to the number of programs in the plug-in specified by the message) can also be loaded, but the current program number as shown in the host sequencer's window cannot be changed by the plug-in. So, given that all host sequencers are initially set to program 1, you'll end up confusing the user if you load another program number initially. | , followed by a number, specifies the program that should be loaded when the plug-in is initially opened. The default is 0, which means no program will be loaded; instead in this case, you would use
latency | number-of-samples [int] |
The word | , followed by a number that specifies the latency (in samples) inherent in a plug-in, provides latency information to the plug-in host so that the host can compensate.
noinfo | This is the default behavior for plug-in information. If neither text nor picture has been provided as information about the effect, the "Plug-in Info" item does not appear in the | menu, even if you've enabled it with the command above. If and either or appear together in a script, "loses" and the "info" view is displayed.|
nohintarea | If the | message appears in a script, the runtime plug-in environment does not provide additional space for a hint area at the bottom of the Parameters view. If however the number of egg sliders does not completely fill the edit window because its size was defined using either the or messages, a hint area will be present.|
numprograms | number-of-programs (1 through 128) [int] |
pp and plugmultiparam objects. The default number of programs is 64, the minimum is 1, and the maximum is 128. By default, all programs are set to 0 for each parameter, but you can override this with the message. | sets the number of stored programs for the plug-in. Programs are collections of values (between 0 and 1) for each of the parameters you've defined using
meter | level-meter-mode [int] |
The word 1: meter the input 2: meter the output 3: off |
, followed by a number, sets the initial mode of the level meter at the top of the plug-in edit window. There is currently no way to permanently disable the meter, but it is disabled if there isn't enough space to display it fully because you've defined an edit window that is too narrow. The modes are:
package | package code [symbol] |
The word | , followed by a four-character code, is used to define a plug-in collection. This code corresponds to the Macintosh Application Creator Code (see the Collectives vignette for more information on this topic). If your collection of plug-ins with a custom package code is placed in a subfolder of the VST folder (as is done with the pluggo, Mode, Hipno and UpMix plug-in collections) most host applications will categorize them as a separate collection. The default four-character ID is ????, which is assigned for generic files and applications.
preempt | priority (1 or 0) [int] |
The word | followed by a 1 or 0 sets the priority of control messages. This message is currently ignored by the runtime plug-in environment.
offset |
x coordinate [int] y coordinate [int] |
The word plugconfig object to the specified coordinates. | , followed by a pair of numbers that specify X and Y coordinates, scrolls the patcher containing the
oversampling | code-number [int] |
This message is currently ignored by the runtime plug-in environment. |
nonrealtime | 0/1 [list] |
Causes the plug-in to be listed in the AudioSuite menu in Pro Tools. |
pic | file-name [list] |
The word | , followed by a filename, specifies a file to include in the plug-in.
product | product-name [symbol] |
The word | followed by a symbol, specifies a product name to be reported to the VST host application if it asks for one. This is typically specified in the plugconfig script. If no product name is given, then the default "Pluggo" is used.
setprogram | program-storage-data [list] |
The word plugconfig object's internal script. A message takes the form: number, name, start index offset, (list of values... Normally, you won't be typing the message into a script yourself; you'll send messages to the plugconfig object to generate it automatically. You might end up editing it (e.g., to change the program's name) so it's useful to know a little about the message's format. setprogram lets you name a specific program and, optionally, set some initial values for it. Program numbers (for the first argument) start at 1. The name is a symbol (if there are spaces in the name, it must be contained in double quotes). The start index offset argument sets a number added to 1 that determines the starting parameter number of the parameter values listed in the message. After this argument, one or more parameter values follow. If you don't supply enough values to set all the defined parameters, the additional ones are set to 0. You don't need to set the values at all if you want them to be 0. However, when you re-open the plugconfig object's edit window to view the script, the additional zero values will have been added. The start index offset argument is used to handle stored programs containing more than 256 parameters. 256 is the maximum size of a Max message. |
, followed by a list of data described below, creates and stores a program stored in the
setsize |
width (pixels) [int] height (pixels) [int] |
sets the plug-in edit window to be a specific size in pixels. If you use the Parameters view, this size may be overridden if you've specified a window too narrow to display the egg sliders properly. Note that you should add approximately 30 pixels to the size of the patcher window in order to account for the height of the menu and level-meter panel. |
sigvschange | signal-vector-size [int] |
This message is currently ignored by the runtime plug-in environment. 32 is currently the only possible signal vector size. |
sigvsdefault | signal-vector-size [int] |
This message is currently ignored by the runtime plug-in environment. 32 is currently the only possible signal vector size. |
swirl | 0/1 [list] |
The | message sets the hint area background to be drawn as a swirl inspired by the pluggo packaging (which was itself inspired by the publicity poster for the classic French film musical "Les Demoiselles de Rochefort"). The default appearance of the hint area is the plain, non-swirl background. To set the swirl colors, use the and messages.
synth | 0/1 [list] |
The word | , followed by a one or no arguments, tells host application that the plug-in is an instrument plug-in. If followed by a zero, it tells the host application that the plug-in is an effect plug-in. The default is that the plug-in is an effect, not an instrument.
read | filename [symbol] |
The word plugconfig object for saving as messages. No checking is done to verify that the file contains effect programs for a plug-in with the same unique ID code as the one in the plugconfig object, nor is there any checking to ensure that the number of plugconfig object parameters match. If the symbol is present, the plugconfig object looks for a file with that name. Otherwise, a standard open file dialog is displayed, allowing you select an effect program file. | , followed by an optional symbol, imports a file of effect programs saved in Cubase format and loads as many as possible into the
recall | program number [int] |
The word pp and plugmultiparam objects to the values stored within a setprogram message in the plugconfig object's script. The parameter numbers of the pp and plugmultiparam objects determine the values they are assigned from the contents of the message. | , followed by a program number (numbering starts at 1), sets all
uniqueid |
number (0-255) [int] number (0-255) [int] number (0-255) [int] |
The word plugmod connections between patchers. You can either use the three randomly generated numbers or something intentional. There are about 16 million possibilities. is reserved and cannot be used. Using a zero for the first number is reserved for use by Cycling '74 and its registered plug-in developers. You won't need to interact with this ID code, although you might want to know that part of it will be used as the basis for a floating-point "patcher code" output by the plugmod object. The floating-point value, however, will not in any way resemble the ID you choose. | , followed by three numbers in the range 0-255, specify an ID code that will uniquely identify your plug-in. The code is used to identify a plug-in as a pluggo-based animal as well as to preserve
usedefault | If this message appears in a script, there is no plug-in edit window. Instead, the parameter editing features of the host environment are used. By default, | is not present in a script, and the plug-in's editing window appears.|
useviews | show-views-flags (0 or 1) [list] |
determines which plug-in edit window views are presented to the user. The views are specified in the following order: Parameters (the egg sliders), Interface (a Max patcher-based interface), Messages (a transcript of the Max window useful for plug-in development), and Plug-in Info (where you can brag about your plug-in). If the edit window is visible, the Pluggo Info view always appears. For example, would place only the Parameters view in the plug-in edit window's menu. The user would be unable to switch to another view. |
welcome | welcome message [list] |
The word | followed by a group of words and numbers, specify the welcome message to be displayed at the bottom hint area when the user opens the plug-in editing window for the first time and looks at the Parameters view, as well as when the cursor is moved into the top part of the window when the Parameters view is being used. If the message is present in the script, the lack of a hint area in the Parameters view will cause the welcome message not to be displayed.
windowsize | sets the size of the plug-in edit window to the size of the patcher window. | |
vendor | vendor_name [symbol] |
The word | followed by a group of words and numbers, specifies a vendor name to be reported to the VST host application if it asks for one. This is typically specified in the plugconfig script.
version | version_number [int] |
The word | followed by a group of words and numbers, specifies a software version number to be reported to the VST host application if it asks for one. This is typically specified in the plugconfig script.
view | name of a view [list] |
The word plugconfig object's script, scrolls the patcher containing the plugconfig object to the coordinate offset assigned to the view. | , followed by a symbol that is the name of a view defined in the
Name | Description |
---|---|
plugmod | Modify plug-in parameter values in other plug-ins |