If there is one thing I hate more than definition files I havn't yet found it... this is an overview of what I have so far. All the leds receive midi on messages, but the buttons don't work at all, however they do work in simple midi. Any help is appreciated, as I want it for Duen Duen's new slicer effect coming really soon...
<?xml version="1.0" encoding="UTF-8"?>
<device author="synthet1c" decks="2" drivername="iCON iStage V1.03" drivernameout="iCON iStage V1.03" name="iCON iStage V1.03" type="MIDI" >
<button channel="1" deck="1" name="1-1" note="0" />
<button channel="1" deck="2" name="1-1" note="32" />
<button channel="1" deck="1" name="1-2" note="4" />
<button channel="1" deck="2" name="1-2" note="36" />
<led channel="1" deck="1" name="LED 1-1" note="0" />
<led channel="1" deck="2" name="LED 1-1" note="32" />
<led channel="1" deck="1" name="LED 1-2" note="4" />
<led channel="1" deck="2" name="LED 1-2" note="36" />
</device>
I am not sure if it matters whether you use the hex id or not, if it does what should I use to get it?
cheers
Andrew
<?xml version="1.0" encoding="UTF-8"?>
<device author="synthet1c" decks="2" drivername="iCON iStage V1.03" drivernameout="iCON iStage V1.03" name="iCON iStage V1.03" type="MIDI" >
<button channel="1" deck="1" name="1-1" note="0" />
<button channel="1" deck="2" name="1-1" note="32" />
<button channel="1" deck="1" name="1-2" note="4" />
<button channel="1" deck="2" name="1-2" note="36" />
<led channel="1" deck="1" name="LED 1-1" note="0" />
<led channel="1" deck="2" name="LED 1-1" note="32" />
<led channel="1" deck="1" name="LED 1-2" note="4" />
<led channel="1" deck="2" name="LED 1-2" note="36" />
</device>
I am not sure if it matters whether you use the hex id or not, if it does what should I use to get it?
cheers
Andrew
Posted Sun 27 Nov 11 @ 3:46 pm
If the device is a single MIDI channel device then drop the channel statements from the defined items.
Also, you will do yourself a big favor by finding the VID and PID information from the Device's Properties -> Details -> Hardware IDs (use the Device Manager) - and add those to the <device> statement.
No you don't need the HEX values, but I find it easier. Also, if you have not downloaded the miditrace application (link in the Wiki in the VDJScript section) then I suggest you download it. It report the buttons, sliders, etc in their HEX values.
Also, you will do yourself a big favor by finding the VID and PID information from the Device's Properties -> Details -> Hardware IDs (use the Device Manager) - and add those to the <device> statement.
No you don't need the HEX values, but I find it easier. Also, if you have not downloaded the miditrace application (link in the Wiki in the VDJScript section) then I suggest you download it. It report the buttons, sliders, etc in their HEX values.
Posted Sun 27 Nov 11 @ 4:09 pm
it returns as
USB\VID_1D03&PID_002F&REV_0100&MI_00
USB\VID_1D03&PID_002F&MI_00
how should I word it?
vid="VID_1D03" pid="PID_002F"
also I tried midi trace, but nothing was jumping out at me about a hex, it was just showing the note, channel and if it was up or down..
Thanks for your help Chris
EDIT-------------------
still didn't work..
this is what miditrace says for those 4 buttons in the same order
90 00 7F 00
80 00 00 00
90 04 7F 00
80 04 00 00
90 20 7F 00
80 20 00 00
90 24 7F 00
80 24 00 00
USB\VID_1D03&PID_002F&REV_0100&MI_00
USB\VID_1D03&PID_002F&MI_00
how should I word it?
vid="VID_1D03" pid="PID_002F"
also I tried midi trace, but nothing was jumping out at me about a hex, it was just showing the note, channel and if it was up or down..
Thanks for your help Chris
EDIT-------------------
still didn't work..
this is what miditrace says for those 4 buttons in the same order
90 00 7F 00
80 00 00 00
90 04 7F 00
80 04 00 00
90 20 7F 00
80 20 00 00
90 24 7F 00
80 24 00 00
Posted Sun 27 Nov 11 @ 4:19 pm
I know you most likely already know some of this stuff ... but it might help out anyhow...
MIDI notation-
9#/8# < NOTEs (typically interpreted as - [9] = down [8]= up)
B# < Control Change
# is MIDI Channel - 0 thru F (1 to 16 << that is how people talk about them)
Reported in 4 HEX segments
Type and MIDI Channel
Number
Value
Velocity << only used with some types of components
So miditrace is showing those 4 segments all in HEX
So - the first button you pushed --
90 00 7F 00
80 00 00 00
Button is a NOTE on MIDI Channel 0 with the number of 0x00 and a value of 0x7F on down press and 0x00 on up
So translated to VirtualDJ would be:
<button note="0x00" channel="0" value="0x7F" name="BUTTON_1" />
** Now Channel and Value are not necessary as everything is assumed the zero (0) MIDI Channel and for buttons 0x7F is the down value.
*****
VID / PID
You found the right values - and the notation for the <device> statement is always in HEX as well -
Change your statement to the following ...
<device author="synthet1c" vid="0x1D03" pid="0x002F" decks="2" name="iCON iStage V1.03" type="MIDI" >
I think it is pretty self explanatory how it reads :)
USB\VID_1D03&PID_002F&REV_0100&MI_00
***************************
So to redo your starting file ...
<?xml version="1.0" encoding="UTF-8"?>
<device author="synthet1c" name="iCON iStage V1.03" type="MIDI" vid="0x1D03" pid="0x002F" decks="2" >
<button note="0x00" name="BUTTON_1" deck="1" />
<button note="0x04" name="BUTTON_1" deck="2" />
<button note="0x20" name="BUTTON_2" deck="1" />
<button note="0x24" name="BUTTON_2" deck="2" />
<button note="0x00" name="LED_BUTTON_1" default="BUTTON_1" deck="1" />
<button note="0x04" name="LED_BUTTON_1" default="BUTTON_1" deck="2" />
<button note="0x20" name="LED_BUTTON_1" default="BUTTON_2" deck="1" />
<button note="0x24" name="LED_BUTTON_1" default="BUTTON_1" deck="2" />
</device>
MIDI notation-
9#/8# < NOTEs (typically interpreted as - [9] = down [8]= up)
B# < Control Change
# is MIDI Channel - 0 thru F (1 to 16 << that is how people talk about them)
Reported in 4 HEX segments
Type and MIDI Channel
Number
Value
Velocity << only used with some types of components
So miditrace is showing those 4 segments all in HEX
So - the first button you pushed --
90 00 7F 00
80 00 00 00
Button is a NOTE on MIDI Channel 0 with the number of 0x00 and a value of 0x7F on down press and 0x00 on up
So translated to VirtualDJ would be:
<button note="0x00" channel="0" value="0x7F" name="BUTTON_1" />
** Now Channel and Value are not necessary as everything is assumed the zero (0) MIDI Channel and for buttons 0x7F is the down value.
*****
VID / PID
You found the right values - and the notation for the <device> statement is always in HEX as well -
Change your statement to the following ...
<device author="synthet1c" vid="0x1D03" pid="0x002F" decks="2" name="iCON iStage V1.03" type="MIDI" >
I think it is pretty self explanatory how it reads :)
USB\VID_1D03&PID_002F&REV_0100&MI_00
***************************
So to redo your starting file ...
<?xml version="1.0" encoding="UTF-8"?>
<device author="synthet1c" name="iCON iStage V1.03" type="MIDI" vid="0x1D03" pid="0x002F" decks="2" >
<button note="0x00" name="BUTTON_1" deck="1" />
<button note="0x04" name="BUTTON_1" deck="2" />
<button note="0x20" name="BUTTON_2" deck="1" />
<button note="0x24" name="BUTTON_2" deck="2" />
<button note="0x00" name="LED_BUTTON_1" default="BUTTON_1" deck="1" />
<button note="0x04" name="LED_BUTTON_1" default="BUTTON_1" deck="2" />
<button note="0x20" name="LED_BUTTON_1" default="BUTTON_2" deck="1" />
<button note="0x24" name="LED_BUTTON_1" default="BUTTON_1" deck="2" />
</device>
Posted Sun 27 Nov 11 @ 6:12 pm
I didn't know any of that, thanks for the explination Chris, you should add that info to the wiki for midi definition noobs like me... LOL, now back to defining :D
Posted Sun 27 Nov 11 @ 6:53 pm
Well it worked when I copied your bit into the existing definition I made that had the leds working, then I made another following your instrusctions, and guess what... LOL, looks like I need to do a full page post.. vdj wont recognise the device now.. Do i need to assign the MID_BUTTON's to a deck for it to work, maybe deck 3,
EDIT --------------------------------
scratch that, I didn't have an apostraphy on the 12th line..
EDIT --------------------------------
scratch that, I didn't have an apostraphy on the 12th line..
Posted Sun 27 Nov 11 @ 7:28 pm
hi chris, if you get a chance, I have an issue with led signals being repeated for the following values
<led note="0x0F" name="LED_BUTTON_16" default="BUTTON_16" deck="1" />
<led note="0x1E" name="MID_LED_BUTTON_12" default="MID_BUTTON_12" />
mapped as
"LED_BUTTON_16" - play ? on : blink
MID_LED_BUTTON_12 - play ? off : off
miditrace
LED_BUTTON_16
90 0F 7F 00
80 0F 00 00
LED_BUTTON_12
90 1E 7F 00
80 1E 00 00
<led note="0x08" name="LED_BUTTON_3" default="BUTTON_3" deck="1" />
<led note="0x02" name="LED_BUTTON_9" default="BUTTON_9" deck="1" />
miditrace
LED_BUTTON_3
90 08 7F 00
80 08 00 00
LED_BUTTON_9
90 02 7F 00
80 02 00 00
mapped as
LED_BUTTON_1 - get beat_num 1 16 ? on : get beat_num 9 16 ? on : off
LED_BUTTON_9 - get beat_num 3 16 ? on :get beat_num 11 16 ? on : off
they respond to the linked mapping as well as their own. the others below also have similar mapping and the same problems..
<led note="0x0D" name="LED_BUTTON_8" default="BUTTON_8" deck="1" />
<led note="0x16" name="MID_LED_BUTTON_10" default="MID_BUTTON_10" />
<led note="0x0C" name="LED_BUTTON_4" default="BUTTON_4" deck="1" />
<led note="0x12" name="MID_LED_BUTTON_9" default="MID_BUTTON_9" />
I have checked all the hex values in midi trace, then input them in chackl's plugin to enable the leds, and they are all correct, and respond as they should.. but all the deck 2 leds are the same and work correctly, and all I did for those is copy deck 1's text and replace 0x0 for 0x2 as they were all the same but 2 octaves or whatever higher... have you got any ideas ?
Also I have tested it on four different computers and OS's, netbook(win 7 starter), laptop (win 7 ultimate), desktop (xp), tablet (win 7 home premium), all 32bit, all have the same result...
Thanks again..
<led note="0x0F" name="LED_BUTTON_16" default="BUTTON_16" deck="1" />
<led note="0x1E" name="MID_LED_BUTTON_12" default="MID_BUTTON_12" />
mapped as
"LED_BUTTON_16" - play ? on : blink
MID_LED_BUTTON_12 - play ? off : off
miditrace
LED_BUTTON_16
90 0F 7F 00
80 0F 00 00
LED_BUTTON_12
90 1E 7F 00
80 1E 00 00
<led note="0x08" name="LED_BUTTON_3" default="BUTTON_3" deck="1" />
<led note="0x02" name="LED_BUTTON_9" default="BUTTON_9" deck="1" />
miditrace
LED_BUTTON_3
90 08 7F 00
80 08 00 00
LED_BUTTON_9
90 02 7F 00
80 02 00 00
mapped as
LED_BUTTON_1 - get beat_num 1 16 ? on : get beat_num 9 16 ? on : off
LED_BUTTON_9 - get beat_num 3 16 ? on :get beat_num 11 16 ? on : off
they respond to the linked mapping as well as their own. the others below also have similar mapping and the same problems..
<led note="0x0D" name="LED_BUTTON_8" default="BUTTON_8" deck="1" />
<led note="0x16" name="MID_LED_BUTTON_10" default="MID_BUTTON_10" />
<led note="0x0C" name="LED_BUTTON_4" default="BUTTON_4" deck="1" />
<led note="0x12" name="MID_LED_BUTTON_9" default="MID_BUTTON_9" />
I have checked all the hex values in midi trace, then input them in chackl's plugin to enable the leds, and they are all correct, and respond as they should.. but all the deck 2 leds are the same and work correctly, and all I did for those is copy deck 1's text and replace 0x0 for 0x2 as they were all the same but 2 octaves or whatever higher... have you got any ideas ?
Also I have tested it on four different computers and OS's, netbook(win 7 starter), laptop (win 7 ultimate), desktop (xp), tablet (win 7 home premium), all 32bit, all have the same result...
Thanks again..
Posted Mon 28 Nov 11 @ 4:02 am
just tried deleting the whole middle section from the definition, but it still does the same thing with the leds..
Posted Mon 28 Nov 11 @ 5:33 am
I thought I should make a video of the problem, so you can get an idea of what it is doing..
the video is going through two different led modes, the right side works as it should but the left is messed up, again the leds work fine with chackl\'s plugin when triggering their hex id, just not with vdj.
any ideas
the video is going through two different led modes, the right side works as it should but the left is messed up, again the leds work fine with chackl\'s plugin when triggering their hex id, just not with vdj.
any ideas
this is an image of what I am after
Posted Tue 29 Nov 11 @ 3:16 pm