Unify Manual

Your complete reference to PlugInGuru's creative playground!

User Tools

Site Tools


realtime-params

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
realtime-params [2020/11/07 17:16] – [Copying and pasting macro links] shanerealtime-params [2023/06/06 00:13] (current) – [Linking MIDI CCs and Aftertouch to macro knobs] shane
Line 11: Line 11:
     * Click to pop up a menu for editing the list of parameters linked to that macro, or change the [[#linking_midi_ccs_to_macro_knobs|associated MIDI CC number]] (see below)     * Click to pop up a menu for editing the list of parameters linked to that macro, or change the [[#linking_midi_ccs_to_macro_knobs|associated MIDI CC number]] (see below)
   - At the extreme right-hand end of the Macro Knobs view is an ops button for the view itself   - 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. +    * Click to pop up a menu for saving/loading the state of all macros, knobs, CCs, etc. as a preset. 
 + 
 +**Unify 1.10.1** added two kinds of "Guru Ears" to the Macro Knobs view: 
 +  - Just below and to the right of each macro knob is an "ear" icon for adding new links to that knob. 
 +  - At the right-hand end of the Macro Knobs view, under the ops button, there is a "master ear" which allows adding a new link to //the first available unused knob//. 
 + 
 +See [[#automatic_parameter_linking_guru_ears|this section below]] for details. 
  
 ===== Editing macro knob labels ===== ===== 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. 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.
- + 
 +**Custom macro-names are automatically exported to the plug-in host**, which has two main consequences: 
 +  - 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.// 
 +  - 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 ===== ===== 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//. 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//.
Line 31: Line 42:
   * Each knob can optionally be linked to an [[#linking_midi_ccs_to_macro_knobs|associated MIDI CC number]]   * Each knob can optionally be linked to an [[#linking_midi_ccs_to_macro_knobs|associated MIDI CC number]]
     * See below for details     * 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.+    * By default, the first four macro knobs are assigned to MIDI CC's 1, 2, 4, and 67, for compatibility with older PlugInGuru patch libraries for //Omnisphere 2//.
   * In plug-in versions of Unify, macro parameters are exposed to the plug-in host (e.g. DAW)   * In plug-in versions of Unify, macro parameters are exposed to the plug-in host (e.g. DAW)
     * See [[realtime-automation|Host automation]]     * See [[realtime-automation|Host automation]]
Line 42: Line 53:
   * Option-click (Alt-click on Windows) the knob to bypass the ops menu and open the links editor.   * 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:+As shown in the screenshot below, the linked-parameter editor window is divided into five main sections:
   - The **title bar** identifies which macro number the window is for (e.g., "macro/1", "macro/2", etc.).   - 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+    * Click the green X at the right-hand end of the title bar to close the window 
-  - Just below the title bar is an area containing the **Add button**, for adding another linked parameter +    * Click anywhere else in the title bar and drag to reposition the window. 
-  - The **parameter list** area has one horizontal strip for each linked parameter +    * **As of Unify 1.10.x**, the title bar now includes the current name (label) of the macro knob
-    * At the left side is a **delete button**click to remove that link from the list +  - Just below the title bar is an area containing the **Add button**, for adding another linked parameter, and a row of five **Curve-shape icons** (see below) 
-    * Next is a small diagram representing the **response curve** for that parameter +  - The **Parameter Link list** area has one horizontal strip for each linked parameter, containing the following items (left to right) 
-    * The rest of the strip contains the [[#understanding_parameter_paths|parameter path]] +    * **Delete button**click to remove that link from the list 
-  - At the bottom is the **response-curve editor**, which works much like a [[layer-stack-view#velocity-curve_editor|layer velocity-curve editor]].+    * **Response curve** for that parameter 
 +    * **Enable checkbox**: un-check to disable the link 
 +    * **Parameter path** (with layer identifier displayed above in dim white text) 
 +    * **Reverse button**: click to reverse the response curve right-to-left 
 +    * **Ops-menu icon**: click for a menu of available operations 
 +  - The lower half is the **response-curve editor**, which works much like a [[layer-stack-view#velocity-curve_editor|layer velocity-curve editor]]
 +    * Click on any link strip in the Parameter Link list to select that link's response curve for editing 
 +    * The minimum, current, and maximum parameter values are displayed just above the curve 
 +      * 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%). 
 +  - At the very bottom, below the response-curve editor, there is a **manual input slider**, which allows you to adjust the value of the macro knob without having to go back to the knobs in the Footer portion of the main Unify GUI.
  
-{{::linked-params.png?600|}}+{{::linked-params.png|}}
  
 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. 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.
Line 59: Line 80:
   * **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   * **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.   * 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.
 +  * See [[#adjusting_response_curves|Adjusting response curves]] below for details on how to edit the curve
 +  * The current value is indicated by a thin blue horizontal line in the graph itself
  
-In Unify v1.1.x, the parameter-link windows were enhanced with some additional details as shown in the screenshot below. +A row of five //curve-shape icons// appear to the right of the **Add button** 
-  * Each linked-parameter item in the list (top half of the window) now features the following: +  Only one of these can be selected at a time; clicking a different one de-selects the first. 
-    The **title** of the corresponding layer appears along the top +  When you click the **Add button**the initial shape of the new link'response-curve will be chosen based on the selected icon, as follows. 
-    **checkbox** to the right of the small response-curve graph allows temporarily disabling the link +    - Left endpoint at zero, right endpoint at //current value// of the linked parameter 
-    * An **ops button** at the right 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. +    Left endpoint at zeroright endpoint at the //maximum value// of the parameter 
-  * The response-curve editor (bottom half of the window) now features the following: +    - Left endpoint at //current value//, right endpoint at zero 
-    * Along the topyou can see the minimum, current, and maximum values of the linked parameter +    Left endpoint at //maximum//, right endpoint at the //current value// 
-      * As before, the current value is also indicated by a thin blue horizontal line in the graph itself. +    - Left and right endpoints at the //current value// 
-      * 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%). +  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. 
-    * 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.+  * Unify will remember the most recently selected curve-shape icon, and use this as the default selection when you next open a Parameter Links window.
  
-{{::linked-params-2.png|}}+Clicking the "ops button" at the right-hand end of each parameter link strip presents a menu with the following options: 
 +  * **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 
 +    * //Copy// and //Paste// are as you would expect 
 +    * //Paste/Swap// is like //Paste//, but swaps the current link with the one previously copied to the clipboard. 
 +  * **Duplicate** creates another identical link (which you would normally edit manually so it is no longer identical), preserving all details of the response curve. 
 +  * **Dup.Layer+1** is similar to //Duplicate//, but adds one to the layer-number part of the path in the new link
  
 ===== Understanding parameter paths ===== ===== Understanding parameter paths =====
Line 83: Line 112:
  
 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. 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 [[param-paths|Parameter paths reference]] for more details about parameter paths in Unify.
  
 ===== Manually editing parameter paths ===== ===== Manually editing parameter paths =====
Line 88: Line 119:
  
  
-===== Adding a parameter =====+===== Automatic parameter linking ("Guru Ears") ===== 
 + 
 +Unify 1.10.x introduced new "Guru Ear" icons in the linked-parameters windows, which provide a much quicker way to add new parameter links than the menus described in the next section. **Note these only work for plug-in parameters**; you must still use the menus to link to Unify's internal parameters such as layer level/pan, etc. 
 + 
 +To add a new parameter link, click on the ear icon at the top left, next to the "add button" (circled plus-sign icon). Both the ear and plus icons will begin flashing green, to indicate that Unify is "listening" for plug-in parameter changes. (You may click the ear icon again to cancel listening mode.) While the icons are flashing, move any parameter control in any open plug-in GUI window, and you should see a new parameter link appear in the list, just as if you had added it using the menus. The ear/plus icons will then stop flashing, indicating that the listening mode is finished. 
 + 
 +In a few cases, you may find that this process does not work. This may happen for one of two reasons: 
 +  - You may be adjusting a GUI control which does not correspond to an automatable parameter of the plug-in. 
 +  - Some plug-ins (most notably //Omnisphere 2// and other Spectrasonics plug-ins) don't expose most of their parameters for automation, and you must first define which ones you want to expose. 
 + 
 +As of Unify 1.10.x, each parameter-link that is added also has its own "ear" icon, third from right. Unlike the main ear icon at the top left, which features a small plus-sign, these icons have a small arrow. You can use these "arrow ear" icons to //replace the parameter link// by listening. The procedure is basically identical to that just described: click the ear icon and adjust the plug-in parameter you want to link to, or click the ear icon again to cancel listening without changing the link. 
 + 
 +==== Guru Ears in the Macro Knobs view ==== 
 +Unify 1.10.1 introduced two kinds of "Guru Ears" in the Macro Knobs view itself. These work quite similarly to the "ears" described above, but allow you to add new parameter-links //without even having to open the linked-parameters window//. 
 +  - Each knob has its own "ear" to the right of it, which allows adding a new parameter link to //that knob//. 
 +  - At the far right end of the Macro Knobs view there is a "master ear", which allows adding new parameter link //to the first available unused knob//. 
 + 
 +These "ears" have two small but important differences from those inside linked-parameter windows: 
 +  - Links added with these "ears" always //cover the full range of the linked parameter// with a //straight-line response curve//. However, you can also open the linked-parameters window to edit the range and curves. 
 +  - After the link is added, Unify //automatically sets the current value of the macro knob/parameter//. When using Unify as a plug-in in a DAW, this //informs the DAW// that the macro parameter has changed. 
 + 
 +When using Unify in a DAW which can also be set to auto-learn parameter changes to automation lanes (e.g. Logic Pro) or macro sliders (e.g. Ableton live), the "master ear" provides a quick way to connect //any parameter of any plug-in// to the DAW. 
 + 
 +===== Adding a parameter: using the Add button menus ===== 
 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. 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.
  
Line 94: Line 149:
  
   * 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.   * 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.
 +    * **As of Unify v1.9.x**, the item //variation// (not shown in above screenshot) appears below //master//. See [[patch-variations|Patch Variations]].
   * 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.   * 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:   * 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:
Line 104: Line 160:
   * 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.   * 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.
  
-{{::param-curve-editor.png|}} 
  
 ===== Adjusting response curves ===== ===== Adjusting response curves =====
Line 125: Line 180:
     * This merges two segments back into one     * This merges two segments back into one
  
-===== Linking MIDI CCs to macro knobs =====+===== Linking MIDI CCs and Aftertouch 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: 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:
  
Line 134: Line 189:
 {{::param-knob-menu.png|}} {{::param-knob-menu.png|}}
  
-The "Linked Parameters..." item opens the [[#editing_the_linked-parameters_list_for_a_macro|linked-parameters editor]] as already discussed above. The other three items relate to CC assignment, and are listed below in reverse order (bottom to top):+The "Linked Parameters..." item opens the [[#editing_the_linked-parameters_list_for_a_macro|linked-parameters editor]] as already discussed above. **New in Unify v1.8**: You can also select //channel aftertouch// from the pop-up list. 
 +  * This will be shown as "AT" in the center of the knob 
 +  * Note this is completely different from //polyphonic aftertouch//. Unify itself does not support polyphonic aftertouch, but you can use any plug-ins that do. 
 + 
 +"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: 
 +  - Click the ops button for knob //A// and choose //Copy Knob// 
 +  - 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. 
 +  - 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 next 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.   * 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   * Use the **Assign CC** to select the new CC number from a list (sub-menu), OR
Line 143: Line 213:
     * 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.     * 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|MIDIBox]], [[bluearp|BlueARP]], or any third-party MIDI plug-in), you can ensure that any embedded Unify instances are configured to respond correctly.+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|MIDIBox]], [[bluearp|BlueARP]], or any third-party MIDI plug-in), you can ensure that any embedded Unify instances are configured to respond correctly.
  
 +**Unify 1.10.x** added the final **Duplicate links to ALL layers** item. This is a "power user" function, which can be useful when setting up to [[polybox#extended_polyphony|use PolyBox for extended polyphony]] using multiple instances of an instrument plug-in on separate layers. You can set up as many parameter-links as you like to the //inst1// layer, then use this function to replicate all of them to //inst2//, //inst3//, etc. (for as many INST layers as currently exist). Use with care.
 ===== Copying and pasting macro links ===== ===== Copying and pasting macro links =====
 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. 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.
Line 160: Line 231:
   * 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 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//.   * 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 ==== ==== Swap Procedure ====
Line 175: Line 249:
  
 **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. **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.
 +
 +The "Copy ALL Macro Definitions" and "Paste ALL Macro Definitions" items were added in Unify v1.7. These are basically equivalent to saving and loading a macro-definitions preset, without needing to create a preset file.
  
 **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. **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.
realtime-params.1604769376.txt.gz · Last modified: 2023/05/08 18:59 (external edit)