Creating XTC Devices
2) Parameterization
Until now the state of all modules and their pads of an device were saved when storing a preset or the project. The new parameter
concept enables the developer to set up a flexible and efficient architecture for external controllers and
automation. Additionally you can exchange specific modules more easily
because the automation setup and the presets
reference the parameters and not the modules themselves.
All parameters that you need to reference externally must be added to the parameter list. This is done by dragging the pads from the Pad list into the
parameter list window.
Only the parameters in the parameter list are saved with the project.
Note that saving and recalling parameters in a project or via the preset list is in this context considered as being an external
reference to the device's values.
It will also be easier to control and automate the declared parameters via external controls.
The following steps are necessary to add parameters to your device.
| | |
 |
Right click on your device in the Project Window and select 'Open Parameter List'. |
 |
When the parameter list opens activate the 'Freeze' button. This forces the parameter list to keep the focus on the
selected device, so that you can freely navigate through your device in the Project Window and Project Explorer without loosing
the focus. |
 |
In the bottom line of the Parameter List window you can see the name of the device (or the folder) the current
parameter list is focused on. Normally the parameter list should reference the root folder (the device node) of your device. |
Before you start you should be aware of the fact that your device may have a vast number of parameters - and only some of them
you want to save in the preset list. As an example would not save the bypass status of an effect with the presets but with the project. So you
may want to have at least two folders for your parameters - one with the ones you usually save with the presets and one for 'automation only'.
Taking into account that some programs (host programs for XTC mode) can only automate the first dozens of parameters, you might like to
have some more folders for your parameters. You can create subfolders in the preset list by using the right mouse button. |
 |
Now you can add the items you need to the parameter list. We recommend that
you connect the parameters to the pads of the circuit
and not the surface elements. It is a good idea to always take the Pads of the originated modules, i. e. not to reference exported Pads. Some Pads may have converters - we recommend to take the Pad of the module and not that of the converter because the converter might get lost if you make changes to the surface.
 | There is another special case: Pads that only accept float/double values. Parameters are always saved as integer (or long) values. These Pads have also converters in front of them. It is not advisable to reference the converter but you also cannot reference the Pad itself. In this case you can place a 'Controller Pad' module in front of the converter and reference the 'Controller Pad' from your Parameter. In this case connect the control element of the surface to the 'Controller Pad', too. |
You can click on the control elements of your surface and use the Connection window to navigate to the Pads of the connected
module (by double-clicking on the connection you can move to the connected module).
Then drag and drop the Pad from the Pad list into the Parameter
list. A folder with the name of your device is created which will hold the parameterized Pads of the device. With the context menu in the Parameter list window you can create subfolders for the parameters. You might like to give the parameters meaningful names

 |
Some of the control elements might be connected to the module via a converter - p. e. a frequency pot to a frequency Pad. It is important that you transform the InPad of the converter to an I/O-Pad. Especially when changing a preset or when playing back automation data the controller can only update properly when the converter has IO-Pads instead of In- and OutPads. An Inpad only allows to communicate in one direction. Please keep in mind that the converter can get lost and that you should reference the Pad on the module itself and not a converter Pad.
|
Of
course you can also navigate in the Project Window, pick the device and drag the Pads from the
Pad list into the Parameter list.
You might also like to save the position of your device's panel with the project. Therefore you should add 'Position Pads' to the panel. In the Project Window go to the circuit node of your panel. In the context menu of this node select 'Special Pads -> Enable Position'. 'PosX' and 'PosY' Pads are added to the Pad list of the panel. Drag these Pads into the Parameter list if you like to.

If you need to find the module for a specific parameter you could use the Parameter window's context menu (right mouse button click on a parameter and choose 'Select in ModuleTree'). The module gets selected in the Project Explorer.
|  |
Please note that your device can have two special pads: MIDIChannel and Voices. These pads should be named as
'cwMidiChannel' and 'cwVoices' respectively. In XTC mode a special menu bar provides controls for these pads.
|