-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issues with Mixtrack 3 Mapping #13639
Comments
Hey there, thanks for reporting your issue. Lets get to the bottom of this. Can you reproduce the problem in your makeConnection variant when you disable the mapping in the preferences and then manually enable it again? I assume these logs are from the messages occurring when starting mixxx? |
Yes, I can reproduce it. Here is the full log using the makeConnection version. The program starts up with the mapping disabled, and then I enable it in the preferences. Along with the errors, all the LED's will then light up the controller.
|
Ah, right. So the Moreover, there is a type in the script at line 755. it should be |
Cool. I can do this. I just don't know which quotations to remove, can you please explain more? Thank you. |
Having a second look, the mapping is not really setup to easily transition to |
I have changed the line to |
thats weird. can you post the new log? |
and add |
That log is still from the change to |
oops. here's with just line 755 edited and warnings enabled. |
apply this patch and see if it makes a difference please. diff --git a/res/controllers/Numark-Mixtrack-3-scripts.js b/res/controllers/Numark-Mixtrack-3-scripts.js
index ec7b548e96..fbeddba7b6 100644
--- a/res/controllers/Numark-Mixtrack-3-scripts.js
+++ b/res/controllers/Numark-Mixtrack-3-scripts.js
@@ -288,7 +288,7 @@ LED.prototype.onOff = function(value) {
// if not set, it considers it as a switch off (default=false)
// valueoff : like "value". That permits for instance with two colors (once red(on), once blue(off), once red(on), etc...)
-LED.prototype.flashOn = function(num_ms_on, value, num_ms_off, flashCount, relight, valueoff) {
+LED.prototype.flashOn = function(num_ms_on, value, num_ms_off, flashCount) {
// stop pending timers
this.flashOff();
@@ -298,8 +298,6 @@ LED.prototype.flashOn = function(num_ms_on, value, num_ms_off, flashCount, relig
this.valueon = value;
this.num_ms_off = num_ms_off;
this.flashCount = flashCount;
- this.relight = relight;
- this.valueoff = valueoff;
// 1st flash
// This is because the permanent timer below takes
@@ -320,7 +318,7 @@ LED.prototype.flashOn = function(num_ms_on, value, num_ms_off, flashCount, relig
// so we don't need this part if flashcount=1
// temporary timer. The end of this timer stops the permanent flashing
- this.flashTimer2 = engine.beginTimer(flashCount * (num_ms_on + num_ms_off) - num_ms_off, ()=>this.stopflash(relight), true);
+ this.flashTimer2 = engine.beginTimer(flashCount * (num_ms_on + num_ms_off) - num_ms_off, ()=>this.stopflash(this.relight), true);
}
};
|
Looks like that reduced the number of warnings, and the LED's no longer all light up, but now the controller doesn't work at all. Here's the log... https://termbin.com/a7jx |
The log contains no obvious errors. I'm afraid that's all I can do with my remote troubleshooting. |
I likely made some kind of misstep last time I tried your patch @Swiftb0y |
thanks. that contains something I can work with again. can you add the |
Script looks like this, hope it's correct
log > https://termbin.com/cjhh |
whoops, I'm sorry. I also need the |
Got it, here you go... https://termbin.com/5okp |
Forgot the "leds.cue" edit @ line 755. Here's another log which includes it https://termbin.com/50oh |
Thanks. That missing edit was the source of the error. the log contains no errors now, so we're back at the start. What exactly is broken right now? |
Referencing the manual
EQ's & filter on their own are working fine, trying to shift+eq/filter does not. |
according to the code, for those to work a filter needs to be focused. In latenight for example the effect unit should get a blue border. |
you are correct, my mistake. thanks for pointing that out. happy to close this, unless anything else needs to be addressed. |
Well I don't have the hardware, so you'll have to tell me if there is anything else that's broken. 😅 If not, let me summarize what we did so far:
right? because then we should include those changes in mixxx so others can benefit from the same fixes in upcoming versions. |
I agree. Here's a patch of what was changed, with the console warns commented out. --- a/Numark-Mixtrack-3-scripts.js 2024-09-09 03:00:41.000000000 -0700
+++ b/Numark-Mixtrack-3-scripts.js 2024-09-16 20:18:22.453981503 -0700
@@ -210,6 +210,7 @@
};
function sendShortMsg(control, midino, value) {
+ //console.warn(control,midino,value);
midi.sendShortMsg(control, midino, value);
}
@@ -288,7 +289,7 @@
// if not set, it considers it as a switch off (default=false)
// valueoff : like "value". That permits for instance with two colors (once red(on), once blue(off), once red(on), etc...)
-LED.prototype.flashOn = function(num_ms_on, value, num_ms_off, flashCount, relight, valueoff) {
+LED.prototype.flashOn = function(num_ms_on, value, num_ms_off, flashCount) {
// stop pending timers
this.flashOff();
@@ -298,8 +299,6 @@
this.valueon = value;
this.num_ms_off = num_ms_off;
this.flashCount = flashCount;
- this.relight = relight;
- this.valueoff = valueoff;
// 1st flash
// This is because the permanent timer below takes
@@ -320,7 +319,7 @@
// so we don't need this part if flashcount=1
// temporary timer. The end of this timer stops the permanent flashing
- this.flashTimer2 = engine.beginTimer(flashCount * (num_ms_on + num_ms_off) - num_ms_off, ()=>this.stopflash(relight), true);
+ this.flashTimer2 = engine.beginTimer(flashCount * (num_ms_on + num_ms_off) - num_ms_off, ()=>this.stopflash(this.relight), true);
}
};
@@ -752,7 +751,7 @@
this.LEDs.hotCue2 = new LED(0x90 + j, leds.hotCue2);
this.LEDs.hotCue3 = new LED(0x90 + j, leds.hotCue3);
this.LEDs.hotCue4 = new LED(0x90 + j, leds.hotCue4);
- this.LEDs.cue = new LED(0x90 + j, leds.Cue);
+ this.LEDs.cue = new LED(0x90 + j, leds.cue);
this.LEDs.sync = new LED(0x90 + j, leds.sync);
this.LEDs.play = new LED(0x90 + j, leds.play);
this.LEDs.fx1 = new LED(0x90 + j, leds.fx1);
@@ -1310,6 +1309,7 @@
NumarkMixtrack3.OnCuePointChange = function(value, group, control) {
var deck = NumarkMixtrack3.deckFromGroup(group);
deck.LEDs.cue.onOff((value) ? ON : OFF);
+ //console.warn(value, group, control);
};
// Pitch faders send 2*7bits
|
Great, thanks. You seem git competent, would you mind filing a Pull request with these changes (feel free to remove the commented out |
Kind of. Learning as I go along. You've helped me learn some new things as well. |
Mostly yeah, lets continue this on the PR. |
Bug Description
Hi. Since 2.4.0, Numark Mixtrack 3 mapping is acting funny. Shift+button is not working. A few people are reporting this here.
It's giving a number of warnings...
I change the things to "makeConnection" and then more problems happen, perhaps I need to do more.
Thank you for your time.
Version
2.4.1-4
OS
Arch Linux
The text was updated successfully, but these errors were encountered: