2
2
#
3
3
# Quick usage of "launchpad.py", LEDs and buttons.
4
4
# Works with all Launchpads: Mk1, Mk2, Mini Mk3, S/Mini, Pro, Pro Mk3, XL and LaunchKey
5
+ # And these: Midifighter 64
5
6
#
6
7
#
7
8
# FMMT666(ASkr) 7/2013..8/2020
@@ -26,17 +27,14 @@ def main():
26
27
27
28
mode = None
28
29
29
- # create an instance
30
- lp = launchpad .Launchpad ()
31
-
32
- # check what we have here and override lp if necessary
33
- if lp .Check ( 0 , "pad pro" ):
30
+ # create an instance for the Pro
31
+ if launchpad .LaunchpadPro ().Check ( 0 ):
34
32
lp = launchpad .LaunchpadPro ()
35
- if lp .Open (0 , "pad pro" ):
33
+ if lp .Open ( 0 ):
36
34
print ("Launchpad Pro" )
37
35
mode = "Pro"
38
36
39
- elif lp . Check ( 0 , "promk3" ):
37
+ elif launchpad . LaunchpadProMk3 (). Check ( 0 ):
40
38
lp = launchpad .LaunchpadProMk3 ()
41
39
if lp .Open ( 0 ):
42
40
print ("Launchpad Pro Mk3" )
@@ -45,7 +43,7 @@ def main():
45
43
# experimental MK3 implementation
46
44
# The MK3 has two MIDI instances per device; we need the 2nd one.
47
45
# If you have two MK3s attached, its "1" for the first and "3" for the 2nd device
48
- elif lp . Check ( 1 , "minimk3" ):
46
+ elif launchpad . LaunchpadMiniMk3 (). Check ( 1 ):
49
47
lp = launchpad .LaunchpadMiniMk3 ()
50
48
if lp .Open ( 1 , "minimk3" ):
51
49
print ("Launchpad Mini Mk3" )
@@ -54,37 +52,44 @@ def main():
54
52
# experimental LPX implementation
55
53
# Like the Mk3, the LPX also has two MIDI instances per device; we need the 2nd one.
56
54
# If you have two LPXs attached, its "1" for the first and "3" for the 2nd device
57
- elif lp . Check ( 1 , "lpx" ):
55
+ elif launchpad . LaunchpadLPX (). Check ( 1 ):
58
56
lp = launchpad .LaunchpadLPX ()
59
57
if lp .Open ( 1 , "lpx" ):
60
58
print ("Launchpad X" )
61
59
mode = "Pro"
62
60
63
- elif lp . Check ( 0 , "mk2" ):
61
+ elif launchpad . LaunchpadMk2 (). Check ( 0 ):
64
62
lp = launchpad .LaunchpadMk2 ()
65
63
if lp .Open ( 0 , "mk2" ):
66
64
print ("Launchpad Mk2" )
67
65
mode = "Mk2"
68
66
69
- elif lp . Check ( 0 , "control xl" ):
67
+ elif launchpad . LaunchControlXL (). Check ( 0 ):
70
68
lp = launchpad .LaunchControlXL ()
71
69
if lp .Open ( 0 , "control xl" ):
72
70
print ("Launch Control XL" )
73
71
mode = "XL"
74
72
75
- elif lp . Check ( 0 , "launchkey" ):
73
+ elif launchpad . LaunchKeyMini (). Check ( 0 ):
76
74
lp = launchpad .LaunchKeyMini ()
77
75
if lp .Open ( 0 , "launchkey" ):
78
76
print ("LaunchKey (Mini)" )
79
77
mode = "LKM"
80
78
81
- elif lp . Check ( 0 , "dicer" ):
79
+ elif launchpad . Dicer (). Check ( 0 ):
82
80
lp = launchpad .Dicer ()
83
81
if lp .Open ( 0 , "dicer" ):
84
82
print ("Dicer" )
85
83
mode = "Dcr"
86
-
84
+
85
+ elif launchpad .MidiFighter64 ().Check ( 0 ):
86
+ lp = launchpad .MidiFighter64 ()
87
+ if lp .Open ( 0 ):
88
+ print ("Midi Fighter 64" )
89
+ mode = "MF64"
90
+
87
91
else :
92
+ lp = launchpad .Launchpad ()
88
93
if lp .Open ():
89
94
print ("Launchpad Mk1/S/Mini" )
90
95
mode = "Mk1"
@@ -94,12 +99,15 @@ def main():
94
99
return
95
100
96
101
97
- # scroll "HELLO" from right to left
102
+ # scroll a string from right to left
98
103
if mode == "Mk1" :
99
- lp .LedCtrlString ( "HELLO " , 0 , 3 , - 1 )
104
+ lp .LedCtrlString ( "HENLO!" , 0 , 3 , - 1 )
105
+ # the MF64's methods are not compatible with the Launchpad ones
106
+ elif mode == "MF64" :
107
+ lp .LedCtrlString ( "HENLO!" , 5 , 0 , - 1 , waitms = 50 )
100
108
# for all others except the XL and the LaunchKey
101
109
elif mode != "XL" and mode != "LKM" and mode != "Dcr" :
102
- lp .LedCtrlString ( "HELLO " , 0 , 63 , 0 , - 1 )
110
+ lp .LedCtrlString ( "HENLO! " , 0 , 63 , 0 , - 1 , waitms = 50 )
103
111
104
112
105
113
# random output
@@ -129,6 +137,8 @@ def main():
129
137
lp .LedCtrlRaw ( random .randint (0 ,127 ), random .randint (0 ,3 ), random .randint (0 ,3 ) )
130
138
elif mode == "Dcr" :
131
139
lp .LedCtrlRaw ( random .randint (0 ,130 ), random .randint (0 ,7 ), random .randint (0 ,15 ) )
140
+ elif mode == "MF64" :
141
+ lp .LedCtrlRaw ( random .randint (36 ,99 ), random .randint (0 ,127 ) )
132
142
elif mode != "LKM" :
133
143
lp .LedCtrlRaw ( random .randint (0 ,127 ), random .randint (0 ,63 ), random .randint (0 ,63 ), random .randint (0 ,63 ) )
134
144
0 commit comments