Creating Instances of an mc.gen~ Object

When you create an mc.gen~ object, you are creating a hosting environment for as many instances of a Gen DSP patch. There are several ways to manage the contents of the object, based on how the Gen DSP is loaded.

Multiple copies of the default Gen DSP patch

If you create an mc.gen~ object without a patcher name argument, you are working with the default, unnamed Gen DSP patch maintained by Gen. This patch is duplicated across all instances, and any changes to this patch will be propagated across all voices.

Using multiple copies of a single Gen DSP file

When you load a single Gen DSP file into an mc.gen~ object, it is copied to all voices defined by the object. If the patch is changed, the changes are immediately propogated to all voices (it does not require the file to be saved).

Using multiple voices with individual Gen DSP files

You can load mc.gen~ with a different Gen DSP file for each voice defined by the object. This is done using the @values wrapper message to add psuedo-arguments for each voice. If fewer files are provided than channels are defined, the remaining channels will use the default Gen DSP patch.

When you change the content of one of the patches, it does not propogate any changes to the other voices - each of the Gen DSP files is isolated from the others.