====== Chapter 9: Relationships not using Super and Subcontrols ====== ===== Latch (Make Toggle) ===== //Control Properties Pane -> Relationships -> Latch (Make Toggle)// \\ [**for momentary buttons only**] A toggle button may be chosen which will switch the momentary button to function as a toggle. If the momentary button is being pressed when the latch button is pressed, it will remain in its ON state (latch). **To Set Up** For a momentary button, choose the toggle button that you want to serve as the Latch Button. [{{ http://mididesigner.com/automatic-images/Latch__Make_Toggle_.png |Latch (Make Toggle) Picker}}] ===== Extra CC & Hold ===== //Control Properties Pane -> Relationships -> Extra CC & Hold// \\ [**for variable controls only, e.g., knob and XY dimension**] A toggle button may be chosen which will turn on when the variable control is being touched. If the Extra CC & Hold button is pressed while the variable control is being touched, it will remain in its ON state (hold). [{{ http://mididesigner.com/automatic-images/extra-cc-n-hold.png |Extra CC & Hold Picker}}] The //Extra CC & Hold// feature allows you to create Korg Kaoss(tm)-style XY pad. \\ {{ youtube>large:kfXNzMCfYfA|Extra CC & Hold }} ===== Button Off Sets to Default ===== //Control Properties Pane -> Relationships -> Button Off Sets to Default// \\ For the selected control (any non-decorative control) A toggle button may be chosen which will move the selected control to its default value when turned OFF. //Latch (Make Toggle)// and// Extra CC & Hold// will not display choices that are not on the current page. You may work around this by moving your control temporarily to another page, selecting the button you need, and then moving it back. ===== Make Similar ===== //Control Properties Pane -> Actions -> Make Similar// \\ Creates a new control is independent of the selected control. Initially, the new control has all of the same properties as the existing control, except: * If the existing control uses a MIDI message of type command change, note, or NRPN, it will automatically get assigned a new, unique channel-cc combination. * If smart naming for make similar is turned on (Config -> Options -> Design Mode Options -> Smart Naming for Make Similar), the new control will get a unique name. Initially the new control also has the same relationships as the existing control. This means that: * Any supercontrols of the original control get the new control added as a subcontrol * Any subcontrols of the original control get a new supercontrol added This can make your layout-design work quite efficient, but :!: **it can also be quite unexpected at times** :!: ==== Make Similar and the Smart Naming feature ==== Controls in MD can have many properties set, including display properties, MIDI properties, advanced properties. When you wish to have a control that There are instances where you want to copy the same look of an object, but give it a unique name and unique ID. Maybe we want eight different blue volume sliders to control eight channels inside of our DAW. We can use the Make Similar command to duplicate the look of the slider, and use the "Smart Naming" function to assign a unique number to the end of the object. **The Make similar will also copy all of the assigned Super- and Sub-controls. This saves a ton of time when trying to create complex inter-interactive patches.** * Make similar will duplicate a slider and all of its display and color information, but it will assign it a unique control ID. To create a Make Similar control first Double tap on the control -> actions -> make similar. * To turn Smart Naming On: Config -> Options -> Smart Naming (toggle) to ON, each time you "Make Similar" MD will guess the proper name for the next control. [{{ http://mididesigner.com/automatic-images/SmartNaming.png | Smart Naming of Buttons}}] ==== Make Similar for an Entire Page at Once ==== //Page Properties Pane -> Actions -> Make Similar// \\ Does the same thing at the page level. Independent controls are created on the new page, with the same layout. ===== Other Instances (Control Copies) ====== ==== Copying Controls ==== //Control Properties Pane -> Actions -> Copy// \\ The Copy command will create a new instance of the specified control. Different instances -- "copies" -- allow the same control to appear in different places in your layout. Different instances of a control can be sized and shaped differently -- including label sizes, but most properties, including MIDI properties, are shared between copies. http://mididesigner.com/control-copies/ Control copies show a red background in Design Mode. [{{ http://mididesigner.com/automatic-images/ControlCopiesRedBackground.png | Red Background \\ Control Copies \\ Design Mode }}] ==== Finding Other Instances of a Control ==== To find other instances of a control, use Control Properties Pane -> Relationships -> Other Instances. ==== Copy an Entire Page at Once ==== //Page Properties Pane -> Actions -> Copy// \\ Does the same thing at the page level, so each of the controls has a new instance created. ===== A and B Controls ===== A and B Controls allow you to copy values from one set of controls ("A Controls") to another set of controls ("B Controls") and vice-versa. This feature is useful: * When you've got two audio signal chains with independent but identical MIDI parameters. * When you've got two MIDI targets that are identical, e.g., the same VST or two of the same hardware MIDI target ==== Set It Up ==== //Control Properties Pane -> Relationships Tab -> B Control (Picker)// For any selected dynamic control, choose control that will serve as a B Control. Note: the control must be on the same page. If you need to assign across pages, you will need to temporarily move your controls. [{{ http://mididesigner.com/automatic-images/B-Control-Picker.png?300 | B Control Picker}}] On the Relationships Tab for the B control, its A control will be reflected. Also, you will be prompted if you attempt to assign a B control for the B control: [{{ http://mididesigner.com/automatic-images/ReassignBControl.png?500 | Prompt for Reassign of B Control }}] A control can only have one A control, or one B control. ==== Send A to B or B to A ==== You can assign the values of your A controls to your B controls or vice-versa. * A to B: Config Pane -> MIDI -> "A -> B" * A to B: Config Pane -> MIDI -> "B -> A" Either of these buttons causes values to jump to the new values.