Mackie C4 Commander Programming Manual Download Page 10

Programmer’s Guide

10

C4 Commander

Layout files (.c4l)

A layout is defined as a mapping of all C4 vir-
tual controls to a set of instrument parameters, 
i.e., a layout tells the C4 which knob controls 
what instrument functions. A layout may span 
across multiple pages. Several instruments can 
be mapped to from one layout and there is no 
restriction to duplicating the same instrument 
parameter on two different V-Pots. A user must 
create a layout before using the C4 Commander.

The <CustomLayout> element is used in two 
ways. First, it is used in each saved layout file 
for the purpose of remembering state. Second, 
there is a copy of the element in memory that 
represents the layout as the user makes chang-
es in real time. When the layout is closed, the 
user is prompted to save the current state to a 
layout file mentioned earlier.

Layout files are created automatically 
when controls are positioned on a C4 
Commander screen. As such, there is no 

need to manually edit these files. We are provid-
ing the following detail as a point of reference 
only, not as an invitation to modify layout files 
in a text editor. You could, but really, don’t do it. 
Use the C4 commander app to generate layout 
files instead. 

<CustomLayout>

  This element contains all data 

necessary for mapping instrument parameters 
to the C4.

<LayoutID>

  An ID used as a key to uniquely 

identify a particular layout. Most likely will be a 
generated GUI ID.

<LayoutName>

  A name specified by the user for 

the layout. This name appears in the top LED 
bar of the C4 Commander.

<PageList>

  Holds all names of the current 

layout’s pages. The order of the child <Page> 
elements determines the corresponding page 
numbers.

<Page>

  A single page name.

<DisplayGroups>

  Holds data on all display 

groups.

<DisplayGroup>

  A single display group. There 

are two attributes associated with this element:

 

bars — setting to true will add horizontal  

 

dashes to the group name  

pickets — setting to true will add vertical  
 

separators at the ends of the group name

<StartControl>

  The ID of the first control in 

the group.

<GroupLength>

  The number of V-Pots the dis-

play group spans.

<Control>

  This element represents an indi-

vidual mapping from one instrument parameter 
to a C4 V-Pot.

<ControlID>

  The position of the V-Pot being 

mapped to. There are 32 V-Pots per page (if 
there is no split), so the 33rd V-Pot would be 
the upper leftmost V-Pot on page 2. If a map-
ping is not present for a given V-Pot, it will not 
be functional.

<ManufacturerID>

  Unique ID assigned to each 

manufacturer.  Stored in HEX.

<DeviceName>

  Name of the given instrument 

(e.g., DX100).

<Channel>

  The MIDI channel on which the pa-

rameter message will be sent.

<ParamID>

  The parameter being mapped.

<Display1>

  A short name that will appear in 

the LED area above the V-Pot being mapped.  
The user can customize this name in the 
software. Default value will be the <Instrument-
Name> of the parameter being mapped.

<Display2>

  A short name that will appear in 

the LED area above the V-Pot being mapped.  
The user can customize this name in the soft-
ware. Default value will be the <ParamName> 
of the parameter being mapped.

<ValueRangeMin>

  Minimum value for given pa-

rameter.

<ValueRangeMax>

  Maximum value for given 

parameter.

Summary of Contents for C4 Commander

Page 1: ...PROGRAMMER S G U I D E C4Commander ExternalMIDIHardware ControlSoftware ForMackieControlC4...

Page 2: ...d in the existing Instrument folder or based on an existing definition Many times when creating a new file for anoth er instrument from the same manufacturer the manufacturer will use the same SYSEX S...

Page 3: ...contact the synthesizer manufacturer for this informa tion Define masks based on the SYSEX mes sages used by the instrument Define the parameters to be controlled via SYSEX Optional define ValueText...

Page 4: ...the MIDI Manufacturer s Association MMA A unique ID assigned to each manufacturer and stored in HEX DeviceName Name of the given instrument e g Matrix 6 This is displayed in various file lists and men...

Page 5: ...f the message one based from the left is to be masked Bit An integer indicating which bit of the message byte one based from the right is the left most starting bit of the mask Size The number of bits...

Page 6: ...yping your valuetext state ments ValueText name xxxxxxx This element is used to substitute text in place of a V Pot nu merical value So instead of seeing 0 and 1 for a V Pot value you can have on and...

Page 7: ...ting FunctionName Name of the given function e g Master volume The FunctionName is displayed as the default name in the C4 Com mander screen Since the physical C4 is limited to displaying only 7 8 cha...

Page 8: ...TextList ValueText name onoff Text value 0 Off Text Text value 1 On Text ValueText ValueText name alg Text value 0 Algorithm 1 Text Text value 1 Algorithm 2 Text Text value 2 Algorithm 3 Text Text val...

Page 9: ...C4 Commander Param ParamID 39H ParamID ParamName Amplitude Mod Depth ParamName Message F0 22 20 33 39 00 00 F7 Message ValueRangeMin 0 ValueRangeMin ValueRangeMax 99 ValueRangeMax Param ParamTable In...

Page 10: ...rs in the top LED bar of the C4 Commander PageList Holds all names of the current layout s pages The order of the child Page elements determines the corresponding page numbers Page A single page name...

Page 11: ...the param to upon quick toggle action of the V Pot Default will be half way between the min and max Layout File Format CustomLayout LayoutID 75a1e4445dcd311d LayoutID LayoutName line6 podtr LayoutNam...

Page 12: ...and the Running Man figure are trademarks or registered trademarks of LOUD Technologies Inc All other brand names mentioned are trademarks or registered trademarks of their respective holders and are...

Reviews: