Closed mixxxbot closed 2 years ago
Commented by: rryan Date: 2011-11-27T10:24:13Z
After a quick look at the RMX MIDI script, I think I see the problem. The script sets hotcue_activate to 1 on down-press, but never sets it back to 0 when the button is released.
Commented by: rryan Date: 2011-11-27T10:27:04Z
I just modified a skin so that it would have the same behavior and was able to reproduce the issue. Downgrading to low and renaming as a MIDI script issue.
Commented by: toomuch Date: 2011-12-14T22:33:13Z
So we are talking about this extract here:
HerculesRMX.Deck.prototype.keypad1Handler = function(value) {
if(value == ButtonState.pressed) {
if(HerculesRMX.shiftMode) {
if(engine.getValue(this.group,"flanger") == 0) {
engine.setValue(this.group,"flanger",1);
} else {
engine.setValue(this.group,"flanger",0);
}
} else if(this.shiftMode) {
engine.setValue(this.group,"hotcue_1_clear", 1);
} else {
engine.setValue(this.group,"hotcue_1_activate", 1);
}
}
Unfortunately I'm not a good scripter, but in some other .js they are doing it a little differently:
engine.setValue(group, "hotcue_1_activate", value ? 1 : 0);
But changing
engine.setValue(this.group,"hotcue_1_activate", 1);
to
engine.setValue(this.group, "hotcue_1_activate", value ? 1 : 0);
did not work.
In Hercules-DJ-Control-MP3-scripts.js they made something different with a boolean variable (is_hold_hotcue). Would this also help us?
Commented by: jenszo Date: 2011-12-15T09:16:14Z
toomuch, do not worry I can take care of it. I do not know when exactly, but I think still this year :)
Commented by: toomuch Date: 2011-12-15T12:43:20Z
Don't want to put pressure on you, but I wanted to use Mixxx at a private party on Dec 26th. :) Can I (as a non-coder) with the help of http://www.mixxx.org/wiki/doku.php/midi_scripting do something to support you or maybe even play around a little with some code snippets?
Commented by: Pegasus-RPG Date: 2011-12-15T12:59:40Z
Toomuch, you can easily fix that script. What many script writers seem to forget is that you usually have to set a control to 0 after using it in order to clear it for the next use (with the exception of Play.)
So under the code snippet you posted, add the following:
else { // On button release
if(!HerculesRMX.shiftMode) {
if(this.shiftMode) {
engine.setValue(this.group,"hotcue_1_clear", 0);
} else {
engine.setValue(this.group,"hotcue_1_activate", 0);
}
}
}
Make sure the XML also maps the button release (usually 0x80) to the same script function as the press (0x90) for each hot cue button.
You may not need the if(!HerculesRMX.shiftMode) clause so remove that (and the corresponding brace at the end) if this doesn't work.
Commented by: toomuch Date: 2011-12-15T21:05:31Z Attachments: Hercules-DJ-Console-RMX-scripts.js
Thank Sean, that fixes it. I attached the updated .js.
Commented by: toomuch Date: 2011-12-15T21:09:29Z
Ah, I forgot: There is no 0x80 or 0x90 in .js nor .xml. But it works anyway.
Commented by: toomuch Date: 2011-12-26T18:09:18Z
Still not fixed in 1.10.0. :( Can someone include the patch, please? (It has HerculesRMX.firstGenerationFirmware set to true, change that if necessary.)
Commented by: rryan Date: 2012-01-07T08:37:47Z
Thanks toomuch and sorry for letting that slip through the 1.10.0 release. It'll be included in 1.10.1.
Commented by: lightrush Date: 2012-03-12T01:31:29Z
Guys, could you also take a look at the Mk2 as it exhibists exactly the same behaviour?
Commented by: toomuch Date: 2012-04-01T19:58:05Z
What does it mean that this bug is assigned to me? I'm not a developer... I don't have a MK2 to check this. What I found was that in Hercules-DJ-Console-Mk2-scripts.js there is no switch for the Firmware version like in Hercules-DJ-Console-RMX-scripts.js. Could be that the problem also exists there.
Commented by: rryan Date: 2012-04-01T20:09:42Z
Hey toomuch,
It's assigned to you b/c you supplied the fix in comment #7. :)
Commented by: lightrush Date: 2012-04-01T22:07:25Z
Could anyone elaborate on the actual problem that causes this behaviour and this:
What many script writers seem to forget is that you usually have to set a control to 0 after using it in order to clear it for the next use (with the exception of Play.)
so I can attempt to fix the Mk2 script?
Commented by: lightrush Date: 2012-04-02T18:15:39Z Attachments: [Patch: Fix unstoppable Play on Hercules DJ Console Mk2](https://bugs.launchpad.net/mixxx/+bug/891593/+attachment/2990790/+files/Patch: Fix unstoppable Play on Hercules DJ Console Mk2)
Hey guys,
I sent a patch for the Mk2 that fixes unstoppable Play to the mailing list but have no response about it, so I am posting it here as well. Also I could make a separate bugreport for the Mk2 issue and attach it there if you prefer that.
Is it preferred to send patches to the mailing list or attach to bugreports here?
Commented by: rryan Date: 2012-04-02T18:31:04Z
Hi Nicolay,
Sorry for the lack of response -- right now is a busy time for a lot of the developers :)
The preferred way is to file a new bug report and attach the patch there. I'll assign it to the 1.10.1 milestone and get your patch reviewed and committed then.
Thanks! RJ Ryan
On Mon, Apr 2, 2012 at 2:15 PM, Nicolay Doytchev
Hey guys,
I sent a patch for the Mk2 that fixes unstoppable Play to the mailing list but have no response about it, so I am posting it here as well. Also I could make a separate bugreport for the Mk2 issue and attach it there if you prefer that.
Is it preferred to send patches to the mailing list or attach to bugreports here?
** Patch added: "Patch: Fix unstoppable Play on Hercules DJ Console Mk2"
-- You received this bug notification because you are a member of Mixxx Development Team, which is subscribed to Mixxx. https://bugs.launchpad.net/bugs/891593
Title: Pressing hotcue+play causes unstoppable Play [Hercules DJ Console RMX]
To manage notifications about this bug go to: https://bugs.launchpad.net/mixxx/+bug/891593/+subscriptions
Commented by: lightrush Date: 2012-04-02T20:11:35Z
Done RJ!
Here it is - https://bugs.launchpad.net/mixxx/+bug/971859 .
Issue closed with status Fix Released.
Reported by: jenszo Date: 2011-11-17T12:41:52Z Status: Fix Released Importance: Low Launchpad Issue: lp891593 Tags: hercules-rmx, midi Attachments: Hercules-DJ-Console-RMX-scripts.js, [Patch: Fix unstoppable Play on Hercules DJ Console Mk2](https://bugs.launchpad.net/bugs/891593/+attachment/2990790/+files/Patch: Fix unstoppable Play on Hercules DJ Console Mk2)
How to reproduce:
I could not reproduce this with my keyboard. Only with mouse+RMX Advanced Midi or RMX Advanced midi only.
I think this also happens in other situations with the RMX, but the above is the only way to halfway quickly reproduce it. I think this is maybe a javascript issue with the RMX midi Advanced scritp.
In terms of behaviour this is similar to #790849, however, this here is something different (790849 is fixed for me)
I use mixxx 1.10 beta1 on ubuntu10.10