Below is the most very basic of html code that I found necessary to get my apc 20 recognized, and just using 1 button. (to see if i was doing it right). I've been using the wiki site to no avail.
<?xml version="1.0" encoding="UTF-8"?>
<device name="AKAIAPC20" author="dxb" type="MIDI" decks="2" sysexid="F07E??0602477B001900010000007F7F7F7F004B0201000005000205010000060306F7">
<button note="0-54" name="PLAY" deck="1" />
</device>
One question, is the button note hexadecimal? i.e. 0-54 something like 0x36. A quick tip would be greatly appreciated!
Thanks,
-dxb
<?xml version="1.0" encoding="UTF-8"?>
<device name="AKAIAPC20" author="dxb" type="MIDI" decks="2" sysexid="F07E??0602477B001900010000007F7F7F7F004B0201000005000205010000060306F7">
<button note="0-54" name="PLAY" deck="1" />
</device>
One question, is the button note hexadecimal? i.e. 0-54 something like 0x36. A quick tip would be greatly appreciated!
Thanks,
-dxb
Mensajes Wed 13 Apr 11 @ 7:19 pm
It can be either decimal (E.g: note="54" or hexadecimal (E.g: note="0x36")
The format you have used above is for simple MIDI wrapper, which also includes the MIDI channel number (0-54 = channel 0, note 54) - This format is not compatible with definition files.
In definitions, if you need to also include the MIDI channel you will need to add channel="0" (Or whichever appropriate channel number.)
If the device sends all its buttons, knobs, etc. on the same channel, then including the channel number is not necessary.
The format you have used above is for simple MIDI wrapper, which also includes the MIDI channel number (0-54 = channel 0, note 54) - This format is not compatible with definition files.
In definitions, if you need to also include the MIDI channel you will need to add channel="0" (Or whichever appropriate channel number.)
If the device sends all its buttons, knobs, etc. on the same channel, then including the channel number is not necessary.
Mensajes Thu 14 Apr 11 @ 3:36 am
Much appreciated there for the information. And ya, xml...not html haha. Was a late night last night. I'll get plugging on this tonight and see where I can get.
Thanks,
-dxb
Thanks,
-dxb
Mensajes Thu 14 Apr 11 @ 11:07 am
<?xml version="1.0" encoding="UTF-8"?>
<device name="AKAIAPC20" author="dxb" type="MIDI" decks="2" sysexid="F07E??0602477B001900010000007F7F7F7F004B0201000005000205010000060306F7">
<button note="54" name="PLAY" channel="0" deck="1" />
</device>
Still no avail with this code here. A few questions for whomever might know too. When this finally does work, will this device show up in the mappers tab, and then for instance say I "key learn" this button, will the button be called Play? Or will the button be 0-54 and the action will be "play"? I'm using the simple midi wrapper to figure out what channel and button number each button is, but maybe that's not the correct way to do it? I'd really like to do it this way just for the simple fact that I'd like to make use of the LED's.
Much thanks for the help!
-dxb
<device name="AKAIAPC20" author="dxb" type="MIDI" decks="2" sysexid="F07E??0602477B001900010000007F7F7F7F004B0201000005000205010000060306F7">
<button note="54" name="PLAY" channel="0" deck="1" />
</device>
Still no avail with this code here. A few questions for whomever might know too. When this finally does work, will this device show up in the mappers tab, and then for instance say I "key learn" this button, will the button be called Play? Or will the button be 0-54 and the action will be "play"? I'm using the simple midi wrapper to figure out what channel and button number each button is, but maybe that's not the correct way to do it? I'd really like to do it this way just for the simple fact that I'd like to make use of the LED's.
Much thanks for the help!
-dxb
Mensajes Fri 15 Apr 11 @ 3:32 pm
You will also need to make a mapper to go with it, i.e:
<?xml version="1.0" encoding="UTF-8"?>
<mapper device="AKAIAPC20" author="dxb" description="Name of controller" version="703" date="16/04/2011">
<map value="PLAY" action="play_pause" />
</mapper>
Mensajes Sat 16 Apr 11 @ 5:26 pm
Much thanks to your help I have the controller recognized and working. A successful but basic mapper and device file.
NOW... getting the led's to work...
simple button config on controller
0_1 1_1 2_1
0_2 1_2 2_2
0_3 1_3 2_3
<button note="0x35" name="0_1" channel="0" deck="1" />
<led note="0x35" name="led_0_1" default="0_1" />
Questions:
1. No matter what name I put in default, i.e. 0_1 1_1 2_1, button 0_1 is the only one that lights up, why?
2. Does <led> accept a channel input? I tried it to no avail, button 0_1 is still the only one to light up
3. How do I utilize the 3 colors of each button, red blue and green
4. Things like I blinking and whatnot are done in the mappers file, which I assume can be done within vdj, but adding a "led blink" to the end of my mapper command does nothing, still a solid led.
Thanks in advance, I'm close to getting this, and feel slightly stupid, but I'm trying haha.
NOW... getting the led's to work...
simple button config on controller
0_1 1_1 2_1
0_2 1_2 2_2
0_3 1_3 2_3
<button note="0x35" name="0_1" channel="0" deck="1" />
<led note="0x35" name="led_0_1" default="0_1" />
Questions:
1. No matter what name I put in default, i.e. 0_1 1_1 2_1, button 0_1 is the only one that lights up, why?
2. Does <led> accept a channel input? I tried it to no avail, button 0_1 is still the only one to light up
3. How do I utilize the 3 colors of each button, red blue and green
4. Things like I blinking and whatnot are done in the mappers file, which I assume can be done within vdj, but adding a "led blink" to the end of my mapper command does nothing, still a solid led.
Thanks in advance, I'm close to getting this, and feel slightly stupid, but I'm trying haha.
Mensajes Mon 18 Apr 11 @ 8:11 pm
Hi!! I wanna know if it is necessary to buy a external sound card for use my HERCULES Mk4 with my turntables??
Dj I
Dj I
Mensajes Tue 19 Apr 11 @ 11:59 am
I believe that controller has a 4 channel sound card built in. You shouldn't need to buy a soundcard.
Mensajes Tue 19 Apr 11 @ 12:08 pm
bump (sorry)
Would be nice to know the solution to the LED issue, if anyone needs more info on it I can pm my msn address.
Would be nice to know the solution to the LED issue, if anyone needs more info on it I can pm my msn address.
Mensajes Wed 20 Apr 11 @ 2:28 pm
Try this tool here... migt be more easy to you:
http://www.virtualdj.com/addons/12994/VDJ_MIDI_Controll_Definer.html
http://www.virtualdj.com/addons/12994/VDJ_MIDI_Controll_Definer.html
Mensajes Wed 20 Apr 11 @ 2:34 pm
flapmingo wrote :
Hi!! I wanna know if it is necessary to buy a external sound card for use my HERCULES Mk4 with my turntables??
Dj I
Dj I
Please open your own new topic rather than hi-jacking an existing one that is not related to your question in any way.
Your question has nothing to do with mapping the APC20.
To open a new topic, please click on the pen and paper icon at the top of the forum topic list page.
Mensajes Thu 21 Apr 11 @ 5:51 am
You will need to define each LED and button separately, e.g:
<button note="0x35" name="BUTTON1" channel="0" deck="1" />
<button note="0x36" name="BUTTON2" channel="0" deck="1" />
<button note="0x37" name="BUTTON3" channel="0" deck="1" />
...etc...
And LED's for each button:
<button note="0x35" name="LED_BUTTON1" default="BUTTON1" channel="0" deck="1" />
<button note="0x36" name="LED_BUTTON2" default="BUTTON2" channel="0" deck="1" />
<button note="0x37" name="LED_BUTTON3" default="BUTTON3" channel="0" deck="1" />
...etc...
Then map each button to an appropriate function in the mapper, e.g:
<map name="BUTTON1" value="hot_cue 1" />
<map name="BUTTON2" value="hot_cue 2" />
<map name="BUTTON3" value="hot_cue 3" />
...etc..
Use a utility such as MIDI trace http://www.virtualdj.com/download/miditrace.exe to work out the correct note number to use for each button, if this information is not specified in the user manual.
The name is simply a reference to allow you to map in the mapping file and to make the mapping more readable/understandable. For example, a play button should be named PLAY.
In the case of APC20, for the grid of buttons you could use BUTTON_rowno_columnno, e.g: BUTTON_2_3 for the button on row 2, column 3
to utilise multi-colour LED's, you will need to map the appropriate note for each colour separately, e.g:
<led note="0x35" name="LED_BUTTON_2_3_R" default="BUTTON_2_3_RED" channel="0" deck="1" />
<button note="0x36" name="LED_BUTTON_2_3_B" channel="0" deck="1" />
<button note="0x37" name="LED_BUTTON_2_3_G" channel="0" deck="1" />
...etc...
Only specify default for the LED colour that you want to light up by default.
To show the other colours, you will need to map them separately to the button, e.g:
<map name="BUTTON_2_3" value="hot_cue 1" />
<map name="LED_BUTTON_2_3_R" value="hot_cue 1 ? nothing : on" />
<map name="LED_BUTTON_2_3_G" value="hot_cue 1 ? on : nothing" />
This would make the button light up red if hot cue 1 is not set, other green if it is.
To make a LED blink, map it as follows:
<map name="LED_NAME" value="play ? blink : off" />
This would make the LED blink if the song is playing, otherwise it will be off.
For further information on VDJscript, including examples of common mappings, please see:
http://www.virtualdj.com/wiki/VDJscript.html
http://www.virtualdj.com/wiki/VDJScript%20Examples.html
http://www.virtualdj.com/wiki/VDJscript_verbs.html
For information on writing MIDI definition files, please see:
http://www.virtualdj.com/wiki/ControllerDefinitionMIDI.html
<button note="0x35" name="BUTTON1" channel="0" deck="1" />
<button note="0x36" name="BUTTON2" channel="0" deck="1" />
<button note="0x37" name="BUTTON3" channel="0" deck="1" />
...etc...
And LED's for each button:
<button note="0x35" name="LED_BUTTON1" default="BUTTON1" channel="0" deck="1" />
<button note="0x36" name="LED_BUTTON2" default="BUTTON2" channel="0" deck="1" />
<button note="0x37" name="LED_BUTTON3" default="BUTTON3" channel="0" deck="1" />
...etc...
Then map each button to an appropriate function in the mapper, e.g:
<map name="BUTTON1" value="hot_cue 1" />
<map name="BUTTON2" value="hot_cue 2" />
<map name="BUTTON3" value="hot_cue 3" />
...etc..
Use a utility such as MIDI trace http://www.virtualdj.com/download/miditrace.exe to work out the correct note number to use for each button, if this information is not specified in the user manual.
The name is simply a reference to allow you to map in the mapping file and to make the mapping more readable/understandable. For example, a play button should be named PLAY.
In the case of APC20, for the grid of buttons you could use BUTTON_rowno_columnno, e.g: BUTTON_2_3 for the button on row 2, column 3
to utilise multi-colour LED's, you will need to map the appropriate note for each colour separately, e.g:
<led note="0x35" name="LED_BUTTON_2_3_R" default="BUTTON_2_3_RED" channel="0" deck="1" />
<button note="0x36" name="LED_BUTTON_2_3_B" channel="0" deck="1" />
<button note="0x37" name="LED_BUTTON_2_3_G" channel="0" deck="1" />
...etc...
Only specify default for the LED colour that you want to light up by default.
To show the other colours, you will need to map them separately to the button, e.g:
<map name="BUTTON_2_3" value="hot_cue 1" />
<map name="LED_BUTTON_2_3_R" value="hot_cue 1 ? nothing : on" />
<map name="LED_BUTTON_2_3_G" value="hot_cue 1 ? on : nothing" />
This would make the button light up red if hot cue 1 is not set, other green if it is.
To make a LED blink, map it as follows:
<map name="LED_NAME" value="play ? blink : off" />
This would make the LED blink if the song is playing, otherwise it will be off.
For further information on VDJscript, including examples of common mappings, please see:
http://www.virtualdj.com/wiki/VDJscript.html
http://www.virtualdj.com/wiki/VDJScript%20Examples.html
http://www.virtualdj.com/wiki/VDJscript_verbs.html
For information on writing MIDI definition files, please see:
http://www.virtualdj.com/wiki/ControllerDefinitionMIDI.html
Mensajes Thu 21 Apr 11 @ 6:08 am
How do I make use of the different color LED's? I'm not sure if the "_R" that you had above designates red in VDJ, but I haven't managed to get that to work.
Here is the designation in the APC40 communications protocol:
0=off, 1=green, 2=green blink, 3=red, 4=red
blink, 5=yellow, 6=yellow blink, 7-127=green
Here's what I have currently, trying to make use of the colors of the LED's:
<button note="0x35" name="BUTTON_0_1_G" channel="0" deck="1" />
<button note="0x35" name="BUTTON_0_1_Y" channel="0" deck="1" />
<button note="0x35" name="BUTTON_0_1_R" channel="0" deck="1" />
<led note="0x1" name="LED_0_1_G" default="BUTTON_0_1_G" channel="0" deck="1" />
<led note="0x5" name="LED_0_1_Y" default="BUTTON_0_1_Y" channel="0" deck="1" />
<led note="0x3" name="LED_0_1_R" default="BUTTON_0_1_R" channel="0" deck="1" />
<map value="BUTTON_0_1_G" action="play_pause" />
<map value="BUTTON_0_1_R" action="play_pause ? nothing : on" />
<map value="BUTTON_0_1_G" action="play_pause ? on : nothing" />
Here is the designation in the APC40 communications protocol:
0=off, 1=green, 2=green blink, 3=red, 4=red
blink, 5=yellow, 6=yellow blink, 7-127=green
Here's what I have currently, trying to make use of the colors of the LED's:
<button note="0x35" name="BUTTON_0_1_G" channel="0" deck="1" />
<button note="0x35" name="BUTTON_0_1_Y" channel="0" deck="1" />
<button note="0x35" name="BUTTON_0_1_R" channel="0" deck="1" />
<led note="0x1" name="LED_0_1_G" default="BUTTON_0_1_G" channel="0" deck="1" />
<led note="0x5" name="LED_0_1_Y" default="BUTTON_0_1_Y" channel="0" deck="1" />
<led note="0x3" name="LED_0_1_R" default="BUTTON_0_1_R" channel="0" deck="1" />
<map value="BUTTON_0_1_G" action="play_pause" />
<map value="BUTTON_0_1_R" action="play_pause ? nothing : on" />
<map value="BUTTON_0_1_G" action="play_pause ? on : nothing" />
Mensajes Sat 23 Apr 11 @ 3:29 pm
First, the button can only be defined once - You have defined it 3 times, which will cause problems. The name has absolutely no effect in VirtualDJ whatsoever. It is a reference for your own convenience to make it easier to map/understand. Adding _R, _G, etc. to the end will not make VirtualDJ automatically know that it is a multi-coloured LED. You must define each colour LED separately and then map them appropriately.
NOTE: The name of each button, LED, etc. must be unique and should preferably be something that you can easily understand and relate to the actual button on the controller, e.g: BUTTON_2_3 for button on row 2, column 3.
From the above, the note value (Velocity) is used to set the colour, so you would need something like the following:
Then map them as follows:
This should make the LED light green when the song is playing, red if it is paused at the cue point and yellow otherwise.
NOTE: For the multi-colour LED mappings to work, only one can be true at any time. The other mappings must return 'nothing'.
NOTE: The full VirtualDJ Professional is required to use other MIDI controllers and custom mappings for more than 10 minutes at a time. Please upgrade at a considerable discount (50%) by going to http://www.virtualdj.com/buy/index.html
NOTE: The name of each button, LED, etc. must be unique and should preferably be something that you can easily understand and relate to the actual button on the controller, e.g: BUTTON_2_3 for button on row 2, column 3.
From the above, the note value (Velocity) is used to set the colour, so you would need something like the following:
<button note="0x35" name="BUTTON_0_1" channel="0" deck="1" />
<led note="0x35" name="LED_0_1_G" value="1" default="BUTTON_0_1" channel="0" deck="1" />
<led note="0x35" name="LED_0_1_Y" value="5" channel="0" deck="1" />
<led note="0x35" name="LED_0_1_R" value="3" channel="0" deck="1" />
Then map them as follows:
<map value="BUTTON_0_1" action="play_pause" />
<map value="LED_0_1_G" action="play ? on : nothing" />
<map value="LED_0_1_Y" action="play ? nothing : cue ? nothing : on" />
<map value="LED_0_1_R" action="play ? nothing : cue ? on : nothing" />
This should make the LED light green when the song is playing, red if it is paused at the cue point and yellow otherwise.
NOTE: For the multi-colour LED mappings to work, only one can be true at any time. The other mappings must return 'nothing'.
NOTE: The full VirtualDJ Professional is required to use other MIDI controllers and custom mappings for more than 10 minutes at a time. Please upgrade at a considerable discount (50%) by going to http://www.virtualdj.com/buy/index.html
Mensajes Sun 24 Apr 11 @ 1:26 pm
Much appreciated bud. Within a few weeks I can make the upgrade to the full version, and you're continued support in this issue, as well as a great community, is more than enough to warrant the upgrade.
thanks again!
-david
thanks again!
-david
Mensajes Sun 24 Apr 11 @ 3:44 pm
Well, back again. Finally bought pro, and still having issues with the led's on my apc20. BUT, I've got some new information for those with the knowledge to help.
<button note="0x35" name="BUTTON_0_1" channel="0" deck="1" />
<led note="0x35" name="LED_0_1_G" value="1" channel="0" />
<led note="0x35" name="LED_0_1_GB" value="2" channel="0" />
<map value="BUTTON_0_1" action="effect 'echo' active" />
<map value="LED_0_1_G" action="effect 'echo' active ? off : on" />
<map value="LED_0_1_GB" action="effect 'echo' active ? on : off" />
-clicking "activate on deck 1" in the effects panel with the mouse, led's work perfectly
-pressing button on APC20, sometimes the led does what it's suppose to, most times not
-tried <toggle> and led's work perfect you just have to hold the button down which i don't want to do
I'm starting to wonder if it's something in the hard coding of vdj that's messing this up.
clicking, then pressing.
<button note="0x35" name="BUTTON_0_1" channel="0" deck="1" />
<led note="0x35" name="LED_0_1_G" value="1" channel="0" />
<led note="0x35" name="LED_0_1_GB" value="2" channel="0" />
<map value="BUTTON_0_1" action="effect 'echo' active" />
<map value="LED_0_1_G" action="effect 'echo' active ? off : on" />
<map value="LED_0_1_GB" action="effect 'echo' active ? on : off" />
-clicking "activate on deck 1" in the effects panel with the mouse, led's work perfectly
-pressing button on APC20, sometimes the led does what it's suppose to, most times not
-tried <toggle> and led's work perfect you just have to hold the button down which i don't want to do
I'm starting to wonder if it's something in the hard coding of vdj that's messing this up.
clicking, then pressing.
Thanks again guys!
-David
Mensajes Sat 28 May 11 @ 7:00 pm