Peer Parameter Remapping

From version 1.18, if you change the target machine for a peer Event, Magic will try to automatically reassign any target parameters on the new machine, based on the parameter names. If the new machine is the same as the previous target, the assignments are simply copied over. If the two machines are different, Magic will try to find good parameter matches based on a set of rules. You can specify the remapping behaviour by defining exclusions and aliases in the user settings file and there are options to control the behaviour.

Exclusions

When attempting to remap a parameter, Magic checks the parameter name against a list of exclusions. Exclusions are checked even if the new target machine is the same as the previous target.

Each entry int the exclusions list represents a machine and any parameters of that machine which should not be automatically remapped.

Currently there is only one default exclusion rule, which prevents remapping of the "Param" and "Param Val" on Polac's VST adapters as those parameters can represent entirely different things, event on instances of the same VST.

The machine/parameter names in the exclusion rules are actually regular expressions, so one rule can cover several machine/parameters simultaneously, as is the case with the Polac VST rule.

There are probably many other parameters that shouldn't be remapped but I don't have time to compile that list. I'll probably add a few as I go along but feel free to suggest anything that should go in the defaults.


Exclusion rule for Polac VST adapters...

<ParameterMapping>
    <Exclusions>
        <Machine Name="Polac VST.*">
            <Parameter Name="Param.*" />
        </Machine>
    </Exclusions>
</ParameterMapping>
    

Aliases

Parameter names can be quite variable across different machines. One machine may use "Cutoff", another may use "Cut" and another may use "Filt Cut", all of which poses a problem to name based parameter remapping. To combat the infuriating variability of parameter names, Magic uses the power of Aliases.

The aliases consist of a list of groups of parameter names which are considered to be equivalent. Various common aliases are already defined but you can add your own if you find a need.

Of course just because two parameters have similar names, it doesn't mean they do the same thing, so it's best to always check that the new assignments make sense.


Example of parameter alias definition...

<ParameterMapping>
    <Aliases>
        <Group>
            <Item>Cutoff</Item>
            <Item>F: Cutoff</Item>
            <Item>- Cutoff</Item>
            <Item>Cut</Item>
            <Item>Filter Cutoff</Item>
            <Item>Filt Cut</Item>
            <Item>Freq</Item>
            <Item>Frequency</Item>
        </Group>
    </Aliases>
</ParameterMapping>
    

Options

There is a global option that specifies what should be done when a remapping match is found. The options are as follows:

Option Description
No remapping Never try to remap any parameters.
Skip exclusions Perform remapping while silently obeying exclusions.
Prompt on exclusions Perform remapping and ask user what to do when an exclusion is found. This is the default setting.
Remap all Remap all parameters, completely ignoring the exclusion settings.