Unify Manual

Your complete reference to PlugInGuru's creative playground!

User Tools

Site Tools


patch-variations

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
patch-variations [2021/09/03 22:04]
shane [Typical usage scenario]
patch-variations [2022/02/08 20:12] (current)
shane [Basic Concept]
Line 3: Line 3:
  
 To use the techniques To use the techniques
-described here, you should be comfortable with creating and editing [[midi-controller-files#about_plain-text_files|plain-text files]].+described here, you should be comfortable with creating and editing [[midi-controller-files#about_plain-text_files|plain-text files]]. However, the first example includes a link to a //.guru// file you can download and try, even before you understand all the details. 
 + 
 +**Important Note:** when loading a patch from a library, Unify always expects to find the variations-list file in //that library's own Media folder//. This means, if you re-save a patch into a different library, you will need to copy the original variations-list file into that library's //Media// folder (and you may need to create the folder, if there isn't one already). **This is a limitation in Unify v1.6.x.** It may be fixed in a future update, but this is not guaranteed.
 ----- -----
  
-===== Concept of patch variations =====+===== Basic Concept =====
  
 //Patch variations// were introduced in Unify v1.6.0. Any patch can optionally include a reference to a plain-text "variations" file (kept in the library's //Media// folder), which is simply a list of "variation names", one per line. The newly-added [[param-paths#top-level_paths|top-level parameter]] //variation// can be linked to a macro knob, and simply selects which of the variation names is displayed in white to the right of the patch name. //Patch variations// were introduced in Unify v1.6.0. Any patch can optionally include a reference to a plain-text "variations" file (kept in the library's //Media// folder), which is simply a list of "variation names", one per line. The newly-added [[param-paths#top-level_paths|top-level parameter]] //variation// can be linked to a macro knob, and simply selects which of the variation names is displayed in white to the right of the patch name.
 +
 +You select the variations file for a patch (if any) when saving the patch. As of Unify v1.6.0, the patch-save dialog includes a "Variations" section (which was expanded in v1.8) as shown below:
 +
 +{{::variations-0.png|}}
 +
 +To select (or change) the referenced variations file, click the //Variations// button to select the variations file you created from a pop-up menu:
 +    * The first item allows you to //Clear// the variations file selection (if you decide you don't want to use one)
 +    * After this, you will see a list of all //.txt// files in your library's //Media// folder, from which you can select.
 +    * If you hold down Option/ALT when clicking the button, there will also be an //Open...// item near the top. This will pop pop up a standard file-open dialog, so you can navigate to any location to find the //.txt// file you want. //Note this will make your patch non-portable to other machines.//
 +
  
 ===== Example 1: Song sections ===== ===== Example 1: Song sections =====
 +One very good use of patch variations is for patches containing one embedded-Unify INST layer for each part of a performance (e.g. Intro, Verse, Chorus), which are selectively enabled via //midiEnable// parameters linked to a macro knob. As the knob is turned, the layers are enabled one at a time, and the variation-text at the top of the GUI changes to match.
 +
 +{{::variations-2.png?600|}}
 +
 +==== Variations file ====
 +For this example, the variations-list file (//Intro_Verse_Chorus.txt//, found in the //Media// sub-folder of the //User Library// folder) is very simple, consisting of just three lines:
 +
 +<code>
 +Intro
 +Verse
 +Chorus
 +</code>
 +
 +==== Parameter links ====
 +In the example //3 Parts Song Switcher// patch, macro knob #8 has been set up with some carefully-crafted links so that as the knob is turned, the layers are enabled one at a time, and the variation-text at the top of the GUI changes accordingly. Here is what the links look like:
 +
 +{{::variations-3.png?300|}} {{::variations-4.png?300|}} {{::variations-5.png?300|}} {{::variations-6.png?300|}}
 +
 +The stairstep response-curves were not made by hand, but were generated mathematically. The download link below in the next section includes these, in the form of macro-link curve presets.
 +
 +==== Example downloads ====
 +
 +Clicking the following link downloads a zipped [[guru-files|.guru file]] which installs a single new patch called //3 Parts Song Switcher// into your //User Library//, all set up in this way, including variations.
 +
 +{{ :unify_step_curves.zip |}}
 +
 +This //.guru// file also installs the special "stairstep" curve presets into the correct folder, so they're ready to use in your own patches.
 +
 +These special curves were generated using a [[https://www.python.org/|Python program]], which you can also download here:
 +
 +{{ ::generate-step-curves.zip |}}
  
 +Both of these downloads are //.zip// files; you will have to unzip them after downloading.
 ===== Example 2: Sample maps ===== ===== Example 2: Sample maps =====
 Patch variations can also be used in combination with one or more sample-maps in [[guru-sampler|Guru Sampler]], where the parameter //osc1SampleSelect// is linked to the same macro-knob as //variation//, and the names in the variations file correspond one-to-one with the available choices on the sample-select menu in //Guru Sampler//. Patch variations can also be used in combination with one or more sample-maps in [[guru-sampler|Guru Sampler]], where the parameter //osc1SampleSelect// is linked to the same macro-knob as //variation//, and the names in the variations file correspond one-to-one with the available choices on the sample-select menu in //Guru Sampler//.
patch-variations.1630706667.txt.gz · Last modified: 2022/02/04 15:10 (external edit)