快速登录:  

Forum: VirtualDJ Technical Support

话题: Behringer CMD Studio 4a Input Issue
I am having issues with the right set of deck selectors on my Behringer CMD Studio 4a. The short version is that when I push buttons for decks A or C then VirtualDJ will register that input no matter what. This is observed when using the mapping section in settings as pressing the button will show it registers both presses and releases. However, on the right side of the controller for decks B and D, Virtual DJ only registers an input and release when a new deck is selected. Example: Pressing the button for deck A while it is already selected always registers when it is pressed and released, but pressing deck B on the right side while deck B is already selected shows no press or release, however pressing the deck D button when B is selected will register the press and the release. This behavior is the same when pressing the deck D button while D is already selected vs pressing deck B while deck D is selected, too -- it registers the latter, but not the former.

I've tested the output of the controller with a MIDI test program and the program registers that the button presses that Virtual DJ doesn't register are being sent, so the issue is VirtualDJ is ignoring the input. I looked at the XML for the controller and the two lines for the deck selector buttons appear identical with the only difference being whether they reference decks 1 and 3 or 2 and 4 respectively.

I also wanted to mention that the information on https://www.virtualdj.com/wiki/Controller%20Developers.html where the mapper files are stored is incorrect for my Windows 10 PC. It says that the mapper files are located "in the MyDocuments/VirtualDJ/Devices/ folder on PC," but they appear to be saved in C:\Users\[User]\AppData\Local\VirtualDJ\Mappers (or perhaps at least this is the location where only custom mappers are stored). Either way, the "official" location in the "Controller Developers" page does not exist on my machine and so it seems this information may need to be updated.
 

发表时间 Wed 15 Nov 23 @ 10:42 pm
Since the unit is quite old, can you tell us the MIDI codes you get when pressing buttons B and D ?

PS:
The information about where mappers are stored is not wrong, but not right either.

All new installations of VirtualDJ 2023 will use AppData folder as home for VirtualDJ's "home" folder.
All older installations (including those that upgraded to VirtualDJ 2023 from a previous version/installation) will still use Documents folder.
However, we will make sure to include this info on the above page as well.
 

发表时间 Thu 16 Nov 23 @ 1:11 am
So now its getting really weird. I hadn't noticed this initially because I was just checking that messages were being sent in the cases where VirtualDJ didn't seem to respond, but now that I am grabbing and posting the codes I am noticing that the message channel changes in a way that doesn't fit the format of the rest of the buttons and this is likely the issue.

**I used https://hardwaretester.com/midi to get this.
First, some context of the "correct behavior":
A selected, A pressed
15607.00s: Chan 1 Note on G#0 (144 20 127)
A selected, A released
16465.00s: Chan 1 Note off G#0 (128 20 0)
A selected, C pressed (to select deck C)
189086.00s: Chan 3 Note on A0 (146 21 127)
C selected (from just having been pressed and selected) and released
190511.00s: Chan 3 Note off A0 (130 21 0)

Now where it gets weird:
B selected, B pressed
3606.00s: Chan 1 Note on E3 (144 52 127)
**I have no idea why this is sending a message on a different channel than expected. I would assume it would follow the pattern and be sent on channel 2.**
B selected, B released
4590.00s: Chan 2 Note off E3 (129 52 0)
B selected, D pressed (to change to deck D)
87851.00s: Chan 4 Note on F3 (147 53 127)
D selected, D released
88595.00s: Chan 4 Note off F3 (131 53 0)

These series of MIDI messages are me starting with decks A and B selected, pushing and releasing A, pushing and releasing C, pushing and releasing B and finally pushing and releasing D. Just to be obvious, it appears that deck A = channel 1, deck C = channel 3, deck D = channel 4, but for some reason pressing deck B = channel 1 and releasing deck B = channel 2.

I am probably the only person who still has one of these to know if there is something wrong with my unit or this is something that is on Behringer's end. Alternatively I would take modifying Virtual DJ to accommodate this as a solution, too.
 

发表时间 Thu 16 Nov 23 @ 3:26 am
The messages are correct, that's what VirtualDJ uses internally as well.

The problem though is that we don't know if the difference in MIDI channel that you noticed is due to a firmware bug, or due to a device malfunction.

VirualDJ uses
91 34 00 & 91 34 7F for button B, and
93 35 00 & 93 35 7F for button D.*

Also, what I get from your description is that the buttons work for their intended purpose (switching decks), right?
It's just that pressing them "again" to maybe add some extra command/remap them doesn't work. Right?


*values are in HEX


Edit: Just to make it clear: VirtualDJ does not expect DOWN on one channel and UP on a different one.
 

发表时间 Thu 16 Nov 23 @ 9:06 am
Exactly correct on all counts. They work fine for switching between B and D, but pressing them again doesn't register as anything happening in VirtualDJ.
 

发表时间 Thu 16 Nov 23 @ 7:58 pm
Well we can't really help here.
I mean, if this issue is a firmware bug, then no one noticed it in so many years because the buttons behave as they are supposed to (despite that the MIDI data are not 100% correct)
If it's a device issue, we can't help either, and honestly after so many years I don't think Behringer can either :P

Also, changing anything in VirtualDJ side to somehow take this into account would risk to brake any other user's functionality in case this is a controller and not a firmware issue.
Finally, VirtualDJ itself at this point does not support receiving up and down states of a button from two different MIDI channels. Simply because its not needed. From the about 800 controllers supported from VirtualDJ NONE of them uses different channels for the up and down state. I'm not even sure if such an action would be compatible with "Simple MIDI" standards.
 

发表时间 Thu 16 Nov 23 @ 8:08 pm
Bummer. :-/

Thanks for your time anyway.
 

发表时间 Fri 17 Nov 23 @ 2:36 am
djdadPRO InfinityDevelopment ManagerMember since 2005
Not sure if the 1st Channel of your MidiTester App is 0 or 1 (for VDJ , 1st Channel is 0), but you may be getting a different behavior because the default Definition has ..
<init sendsysex="F07F000300F7" />
which sets the device to MIDI Channel 0. Perhaps try to add this to your definition.

Can you post the lines of your definition for these buttons here ?
 

发表时间 Sat 18 Nov 23 @ 1:35 am
Sooo...I'm not really sure what that means exactly. I may have seemed to be more technical than I actually am. I know pretty solid fundamentals around basic troubleshooting and I feel like I have a decent understanding around basic MIDI stuff, but my expertise falls off rapidly after that. "May be getting a different behavior because the default Definition has <init sendsysex="F07F000300F7" /> which sets the device to MIDI Channel 0" is over my head. I get control changes (I think anyway), but I'm not 100% sure about the "device" being referenced, although I assume you mean the Behringer controller, and I have zero clue on the "add this to your definition" bit. Also I am equally lost as to what I need in order to "post the lines of your definition for these buttons here?" If you don't mind trying me again and being a little bit more detailed and/or specific I'd gladly accept the offer for further help. Thanks either way! :-)

Also I probably won't be able to check this thread again for at least another several days, but I look forward to any assistance in the meantime.
 

发表时间 Sat 18 Nov 23 @ 6:06 am
Real quick: I did another MIDI test on https://versioduo.com/webmidi-test/ and it appears that the deck B button is channel 1 on pressed and channel 2 on release, so unless both sites are wrong in the same way I would assume those are the correct/actual channels.
 

发表时间 Sat 18 Nov 23 @ 6:27 am