Any suggestions on this would be great.
I would like a way of VDJ to control certain aspects of my digital mixer (Behringer XR18). I have a windows 10 laptop, a xone k2 midi mixer and bomes midi translator pro.
What I would like to achieve is something similar to the freestyler add-on where you can drop commands into a song to control the freestyler dmx software. In my scenario I would like to drop an action into a song which would send out a midi message which the midi translator would chew up and send a command to my mixer. For me the end result would give me certain effect changes and levels per song.
Could I use a nonessential command of a redundant deck to do this?
As I said, any suggestions are welcome.
I would like a way of VDJ to control certain aspects of my digital mixer (Behringer XR18). I have a windows 10 laptop, a xone k2 midi mixer and bomes midi translator pro.
What I would like to achieve is something similar to the freestyler add-on where you can drop commands into a song to control the freestyler dmx software. In my scenario I would like to drop an action into a song which would send out a midi message which the midi translator would chew up and send a command to my mixer. For me the end result would give me certain effect changes and levels per song.
Could I use a nonessential command of a redundant deck to do this?
As I said, any suggestions are welcome.
Posted Sun 18 Oct 15 @ 11:31 pm
I'm not familiar with your mixer, but:
1) Does it accept MIDI ? If it does you don't need Bome's intermidiate interface. You can just map the device directly withing VirtualDj.
If it doesn't accept MIDI but you can talk to it somehow via Bome's MIDI interface then you will have to map an "intermidiate" virtual device.
This is somehow more difficult than mapping the unit directly.
All the info you may need to map your mixer is available here:
http://www.virtualdj.com/wiki/ControllerDefinitionMIDIv8.html
1) Does it accept MIDI ? If it does you don't need Bome's intermidiate interface. You can just map the device directly withing VirtualDj.
If it doesn't accept MIDI but you can talk to it somehow via Bome's MIDI interface then you will have to map an "intermidiate" virtual device.
This is somehow more difficult than mapping the unit directly.
All the info you may need to map your mixer is available here:
http://www.virtualdj.com/wiki/ControllerDefinitionMIDIv8.html
Posted Mon 19 Oct 15 @ 4:50 pm
Thanks G,
VDJ does detect the mixer as a midi device and I've managed to map simple commands, e.g. Mapped a spare channel mute on the mixer to play/pause music.
What I would like to do is have a poi in a track that will trigger an event on my mixer, unfortunately these events can only be triggered by sysex rather than simple midi.
If I created a definition file with the sysex commands on them would VDJ receive these ok? Then, could I map a fictitious command like "deck 99 cue 1" so that when I put this in as a poi it will action the command, then send the sysex message to the mixer.
VDJ does detect the mixer as a midi device and I've managed to map simple commands, e.g. Mapped a spare channel mute on the mixer to play/pause music.
What I would like to do is have a poi in a track that will trigger an event on my mixer, unfortunately these events can only be triggered by sysex rather than simple midi.
If I created a definition file with the sysex commands on them would VDJ receive these ok? Then, could I map a fictitious command like "deck 99 cue 1" so that when I put this in as a poi it will action the command, then send the sysex message to the mixer.
Posted Mon 19 Oct 15 @ 9:09 pm
You can define the commands as LEDS controlled by SYSEX.
Then you can tie these leds with various parameters (e.g. "var '$SYS1')
And you can control these var by various means (e.g. action pois where a poi can be assigned as 'set '$SYS1')
Then you can tie these leds with various parameters (e.g. "var '$SYS1')
And you can control these var by various means (e.g. action pois where a poi can be assigned as 'set '$SYS1')
Posted Mon 19 Oct 15 @ 10:10 pm
From this log report can anyone see the midi device ID for my XR18?
Audio device found: name="BEHRINGER X(R)18" vid="0x1397" pid="0x00D4" hardwareID:"{0.0.0.00000000}.{1d63e619-d8ec-4c98-b555-9489fd499ec7}"
Audio device found: name="Realtek High Definition Audio" vid="0x10EC" pid="0x0290" hardwareID:"{0.0.0.00000000}.{ac86192d-b0f5-45cd-8f04-038c5f962c9f}"
Audio device found: input name="BEHRINGER X(R)18" vid="0x1397" pid="0x00D4" hardwareID:"{0.0.1.00000000}.{285dda2b-6fc7-48c9-be44-dfcb3b7cdab3}"
Audio device found: input name="Realtek High Definition Audio" vid="0x10EC" pid="0x0290" hardwareID:"{0.0.1.00000000}.{b1a8e542-54a3-4873-8c2f-5f88fd025186}"
Audio device found: asio="ASIO DirectX Full Duplex Driver" hardwareID:"A91EABA1-CF4C-11D3-B96A00A0C9C7B61A"
Audio device found: asio="ASIO4ALL v2" hardwareID:"232685C6-6548-49D8-846D4141A3EF7560"
Audio device found: asio="Generic Low Latency ASIO Driver" hardwareID:"52EBAE30-47E4-483F-B87B770314306005"
Audio device found: asio="X(R)18 ASIO Driver" hardwareID:"84B4F79C-978C-47CE-BB5DEFD6CF7F3322"
Audio device found: asio="XONE:K2 USB ASIO driver" hardwareID:"5CF06AC8-BD31-43D0-B8BD7919054C224F"
Midi out device detected, name:Microsoft GS Wavetable Synth mid:1 pid:27
MIDI Device Identifying: \\?\tusbaudio_enum#vid_1397&pid_00d4&ks#154e7e62#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\midi_in_00_00 (in:0 out:1)
MIDI Device Identified by PID/VID: \\?\tusbaudio_enum#vid_1397&pid_00d4&ks#154e7e62#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\midi_in_00_00 : BEHRINGER XR18
MIDI Device Identifying: \\?\bomebus#bomemidi#03#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\bomemidiin (in:1 out:-1)
MIDI Device Identified by general midi: \\?\bomebus#bomemidi#03#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\bomemidiin
[22:00] Midi In Closed (\\?\bomebus#bomemidi#03#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\bomemidiin)
MIDI Device Identifying: Microsoft GS Wavetable Synth (in:-1 out:0)
[22:46] Midi Out Closed (Microsoft GS Wavetable Synth)
MIDI Device Not Identified: Microsoft GS Wavetable Synth
MIDI Device Identifying: \\?\bomebus#bomemidi#03#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\bomemidiout (in:-1 out:2)
[22:46] Midi Out Closed (\\?\bomebus#bomemidi#03#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\bomemidiout)
MIDI Device Not Identified: \\?\bomebus#bomemidi#03#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\bomemidiout
[22:00] Midi In Closed (\\?\tusbaudio_enum#vid_1397&pid_00d4&ks#154e7e62#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\midi_in_00_00)
[22:51] Midi Out Closed (\\?\tusbaudio_enum#vid_1397&pid_00d4&ks#154e7e62#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\midi_in_00_00)
Audio device found: name="BEHRINGER X(R)18" vid="0x1397" pid="0x00D4" hardwareID:"{0.0.0.00000000}.{1d63e619-d8ec-4c98-b555-9489fd499ec7}"
Audio device found: name="Realtek High Definition Audio" vid="0x10EC" pid="0x0290" hardwareID:"{0.0.0.00000000}.{ac86192d-b0f5-45cd-8f04-038c5f962c9f}"
Audio device found: input name="BEHRINGER X(R)18" vid="0x1397" pid="0x00D4" hardwareID:"{0.0.1.00000000}.{285dda2b-6fc7-48c9-be44-dfcb3b7cdab3}"
Audio device found: input name="Realtek High Definition Audio" vid="0x10EC" pid="0x0290" hardwareID:"{0.0.1.00000000}.{b1a8e542-54a3-4873-8c2f-5f88fd025186}"
Audio device found: asio="ASIO DirectX Full Duplex Driver" hardwareID:"A91EABA1-CF4C-11D3-B96A00A0C9C7B61A"
Audio device found: asio="ASIO4ALL v2" hardwareID:"232685C6-6548-49D8-846D4141A3EF7560"
Audio device found: asio="Generic Low Latency ASIO Driver" hardwareID:"52EBAE30-47E4-483F-B87B770314306005"
Audio device found: asio="X(R)18 ASIO Driver" hardwareID:"84B4F79C-978C-47CE-BB5DEFD6CF7F3322"
Audio device found: asio="XONE:K2 USB ASIO driver" hardwareID:"5CF06AC8-BD31-43D0-B8BD7919054C224F"
Midi out device detected, name:Microsoft GS Wavetable Synth mid:1 pid:27
MIDI Device Identifying: \\?\tusbaudio_enum#vid_1397&pid_00d4&ks#154e7e62#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\midi_in_00_00 (in:0 out:1)
MIDI Device Identified by PID/VID: \\?\tusbaudio_enum#vid_1397&pid_00d4&ks#154e7e62#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\midi_in_00_00 : BEHRINGER XR18
MIDI Device Identifying: \\?\bomebus#bomemidi#03#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\bomemidiin (in:1 out:-1)
MIDI Device Identified by general midi: \\?\bomebus#bomemidi#03#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\bomemidiin
[22:00] Midi In Closed (\\?\bomebus#bomemidi#03#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\bomemidiin)
MIDI Device Identifying: Microsoft GS Wavetable Synth (in:-1 out:0)
[22:46] Midi Out Closed (Microsoft GS Wavetable Synth)
MIDI Device Not Identified: Microsoft GS Wavetable Synth
MIDI Device Identifying: \\?\bomebus#bomemidi#03#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\bomemidiout (in:-1 out:2)
[22:46] Midi Out Closed (\\?\bomebus#bomemidi#03#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\bomemidiout)
MIDI Device Not Identified: \\?\bomebus#bomemidi#03#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\bomemidiout
[22:00] Midi In Closed (\\?\tusbaudio_enum#vid_1397&pid_00d4&ks#154e7e62#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\midi_in_00_00)
[22:51] Midi Out Closed (\\?\tusbaudio_enum#vid_1397&pid_00d4&ks#154e7e62#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\midi_in_00_00)
Posted Wed 11 Nov 15 @ 10:05 pm
I'm assuming that it's vid="0x1397" pid="0x00D4" but I'm not getting any response from my definition and mapping files, any ideas?
Def File:
<?xml version="1.0" encoding="UTF-8"?>
<device name="XR18" type="MIDI" decks="2" description="BEHRINGER XR18" author="BIGCHAP88" vid="0x1397" pid="0x00D4">
<slider cc="0x00" name="SLIDER 1" channel="1" />
</device>
Map file:
<?xml version="1.0" encoding="UTF-8"?>
<mapper device="XR18" version="800" date="2015-11-11">
<map value="SLIDER 1" action="deck 1 level" />
</mapper>
Def File:
<?xml version="1.0" encoding="UTF-8"?>
<device name="XR18" type="MIDI" decks="2" description="BEHRINGER XR18" author="BIGCHAP88" vid="0x1397" pid="0x00D4">
<slider cc="0x00" name="SLIDER 1" channel="1" />
</device>
Map file:
<?xml version="1.0" encoding="UTF-8"?>
<mapper device="XR18" version="800" date="2015-11-11">
<map value="SLIDER 1" action="deck 1 level" />
</mapper>
Posted Wed 11 Nov 15 @ 10:10 pm
are you sure its on channel 1 ?
Remember , channels start from 0 normally and thats how VirtualDJ handles them. Use Miditrace, MidiOX or any equivalent application to get the MIDI data. If its like B0 xx xx then its on channel=0 not 1.
How are your files named and on which folders do you have those ? Do you see your mapping file (the LEVEL) inside the Keys list when u select your mixer from the top ?
Is BOME necessary to have ?
Remember , channels start from 0 normally and thats how VirtualDJ handles them. Use Miditrace, MidiOX or any equivalent application to get the MIDI data. If its like B0 xx xx then its on channel=0 not 1.
How are your files named and on which folders do you have those ? Do you see your mapping file (the LEVEL) inside the Keys list when u select your mixer from the top ?
Is BOME necessary to have ?
Posted Thu 12 Nov 15 @ 8:56 am
Thanks for the reply. Your right, the channel number is wrong, it should be "0". I'll try again tonight.
Def file seems to be OK. If I take it out of the device folder VDJ reverts back to a simple midi map I saved up, put it back in and it reverts back to the above map.
In the short term I'll need to continue using Bome's, this isn't for controlling VDJ, I use it for the sound engineering side. It's main job is to calculate the tempo of a song and adjust an echo effect. My next project after I'm nursed through this one is to take the master tempo from VDJ and sync this with my delay effects (if this is even possible?).
Def file seems to be OK. If I take it out of the device folder VDJ reverts back to a simple midi map I saved up, put it back in and it reverts back to the above map.
In the short term I'll need to continue using Bome's, this isn't for controlling VDJ, I use it for the sound engineering side. It's main job is to calculate the tempo of a song and adjust an echo effect. My next project after I'm nursed through this one is to take the master tempo from VDJ and sync this with my delay effects (if this is even possible?).
Posted Thu 12 Nov 15 @ 12:42 pm
Btw, it is advised to declare the deck in the definition and avoid mapping the same element in the mapping.
So you need something like this..
<slider cc="0x00" name="SLIDER " channel="0" deck="1" />
<slider cc="0x01" name="SLIDER " channel="0" deck="2" /> (not sure if the cc or the channel is correct here)
and the mapping should be ..
<map value="SLIDER " action="level" />
Normally the Bome will not provide you any issues. But you can still create a definition with this and use identifier="bomemidi#" ignore="true"
So you need something like this..
<slider cc="0x00" name="SLIDER " channel="0" deck="1" />
<slider cc="0x01" name="SLIDER " channel="0" deck="2" /> (not sure if the cc or the channel is correct here)
and the mapping should be ..
<map value="SLIDER " action="level" />
Normally the Bome will not provide you any issues. But you can still create a definition with this and use identifier="bomemidi#" ignore="true"
Posted Thu 12 Nov 15 @ 1:11 pm
Many thanks, now (after my novice mistake!) is working perfectly!
Posted Fri 13 Nov 15 @ 7:01 pm
OK, communication between XR18 and VDJ is 100% now. The final goal is still not working, any ideas?
Def File line:
<ledsysex value="F0002032322F2D736E61702F6C6F6164203031F7" name="SNAPSHOT 1" channel="0"/>
Map File:
<map value="SNAPSHOT 1" action="var '$SYS1'" />
or in simple text is var '$SYS1'
POI Command is:
set '$SYS1'
The sysex command is correct, but I'm worried as this is a "program change" command rather than a CC or other simple midi signal. I do have a simple midi command for this action but it's again a program change, which I don;t know how to script in Def file. The midi command for this program change is (in simple terms): Chanel 1, Command Change No 1, Value "nothing".
Def File line:
<ledsysex value="F0002032322F2D736E61702F6C6F6164203031F7" name="SNAPSHOT 1" channel="0"/>
Map File:
<map value="SNAPSHOT 1" action="var '$SYS1'" />
or in simple text is var '$SYS1'
POI Command is:
set '$SYS1'
The sysex command is correct, but I'm worried as this is a "program change" command rather than a CC or other simple midi signal. I do have a simple midi command for this action but it's again a program change, which I don;t know how to script in Def file. The midi command for this program change is (in simple terms): Chanel 1, Command Change No 1, Value "nothing".
Posted Fri 13 Nov 15 @ 8:26 pm
what is this sysex value for ? If it is for a LED, and LED turns on with F0002032322F2D736E61702F6C6F6164203031F7 what sysex value do you need to send to turn it off ?
Do you have some documentation for this unit to share ?
Anyways, not sure what you are after, but if you just want to send this sysex, each time the var becomes true, you can try ..
<sysex value="F0002032322F2D736E61702F6C6F6164203031F7 " name="whatevername" />
map the "whatevername" as : var 'variable'
The sysex value will be sent each time the variable becomes true, so if you want to resend it, you will need to set the value to off and then back to on (or blink, or set to 0 once its send using some repeat_ action ...something like that)
For CC , you just use cc="value" instead of note="value" in the definition. Al others should be the same.
So it could be <led cc="0x01" name="" channel="" deck="" />
Can also have min/max if different than 0x00/0x7F and also value="" if you want this to turn on at a specific value
Do you have some documentation for this unit to share ?
Anyways, not sure what you are after, but if you just want to send this sysex, each time the var becomes true, you can try ..
<sysex value="F0002032322F2D736E61702F6C6F6164203031F7 " name="whatevername" />
map the "whatevername" as : var 'variable'
The sysex value will be sent each time the variable becomes true, so if you want to resend it, you will need to set the value to off and then back to on (or blink, or set to 0 once its send using some repeat_ action ...something like that)
For CC , you just use cc="value" instead of note="value" in the definition. Al others should be the same.
So it could be <led cc="0x01" name="" channel="" deck="" />
Can also have min/max if different than 0x00/0x7F and also value="" if you want this to turn on at a specific value
Posted Sat 14 Nov 15 @ 3:31 am
Many thanks for all the help, all done and running perfect.
Moderation. Link removed ****
Moderation. Link removed ****
Posted Sat 14 Nov 15 @ 5:59 pm
thats good news.
I have removed the link for the definition. If you wish to share the mapping files (definition & mapper) with other VirtualDJ users, this is the right way ... http://www.virtualdj.com/plugins/upload.html
I have removed the link for the definition. If you wish to share the mapping files (definition & mapper) with other VirtualDJ users, this is the right way ... http://www.virtualdj.com/plugins/upload.html
Posted Sun 15 Nov 15 @ 11:01 pm