Skip to content

Commit d61841c

Browse files
committed
Merge remote-tracking branch 'upstream/2.5' into main
2 parents e115f03 + ba221b0 commit d61841c

5 files changed

Lines changed: 111 additions & 20 deletions

File tree

README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ For help using Mixxx, there are a variety of options:
6464

6565
- [Mixxx manual][manual]
6666
- [Mixxx wiki][wiki]
67-
- [Frequently Asked Questions][FAQ]
6867
- [Hardware Compatibility]
6968
- [Creating Skins]
7069

@@ -103,7 +102,6 @@ license.
103102
[blog]: https://mixxx.org/news/
104103
[manual]: https://manual.mixxx.org/
105104
[wiki]: https://github.com/mixxxdj/mixxx/wiki
106-
[faq]: https://github.com/mixxxdj/mixxx/wiki/Faq
107105
[visualstudio2019]: https://docs.microsoft.com/visualstudio/install/install-visual-studio?view=vs-2019
108106
[easybugs]: https://github.com/mixxxdj/mixxx/issues?q=is%3Aopen+is%3Aissue+label%3Aeasy
109107
[creating skins]: https://mixxx.org/wiki/doku.php/Creating-Skins

res/controllers/Numark-Scratch-scripts.js

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,36 +3,35 @@ var NumarkScratch = {};
33

44
/*
55
* USER CONFIGURABLE SETTINGS.
6+
* Change settings in the preferences
67
*/
78

89
// Defines the Beatloop Roll sizes for the 4 pads, for available values see:
9-
// https://manual.mixxx.org/2.4/en/chapters/appendix/mixxx_controls.html#control-[ChannelN]-beatlooproll_X_activate
10+
// https://manual.mixxx.org/latest/en/chapters/appendix/mixxx_controls.html#control-[ChannelN]-beatlooproll_X_activate
1011
// Default: [0.25, 0.5, 1, 2]
1112
NumarkScratch.autoLoopSizes = [
12-
"0.25",
13-
"0.5",
14-
"1",
15-
"2",
13+
engine.getSetting("beatLoopRollsSize1") || 0.25,
14+
engine.getSetting("beatLoopRollsSize2") || 0.5,
15+
engine.getSetting("beatLoopRollsSize3") || 1,
16+
engine.getSetting("beatLoopRollsSize4") || 2,
1617
];
1718

1819
// Defines how the Loop Encoder functions.
1920
// If 'true' the Encoder scrolls the library/loads track. Shift + Encoder manages looping.
2021
// If 'false' the Encoder manages looping. Shift + Encoder scrolls the library/loads track (Serato default).
2122
// Default: false
22-
NumarkScratch.invertLoopEncoderFunction = false;
23+
NumarkScratch.invertLoopEncoderFunction = !!engine.getSetting("invertLoopEncoderFunction");
2324

24-
// Defines the bightness of button LEDs when they inactive.
25-
// '0x00' sets the LEDSs to completely off. '0x01 sets the LEDs to dim.
26-
// Default: 0x01 (dim)
27-
NumarkScratch.LOW_LIGHT = 0x01;
25+
// Define whether or not to keep LEDs dimmed if they are inactive.
26+
// 0x01 ('true' in UI) will keep them dimmed, 0x00 ('false' in UI) will turn them off. Default: 0x01 ('true')
27+
NumarkScratch.noLight = 0x00;
28+
NumarkScratch.dimLight = 0x01;
29+
components.Button.prototype.off = engine.getSetting("inactiveLightsAlwaysBacklit") ? NumarkScratch.dimLight : NumarkScratch.noLight;
2830

2931
/*
3032
* CODE
3133
*/
3234

33-
34-
components.Button.prototype.off = NumarkScratch.LOW_LIGHT;
35-
3635
NumarkScratch.init = function() {
3736
// Initialize component containers
3837
NumarkScratch.deck = new components.ComponentContainer();

res/controllers/Numark-Scratch.midi.xml

Lines changed: 93 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,102 @@
11
<?xml version='1.0' encoding='utf-8'?>
2-
<MixxxControllerPreset schemaVersion="1" mixxxVersion="2.3.0+">
2+
<MixxxControllerPreset schemaVersion="1" mixxxVersion="2.5.0+">
33
<info>
44
<name>Numark Scratch</name>
55
<author>Al Hadebe(NotYourAverageAl)</author>
66
<description>Mapping for the Numark Scratch Mixer</description>
7-
<forums>NumarkScratch</forums>
8-
<manual>NumarkScratch</manual>
7+
<forums>https://mixxx.discourse.group/t/numark-scratch-mapping/25186</forums>
8+
<manual>https://manual.mixxx.org/latest/en/hardware/controllers/numark_scratch</manual>
99
</info>
10+
<settings>
11+
<group label="Alternative Mapping">
12+
<option
13+
variable="invertLoopEncoderFunction"
14+
type="boolean"
15+
default="false"
16+
label="Invert the Loop Encoder functionality">
17+
<description>
18+
By default the Encoder manages looping and Shift + Encoder scrolls the library/loads track.
19+
If this option is selected the Encoder scrolls the library/loads track and Shift + Encoder manages looping.
20+
</description>
21+
</option>
22+
</group>
23+
<group label="Mixer Lighting">
24+
<option
25+
variable="inactiveLightsAlwaysBacklit"
26+
type="boolean"
27+
default="true"
28+
label="Keep LEDs dimmed instead of off when inactive">
29+
<description>
30+
This will consistently ensure buttons are backlit, which can be helpful in low-light environments.
31+
Please note the PAD MODE and CUE buttons are hardware controlled and always dim when inactive.
32+
</description>
33+
</option>
34+
</group>
35+
<group label="Beatloop Roll Size">
36+
<row orientation="vertical">
37+
<option
38+
variable="beatLoopRollsSize1"
39+
type="enum"
40+
label="First Pad">
41+
<value label="1/32">0.03125</value>
42+
<value label="1/16">0.0625</value>
43+
<value label="1/8">0.125</value>
44+
<value label="1/4" default="true">0.25</value>
45+
<value label="1/2">0.5</value>
46+
<value label="1">1</value>
47+
<value label="2">2</value>
48+
<value label="4">4</value>
49+
<value label="8">8</value>
50+
<description>The first pad.</description>
51+
</option>
52+
<option
53+
variable="beatLoopRollsSize2"
54+
type="enum"
55+
label="Second Pad">
56+
<value label="1/32">0.03125</value>
57+
<value label="1/16">0.0625</value>
58+
<value label="1/8">0.125</value>
59+
<value label="1/4">0.25</value>
60+
<value label="1/2" default="true">0.5</value>
61+
<value label="1">1</value>
62+
<value label="2">2</value>
63+
<value label="4">4</value>
64+
<value label="8">8</value>
65+
<description>The second pad.</description>
66+
</option>
67+
<option
68+
variable="beatLoopRollsSize3"
69+
type="enum"
70+
label="Third Pad">
71+
<value label="1/32">0.03125</value>
72+
<value label="1/16">0.0625</value>
73+
<value label="1/8">0.125</value>
74+
<value label="1/4">0.25</value>
75+
<value label="1/2">0.5</value>
76+
<value label="1" default="true">1</value>
77+
<value label="2">2</value>
78+
<value label="4">4</value>
79+
<value label="8">8</value>
80+
<description>The third pad.</description>
81+
</option>
82+
<option
83+
variable="beatLoopRollsSize4"
84+
type="enum"
85+
label="Fourth Pad">
86+
<value label="1/32">0.03125</value>
87+
<value label="1/16">0.0625</value>
88+
<value label="1/8">0.125</value>
89+
<value label="1/4">0.25</value>
90+
<value label="1/2">0.5</value>
91+
<value label="1">1</value>
92+
<value label="2" default="true">2</value>
93+
<value label="4">4</value>
94+
<value label="8">8</value>
95+
<description>The fourth pad.</description>
96+
</option>
97+
</row>
98+
</group>
99+
</settings>
10100
<controller id="Numark-Scratch">
11101
<scriptfiles>
12102
<file functionprefix="" filename="lodash.mixxx.js"/>

res/controllers/midi-components-0.0.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -481,8 +481,7 @@
481481
if (this.max === Component.prototype.max) {
482482
this.max = (1 << 14) - 1;
483483
}
484-
value = (value << 7) + (this._firstLSB ? this._firstLSB : 0);
485-
this.input(channel, control, value, status, group);
484+
this.input(channel, control, (value << 7) + (this._firstLSB ? this._firstLSB : 0), status, group);
486485
}
487486
this.MSB = value;
488487
},

src/library/tabledelegates/multilineeditdelegate.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ MultiLineEditor::MultiLineEditor(QWidget* pParent,
3232
// Add event filter to catch right-clicks and key presses, see eventFilter()
3333
installEventFilter(this);
3434

35+
// Explicitly set the font, otherwise the font might be reset
36+
// after first edit.
37+
const auto font = m_pTableView->font();
38+
setFont(font);
39+
3540
// Adjust size to fit content and maybe shift vertically to fit into the
3641
// library view. documentSizeChanged() is emitted when the layout has been
3742
// adjusted according to text changes, incl. initial fill.

0 commit comments

Comments
 (0)