*Draft Documentation*

The Custom Control module is part of the Adroit Custom bundle.

All control settings such as knob positions are automatically saved with a Voltage Modular patch but the Custom Control module provides an extra layer of management based on scenes.

A scene consists of all the settings of the controls in your interface. There are 16 scenes labelled 1 through 9 then A through G.

You can switch between scenes by clicking on one of the buttons in the 4 x 4 grid on the Custom Control module (or a minature version that can be added to a Custom Panel module).

Scene selector buttons

Scenes can also be selected using the NEXT, PREV and RESET buttons or the associated trigger inputs. Or you can feed a control voltage to the CV IN socket. In this case the @ 0 V and @ 5 V knobs let you set the range of scenes that the control voltage selects.

More ways of selecting a scene

As well as being able to instantly jump from one scene to another it’s possible to morph (interpolate) between scenes. Scene morphing is very powerful so Adroit Custom has several features designed to exploit the potential. You can for instance do novel things like use an envelope generator to morph between several different scenes inside the time span of an individual note.

At a much slower pace you can use scenes for reconfiguring modules to make different sounds for different parts of a song or different songs in a set. By using voltage controlled switching you can rewire patches between scenes as well as turn all the controls to new settings.

By reusing the same set of modules rather than having additional sub-patches this technique can result in a significant reduction in CPU usage in complex setups. The down-side is that such patches can become quite complicated but this complexity can be hidden from view when only your cuctom interface is on screen.

As with Custom Look and Custom IO no visible connection is required between Custom Control and the Custom Panel modules and the Custom Control module would most probably be kept out of view off-screen once you’ve finished building your custom interface.

===================================

WORK IN PROGRESS – THE TEXT BELOW IS A MESS!

===================================

In the default Motorized mode a control changes setting depending on the current scene. For knobs and sliders this looks like they are being moved by a servo motor mounted behind the panel. When slowly morphing between scenes controls move gradually from one setting to another but this motion can be overriden with the mouse, it’s as if touching a motorized control applies a brake. Using the mouse to alter the position of the control changes the setting of that control in the current scene. If the scene changes at a regular pace cycling say through all 16 scenes then this can be used to gradually build up and edit an automation sequence.

Sometimes one wants a control to have the exact same setting in all scenes. This is achieved by setting the control’s scene mode to Shared.

The final type of scene mode is scene specifc. Here a control is assigned to only take effect in a particular scene. This enables sequencers to be built directly into the interface.

So if say we are cycling through scene 1 to 8 we can have 8 sliders all mapped to control the same thing but with the first set to Scene 1, the second to Scene 2 and so on. Then as the scene changes whatever has been mapped changes to the setting of the matching slider.

You can use this technique to add as many channels of sequencing as you like.

You’d normally do this with multiple Custom Panel modules arranged side by side each containing a slider. To assist in identifying which slider is active an LED could be added to each module that lights up when a particular scene is active. You would do this using each LED’s input setting with the first set to Scene 1 Gate the second to Scene 2 Gate and so on.

As Custom module controls are just normal knobs, sliders and buttons they can themselves be controlled by Custom Panel controls. This “meta mapping” can add another dimension to things. As there’s nothing to stop you hiding some secondary Custom Panel modules off-screen you can build a hierarchical patch were a very simplified custom interface is the only thing visible while behind the scenes this controls a more complicated custom interface which in turn controls a large conventional patch doing the actual work.

One feature that exploits this sequencer model is the ability to configure individual elements to represent a value for just one scene. This makes it possible to build sequencers into your interface without the need for any external sequencing modules.

So each control’s right click menu includes a Scene mode that can be set to Shared, Motorized or Scene X.

In Shared mode the knob has the same setting across all scenes so changing scenes has no impact on how it works.

In Step X mode X is a particular scene. So a knob in Step 3 mode only affects anything it’s mapped to when scene 3 is active. So if say we are cycling through scene 1 to 8 we can have 8 sliders all mapped to the same thing but with the first set to Scene mode Step 1, the second to Scene mode Step 2 and so on. Then as the scene changes whatever has been mapped changes setting to the matching slider. We have in effect constructed an 8-step sequencer directly into the interface.

In a practical setup this would consist of 8 Custom Panel modules side by side each containing a slider.

Also to assist in identifying which slider is active an LED can be added to each module that lights up when a particular scene is active. You could do this by setting the LED to monitor a Custom IO input that’s patched to one of Custom Control’s gates outputs but a far eaiser approach is to select a particular scene as an input in the LED’s Input menu.

To construct this 8-step sequencer one would start with a single Custom Panel add the slider, map it to whatever we want it to control, set it to Scene mode Step 1, add an LED and set its Input to Scene 1, then use Voltage Modular’s Duplicate feature to make create seven copies. Finally one would adjust the Step X and Input settings for the seven copies.

Scene morphing is a very powerful technique so there are a variety of options on how to control it.
Manual: A 4 x 4 grid of buttons allows you to select which of the 16 different scenes is active. MORPH TIME controls how quickly the controls morph from one scene to another. A miniture version of this 4 x 4 button grid can be added to a Custom Panel module.

A matching grid of 16 output sockets supply gate signals. The one for the currently selected scene outputs 5 V while the rest output 0 V. This enables you to set up scene dependent wiring via switching modules.

Sequenced: The current scene can be changed by pressing NEXT, PREV or RESET buttons or by sending triggers to the matching input sockets

Patching a cable from one of the 16 output sockets described above to the Reset socket enables sequence lengths shorter than 16 to be accommodated.

As with manual operation MORPH TIME controls how quickly controls morph from one scene to another.
CV Controlled: A control voltage selects the current scene. A 0 V input selects the scene set by the @ 0 V stepped knob while a 5 V input selects the scene set by the @ 5 V stepped knob.

Note that if anything is connected to the CV IN socket then the MANUAL AND SEQUENCED MECHANISMS ARE DISABLED.

A subtle aspect of scene morphing is that the interpolation can take place either in “value space” or “scene space”.

A MORPHING ALGORITHM switch selects which of three different strategies to use.
SINGLE TRANSITIONS

This is designed for making a smooth transition from the current scene to another. The interpolation occurs in value space as intervening scenes have no impact. Let’s say the current scene is scene 1 and we click on the scene 7 button. So the start state is all the controls having the settings of scene 1 and the end state is all the controls having the settings of scene 7 and the morphing interpolates between those values. The total transition takes the amount of time set by MORPH TIME and each knob or slider moves at independent speeds depending on how far they have to travel to get from one setting to the other in that amount of time.

Rather than travel at constant speed all the controls accelerate smoothly from their start positions then decelerate smoothly as they approach their end positions.

If something is connected to the CV IN socket then the voltage is scaled according to @ 0 V and @ 5 V and then quantized to the nearest scene. The voltage determines what the destination scene is but not the time it takes to reach it nor the curve taken. Slowly changing intermediate voltages don’t have any impact. One can think of CV control in this mode as just an alternative way of pressing a particular scene button.

In SINGLE TRANSITION mode MORPH TIME always determines how long the morph takes even when the CV IN socket is connected.

GENERAL PURPOSE

This is designed for making continuous changes through a series of scenes. Unlike the SINGLE TRANSITIONS algorithm the motion happens in “scene space”. So if we are in scene 1 and we click on the scent 7 button, although the start and end states are still scene 1 and scene 7 instead of interpolating between these two sets of values the morphing travels through all the intervening scenes. So the control settings might undergo a complex series of twists and turns as they go through six transitions (1-2-3-4-5-6-7) rather than one (1-7).

The control settings don’t jump between scenes as the changes are smoothed by cubic interpolation however there isn’t any overall acceleration and deceleration.

If the transition is triggered by a button press or a trigger signal sent to the NEXT, PREV or RESET inputs then the transition time is still set by MORPH TIME.

However if something is plugged into the CV IN socket then MORPH TIME is ignored and the voltage, after taking into account the scaling done by the @ 0 V and @ 5 V, controls exactly where the current morphing interpolation point is including intermediate positions between two adjacent scenes.
Useful voltage sources might be a keyboard Mod wheel, velocity or aftertouch or an LFO or envelope generator output.

Very rapid CV jumps for instance as caused by a square or sawtooth LFO or an envelope generator with ultra fast attack will effectlvely bypass any intermediate scene morphing as any transition will be so rapid as to be either non-existant or imperceptible.

REPEATING SEQUENCES

This is a variation of the GENERAL PURPOSE algorithm that copes with the “joint” when a sequence of scene changes repeats. One example is the scene selection being driven by a clock triggering the NEXT input at a regular pace. So the scenes go 1, 2, 3….E, F, G, 1, 2, 3…

In GENERAL PURPOSE mode the jump from the last scene G back to the first scene 1 would result in a weird rapid rewind like effect as 15 transitions through all the intervening scenes are made in one MORPH TIME period. The same kind of problem would occur if the sequence reset at an earlier point, or if PREV was used to run the sequence backwards and we jumped suddenly from scene 1 to scene G.