MuSET Home





UBC Toolbox: General Notes

General Notes:

In designing the UBC Max/MSP/Jitter Toolbox we have tried to keep the appearance and functionality of the modules as consistent as possible. Most modules have the following interface objects:

On-Off switchturns the module on or off. Modules must be turned on before they can be used
Help / Infoclick on this button to bring up the info panel for the module
Volume slidercontrols the output volume of the Player or Effects module
Signal levelshows the audio level of the signal leaving the module
(N.B. most modules operate in mono so they can be spatialized more freely)
Diala customized dial for adjusting relevant controls on each module.

We have tried to make the data structures used in the modules (as inputs and outputs) as consistent as possible. Note Data Lists are received by all Players, mono audio signals are the standard inputs and outputs of the modules (except for the mixer and panning modules), and we have tried to keep the range and values for control parameters simple but logical.

Each module can be controlled programmatically by passing messages to the receives implemented throughout the modules. Messages can be passed from any patch, from qlists or externally from NoteAbilityPro. A complete list of messages is included in each module's Info panel.

Extensions (0.95) to support multiple modules:

It is now possible to use multiple copies of the same module within a patch and to have it controlled by separate messages. To do this, add an extra numerical argument in the Argument(s) field of the bpatcher Inspector. For most of the bpatchers this will be the only argument, but for some, such as the samplerBP and megaSamplerBP w hich already have arguments for the soundfile name, buffer name and pitch, it will be the fourth argument. Once the argument has been added and the inspector closed, the argument value will be appended to module name - in the example below, the argument 21 has been added to an instance of the delayBP.

While all inputs and outputs can be connected and used as before, you can now send messages directly to the bpatcher by appending the argument to the end of the regular message. For example rather sending the message [delayVolL 80 3000] (which will control the module without any added argument) use the message [delayVolL21 80 3000]. NB. There is no space between the delayVolL and the 21 - this is now the name of the receive in this copy of the bpatcher.

In order to support multiple modules that use colls with soundfile information, each coll is assigned a unique name when the bPatcher is opened. If you are using a bPatcher with no argument, then the default coll for that bPatcher will be referenced. However, i f you create a bPatcher with an argument, the coll will be empty until you load data from an existing coll or paste data into the edit window.

This extension allows several different copies of the same modules to be controlled programmatically (from messages, qlists, or from NoteAbilityPro) within a single patch. Thanks to Martin Ritter for designing this mechanism.

Back to Toolbox

© 2008 Keith Hamel & Bob Pritchard