Unify Manual

Your complete reference to PlugInGuru's creative playground!

User Tools

Site Tools


realtime-params

Using Unify's Macro Knobs for real-time control

Unify provides thirty-two Macro Knobs, available in the Footer part of the GUI by clicking the knob icon on the left-hand side of the icon strip:

The 32 knobs are grouped into four “pages”, selected using the column of numbered page buttons down the left side.

Note there are two distinct kinds of ops buttons visible in the Macro Knobs view:

  1. Just above and to the right of each macro knob the an ops button for that specific macro
    • Click to pop up a menu for editing the list of parameters linked to that macro, or change the associated MIDI CC number (see below)
  2. At the extreme right-hand end of the Macro Knobs view is an ops button for the view itself
    • Click to pop up a menu for saving/loading the state of all macros, knobs, CCs, etc. as a preset.

Editing macro knob labels

You can double-click any of the macro-knob labels to change the default name “Macro1” etc. to whatever you wish. As with all in-place text editing in Unify, either confirm your changes by hitting the Enter/Return key on your keyboard, or click anywhere outside the edit box to cancel.

As of Unify v1.6.0, custom macro-names are automatically exported to the plug-in host, which has two main consequences:

  1. If you are using Unify as a plug-in in a DAW, your custom names will appear in the DAW's automation lists, instead of “Macro1”, “Macro2”, etc. Some host programs may not be able to handle this correctly.
  2. When you use embedded Unify instances in a Unify patch, and apply custom names to the knobs in the embedded instance, those names will become available for use in parameter-links in the enclosing Unify.

Macro parameters concept

The basic concept behind the macro knobs is that every Unify patch can be adjusted in real-time in multiple ways, each of which is represented by a different macro knob. The word “macro” is used because the knob can be linked to a whole list of actual parameters, including Unify's own parameters, such as layer pan and level settings, and also all plug-in parameters.

Each macro knob is a visual representation of an underlying abstract macro parameter (or simply “macro”) whose value ranges from 0 to 1, (or if you prefer, 0 to 100%. The connection between each knob (on the GUI) and its associated macro is fixed and cannot be changed, but you CAN change:

  1. Which external MIDI CC control can be used to adjust the macro while playing, and
  2. Which actual parameters the macro is linked with, and how the macro value is mapped to the parameter value

The Unify plug-in exposes all 32 macro parameters to the host DAW, so they can also be controlled through host automation.

Adjusting macro values: 3 different ways

Adjusting a macro value updates the values of all linked parameters. Macro values can be adjusted in three different ways, as follows:

  • The GUI knobs can be adjusted by clicking and dragging with the mouse
  • Each knob can optionally be linked to an associated MIDI CC number
    • See below for details
    • By default, the first four macro knobs are assigned to MIDI CC's 1, 2, 4, and 67, for compatibility with existing PlugInGuru patch libraries.
  • In plug-in versions of Unify, macro parameters are exposed to the plug-in host (e.g. DAW)

Editing the linked-parameters list for a macro

To edit the list of parameters linked to any macro knob:

  • click the ops button just above and to the right of the knob, and choose “Linked Parameters…”, OR
  • right-click the knob itself (same as clicking the ops button), and choose “Linked Parameters…”, OR
  • Option-click (Alt-click on Windows) the knob to bypass the ops menu and open the links editor.

As shown in the screenshot below, the linked-parameter editor window is divided into four sections:

  1. The title bar identifies which macro number the window is for (e.g., “macro/1”, “macro/2”, etc.).
    • Click the red X at the right-hand end of the title bar–note it's not very bright and may be hard to see on some monitors.
  2. Just below the title bar is an area containing the Add button, for adding another linked parameter
  3. The parameter list area has one horizontal strip for each linked parameter
    • At the left side is a delete button; click to remove that link from the list
    • Next is a small diagram representing the response curve for that parameter
    • The rest of the strip contains the parameter path
  4. At the bottom is the response-curve editor, which works much like a layer velocity-curve editor.

Note that you can resize these windows (drag any edge) and also re-position them (drag the title bar) to suit your monitor layout. All windows will open in the same spot near the top-left corner of the screen, and with the same initial size, so you can easily end up with older ones hidden by newer ones if you don't move them.

The basic work-flow for editing a linked-parameters list is:

  • Add a new parameter to the list by clicking the add button (plus sign in a circle), and choosing the desired parameter from a system of pop-up menus
  • Click (single-click) any parameter in the parameter list to activate the response-curve editor, so you can modify how (input) values of the macro are mapped to (output) values of the parameter itself.

In Unify 1.1.x the parameter-link windows were enhanced with some additional details as shown in the screenshot below.

  • Each linked-parameter item in the list (top half of the window) now features the following:
    • The title of the corresponding layer appears along the top
    • A checkbox to the right of the small response-curve graph allows temporarily disabling the link
    • An ops button at the right opens a small menu of options relevant to that link:
      • Replace allows you to select a different linked parameter; it calls up the same pop-up menu as the “add button” at the top of the window.
      • Copy, Paste/Swap, and Paste items facilitate copying links elsewhere
      • Duplicate (added in Unify v1.5) creates another identical link (which you would normally edit manually so it is no longer identical), preserving all details of the response curve.
  • The response-curve editor (bottom half of the window) now features the following:
    • Along the top, you can see the minimum, current, and maximum values of the linked parameter
      • As before, the current value is also indicated by a thin blue horizontal line in the graph itself.
      • Note that only built-in plug-ins will show entirely meaningful values. For external plug-ins (VST/VST3/AU), the range will always be indicated as a fraction from 0 to 1 (i.e., 100%).
    • A horizontal slider control at the bottom of the window functions mirrors the corresponding Macro knob, giving you a handy way to adjust the knob position without having to leave the linked-parameters window.

Starting in Unify v1.3.2, a row of five curve-shape icons appear to the right of the Add button (see screenshot below).

  • Only one of these can be selected at a time; clicking a different one de-selects the first.
  • When you click the Add button, the initial shape of the new link's response-curve will be chosen based on the selected icon, as follows.
    1. Left endpoint at zero, right endpoint at current value of the linked parameter
    2. Left endpoint at zero, right endpoint at the maximum value of the parameter
    3. Left endpoint at current value, right endpoint at zero
    4. Left endpoint at maximum, right endpoint at the current value
    5. Left and right endpoints at the current value
  • In all cases, the value slider at the bottom of the window, AND the corresponding macro knob, will be positioned to reflect the current value of the linked parameter.

Understanding parameter paths

Unify uses character-strings called paths to select linked parameters in a hierarchical way. Each path is a sequence of elements separated by the “/” (forward slash) character. Elements may contain embedded spaces (e.g. Osc1: Semitone), but if a parameter name contains the “/” character, it must be quoted using single quotes, e.g. ARP up/down would have to be specified as 'ARP up/down'.

Successive elements in the path narrow down the scope. For the first level, you can choose e.g. master (to select the Master FX layer), inst (to select an instrument layer), midi (MIDI layer), or aux (Aux FX layer). If you choose inst, the next element must be a layer number, e.g. 1, 2, etc. Subsequent elements further refine the choice. For example:

  • inst/1/panPos refers to the the pan setting of the first instrument layer; this is one of Unify's own parameters.
  • inst/1/plugin/Cutoff refers to the Cutoff parameter of the instrument plug-in for Unify's first instrument layer; this is a plug-in parameter, not a Unify parameter.

You don't need to worry too much about the details of parameter paths, because the “plus” icon at the top of the link editor window brings up a cascade of menus which allow you to select only valid paths.

Because parameter paths are just character-strings, they may become invalid if you change the Unify patch, e.g., by deleting layers, swapping or removing plug-ins, etc. Invalid parameter paths display in RED in the link editors, but they are otherwise harmless, i.e., Unify simply ignores them. You would normally wait until you have stabilized your patch structure before starting to define macro parameter links.

See Parameter paths reference for more details about parameter paths in Unify.

Manually editing parameter paths

You can double-click any parameter path to edit it as text. Use the ENTER key on the keyboard to lock in the change when you are finished. If the text turns red, it means you have entered an invalid path. Click the ops-button to the right to re-select the path from the pop-up menu.

Adding a parameter

To add a linked parameter, click the add button (circled plus-sign icon) just under the title bar, to pop up the first in a hierarchical series of menus.

  • The first menu level has one entry for each type of layer in the patch, e.g. midi, inst, aux, master. Note the midi and aux items won't appear at all if the current patch has no MIDI or AUX layers.
  • After clicking, say, inst and moving the mouse pointer to the right, the second menu level will appear, with one entry per layer of the selected type. If you have entered your own titles for the layers, the layer titles will be shown as well, to help you navigate. If not, you'll just see the layer numbers.
  • In the screenshot above, the mouse was positioned over the first layer (“1: Battleborn Reso Fall Bass”) and moved to the right, revealing the third-level menu, offering the following choices:
    • mixLevel and panPos settings for the layer
    • directSend and auxSend (a sub-menu with choices 1, 2, 3, and 4) settings for the layer
    • plugin: Guru Sampler, a sub-menu listing all the parameters which the layer's instrument plug-in (in this case, Guru Sampler) exposes for automation
    • effect, a sub-menu
  • In the screenshot above, the effect item was followed, revealing the fourth-level menu, with one item for each audio-effect plug-in used on the layer
  • In the screenshot above, the 1: mda DubDelay effect item was followed, revealing a final sub-menu, listing all seven parameters which this particular plug-in exposes for automation.
  • If you were to click, say, the Feedback item on this final menu, all menus would close and a new entry would be added to the parameter list with the path inst/1/effect/1/Feedback. Furthermore, that parameter would automatically be selected (highlighted in green), and its associated response curve would automatically be loaded into the response-curve editor at the bottom of the window.

Adjusting response curves

Macro parameter values are fractions in the range 0.0 to 1.0 (i.e. 0 through 100%). When a macro parameter is linked to an actual parameter with a different range (e.g. a mix level with a range of -60 to 0 dB), the linked parameter will be set to the corresponding proportion of its range.

In parameter response curves, the horizontal axis represents the value of the macro, with 0 at the left and 1 (or 100%) at the right. The vertical axis represents the corresponding value to be assigned to the linked parameter as a proportion of that parameter's total range, with the minimum at the bottom and the maximum value at the top.

Click (single-click) any row in the list to select that parameter, so you can edit its response curve in the graph editor.

  • A light blue horizontal line will be shown on the graph, indicating the current parameter value.
    • This is useful if you have already set the parameter to where you want it to start (or end).
    • You can then drag the start (end) point of the response curve up (down) to coincide with the line.
  • Drag either endpoint (circles) up or down to change the output range
    • You can drag the right-hand endpoint below the left one for an inverted response (increasing the macro parameter value decreases the value of the linked parameter)
  • Drag up/down on the line between the endpoints to adjust the shape of the curve (convex or concave)
  • Double-click between endpoints to add a new “split point”
    • This splits the curve segment in two
    • Split points can be dragged up/down and left/right
    • Individual curve segments can be dragged up/down to adjust shape
  • Double-click any split point to delete it
    • This merges two segments back into one

Linking MIDI CCs to macro knobs

Macro knobs can optionally be linked to MIDI CC's for real-time control. The linked CC number will be shown inside the knob like this:

To change a knob's CC assignment, click the knob's ops button (or right-click OR Ctrl+click the knob itself) to pop up the knob menu:

The “Linked Parameters…” item opens the linked-parameters editor as already discussed above.

“Copy Value” allows you to copy just the value of the macro parameter (i.e., the knob position) onto your computer's clipboard. “Paste Value” updates the value from the clipboard. This is useful for ensuring that two or more knobs have exactly the same value (knob position).

The “Copy Knob” and “Paste Knob” functions are similar, but operate on the whole knob and its parameter links. What is copied/pasted includes the knob's label, position (macro parameter value), and all links. These functions are useful if you decide you want to move links, etc. to a different knob.

The “Paste/Swap Knob” function is useful if you want to swap two knobs, so the label, value and links are effectively interchanged. The procedure has three steps:

  1. Click the ops button for knob A and choose Copy Knob
  2. Click the ops button for knob B and choose Paste/Swap Knob. This simultaneously updates knob B FROM the clipboard and copies its former state TO the clipboard.
  3. Click the ops button for knob A again, and choose Paste Knob.

“INITIALIZE” clears all parameter links, restores the default label (according to the macro parameter number), and resets the knob to the zero position.

The last three items relate to CC assignment, and are listed below in reverse order (bottom to top):

  • Select Unassign CC to remove any existing CC assignment.
  • Use the Assign CC to select the new CC number from a list (sub-menu), OR
  • Select MIDI Learn
    • The knob will show a question mark, indicating that Unify is waiting for a MIDI CC event
    • Adjust any CC knob or slider on your MIDI controller
    • When Unify receives the first CC event, the knob's CC assignment will immediately update, and Unify will drop out of “MIDI Learn mode”
    • If you select MIDI Learn by accident, or change your mind, just click the knob ops button again and select CANCEL MIDI Learn from the ops menu.

As of Unify v1.1.10, MIDI assignments are saved for embedded Unify instances, but not for the outermost instance. This allows embedded Unify instances to work exactly like any other plug-in which allows assigning MIDI CC numbers to specific controls, and ensures that if your main patch generates any kind of MIDI CC sequence (e.g. using MIDIBox, BlueARP, or any third-party MIDI plug-in), you can ensure that any embedded Unify instances are configured to respond correctly.

The Copy Links and Paste links items on the ops menus for each knob allow you to copy ALL of a knob's parameter links to another knob. This can be helpful if you set up links on one knob, then later realize you'd prefer to have them on another knob.

  • There is presently no way to copy and paste links individually.
  • The copy/paste functions will not create any duplicate links, so if your target knob already has a link to a parameter you're pasting, you may need to delete that link first, then paste again.
  • You can simply delete any extra links in the target knob's linked-parameters list.
  • The copy function is a “copy”, not a “cut”. You will need to manually delete the links from the source knob after you have pasted them to the target knob.

Unify v1.2 introduced some additional copy/paste options as follows:

  • The ops menu for each linked parameter now has Copy, Paste/Swap and Paste items.
    • Copy copies the parameter path, enablement state, and response curve to the clipboard.
    • Paste updates the target link.
    • Paste/Swap copies the current state of the target link to the clipboard before replacing it, so you can go back to the original source link and Paste it there.
  • A new Add link from clipboard item will appear on the add-link button (circled plus-sign) at the top of the linked-parameter window only when a link has previously been copied to the clipboard.
  • The ops menu for each Macro Knob also has Copy, Paste/Swap and Paste items, which operate on the entire state of the macro knob, including the name and all linked parameters.
  • The ops menu for all Knobs includes a new Remove all invalid links item, which automatically removes any invalid links (which would appear in red in the linked-parameters window) on all Macro knobs.

Unify v1.5 added a new “duplicate” item to the ops menus for individual linked parameters.

  • Note you will normally duplicate an item, then either replace the link, or manually edit the link path.

Swap Procedure

The procedure for swapping two items A and B is always the same:

  1. Copy A to clipboard
  2. Paste/Swap to B. This performs an implicit copy of B before the paste.
  3. Paste to A

Macro-Definitions and CC-Assignments presets

At the right-hand end of the Macro Controls area you will find an “ops button”—a small icon of two concentric circles. Clicking on this opens menu like this:

The top four menu items allow you to save the current Macro Definitions (which parameters are assigned to each macro, including response curves), or the current CC Assignments (which MIDI CC's are assigned to control each knob) separately.

Macro Definitions presets are useful if you set up a particular real-time control arrangement that you might want to use with multiple patches you're creating. When you create the next patch in your series, you can re-load the Macro Definitions preset.

CC Assignments presets allow you to quickly save and recall specific CC-to-knob linkages, which is particularly useful if you have multiple MIDI controllers. You could then switch between, say, an M-Audio keyboard whose knobs send MIDI CC's 16, 17, 18, and 19, and a Native Instruments Komplete keyboard whose knobs send CC's 14, 15, 16, etc.

The bottom four menu items are related to Using Unify itself as an Instrument plug-in in Unify; see the linked page for details.

realtime-params.txt · Last modified: 2021/09/03 00:40 by shane