controller change message on MIDI channel 1, for example, is
signified by the status byte B0h (176).
Launchpad S communicates using MIDI over USB in both
directions. This is the only interface that the device supports. By
describing the MIDI communication format, this manual contains
all the information you need to be able to write software that is
customised for Launchpad S.
In terms of communication, Launchpad S is largely similar to the
original Launchpad, and is compatible with any software that
already supports Launchpad. See the Original Launchpad Compatibility Notes on page 2 for a summary of how the units
differ.
This is not an exhaustive document. Certain extra controller
change and System Exclusive messages are used to signal
between different pieces of software, for authentication, and for
remote firmware upgrade. These are beyond the scope of this
document. However, it is worth knowing that they exist in case
you encounter them while you are playing with Launchpad S.
Number systems and MIDI
Number systems and MIDI conventions
Number systems and MIDI Number systems and MIDI
There are three common ways of expressing MIDI data. All are
given in this manual. The first, where appropriate, is a plain
English description of the MIDI message. When we describe a
musical note, middle C is deemed to be ‘C 3’. MIDI channel 1 is
considered the lowest-numbered MIDI channel. Controller
numbers begin at zero.
Throughout this manual, MIDI messages are also expressed in
plain data, with decimal and hexadecimal equivalents. The
hexadecimal number will always be given with a lower-case ‘h’ at
the end, and the decimal equivalent given in brackets. A
conventions
conventionsconventions
In all circumstances unless described otherwise, Launchpad
transmits and responds only to messages on MIDI channel 1.
For
For Max
Max users
For For
For the benefit of those who use Cycling 74’s Max software to
process and manipulate MIDI data, a series of tutorial patches are
available. These demonstrate many of Launchpad’s features and
capabilities within the Max environment, and can be downloaded
from novationmusic.com.
Max is a world of its own, and this manual does not specifically
instruct on the use of Launchpad inside its environment. Where
particular tutorials are useful, though, they will be introduced.
The demonstration patches are designed to select the original
Launchpad automatically, but the correct device will need
choosing in the relevant drop-down boxes where Launchpad S is
concerned.
Original
Original Launchpad
OriginalOriginal
We made every effort to ensure that Launchpad S will work with
all the software released for the original Launchpad. What
follows is a description of the differences that are already known.
Launchpad S is a class-compliant MIDI device, while Launchpad is
not. This means that no additional drivers are needed to get
started with Launchpad S. However, the standard class drivers on
Windows do not allow different programs to use the same MIDI
device simultaneously. To allow Launchpad S to be shared
users
MaxMax
usersusers
Launchpad Compatibility Notes
Launchpad Launchpad
Compatibility Notes
Compatibility NotesCompatibility Notes
1
2
between programs, you will still need to install the Novation USB
driver.
Launchpad S has a bootloader mode, in which certain settings
can be changed and saved by the user. These can alter its
maximum current consumption and USB identity. If you are a
Linux developer, you might want to be aware that the USB PID of
Launchpad S can fall in a range between 20h and 2Fh.
The MIDI communication speed of Launchpad S is approximately
forty times that of the original Launchpad. Many of its more
advanced MIDI features were tricks to reduce MIDI traffic.
Programmers could apply these in succession until their software
worked smoothly and responsively. When writing for Launchpad
S, heavy MIDI traffic can be exchanged seamlessly and these tricks
are no longer necessary. However, if your new software generates
particularly large amounts of MIDI data, please be aware that
users of the original Launchpad will obtain a less satisfactory user
experience.
Further differences occur because Launchpad S uses more
efficient LEDs with better wavelength separation, and it drives
these in a new way. If your colour vision is good, you may observe
four or five distinct colours that could be used at maximum
brightness to signify different settings. This was not the case on
the original Launchpad, where the colour space was more modest
and not so easily traversed. One ramification of the new colour
space is that certain colours that appeared as yellow on the
original Launchpad can now appear as yellow-green.
If backwards compatibility is desired, assume that only red,
amber, and green are discernible.
We have imitated this command’s effect by turning it into the
brightness command (page 6), but we cannot match it exactly.
Those features that are exclusive to Launchpad S are assigned
their own section at the end of this manual. Otherwise, they may
be applied either to the old or the new device.
Quick Start
Quick Start
Quick StartQuick Start
The central grid of 64 buttons on Launchpad sends note data on
MIDI channel 1. A note-on message of maximum velocity is
delivered when the button is pressed, and a message of velocity
zero when released. Sending the same data back to Launchpad
will light or extinguish the LED behind the button.
Different note velocities produce different colours. A velocity of
0Fh (15) will light a button red; 3Ch (60) will light it green; 3Fh
(63) will light it amber.
Most Launchpad communication is hardly more complicated than
this.
Max
Max patch
patch: LP_2_MIDI_in_Cellblock.maxpat
MaxMax
This patch introduces the default layout of Launchpad, decomposing the location
of a pressed button into its respective row and column, and displaying its
incoming velocity on an 8×8 grid.
If your software uses the original Launchpad’s ‘set duty cycle’
feature, you might perceive visual differences in the way that
Launchpad S interprets this command compared with Launchpad.
3
4
Computer
Computer----to
ComputerComputer
Reset
Reset
ResetReset
Host » Launchpad: Channel 1: controller 0 set to 0.
B0h, 00h, 00h (176, 0, 0).
All LEDs are turned off. Launchpad’s settings revert to their
power-on values.
Turn on all LEDs
Turn on all LEDs
Turn on all LEDsTurn on all LEDs
Host » Launchpad: Channel 1: controller 0 set to 125-127.
B0h, 00h, 7D-7Fh (176, 0, 125-127).
This command behaves like the Reset instruction above, except
that the LEDs are lit amber. 7Dh (125) is the lowest intensity; 7Fh
(127) is the highest.
Change the button layout
Change the button layout
Change the button layoutChange the button layout
to----Launchpad
Launchpad CCCConfiguration
toto
Launchpad Launchpad
onfiguration MMMMessages
onfiguration onfiguration
essages
essagesessages
Layout 2 is the drum rack layout. This is ideal for situations where
Launchpad must launch samples or deal with musical MIDI. Six
continuous octaves are available in this mode, and they are laid
out in a regular pattern.
Figures 1–3 (starting on page 7) illustrate the button locations
and MIDI note numbers in each mapping mode.
The button layout mode — either drum rack or X-Y [normal] — can be chosen
from the drop-down box at the top-right of the patch. Choosing a new layout will
immediately change Launchpad’s button mode. The MIDI note of the most
recently-pressed button is shown on the displayed piano, and the note can be
played via another connected MIDI device.
Host » Launchpad: Channel 1: controller 0 set to 1 or 2.
B0h, 00h, 01-02h (176, 0, 1-2).
Launchpad has two mapping modes that determine the MIDI
note that corresponds to each button.
Layout 1 is the X-Y layout. This is best for writing software that
uses Launchpad S as a free grid, as it is easy to navigate around
the grid in any direction simply by adding or subtracting.
5
6
Upper
UpperUpper
Upper
Launchpad
LaunchpadLaunchpad
Launchpad
::::
Upper
UpperUpper
Upper
Launchpad
LaunchpadLaunchpad
Launchpad
::::
Figure 1.
Figure 1. Launchpad
Figure 1. Figure 1.
Launchpad MIDI
Launchpad Launchpad
MIDI notes
notes, hexadecimal values
MIDI MIDI
, hexadecimal values
notesnotes
, hexadecimal values, hexadecimal values
Figure 2
Figure 2.
Figure 2Figure 2
. Launchpad
Launchpad MIDI
. .
Launchpad Launchpad
MIDI notes
MIDI MIDI
notes, decimal values
, decimal values
notesnotes
, decimal values, decimal values
00h 01h 02h 03h 04h 05h 0 6h 07h
10h 11h 12h 13h 14h 1 5h 16h 17h
20h 21h 22h 23h 24h 25h 2 6h 27h
30h 31h 32h 33h 34h 35h 3 6h 37h
40h 41h 42h 43h 44h 4 5h 46h 47h
50h 51h 52h 53h 54h 55h 5 6h 57h
60h 61h 62h 63h 64h 65h 6 6h 67h
70h 71h 72h 73h 74h 7 5h 76h 77h
40h 41h 42h 43h 60h 61h 6 2h 63h
3Ch 3Dh 3Eh 3Fh 5Ch 5Dh 5Eh 5F h
38h 39h 3Ah 3Bh 58h 59h 5Ah 5Bh
34h 35h 36h 37h 54h 55h 5 6h 57h
30h 31h 32h 33h 50h 51h 5 2h 53h
08h
18h
28h
38h
48h
58h
68h
78h
X-Y layout
Lower
Lower Launchpad
Launchpad::::
LowerLower
LaunchpadLaunchpad
Drum rack layout
Different octaves
are shaded
differently to make
the note pattern
clearer.
64h
65h
66h
67h
68h
Cs are coloured
red; Fs are coloured
blue.
01234567
1617181920212 223
323 3343536373839
484 9505152535455
646 5666768697071
808 1828384858687
969 79899100 101 102 103
112 113 1 14 115 116 117 118 119
646 5666796979899
606 1626392939495
565 7585988899091
525 3545584858687
484 9505180818283
8
24
40
56
72
88
104
120
X-Y layout
Lower
Lower Launchpad
Launchpad::::
LowerLower
LaunchpadLaunchpad
Drum rack layout
Different octaves
are shaded
differently to make
the note pattern
clearer.
Host » Launchpad: Channel 1: change controller 30 or 31.
B0h, 1E-1Fh, Data (176, 30-31, Data).
C -2 C#-2 D -2 D#-2 E -2 F -2 F#- 2 G -2
E -1 F -1 F#- 1 G -1 G#-1 A -1 A#-1 B -1
G#0 A 0 A#0 B 0 C 1 C#1 D 1 D#1
C 2 C#2 D 2 D#2 E 2 F 2 F#2 G 2
E 3F 3 F#3 G 3 G#3 A 3 A#3 B 3
G#4 A 4 A#4 B 4 C 5 C#5 D 5 D#5
C 6 C#6 D 6 D#6 E 6 F 6 F#6 G 6
E 7F 7 F#7 G 7 G#7 A 7 A#7 B 7
E 3F 3 F#3 G 3 C 6 C#6 D 6 D#6
C 3 C#3 D 3 D#3 G#5 A 5 A#5 B 5
G#2 A 2 A#2 B 2E 5F 5 F#5 G 5
E 2F 2 F#2 G 2 C 5 C#5 D 5 D#5
C 2 C#2 D 2 D#2 G#4 A 4 A#4 B 4
G#1 A 1 A#1 B 1E 4F 4 F#4 G 4
E 1F 1 F#1 G 1 C 4 C#4 D 4 D#4
C 1 C#1 D 1 D#1 G#3 A 3 A#3 B 3
G#-2
C 0
E 1
G#2
C 4
E 5
G#6
C 8
E 6
F 6
F#6
G 6
G#6
A 6
A#6
B 6
X-Y layout
Lower
Lower Launchpad
Launchpad::::
LowerLower
LaunchpadLaunchpad
Drum rack layout
Different octaves
are shaded
differently to make
the note pattern
clearer.
Cs are coloured
red; Fs are coloured
blue.
This command conveys a specially-formatted fraction that
Launchpad S uses to scale its overall brightness. Its effect is most
pronounced when some LEDs are dimmed.
In the original Launchpad, this function set the device’s duty cycle
for dim LEDs, but Launchpad S is driven in a way that does not
accommodate such treatment. While the new command is
engineered to behave in a similar way, some differences in
appearance will be experienced.
Many programs use this command: either to apply fade effects to
the unit, or to suggest a metronome beat, by rhythmically setting
the brightness briefly to a higher and then quickly back to its
default setting.
The original Launchpad would begin to flicker visibly when duty
cycles of 1/6th or less were used for any length of time, and the
visual contrast would suffer when duty cycles greater than 1/5th
(its default) were employed. These technical limitations provided
the rationale for providing such configuration in the first place.
In Launchpad S, the default is still 1/5th. The brightness may
validly be set to any value between 1/18th and 6/1, although
settings of more than 1/3rd are not particularly useful, and may
overload the USB host.
The following pre-baked examples may be useful. Note that the
first two will flicker on an original Launchpad, and will look
absolutely revolting.
Brightness
Brightness Hex message
BrightnessBrightness
1/16 B0h, 1Eh, 0Dh 176, 30, 13
1/11 B0h, 1Eh, 08h 176, 30, 8
1/7 B0h, 1Eh, 04h 176, 30, 4
1/5 (default) B0h, 1Eh, 02h 176, 30, 2
1/3 B0h, 1Eh, 00h 176, 30, 0
Max
Max patch
patch: LP_8_Brightness.maxpat
MaxMax
patchpatch
This patch modulates the brightness through 2/9th, 3/9th and so on, to 9/9ths
and back again. The overall effect is of the LEDs of Launchpad fading in and out. A
dial can be used to set the speed of movement.
Hex message Decimal message
Hex messageHex message
: LP_8_Brightness.maxpat
: LP_8_Brightness.maxpat: LP_8_Brightness.maxpat
Decimal message
Decimal messageDecimal message
Computer
Computer----to
ComputerComputer
The simplest way of changing the colour of a pad LED is to send
Launchpad a note-on message on MIDI channel 1, where the
note number conforms to the numbers given in Figures 1–3, and
the velocity corresponds to the desired colour.
In the X-Y layout, a note value that falls within the gaps between
two rows – for example, notes 9 to 0Fh (15) – will be interpreted
as the last column on that row, and will therefore light the scene
launch button.
Figure 4.
Figure 4. The sixteen displayable colours of
Figure 4. Figure 4.
Readers who are versed in the manipulation of binary will have
worked out that bits 1 and 0 of the note velocity refer to the level
of the red element, and bits 5 and 4 refer to the level of the green
element. The red intensity is therefore varied by progressively
adding 1 to the ‘off’ value, shown in Figure 4 as 0Ch (12). The
green intensity is adjustable by progressively adding 10h (16).
to----Launchpad LED
Launchpad LED MMMMessages
toto
Launchpad LED Launchpad LED
The sixteen displayable colours of Launchpad
The sixteen displayable colours of The sixteen displayable colours of
essages
essagesessages
Launchpad SSSS
LaunchpadLaunchpad
11
Red and green light combine in equal proportions to form the
amber colour, and in other proportions to form orange and
yellow.
12
The 64 grid buttons and the eight clip launch buttons are
determined by sending appropriate MIDI note messages.
However, the eight round buttons at the top — the mode and
cursor controls — are sent as control change messages 68h (104)
to 6Fh (111) on MIDI channel 1, with the controller value
containing the colour data. This makes it easier for programs to
deal with them differently.
Example: to light the
Example: to light the second
Example: to light the Example: to light the
Channel 1: note on C 6 / 60h (96), velocity 0Fh (15).
90h, 60h, 0Fh (144, 96, 15).
second----from
secondsecond
from----bottom
fromfrom
bottom left grid LED red
bottombottom
left grid LED red
left grid LED redleft grid LED red
Note: if this lights a different LED, you may be using the drum
rack layout (page 5).
Example: to light the cursor left LED green
Example: to light the cursor left LED green
Example: to light the cursor left LED greenExample: to light the cursor left LED green
Channel 1: set controller 6Ah (106) to 3Ch (60).
B0h, 6Ah, 3Ch (176, 106, 60).
This patch demonstrates the use of Jitter’s matrix function to store and recall
conventional note messages, by switching between two screens of LEDs. Pressing
buttons on the grid will toggle LEDs between red and off in one page, and green
and off in the other. Pressing the
the two pages.
This patch uses the Jitter library, which requires QuickTime to be installed.
Rapid LED
Rapid LED UUUUpdate
Rapid LED Rapid LED
pdate
pdatepdate
mixer
button on Launchpad changes between
To make more economical use of data, the original Launchpad
featured a mode in which the entire LED grid could be updated
using half the messages that would otherwise be required. This
can still be employed in Launchpad S to reduce MIDI traffic.
Rapid update uses note-on messages on MIDI channel 3. In each
message, the note number is treated as the colour of one LED,
and the note velocity is treated as the colour of its neighbour.
Max
Max patch
patch: LP_3_LED_ColourMix.maxpat
MaxMax
Either the multi slider or drop-down box at the top of the patch window can be
used to choose the colour of Launchpad’s top-left grid LED. The
number boxes show the note velocity calculated to produce this colour.
Starting at the top-left-hand corner in either mode, subsequent
note messages update the 64-pad grid horizontally and then
vertically. They then update the eight clip launch buttons, and
then the eight mode buttons.
If rapid LED update is interrupted by a valid message on MIDI
channel 1, Launchpad will leave this mode and reset the cursor to
the top-left-hand corner ready for subsequent updates. It is
therefore essential that rapid update is used only when data
traffic to Launchpad is carefully managed.
14
Example: update the top row
Example: update the top row
Example: update the top rowExample: update the top row
This command, illustrating the beginning of a rapid LED update,
sets the topmost row to display a pleasing spectrum of colours.
Channel 3: send a stream of notes and velocities
corresponding to colours.
92h, 0Fh, 1Fh, 2Fh, 3Fh, 3Fh, 3Eh, 3Dh, 3Ch.
(146, 15, 31, 47, 63, 63, 62, 61, 60).
Adventures in
Adventures in DDDDouble
Adventures in Adventures in
We now reach our second sleight of hand intended to improve
the performance of the original Launchpad. The note velocity
associated with each pad is used to choose the LED colour, but
also conveys two extra bits of information. Programs may use
these bits to control the state of each LED at some point in the
future. Launchpad updates its LEDs to reflect this new
configuration in response to a certain control change message.
Essentially, Launchpad manages two sets of LED data — buffers —
for each pad. By default, these are configured so that the buffer
that is updated by incoming MIDI messages is the same as the
one that is visible, so that note-on messages immediately change
their respective pads.
ouble BBBBuffering
oubleouble
uffering
ufferinguffering
The visible buffer can alternatively be configured to swap
automatically at 280ms intervals in order to configure LEDs to
flash.
The extra bits within every note velocity, 3 and 2, can be set as
follows:
bit 3:bit 2
bit 3:bit 2 Mode
bit 3:bit 2bit 3:bit 2
00 Ignore Do nothing to the non-visible buffer.
01 Copy Copy this colour to the non-visible buffer.
10 Clear Turn off the LED in the non-visible buffer.
11 Copy As ‘Copy’ above.
The colours given in Figure 4 are expressed in ‘copy’ mode, with
bits 3 and 2 set. These examples will make it easy for software to
incorporate flashing LEDs without being re-written. To use these
examples in ‘clear’ mode (in other words, to configure the LEDs to
flash), it is sufficient just to clear bit 2. This means subtracting 4
from the velocity value given in Figure 3. To set LEDs in ‘ignore’
mode, subtract 0Ch (12) instead. See the examples at the end of
this section.
Mode Meaning
ModeMode
Meaning
MeaningMeaning
However, the buffers can also be configured so that Launchpad’s
LED status is updated invisibly. With a single command, these
buffers can then be swapped. The pads will instantly update to
show their pre-programmed state, while the pads can again be
updated invisibly ready for the next swap.
15
16
Change the LED buffer
Change the LED bufferssss
Change the LED bufferChange the LED buffer
Example: F
Example: Flashing LEDs
Example: FExample: F
lashing LEDs
lashing LEDslashing LEDs
Host » Launchpad: Channel 1: controller 0 set to 20-3Dh
(32-61).
B0h, 00h, 20-3Dh (176, 0, 32-61).
The table below shows those control values that will prove most
useful. For those with the interest and expertise to delve further,
a definitive description of these settings is given in terms of
bitwise logic in the original Launchpad Programmer’s Reference Manual.
Control value
Control value Mode
Control valueControl value
20h (32) Simple
24h (36) Buffered 0 Display buffer 0, and write to buffer 1.
21h (33) Buffered 1 Display buffer 1, and write to buffer 0.
34h (52)
31h (49)
28h (40) Flash
Mode Meaning
ModeMode
Buffered 0
+ Copy
Buffered 1
+ Copy
Meaning
MeaningMeaning
(the default)
Display and write to buffer 0.
Display buffer 0, write to buffer 1,
copy buffer 0 to buffer 1.
Display buffer 1, write to buffer 0,
copy buffer 1 to buffer 0.
Flash mode: write to buffer 0, and swap
the display buffer every 280ms.
Turn flashing on.
Channel 1: set controller 0 to 28h (40).
B0h, 00h, 28h (176, 0, 40).
Then set second-from-bottom left grid LED to light amber solidly.
Channel 1: note on C 6 / 60h (96), velocity 3Fh (63).
90h, 60h, 3Fh (144, 96, 63).
Channel 1: note on D 6 / 62h (98), velocity 38h (56).
90h, 62h, 38h (144, 98, 56).
Then turn off the first LED.
Channel 1: note on C 6 / 60h (96), velocity 0Ch (12).
90h, 60h, 0Ch (144, 96, 12).
Finally, turn flashing off.
Channel 1: set controller 0 to 20h (32).
B0h, 00h, 20h (176, 0, 32).
17
18
Example:
Example: DDDDouble buffering
Example: Example:
ouble buffering
ouble bufferingouble buffering
Enter buffering mode.
The display will not change until the buffers are swapped again,
as follows:
Channel 1: set controller 0 to 31h (49).
B0h, 00h, 31h (176, 0, 49).
Set some LEDs. We will use ‘ignore’ mode to set four adjacent
LEDs to red-amber-green-amber. (We are using running status
here: part of the MIDI spec that allows us to send a single status
byte followed by a stream of note/velocity pairs.)
Channel 1: note on C 6 / 60h (96), velocity 3.
note on C#6 / 61h (97), velocity 33h (51).
note on D 6 / 62h (98), velocity 30h (48).
note on D#6 / 63h (99), velocity 33h (51).
90h, 60h, 03h, 61h, 33h, 62h, 30h, 63h, 33h.
(144, 96, 3, 97, 51, 98, 48, 99, 51).
The display will update invisibly, and will not change until the
buffers are cycled as follows:
Channel 1: set controller 0 to 34h (52).
B0h, 00h, 34h (176, 0, 52).
Set the first amber LED to green, and turn off the second amber
LED. We will use ‘ignore’ mode again: otherwise the visible state
of Launchpad will change. (Note the use of running status again.)
Channel 1: set controller 0 to 31h (49).
B0h, 00h, 31h (176, 0, 49).
To continue working in this way, cycle between controller values
31h (49) and 34h (52) to swap buffers. Every time this is done, all
the LEDs will change instantly.
Return to the default mode when you have finished:
Channel 1: set controller 0 to 20h (32).
B0h, 00h, 20h (176, 0, 32).
The ‘LED colour’ option chooses the transmitted note velocity. The ‘bank’ option
determines whether the
note. A note is sent to the top-left grid button whenever the LED colour option is
changed.
Different bank options are selectable from the ‘Options’ drop-down menu. As
soon as its state is changed, the appropriate controller message is transmitted to
Launchpad.
Launchpad S responds to the MIDI 1.0 specification’s Device
Inquiry message. The original Launchpad does not. A device
response can be generated by sending:
Launchpad S will respond with data appropriate to its identity.
Novation’s manufacturer ID is 00h, 20h, 29h (0, 32, 41), and the
device code for Launchpad S is 20h, 00h (32, 00).
Scrolling text
Scrolling text
Scrolling textScrolling text
Launchpad S natively supports scrolling text. ASCII text can be
embedded in a System Exclusive message. Additional bytes are
reserved to change the scrolling speed or text colour.
F0h, 00h, 20h, 29h, 09h, colour, text ..., F7h
(240, 0, 32, 41, 9, colour, text ..., 247)
Colour refers to the scroll text colour, and should be supplied in
the same way as the MIDI note velocity, as described in Figure 3.
Additionally, bit 4 can be set (add 64 to the velocity) in order to
make the text loop.
In addition to the standard ASCII characters, Launchpad S
recognises plain values of 1-7 as speed commands, where 1 is
slowest and 7 is fastest. This allows the scrolling speed to be
manipulated mid-text. The default speed is 4.
When the text ends, Launchpad S restores the LEDs to their
previous settings. As the text either ends or loops, a controller
change message will be sent back to the host, setting controller 0
to 3:
B0h, 00h, 03h (176, 0 3)
This enables software to keep track of the message’s progress.
Example: H
Example: Hello world
Example: HExample: H
Start the text scrolling with the following System Exclusive
message:
Max patch: LP_9_Scrolling.maxpatMax patch: LP_9_Scrolling.maxpat
This patch demonstrates custom scrolling text. The colour and loop settings can be
changed, and a text string entered. This is converted into the relevant System
Exclusive message format, and sent to Launchpad S.
ello world
ello worldello world
21
22
http://www.novationmusic.com
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.