Any chance to get this topic as a sticky as is for some of the other controllers?
I got a hold of a vestax vci-380 for which no vDJ mapping is available yet. It would be very helpful to know what the basic information such as productid, vendorid, sysex value etc. to set in order to get things rolling in the right direction if I wanted to try to map it. A sample definition & mapping xml with maybe just 1 or 2 things mapped would be very helpful.
I managed to get the hardware recognized by vDJ7 one time but not anymore. I only see keyboard mapper and generic midi. This is the case on both my MAC & Windows machines. Tried the MIDI Trace Tool and can see that there is MIDI communication. Controller works fine with ITCH.
I'm stuck.
I got a hold of a vestax vci-380 for which no vDJ mapping is available yet. It would be very helpful to know what the basic information such as productid, vendorid, sysex value etc. to set in order to get things rolling in the right direction if I wanted to try to map it. A sample definition & mapping xml with maybe just 1 or 2 things mapped would be very helpful.
I managed to get the hardware recognized by vDJ7 one time but not anymore. I only see keyboard mapper and generic midi. This is the case on both my MAC & Windows machines. Tried the MIDI Trace Tool and can see that there is MIDI communication. Controller works fine with ITCH.
I'm stuck.
Mensajes Tue 17 Jul 12 @ 8:38 am
this is where cstoll taught me pretty much everything I know. third post
http://www.virtualdj.com/forums/156914/Hardware_Technical_Support/help_with_definition_file_for_icon_istage.html?page=1
You should probably stick to your original post as these type of threads are so manufactures can connect with the forum in relation to hardware issues. With mapping and definition you are dealing with software issues that are completely unrelated to these types of threads. Also consider if you use the same thread you make it easier for yourself and anyone else to locate the all the information easily and means our attempts to explain how everything works to you not die in the archives in vein.
http://www.virtualdj.com/forums/156914/Hardware_Technical_Support/help_with_definition_file_for_icon_istage.html?page=1
You should probably stick to your original post as these type of threads are so manufactures can connect with the forum in relation to hardware issues. With mapping and definition you are dealing with software issues that are completely unrelated to these types of threads. Also consider if you use the same thread you make it easier for yourself and anyone else to locate the all the information easily and means our attempts to explain how everything works to you not die in the archives in vein.
Mensajes Tue 17 Jul 12 @ 8:59 am
Hey thanks for the quick reply synthet1c!
Regarding the "already have an existing post", I guess I look at it differently. If I ask about how MIDI values are defined i.e. Hex vs Decimal, I don't see how that should be in the same thread as a question about getting a Vestax controller recognized. I do tech support for a living and hate it when ppl throw 3 and 4 issues into a single ticket, or issues morph from one thing to another. I agree that directly related matters should be in the same thread, but it seems our perspectives may be different.
Thanks again for your help. I will try to cooperate with everyone's wishes if that works better for the forum. (not trying to irritate anyone)/ I also didn't realize about the manuf link to topics.
Regarding the "already have an existing post", I guess I look at it differently. If I ask about how MIDI values are defined i.e. Hex vs Decimal, I don't see how that should be in the same thread as a question about getting a Vestax controller recognized. I do tech support for a living and hate it when ppl throw 3 and 4 issues into a single ticket, or issues morph from one thing to another. I agree that directly related matters should be in the same thread, but it seems our perspectives may be different.
Thanks again for your help. I will try to cooperate with everyone's wishes if that works better for the forum. (not trying to irritate anyone)/ I also didn't realize about the manuf link to topics.
Mensajes Tue 17 Jul 12 @ 9:21 am
I'd say the only faux par that is annoying to me is when people aren't descriptive with their thread title's and instead use things like
"HELP!" or "mapping" etc...
If it's not an interesting topic or I Have something better to do they can wait for the support teams generic responses ;-), but you probably don't like multiple questions as you may have a quota of emails you must answer with no relation to the amount of questions or content you reply too, so in the end you helping people is hindering your performance review, that's what happens when you run a company based solely on statistics. That's not an issue here as we don't get paid or reviewed and can use more humane ways of assisting people... See I just crapped on about nothing for a paragraph, you cant do that at work ;-)
"HELP!" or "mapping" etc...
If it's not an interesting topic or I Have something better to do they can wait for the support teams generic responses ;-), but you probably don't like multiple questions as you may have a quota of emails you must answer with no relation to the amount of questions or content you reply too, so in the end you helping people is hindering your performance review, that's what happens when you run a company based solely on statistics. That's not an issue here as we don't get paid or reviewed and can use more humane ways of assisting people... See I just crapped on about nothing for a paragraph, you cant do that at work ;-)
Mensajes Tue 17 Jul 12 @ 11:04 am
;-)
Followed some of the advise in the recommended thread to get the PID and VID sorted (That was useful info). But vDJ still does not recognize the vci-380.
Followed another thread's advise to remove the "lowerfilters" data from the registry.. no luck. What strikes me is that the MidiTrace utility can see the device and communicate with it.... even tracing messages coming back from the unit when you press buttons etc. So that to me means that the OS is communicating with the device over MIDI.
Don't understand why then vDJ does not see it as a connected device. When vDJ starts up, in MidiTrace you can see it send what looks like the sendsysex INIT command and a reply comes back.
Followed some of the advise in the recommended thread to get the PID and VID sorted (That was useful info). But vDJ still does not recognize the vci-380.
Followed another thread's advise to remove the "lowerfilters" data from the registry.. no luck. What strikes me is that the MidiTrace utility can see the device and communicate with it.... even tracing messages coming back from the unit when you press buttons etc. So that to me means that the OS is communicating with the device over MIDI.
Don't understand why then vDJ does not see it as a connected device. When vDJ starts up, in MidiTrace you can see it send what looks like the sendsysex INIT command and a reply comes back.
Mensajes Tue 17 Jul 12 @ 11:49 am
There is a feature called 'Private Messages' that you can use to make requests about making topics a sticky.
And you were asked to keep your discussions about what you are doing in a thread that you had originally started.... but that seems to much to ask as well.
You are working on 1 specific item right ? And all your questions are about that 1 item right? That is why you don't need to put multiple threads on the forums. And mainly because everything you have asked and are about to ask - has been asked and answered in several other threads, exists on our wiki, etc. So do we really need more of the same ?
So, please follow the forum rules and a little etiquette to making requests - it goes a long way in getting responses.
And you were asked to keep your discussions about what you are doing in a thread that you had originally started.... but that seems to much to ask as well.
digijoc-Mele wrote :
Regarding the "already have an existing post", I guess I look at it differently.
You are working on 1 specific item right ? And all your questions are about that 1 item right? That is why you don't need to put multiple threads on the forums. And mainly because everything you have asked and are about to ask - has been asked and answered in several other threads, exists on our wiki, etc. So do we really need more of the same ?
So, please follow the forum rules and a little etiquette to making requests - it goes a long way in getting responses.
Mensajes Tue 17 Jul 12 @ 11:54 am
I just use chackl's amazing definer tool to get the device properties as it is done in a couple of clicks, then construct the rest of the xml in notepad as it's easier to modify then chackl's tool.
VDJ MIDI Controll Definer 1.0
1000x760
Author: Chackl
VDJ MIDI Controll Definer 1.0
1000x760
Author: Chackl
Mensajes Tue 17 Jul 12 @ 12:29 pm
Thanks very much synthet1c ! That's very helpful. I'll give C.Hackl's tool a try.
Mensajes Tue 17 Jul 12 @ 3:27 pm
Still no joy.
The Controll Definer utility returned the same sysexid I was trying to use before and got no values for the pid or vid. Following are the headers from each file and I am thinking should be enough to identify the device to vDJ. The thing is that the MIDI tools like 'miditrace' and 'controll definer' seem to have no problem seeing the controller and all messages can be seen clearly in these tools. So not sure why vDJ doesn't at least see the device.
Any ideas welcome. Thanks
Definition File header:
=============
<?xml version="1.0" encoding="UTF-8"?>
<device name="Vestax MIDI Out" author="dj" type="MIDI" sysexid="F07E0006020040024002000002010100F7" vid="0x1AA1" pid="0x0240" drivername="VCI380" decks="2">
<!-- Request position of knobs and sliders to be sent after detection -->
<init sendsysex="F07E7F0601F7"/>
Mapper File header:
============
<?xml version="1.0" encoding="UTF-8"?>
<mapper device="Vestax MIDI Out" author="dj" description="Vestax VCI-380" version="000" date="07/17/2012">
The Controll Definer utility returned the same sysexid I was trying to use before and got no values for the pid or vid. Following are the headers from each file and I am thinking should be enough to identify the device to vDJ. The thing is that the MIDI tools like 'miditrace' and 'controll definer' seem to have no problem seeing the controller and all messages can be seen clearly in these tools. So not sure why vDJ doesn't at least see the device.
Any ideas welcome. Thanks
Definition File header:
=============
<?xml version="1.0" encoding="UTF-8"?>
<device name="Vestax MIDI Out" author="dj" type="MIDI" sysexid="F07E0006020040024002000002010100F7" vid="0x1AA1" pid="0x0240" drivername="VCI380" decks="2">
<!-- Request position of knobs and sliders to be sent after detection -->
<init sendsysex="F07E7F0601F7"/>
Mapper File header:
============
<?xml version="1.0" encoding="UTF-8"?>
<mapper device="Vestax MIDI Out" author="dj" description="Vestax VCI-380" version="000" date="07/17/2012">
Mensajes Tue 17 Jul 12 @ 9:37 pm
Seems OK to me at first glance, except I'm not sure the drivername is VCI380. Looking at the driver I would expect VCI-380 instead - what does it appear as in MIDITrace? My 400s drivername is VCI-400.
If the device is not detected as a native device it should show up as a simple MIDI device instead.
Are you sure the unposted remainder of your files are syntax correct and not causing an issue?
If you are really stuck then I can have a quick look remotely for you - I don't have a unit to test with.
If the device is not detected as a native device it should show up as a simple MIDI device instead.
Are you sure the unposted remainder of your files are syntax correct and not causing an issue?
If you are really stuck then I can have a quick look remotely for you - I don't have a unit to test with.
Mensajes Tue 17 Jul 12 @ 9:59 pm
@SBDJ,
That was a good clue about some content in the remainder of the definition file causing an issue. I had started with a VCI-400 definition file and <!-- commented out --> almost all of it. Apparently I did something wrong there.
So now the controller is recognized regardless of the DriverName. Haven't gotten anything to actually work yet, but thanks for the idea about some offending syntax in the def file.
I am attaching some pictures to this post in case anyone has any additional pointers or is interested in seeing how the info from the controller shows up.
The MIDI MAP is in here
That was a good clue about some content in the remainder of the definition file causing an issue. I had started with a VCI-400 definition file and <!-- commented out --> almost all of it. Apparently I did something wrong there.
So now the controller is recognized regardless of the DriverName. Haven't gotten anything to actually work yet, but thanks for the idea about some offending syntax in the def file.
I am attaching some pictures to this post in case anyone has any additional pointers or is interested in seeing how the info from the controller shows up.
The MIDI MAP is in here
Mensajes Wed 18 Jul 12 @ 9:33 am
digijoc-Mele wrote :
Definition File header:
=============
<?xml version="1.0" encoding="UTF-8"?>
<device name="Vestax MIDI Out" author="dj" type="MIDI" sysexid="F07E0006020040024002000002010100F7" vid="0x1AA1" pid="0x0240" drivername="VCI380" decks="2">
<!-- Request position of knobs and sliders to be sent after detection -->
<init sendsysex="F07E7F0601F7"/>
Mapper File header:
============
<?xml version="1.0" encoding="UTF-8"?>
<mapper device="Vestax MIDI Out" author="dj" description="Vestax VCI-380" version="000" date="07/17/2012">
Definition File header:
=============
<?xml version="1.0" encoding="UTF-8"?>
<device name="Vestax MIDI Out" author="dj" type="MIDI" sysexid="F07E0006020040024002000002010100F7" vid="0x1AA1" pid="0x0240" drivername="VCI380" decks="2">
<!-- Request position of knobs and sliders to be sent after detection -->
<init sendsysex="F07E7F0601F7"/>
Mapper File header:
============
<?xml version="1.0" encoding="UTF-8"?>
<mapper device="Vestax MIDI Out" author="dj" description="Vestax VCI-380" version="000" date="07/17/2012">
Use the following for the device file -
<device name="VCI380" author="dj" sysexid="F07E??06020040024002" vid="0x1AA1" pid="0x0240" type="MIDI" decks="2">
Use the following for the Mapper file -
<mapper device="VCI380" author="dj" description="Vestax VCI-380" version="000" date="07/17/2012">
Mensajes Wed 18 Jul 12 @ 11:49 am
Thank you cstoll,
I did revert back to device name="VCI380" as you suggest but it didn't seem to make a difference. While the Controller is being recognized now, I can't seem to get any response using the simplified definition and mapping below.
I did the one LED note just to see if I can get a light to turn on. LED_VIDEO_FX_SELECT is a value I took from the VCI-400 map, but I'm not sure it is a valid map value.
DEFINITION FILE = "VCI380.xml"
<?xml version="1.0" encoding="UTF-8"?>
<device name="VCI380" author="dj" type="MIDI" sysexid="F07E??060200400240020000????????F7" vid="0x1AA1" pid="0x0240" drivername="VCI-380" decks="2">
<!-- Request position of knobs and sliders to be sent after detection -->
<init sendsysex="F07E7F0601F7"/>
<!-- Non-deck specific -->
<!-- <button note="0x0C" name="SHIFT" channel="0" /> -->
<encoder cc="0x0E" name="VIDEO_FX_SELECT" channel="8" />
<button note="0x1D" name="VIDEO_FX" channel="14" />
<encoder cc="0x55" name="ENC_BROWSER" channel="8" />
<slider cc="0x08" name="CROSSFADER" channel="8" />
<!-- Non-deck specific LED's -->
<led note="0x1B" name="LED_VIDEO_FX_SELECT" default="VIDEO_FX_SELECT" channel="8" />
</device>
MAPPING FILE - "Vestax VCI380 mapping.xml"
<?xml version="1.0" encoding="UTF-8"?>
<mapper device="VCI380" author="dj" description="Vestax VCI-380" version="000" date="07/18/2012">
<map value="VIDEO_FX_SELECT" action="var '$shift' ? video_fx_select -1 : video_fx_select +1" />
<map value="VIDEO_FX" action="video_fx" />
<map value="ENC_BROWSER" action="var '$shift' ? browser_window "folders" ? browser_scroll : browser_window "folders" on & browser_scroll : var '$browser' ? param_greater 0 ? browser_window +1 : browser_window -1 : browser_scroll" />
<map value="CROSSFADER" action="crossfader_slider" />
</mapper>
I did revert back to device name="VCI380" as you suggest but it didn't seem to make a difference. While the Controller is being recognized now, I can't seem to get any response using the simplified definition and mapping below.
I did the one LED note just to see if I can get a light to turn on. LED_VIDEO_FX_SELECT is a value I took from the VCI-400 map, but I'm not sure it is a valid map value.
DEFINITION FILE = "VCI380.xml"
<?xml version="1.0" encoding="UTF-8"?>
<device name="VCI380" author="dj" type="MIDI" sysexid="F07E??060200400240020000????????F7" vid="0x1AA1" pid="0x0240" drivername="VCI-380" decks="2">
<!-- Request position of knobs and sliders to be sent after detection -->
<init sendsysex="F07E7F0601F7"/>
<!-- Non-deck specific -->
<!-- <button note="0x0C" name="SHIFT" channel="0" /> -->
<encoder cc="0x0E" name="VIDEO_FX_SELECT" channel="8" />
<button note="0x1D" name="VIDEO_FX" channel="14" />
<encoder cc="0x55" name="ENC_BROWSER" channel="8" />
<slider cc="0x08" name="CROSSFADER" channel="8" />
<!-- Non-deck specific LED's -->
<led note="0x1B" name="LED_VIDEO_FX_SELECT" default="VIDEO_FX_SELECT" channel="8" />
</device>
MAPPING FILE - "Vestax VCI380 mapping.xml"
<?xml version="1.0" encoding="UTF-8"?>
<mapper device="VCI380" author="dj" description="Vestax VCI-380" version="000" date="07/18/2012">
<map value="VIDEO_FX_SELECT" action="var '$shift' ? video_fx_select -1 : video_fx_select +1" />
<map value="VIDEO_FX" action="video_fx" />
<map value="ENC_BROWSER" action="var '$shift' ? browser_window "folders" ? browser_scroll : browser_window "folders" on & browser_scroll : var '$browser' ? param_greater 0 ? browser_window +1 : browser_window -1 : browser_scroll" />
<map value="CROSSFADER" action="crossfader_slider" />
</mapper>
Mensajes Wed 18 Jul 12 @ 1:20 pm
I don't know if it's just me but whenever I try to use a comment tag it always stops the definition from functioning, but even without the comment tag <!-- --> vdj still ignores the text... That said this comment tag will make vdj skip the button, so you should remove it...
<!-- <button note="0x0C" name="SHIFT" channel="0" /> -->
Also to test leds you can use chackl's tool, if you look on the right in the middle choose the correct channel and note for the led then you can press the on/off button or move the slider if you want to test the jogs led ring.
And the sysex isn't the same as Chris gave you sysexid="F07E??060200400240020000????????F7"
the encoder <encoder cc="0x0E" name="VIDEO_FX_SELECT" channel="8" /> also needs a "zero" attribute in every definition i have made it's been zero="0x40"
<!-- <button note="0x0C" name="SHIFT" channel="0" /> -->
Also to test leds you can use chackl's tool, if you look on the right in the middle choose the correct channel and note for the led then you can press the on/off button or move the slider if you want to test the jogs led ring.
And the sysex isn't the same as Chris gave you sysexid="F07E??060200400240020000????????F7"
the encoder <encoder cc="0x0E" name="VIDEO_FX_SELECT" channel="8" /> also needs a "zero" attribute in every definition i have made it's been zero="0x40"
Mensajes Wed 18 Jul 12 @ 3:15 pm
Right Syntet1c,
I also notice the weird behavior using the comment tag. It seems that if I have just one comment tag around a normal definition string, vDJ recognizes the controller. As soon as I use another comment tag around a 2nd definition string, the controller is not recognized. I think that was part of my problem in the beginning until SBDJ suggested that there may be some bad syntax.
Now that I have stripped things down, I also tried cstoll's sysex value, "F07E??06020040024002" but sadly it does not seem to make a difference. I have removed all suspect comments and tried the sysex value multiple ways including the one given by chackl's tool (F07E0006020040024002000002010100F7) but no luck.
I used Chackl's tool to send a note to the controller to light an LED and it works just fine.
I am not sure I understand what you mean by needing a 0 attribute in every definition. Do you mind explaining a little more?
Thanks
I also notice the weird behavior using the comment tag. It seems that if I have just one comment tag around a normal definition string, vDJ recognizes the controller. As soon as I use another comment tag around a 2nd definition string, the controller is not recognized. I think that was part of my problem in the beginning until SBDJ suggested that there may be some bad syntax.
Now that I have stripped things down, I also tried cstoll's sysex value, "F07E??06020040024002" but sadly it does not seem to make a difference. I have removed all suspect comments and tried the sysex value multiple ways including the one given by chackl's tool (F07E0006020040024002000002010100F7) but no luck.
I used Chackl's tool to send a note to the controller to light an LED and it works just fine.
I am not sure I understand what you mean by needing a 0 attribute in every definition. Do you mind explaining a little more?
Thanks
Mensajes Wed 18 Jul 12 @ 4:30 pm
I don't know how to explain it properly unfortunately so may be incorrect, but I believe it is just the middle CC value between clockwise and counterclockwise. this is straight from the wiki...
http://www.virtualdj.com/wiki/ControllerDefinitionMIDI.html
- zero: set the cc value that represents zero. For a jog that sends 0x01 for forward movement and 0x7F for rewind, set this to "0" (default). For a jog that sends 0x41 for forward movement and 0x3F for rewind, set this to "0x40".
http://www.virtualdj.com/wiki/ControllerDefinitionMIDI.html
- zero: set the cc value that represents zero. For a jog that sends 0x01 for forward movement and 0x7F for rewind, set this to "0" (default). For a jog that sends 0x41 for forward movement and 0x3F for rewind, set this to "0x40".
Mensajes Wed 18 Jul 12 @ 5:43 pm
digijoc-Mele wrote :
Now that I have stripped things down, I also tried cstoll's sysex value, "F07E??06020040024002" but sadly it does not seem to make a difference.
What I gave did make a difference because it solved your first problem, which was the controller wasn't being seen. And, it had nothing to do with reverting to the name being VCI380. The only reason I did that is because when it comes to programming and using key elements that provide a link between things spaces and long strings can become problems very easily. The 'keep it simple' approach is always better.
As for the SysExIDs --
F07E??06020040024002
F07E??060200400240020000????????F7
There is no difference between the 2 IDs from VirtualDJ's perspective because everything after the last 2 hex values are either zeros or wildcards until you get to the closing hex value of F7. However, with what you are using if there is a firmware change that changes one of the 4 zeros that you left in - then your definition/mapper will break and not function.
Additionally, since you don't fully understand yet what you are looking at - I recommend you not try and copy/paste from another definition file like the VCI-400. I would stick to just getting the controller to recognized all the elements of the controller. Start with buttons, then move to sliders, then to encoders and then jogs.
And leave your mapper file empty - do not write anything directly in it. Modify the device file with new elements. Open VirtualDJ. Go to the mapper tab and start interacting with those elements to add them to the mapper interface. If you defined it properly you will see it show up and can map a funtion to it. If you didn't get it right - it won't show up.
About comments - the definition/mapper files are not traditional XML documents. And you can not treat them as such. A less than '<' and greater than '>' symbol means something to VirtualDJ. So remove the comment tagging. Also, if you don't want something to be parsed - don't put it in the file.
And one small note ... and why I said you needed to keep all your questions in 1 thread ... looking at the VCI-380 documentation they tell you the channels that the elements are on. Confirm with the miditrace tool that what they are telling you is true. For example if the Crossfader is on channel 8 then the miditrace tool should show series of midi codes starting with - B7 ## ## - in miditrace when you move the crossfader. If that is the case, then you need to use channel="7" in the definition - not '8'.
good luck!
Mensajes Wed 18 Jul 12 @ 7:53 pm