Mackey 217PRO InfinityMember since 2011I'm currently building a definition file for a AKAI APC20 and all of the buttons, sliders and knob work like they should however I'm having an issue making the LED's stay on after pressed. The only way that the LED will stay on is if I set them to blink during an action but I'd like a solid color on some buttons when both the action is active and when it's not. I've tried min/max values and zero"" with no luck. Here is a line from 1 button

Mackey 217PRO InfinityMember since 2011Thank you for the response djdad that got me closer to the solution unfortunately the led is still turning off when pressed not like on my APC40 which works perfectly. So I've mapped a button 'goto_cue 1 & play_pause' and the led 'has_cue 1 ? color "green" : color "black"' but when I press the button the led will go off and stay off. Posted Thu 12 Jan 17 @ 9:42 am

djdadPRO InfinityDevelopment ManagerMember since 2005Hmm this reminds me the APC40 case where a specific sysex value needs to be sent in order LEDs to be controlled by the software (aka Ableton mode) and not by the Hardware.Unfortunately , there is no documentation for the APC20 , so we are kind in blind here.The APC40 requires this sysex to be sent ... (from the definition)<init sendsysex="F047007360000442010101F7" />but its definitely not going to work as its probably related to the SYSEX of the unit.

Do this please..Use Miditrace http://www.virtualdj.com/download/miditrace.exeWhen opened, select the APC20 from both the right-bottom and right-top lists.Click on the Send button at the top.The unit will probably reply with a large sysex ID. Compare it with the sysex that the APC40 sends (F07E??060247730019??????????????????????????????????????????????????F7 - ignore the ?? bytes) and change a couple of bytes.....so something like this may work ..<init sendsysex="F047007360000442010101F7" /> but the 73 byte (and maybe another one e.g. the ones after the 73) will need to be changed

EDIT the 73 is coming also from the PID of the APC40 unit , (pid=0x073) so if for example the PID of the APC20 is pid=0x070,, the line in the definition may need to be..<init sendsysex="F047007060000442010101F7" />

PS. Please post here the first line of the definition (the one with the Hardware Identifiers), plus a couple of lines for the LEDs, to check just in case there is a typo or missed something.Posted Thu 12 Jan 17 @ 7:43 pm

djdadPRO InfinityDevelopment ManagerMember since 2005I found this in a forum

Quote :

To have full control of the LEDs it is necessary to set your APC20 into „Ableton Alternative Mode“, more commonly known as „DUMB MODE“. In order to acces this mode you have to turn your APC20 on, open Ableton Live (or a demo of it) and close it.

You are in DUMB Mode when no button on the APC is lit up.

So indeed there is an "Ableton/Alternative mode". The above is probably a workaround, but if you manage to find the sysex that is required to be sent, there will be no need to open Ableton prior opening VirtualDJ.Posted Thu 12 Jan 17 @ 7:58 pm

Mackey 217PRO InfinityMember since 2011Progress! Ok now the leds come on properly with LEDS = "play ? color 'green' : color 'red'" BUTTON = 'play_pause' if the deck is started from something else besides that button. If I use the button to play/pause the deck the leds go off and stay off.

I kept the other lines that identify the other colors separately that I had before this post because I have numerous mapper files that are assigned with those values/identifiers.

Posted Thu 12 Jan 17 @ 8:34 pm

djdadPRO InfinityDevelopment ManagerMember since 2005To make sure the unit will be detected properly all times and in all computer (in case you need to share that later), you will need to add vid/pid to the <device> line.

For the LEDs..- The fact that you still have the additional lines for the separate colors for the LEds, could be the reason of miss-behavior. Have you tried to remove those and try again ?- Are you sure its channel="0" for all the LEDs/buttons above ?

Also, If you dont intent to use the deck="x" from definition then better remove the deck="" from all lines. Not sure how this can impact functionality, but i would get rid of them.

EDIT. There is a chance that a slightly different sysex may need to be sent. There is something to do to make sure its the right one. Will post details a bit later.Posted Thu 12 Jan 17 @ 8:46 pm

djdadPRO InfinityDevelopment ManagerMember since 2005In order to make sure that the sent sysex is the correct one (and see/get other valuable info as well), i would suggest to use an additional application, if you have some basic comp/Midi knowledge.

When USBlyzer is opened, scroll through the left-side list and check (select) the AKAI APC20 device.Then from the top choose "Start Capture"Open Ableton (any version that supports the unit)You will then see data listed on the right side.Notice the hex values (data) sent from Ableton when the unit initializes and other data sent each time a button is pressed.I am sure a sysex will be there, almost at the beginning (the one we are looking for) and you may notice several other useful things there.

PS. For sysex, you may find that some additional 04/05/07 are added from USBlyzer every 4 bytes that need to be filtered out. If you have any issues or questions, paste here the data to help you out with.Posted Thu 12 Jan 17 @ 8:58 pm

Mackey 217PRO InfinityMember since 2011Will do. After cleaning up the definition file here is what I have

Here is what I received from MidiTrace "sysexid="F07E000602477B001900010000007F7F7F7F004B0201020004000205010000060003F7"and works with the definition file. Unfortunately I'm still getting the same behavior with the leds. I've turned off the APC 20 to reset it and also tried to have the led blink if a deck is playing then go solid when the deck is stopped as a possible work around. The led will blink when playing as it should but will go off when stopped. Thank you for your help djdad. Posted Thu 12 Jan 17 @ 9:14 pm

Mackey 217PRO InfinityMember since 2011VICTORY!! The leds now work as they're supposed to. The solution was that I had to put the APC 20 in "Ableton/Alternative mode" or Dumb Mode as listed above. Thank you again for your help djdad.Posted Thu 12 Jan 17 @ 11:38 pm

Mackey 217PRO InfinityMember since 2011Semi-VICTORY!... Ok, so if I put the APC 20 in dumb mode the leds work perfectly as expected until the unit is turned off then it resets. I still can't get the right sysex to keep it in Ableton/Alternative mode. In miditrace I get "F07E000602477B001900010000007F7F7F7F004B0201020004000205010000060003F7". I'm having trouble deciphering the information from USBlyzer. USBlyzer shows "04F07E00070601F7", "04F04700047B6000...", "04F04700047B5000..." Posted Sat 14 Jan 17 @ 3:14 pm

tycoonentertainmentcanadaPRO InfinityMember since 2005i have full working script for apc 80.. If you need help .. I have used it for 5 years.. Posted Fri 27 Jan 17 @ 5:12 pm

The 1st sysex shouldnt be a requirement for the unit to work. Its mostly used to get the sysexid of the unit. But can be useful to get the positions of the faders on init. So if a fader is mapped as volume, the volume fader of VDJ should get the value of the hardware fader on init.The 2nd sysex should set the unit to the mode where the LEDs can be properly controlled (aka Ableton mode)Not sure what the 3rd sysex does.Those are sent by Ableton on init so try to add those in the definition file as above.