DAW mode provides additional functionality, allowing DAWs and DAW-like software to realise intuitive user interfaces on the Launch Control XL 3’s surface. The capabilities described in this chapter are only available once DAW mode is enabled.
All functionality described in this chapter is accessible through the DAW In/Out (USB) interface.
Note
MIDI data is not sent from the DIN outputs in this mode.
You can enabling and disabling DAW Mode using either a note, or SysEx message:
Enable DAW Mode:
Hex: 9fh 0Ch 7Fh
Dec: 159 12 127
Hex: F0h 00h 20h 29h 02h 15h 02h 7Fh F7h
Dec: 240 0 32 41 2 21 2 127 247
Disable DAW Mode:
Hex: 9Fh 0Ch 00h
Dec: 159 12 0
Hex: F0h 00h 20h 29h 02h 15h 02h 00h F7h
Dec: 240 0 32 41 2 21 2 0 247
Once the DAW or DAW-like software has recognised and connected to the Launch Control XL 3, it should tell the Launch Control XL 3 to enter DAW mode (send either of the ‘Enable DAW Mode’ messages above), and then, if necessary, enable the feature controls (see the Launch Control XL 3 feature controls section of this document).
When the DAW or DAW-like software exits, it should exit from DAW mode on the Launch Control XL 3 (send either of the ‘Disable DAW Mode’ messages above), to return it to Standalone (MIDI) mode.
In DAW mode, contrary to standalone (MIDI) mode, all buttons, and surface elements not belonging to performance features (such as the Custom Modes) can be accessed and will report on the DAW In/Out (USB) interface only. The controls are mapped to Control Change events as follows:
Decimal values
Hexadecimal values
Encoders and faders output on channel 16, the buttons output on channel 1 except shift which outputs on on channel 7 as this is linked to its feature control.
The Control Change indices listed are also used for sending colour to the corresponding LEDs, see Colouring the surface.
Once in DAW mode, the following additional modes become available:
-
DAW Control Mode
-
DAW Mixer Mode
The surface mode can be controlled by MIDI events and are reported back by the Launch Control XL 3 whenever it changes mode due to user activity. These messages are important to capture, as the DAW should follow them when setting up and using the surfaces as intended based on the selected mode.
Mode changes are reported or can be changed by the following MIDI event:
-
Channel 7 (MIDI status: B6h, 182), Control Change 1Eh (30)
The modes are mapped to the following values:
-
01h (1): DAW Mixer
-
02h (2): DAW Control
-
06h-09h(6-9): Custom Modes 1 - 4
-
12h-1dh(18-29): Custom Modes 5-16
By default encoders are in absolute mode and provide standard CCs as described above. If the DAW sends them position information, they automatically pick that up.
Each row can be independently switched into relative mode
Hex: B6h <RowID> <7Fh:On/00h:Off>
Dec: 182 <RowID> <127:On/0:Off>
-
45h (69): Row 1
-
48h (72): Row 2
-
49h (73): Row 3
In Relative mode, the pivot value is 40h(64) (no movement). Values above the pivot point encode clockwise movements. Values below the pivot point encode anticlockwise movements. For example, 41h(65) corresponds to 1 step clockwise and 3Fh(63) corresponds to 1 step anticlockwise.
When in relative mode, the CC numbers increase by 40h(64) for each row of encoders:
Row 1: 4dh (77) - 54h (84)
Row 2: 55h (85) - 5ch (92)
Row 3: 5dh (93) - 64h (100)
Hex: B6h 47h <7Fh:On/00h:Off>
Dec: 182 71 <127:On/0:Off>
If Continuous Control Touch events are enabled, the Touch On is sent as a Control Change event with Value 127 on Channel 15, while the Touch Off is sent as a Control Change event with Value 0 on Channel 15. For example, the leftmost Fader would send BEh 05h 7Fh (190 5 127) for Touch On, and BEh 05h 00h (190 5 0) for Touch Off.
For all controls, or a control change matching those described in the reports can be sent to colour the corresponding LED (if the control has any).
Hex: B0h <control index> <colour index>
Dec: 176 <control index> <colour index>
Note
The Shift button is excluded as it is tied to a Feature Control message. See Launch Control XL 3 feature Controls section for further information.
Buttons and encoder LEDs can also be set to a custom colour using the following SysEx:
Hex: F0h 00h 20h 29h 02h 15h 01h 53h <control index> <R> <G> <B> F7h
Dec: 240 0 32 41 2 21 1 83 <control index> <R> <G> <B> 247
Encoder LEDs can be addressed using the absolute mode control indices when encoders are in either absolute or relative mode.
-
Stationary display: A default display which is shown unless any event requires a different display to be temporarily shown above it.
-
Temporary display: A display triggered by an event, persisting for the length of the display timeout user setting.
-
Parameter name: Used in association with a control, showing what it is controlling. Unless provided by messages (SysEx), typically this is the MIDI entity (such as note or CC).
-
Parameter value: Used in association with a control, showing the current value of it. Unless provided by messages (SysEx), this is the raw value of the MIDI entity controlled (such as a number in range 0 - 127 in case of a 7 bits CC).
Hex: F0h 00h 20h 29h 02h 15h 04h <target> <config> F7h
Dec: 240 0 32 41 2 21 4 <target> <config> 247
Once a display is configured for a given target, it can be triggered.
-
05h (5) - 24h (36): Temp. display for Analog controls (same as CC indices, 05h (5) - 0Ch (12): Faders, 0Dh (13) - 24h (36): Encoders)
-
35h (53): Permanent/Stationary display
-
36h (54): Overlay/Temporary display
The <config> byte sets up the arrangement and operation of the display. 00h and 7Fh are special values: It cancels (00h) or brings up (7Fh) the display with its current contents (as MIDI Event, it is a compact way to trigger display).
-
Bit 6: Allow Launch Control XL 3 to generate Temp. Display automatically on Change (default: Set).
-
Bit 5: Allow Launch Control XL 3 to generate Temp. Display automatically on Touch (default: Set; this is the Shift + rotate).
-
Bit 0-4: Display arrangement
Display arrangements:
-
0: Special value for cancelling display.
-
1-30: Arrangement IDs, see table below.
-
31: Special value for triggering display.
ID |
Description |
Num |
Fields |
F0 |
F1 |
F2 |
---|---|---|---|---|---|---|
1 |
2 lines: Parameter Name and Text Parameter Value |
No |
2 |
Name |
Value |
- |
2 |
3 lines: Title, Parameter Name and Text Parameter Value |
No |
3 |
Title |
Name |
Value |
3 |
1 line + 2x4: Title and 8 names (for encoder designations) |
No |
9 |
Title |
Name |
... |
4 |
2 lines: Parameter Name and Numeric Parameter Value (default) |
Yes |
1 |
Name |
- |
- |
Note
The arrangement is ignored for targets only setting names (22h(34) – 28h(40)), however for changing triggerability, it needs to be set non-zero (since the value 0 for these still acts for cancelling the display).
Once a display is configured, the following message can be used to fill in the text fields.
Hex: F0h 00h 20h 29h 02h 15h 06h <target> <field> <text…> F7h
Dec: 240 0 32 41 2 21 6 <target> <field> <text…> 247
The text uses the standard ASCII character mapping in the range 20h (32) – 7Eh (126) with the addition of the below control codes, which have been reassigned to provide additional non-ASCII characters.
-
Empty Box - 1Bh (27)
-
Filled Box - 1Ch (28)
-
Flat Symbol - 1Dh (29)
-
Heart - 1Eh (30)
Other control characters should not be used as their behaviour may change in the future.
The screen can also display custom graphics by sending a bitmap to the device.
Hex: F0h 00h 20h 29h 02h 15h 09h <target> <bitmap_data> 7Fh
Dec: 240 0 32 41 2 21 9 <target> <bitmap_data> 127
The <target> can be either the Stationary display (20h(32)) or the Global temporary display (21h(33)). There is no effect on other targets.
The <bitmap_data> is of fixed 1216 bytes, 19 bytes for each pixel row, for a total of 64 rows (19 × 64 = 1216). The 7 bits of the SysEx byte encode pixels from left to right (highest bit corresponding to the leftmost pixel), the 19 bytes covering the 128 pixels width of the display (with five unused bits in the last byte).
Upon success, there is a response to this message, which is suitable for timing fluid animations (once receiving it, the Launch Control XL 3 is ready to accept a next Bitmap message):
Hex: F0h 00h 20h 29h 02h 15h 09h 7Fh
Dec: 240 0 32 41 2 21 9 127
The display can be cancelled by either cancelling it explicitly (using the Configure Display SysEx or MIDI Event), or triggering the normal display (whose parameters are preserved while the bitmap is displaying).
Important
The firmware can only hold one bitmap in its memory at once.