@@ -93,6 +93,9 @@ Successfully tested with Ubuntu 18.04-LTS+. Requires compiling your own PyGame t
93
93
- fixed MF64 LedCtrlString() to correctly work with the background color
94
94
- updated hello.py demo file for Midi Fighter 64
95
95
- updated demo files to new and recommended default device search strategy
96
+ - added Pro Mk3 ButtonStateXY() pressure events
97
+ - added demo file "launchpad_pressure_xy()" for new XY pressure events (Pro Mk3, so far)
98
+ - fixed MF64 minor init flaw
96
99
97
100
98
101
### CHANGES 2020/08/XX:
@@ -580,8 +583,9 @@ Supported and tested red/green LED Launchpad devices, here referred to as "Clas
580
583
Supported and tested full RGB Launchpad devices:
581
584
582
585
- Launchpad Pro
586
+ - Launchpad Pro Mk3
583
587
- Launchpad Mk2
584
- - Launchpad Mk3
588
+ - Launchpad Mini Mk3
585
589
- Launchpad LPX
586
590
587
591
Supported completely different stuff:
@@ -590,6 +594,7 @@ Supported completely different stuff:
590
594
- Launch Control XL
591
595
- LaunchKey (Mini)
592
596
- Dicer
597
+ - Midi Fighter 64
593
598
594
599
Notice that Novation now (1/2016) sells an RGB Launchpad under the same
595
600
name it once shipped the first red/green LED with!
@@ -1053,7 +1058,8 @@ Btw, the fireworks demo will play whenever the Launchpad cannot be enumerated (c
1053
1058
---
1054
1059
## Launchpad "Mk2/3", "Pro", "Pro Mk3" and "X" class methods overview (valid for RGB LED devices)
1055
1060
1056
- Please notice that the Mk3 does not yet have all of these.
1061
+ Please notice that some devices do not yet have all of these or are implemented slightly different.
1062
+ Refer to the "detailed description of ..." section for each device.
1057
1063
1058
1064
### LED functions
1059
1065
@@ -1077,7 +1083,7 @@ Please notice that the Mk3 does not yet have all of these.
1077
1083
### Button functions
1078
1084
1079
1085
ButtonStateRaw( [returnPressure] )
1080
- ButtonStateXY()
1086
+ ButtonStateXY( [mode], [returnPressure] )
1081
1087
ButtonFlush()
1082
1088
1083
1089
@@ -1567,7 +1573,7 @@ There is no possibility to control the RGB LEDs individually.
1567
1573
---
1568
1574
## Detailed description of RGB Launchpad only methods
1569
1575
1570
- Applies to "Pro", "Mk2", "Mk3" and "LPX" unless otherwise noted.
1576
+ Applies to "Pro", "Pro Mk3", " Mk2", "Mini Mk3" and "LPX" unless otherwise noted.
1571
1577
1572
1578
### LedSetMode( mode ) * >>> PRO, MK3, LPX ONLY <<<*
1573
1579
@@ -1939,7 +1945,7 @@ There is no possibility to control the RGB LEDs individually.
1939
1945
X:
1940
1946
The X supports multiple pressure values. For a distinction between button events
1941
1947
and pressure events, "255" is added to the button number:
1942
- [ 255 + <button>, <True/False > ]
1948
+ [ 255 + <button>, <pressure > ]
1943
1949
1944
1950
PARAMS:
1945
1951
RETURN: [ ] An empty list if no event occured, otherwise...
@@ -1955,21 +1961,42 @@ There is no possibility to control the RGB LEDs individually.
1955
1961
of the pressure (0..127).
1956
1962
1957
1963
1958
- ### ButtonStateXY( [ mode] )
1964
+ ### ButtonStateXY( [ mode] , [ returnPressure ] )
1959
1965
1960
- Returns the state of the buttons in X/Y mode.
1966
+ Returns the state of the buttons in X/Y mode and optionally the pressure value .
1961
1967
1962
1968
Notice that this is not directly compatible with the "Mk1" ButtonStateRaw()
1963
1969
method, which returns [ <button>, <True/False> ].
1964
1970
1971
+ Only the Pro, X and Pro Mk3 support pressure events.
1972
+ They can be enables by passing "returnPressure=True" to the method call.
1973
+ Notice that the Pro and X behave differently:
1974
+
1975
+ Pro and Pro Mk3:
1976
+ There is only one pressure value for all buttons together. If multiple buttons
1977
+ are pressed, the biggest value is returned. There is no possibility to determine
1978
+ which button caused it. To distinguish the pressure events from button events,
1979
+ fake coordinates of "255" are returned in the list: [ 255, 255, <value>].
1980
+
1981
+ X:
1982
+ The X supports multiple pressure values. For a distinction between button events
1983
+ and pressure events, "255" is added to the coordinate:
1984
+ [ <x> + 255, <y> + 255, <value> ]
1985
+
1965
1986
PARAMS: <mode> OPTIONAL: "pro" selects new x/y origin >>> PRO ONLY <<<
1966
1987
RETURN: [ ] An empty list if no event occured, otherwise...
1967
1988
[ <x>, <y>, <value> ] ... a list with three fields:
1968
- <x> and <y> are the button's coordinates. The third field, <value> determines
1969
- the intensity (0..127) with which the button was pressed.
1970
- 0 means that the button was released.
1971
- Notice that "Mk2" Pads will only return either 0 or 127.
1972
- They don't have the full analog mode like the "Pro" has.
1989
+ <x> and <y> are the button's coordinates. The third field, <value> determines
1990
+ the intensity (0..127) with which the button was pressed.
1991
+ 0 means that the button was released.
1992
+ Notice that "Mk2" Pads will only return either 0 or 127.
1993
+ They don't have the full analog mode like the "Pro" has.
1994
+ [ 255, 255, <value> ] ... PRO: a list of pressure events with two fields:
1995
+ "255" as an indicator for a pressure event and <value> for the the intensity
1996
+ of the pressure (0..127).
1997
+ [ <x> + 255, <y> + 255, <value> ] ... LPX: a list of pressure events with two fields:
1998
+ "255" added to the <x> and <y> coordinates for a pressure event and <value> for the intensity
1999
+ of the pressure (0..127).
1973
2000
1974
2001
1975
2002
0 commit comments