- Lexan overlays
To simplify use with various daws there are a number of lexan overlays available; overlays that are placed on the right side of the Mackie Control and that give the buttons new labels relevant for the referenced daw. Of course the Mackie Control doesn't "know" that an overlay is placed on the surface, it always behaves the same way and sends the same commands. It is up to the receiving daw to determine the meaning of each command. The lexan overlay is simply a way to tell the user how the daw will handle each button.
The plugin also allows you to select a lexan overlay to be used, and as with the physical unit this doesn't change the way commands are sent - it only gives you as a user a better view over which commands the selected daw is using.
Each lexan overlay is defined in an xml file and the plugin is prepared to handle customized layouts in case you find that the default layout doesn't work as you expect.
Please note that the layout xml files bundled with the plugin are created by just looking at the lexan overlays for the various daws. The layout for Cubase/Nuendo is verified against Cubase and is "fairly good" even though I expect experienced Mackie users to find areas for improvement.
The other layouts are not tested at all against their corresponding daw, and I expect that adjustments and improvements are required. My hope is that users with other daws can verify/modify (as descibed below) the layout files and share improved versions for future updates.
- Creating customized overlays
In the installed plugin folder the subfolder MackieLayouts contains the layout xml files for the various daws. The layout dropdown in the editor is populated with the names for the files found (with a valid layout content)
Please do not edit the files in the MackieLayouts folder.
In case a bundled layout file needs improvements or if you want to add a file for another daw, please do as follows:
- Create a folder Trevliga Spel in your Documents folder.
- Create a folder MackieLayouts in the Trevliga Spel folder.
- If you want to change an existing layout: copy the file you want to improve from the plugin MackieLayouts folder to your Trevliga Spel/MackieLayouts folder. Do not rename the file.
- If you want to create a new layout: copy one of the files from the plugin MackieLayouts folder to your Trevliga Spel/MackieLayouts folder and rename the file to reflect the new daw.
- Make whatever changes you want (as described below) to the file in your Trevliga Spel/MackieLayouts folder.
If the plugin finds a file in your personal folder with the same name as a file in the plugin folder, the file in your personal folder will be used. The fact that the file is found in the personal folder is indicated by an asterisk before the layout name in the dropdown.
Please note that the naming of the layout files is very important. Especially the fact that you should not rename a copy of a default file unless you actually intend to use it for some other daw. All Stream Deck buttons reference the used layout using the file name (without the path).
The plugin reacts in real time when changes to files are made. Addition or removal of files in the Trevliga Spel/MackieLayouts folder will immediately be visible in the Layout dropdown. Changes in the Daw Functions part of a specific layout file will immediately be visible in the Function dropdown. If you add or edit a file in the MidiPluginFiles folder and it isn't visible in the Layout dropdown, there's probably some xml syntax error in the file.
- Assume that you have a Stream Deck profile with all buttons referencing e.g. the Pro Tools layout (i.e. the Pro Tools.xml file). If you want to modify the layout and creates a copy in your Trevliga Spel/MackieLayouts, all buttons will automatically switch to use the customized version (since the file name is the same and the plugin prioritizes custom files before the default ones).
- If you later send the improved file to be included in future releases, you can remove the custom file once it is released and the plugin will automatically switch back to the now released and updated layout file.
- If you rename the file after copying it, all buttons will lose the reference to the layout and you need to re-attach them to your copy.
- When creating a new file for a new daw, file naming is also important. Please select a "good" name that can be used if the layout is included in a future release. If you do that from the very beginning, all your buttons will automatically reference the correct layout once it is released.
- Layout file syntax
Each layout file have the following structure:
The version attribute in the MackieLayout tag is not used by the plugin. If I make any changes in a file that is included in the plugin I will increase this version number. If you have made a copy of such a file you can see if the original file has been updated after a plugin update.
<?xml version="1.0" encoding="utf-8" ?> <MackieLayout version="1"> <Section Name="Daw Functions"> <Button id="40" Name="VPot Assign: Track" Type="Toggle"></Button> <Button id="41" Name="VPot Assign: Send" Type="Toggle"></Button> . . <Button id="70" Name="Undo" Type="Push"></Button> <Button id="70" Name="Edit History" Type="Push" Modifier="83"></Button> . . <Button id="83" Name="Misc: Shift" Type="Hold"></Button> <Button id="90" Name="Markers & Control: Solo" Type="Toggle"></Button> </Section> <Section Name="Transport">Placeholder</Section> <Section Name="Time Display">Placeholder</Section> <Section Name="Channel Strips">Placeholder</Section> </MackieLayout>
The Transport, Time Display and Channel Strips sections are created in code and the content cannot be modified in the layout file. These section lines are placeholders only, and determine in what order the sections will be listed in the Section dropdown. The Daw Functions section contains the definitions for the daw specific buttons on the Mackie Control.
Attribute Description id The id of the button as defined in the image below. 40 is the lowest id and 90 is the highest. Name The name that should be displayed in the Function dropdown.
In an xml file some characters are reserved for the xml structure itself, and you must not use those characters in the Name attribute. If you want to have any of the following characters displayed in the dropdown, please use the following replacement strings (without the quotes):
- To display the < character, please use "<"
- To display the > character, please use ">"
- To display the & character, please use "&"
- To display the " (quote) character, please use """
The type of button, i.e. how it should react when you press it. Allowed entries are Push, Toggle and Hold.
- Push will always send the "On" command when pressed.
- Toggle will alternate between the "On" and the "Off" command when pressed.
- Hold will send the "On" command when pressed and the "Off" command when released.
It seems as if all buttons on a real Mackie Control act as Hold buttons; it is up to the Daw to determine how a button press should be interpreted.
The id of a modifier button as defined in the image below. If no modifier button should be used, the attribut should be removed.
Some buttons on a Mackie Control can have multiple functions depending on if a modifier button (e.g. Shift) is pressed at the same time. Cubase will e.g. undo the latest change if the Undo button is pressed, but if the Shift is pressed at the same time Cubase will display the Edit History instead. Different daws have different setup of modifier buttons.
It is of course possible to assign the modifier key (e.g. Shift) to a Stream Deck button and use it the same way as on a Mackie Control - press shift and then press another key and then release shift. However, it requires that you are familiar with the lexan overlay for the daw and what modified features are available for different buttons.
To simplify things you can have double entries for a button in the layout file - on the for button standalone and one for the button together with a modifier button. If you assign a "modified" entry to a Stream Deck button, the plugin will automatically send the code for the modifier button (if needed), then send the "real" command and finally send the code to release the modifier button (unless it was actually "On" before the button press, in which case it is left "On").
- Mackie Control button layout
- ...on the Cubase/Nuendo lexan overlay.