Ingreso rápido:  

Forum: General Discussion

Tema: Custom MIDI definition for already built-in device

Este tópico es antiguo y puede contener información incorrecta para la nueva versión.

Is it possible to have a custom MIDI definition for a device that is already supported by VDJ8?

In this case, I would like to assign the PAN knob of each deck to different things, e.g. PAN of deck 1 to waveform zoom and PAN of deck 2 to something else. Not possible with the build-in definition.

So, I tried to create a custom definition, but it is not working.
First of all, it does not appear in connected devices. Conflicting with build-in definition? I disabled the built-in one.
Second, I can see mine manually in the list and select it, but when hitting MIDI buttons, nothing appears in the note detection area.

Also tried http://www.virtualdj.com/addons/12994/VDJ_MIDI_Controll_Definer.html. Think that is outdated now?

Quote :
[22:19] MIDI Device Identifying: \\?\usb#vid_1aa1&pid_0220&mi_03#7&53774b9&0&0003#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global (in:0 out:1) (name: VCI-100MKII DJ-Controller)
[22:19] MIDI Device Identified by PID/VID: \\?\usb#vid_1aa1&pid_0220&mi_03#7&53774b9&0&0003#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global : Vestax VCI100 MK2


<device name="Vestax VCI100 MK2" author="Saturnus" description="Vestax VCI100 MK2 by Saturnus" version="800" type="MIDI" vid="0x1AA1" pid="0x0220" decks="4" singledeck="yes" motor="no">
<audio description="Vestax VCI-100 MKII Saturnus" input="1" output="2" mic="no" mixer="yes" asio="ASIO VCI-100MKII Driver" vid="0x1AA1" pid="0x0220"/>

<button note="0x34" name="PLAY_PAUSE" deck="1" channel="1" />

</device>


Spent 2 hours on this, with barely a result.
Pretty retarded way to get custom MIDI working compared to djDecks. In djDecks it was just connect and click; the notes appearing in the GUI. Other than that, VDJ has grown and became a nice program.
 

Mensajes Tue 18 Jun 19 @ 8:47 pm
You don't need to change the definition, just the mapping in options.
 

Mensajes Tue 18 Jun 19 @ 8:56 pm
Just found "disableBuiltInDefinitions" in advanced options. And got it working. Pff.

kradcliffe wrote :
You don't need to change the definition, just the mapping in options.

How to split the mapping for a deck1/deck2 button then?
 

Mensajes Tue 18 Jun 19 @ 8:58 pm
Ah, OK. Got ya!
 

Mensajes Tue 18 Jun 19 @ 9:01 pm
locoDogPRO InfinityModeratorMember since 2013
device_side left ? mapping for left : mapping for right

or perhaps
action_deck 1 ? deck 1 stuff : not deck 1 stuff

both do more or less the same thing but there are differences that I can't think of right now
 

Mensajes Tue 18 Jun 19 @ 9:05 pm
locodog wrote :
device_side left ? mapping for left : mapping for right

or perhaps
action_deck 1 ? deck 1 stuff : not deck 1 stuff

both do more or less the same thing but there are differences that I can't think of right now


Ahh, applying an if filter on mapping level. Nice. That works.

Still playing around with the definition to learn for the future. In the built-in they have a definition with one name, but it controls both deck 1 and 2. In other words, I guess a single line of code with a variable or so? Used to be "<bytes_up>9P 36 00</bytes_up>" in djDecks, where P gets replaced with the deck (0 or 1) depending which side of the controller you are pressing.
I have "decks="2" singledeck="yes"" in the definition, but not working.

 

Mensajes Tue 18 Jun 19 @ 9:21 pm
djdadPRO InfinityDevelopment ManagerMember since 2005
If you want to use your own custom definition for a supported controller, and dont want to disable all built-in definitions, you just need to name your custom definition file as ... force-whatevername.xml

About key definitions per deck. For a controller that has the same buttons on both sides, it makes sense to map the same button on both sides with the same key name, as the mapping will be much easier for users. If you provide different names, you will need to map the same action twice. For the rare cases that you want different actions on each side, yes the mapping should be as mentioned above, using .. device_side 'left' ? actionForLeftDeck : actionForRightDeck

Example.
<button note="0x0B" name="PLAY_PAUSE" channel="0" deck="1" />
<button note="0x0B" name="PLAY_PAUSE" channel="1" deck="2" />
 

Mensajes Wed 19 Jun 19 @ 12:02 am
djdad wrote :
If you want to use your own custom definition for a supported controller, and dont want to disable all built-in definitions, you just need to name your custom definition file as ... force-whatevername.xml

About key definitions per deck. For a controller that has the same buttons on both sides, it makes sense to map the same button on both sides with the same key name, as the mapping will be much easier for users. If you provide different names, you will need to map the same action twice. For the rare cases that you want different actions on each side, yes the mapping should be as mentioned above, using .. device_side 'left' ? actionForLeftDeck : actionForRightDeck

Example.
<button note="0x0B" name="PLAY_PAUSE" channel="0" deck="1" />
<button note="0x0B" name="PLAY_PAUSE" channel="1" deck="2" />

Works!

Thanks everyone for the help.
 

Mensajes Wed 19 Jun 19 @ 7:24 am
AdionPRO InfinityCTOMember since 2006
So I don't think you actually need a custom definition right?
Just a custom mapping should be enough.
 

Mensajes Wed 19 Jun 19 @ 9:16 am


(Los tópicos y foros antiguos son automáticamente cerrados)