Quick Sign In:  

Forum: VirtualDJ Technical Support

Topic: Sharing Device Definition File for AKAI MidiMix for Stem Control
BoegunPRO InfinityMember since 2019
What the title says.. if you are interested. The device is quite cheap. It is the easiest way to give you full control over your stems at any time.

Akai MidiMix Definitions

<device name="MIDIMix" author="Burgi" description="MidiMix" version="850" type="MIDI" vid="0x09E8" pid="0x0031" mid="0x0001" decks="4" image="MIDIMix.png">

<!-- ######################################### -->
<!-- ################# KNOBS ################# -->
<!-- ######################################### -->

<!-- Sliders for Deck 3 -->
<slider cc="0x10" name="DECK3_VOCAL" channel="0" ghost="false"/>
<slider cc="0x14" name="DECK3_INSTRU" channel="0" ghost="false"/>
<slider cc="0x11" name="DECK3_BASS" channel="0" ghost="false"/>
<slider cc="0x15" name="DECK3_KICK" channel="0" ghost="false"/>
<slider cc="0x12" name="DECK3_HIHAT" channel="0" ghost="false"/>
<slider cc="0x16" name="DECK3_PITCH" channel="0" ghost="false"/>
<button note="0x26" name="DECK3_PITCH_ACTIVE" channel="0"/>

<!-- Sliders for Deck 1 -->
<slider cc="0x18" name="DECK1_VOCAL" channel="0" ghost="false"/>
<slider cc="0x1C" name="DECK1_INSTRU" channel="0" ghost="false"/>
<slider cc="0x19" name="DECK1_BASS" channel="0" ghost="false"/>
<slider cc="0x1D" name="DECK1_KICK" channel="0" ghost="false"/>
<slider cc="0x1A" name="DECK1_HIHAT" channel="0" ghost="false"/>
<slider cc="0x1E" name="DECK1_PITCH" channel="0" ghost="false"/>
<button note="0x1B" name="DECK1_PITCH_ACTIVE" channel="0"/>

<!-- Sliders for Deck 2 -->
<slider cc="0x2E" name="DECK2_VOCAL" channel="0" ghost="false"/>
<slider cc="0x32" name="DECK2_INSTRU" channel="0" ghost="false"/>
<slider cc="0x2F" name="DECK2_BASS" channel="0" ghost="false"/>
<slider cc="0x33" name="DECK2_KICK" channel="0" ghost="false"/>
<slider cc="0x30" name="DECK2_HIHAT" channel="0" ghost="false"/>
<slider cc="0x34" name="DECK2_PITCH" channel="0" ghost="false"/>
<button note="0x31" name="DECK2_PITCH_ACTIVE" channel="0"/>

<!-- Sliders for Deck 4 -->
<slider cc="0x36" name="DECK4_VOCAL" channel="0" ghost="false"/>
<slider cc="0x3A" name="DECK4_INSTRU" channel="0" ghost="false"/>
<slider cc="0x37" name="DECK4_BASS" channel="0" ghost="false"/>
<slider cc="0x3B" name="DECK4_KICK" channel="0" ghost="false"/>
<slider cc="0x38" name="DECK4_HIHAT" channel="0" ghost="false"/>
<slider cc="0x3C" name="DECK4_PITCH" channel="0" ghost="false"/>
<button note="0x39" name="DECK4_PITCH_ACTIVE" channel="0"/>


<!-- ######################################### -->
<!-- ################ BUTTONS ################ -->
<!-- ######################################### -->

<!-- Buttons for Deck 3 -->
<button note="0x01" name="D3-B1" channel="0"/>
<button note="0x02" name="D3-B1" channel="0"/>
<button note="0x03" name="D3-B2" channel="0"/>
<button note="0x04" name="D3-B3" channel="0"/>
<button note="0x05" name="D3-B3" channel="0"/>
<button note="0x06" name="D3-B4" channel="0"/>

<!-- Buttons for Deck 1 -->
<button note="0x07" name="D1-B1" channel="0"/>
<button note="0x08" name="D1-B1" channel="0"/>
<button note="0x09" name="D1-B2" channel="0"/>
<button note="0x0A" name="D1-B3" channel="0"/>
<button note="0x0B" name="D1-B3" channel="0"/>
<button note="0x0C" name="D1-B4" channel="0"/>

<!-- Buttons for Deck 2 -->
<button note="0x0D" name="D2-B1" channel="0"/>
<button note="0x0E" name="D2-B1" channel="0"/>
<button note="0x0F" name="D2-B2" channel="0"/>
<button note="0x10" name="D2-B3" channel="0"/>
<button note="0x11" name="D2-B3" channel="0"/>
<button note="0x12" name="D2-B4" channel="0"/>

<!-- Buttons for Deck 4 -->
<button note="0x13" name="D4-B1" channel="0"/>
<button note="0x14" name="D4-B1" channel="0"/>
<button note="0x15" name="D4-B2" channel="0"/>
<button note="0x16" name="D4-B3" channel="0"/>
<button note="0x17" name="D4-B3" channel="0"/>
<button note="0x18" name="D4-B4" channel="0"/>

<!-- Buttons -->
<button note="0x1B" name="SOLO" channel="0"/>
<button note="0x19" name="B1" channel="0"/>
<button note="0x1A" name="B2" channel="0"/>


<!-- ######################################### -->
<!-- ################ SLIDERS ################ -->
<!-- ######################################### -->

<!-- Effects Sliders -->
<slider cc="0x13" name="D3-S1" channel="0" ghost="false"/>
<slider cc="0x17" name="D3-S2" channel="0" ghost="false"/>

<slider cc="0x1B" name="D1-S1" channel="0" ghost="false"/>
<slider cc="0x1F" name="D1-S2" channel="0" ghost="false"/>

<slider cc="0x31" name="D2-S1" channel="0" ghost="false"/>
<slider cc="0x35" name="D2-S2" channel="0" ghost="false"/>

<slider cc="0x39" name="D4-S1" channel="0" ghost="false"/>
<slider cc="0x3D" name="D4-S2" channel="0" ghost="false"/>

<slider cc="0x3E" name="S1" channel="0" ghost="false"/>


<!-- ######################################### -->
<!-- ################## LED ################## -->
<!-- ######################################### -->

<!-- LEDs for Deck 3 -->
<led note="0x01" name="LED_D3-B1" channel="0"/>
<led note="0x02" name="LED_D3-B1" channel="0"/>
<led note="0x03" name="LED_D3-B2" channel="0"/>
<led note="0x04" name="LED_D3-B3" channel="0"/>
<led note="0x05" name="LED_D3-B3" channel="0"/>
<led note="0x06" name="LED_D3-B4" channel="0"/>

<!-- LEDs for Deck 1 -->
<led note="0x07" name="LED_D1-B1" channel="0"/>
<led note="0x08" name="LED_D1-B1" channel="0"/>
<led note="0x09" name="LED_D1-B2" channel="0"/>
<led note="0x0A" name="LED_D1-B3" channel="0"/>
<led note="0x0B" name="LED_D1-B3" channel="0"/>
<led note="0x0C" name="LED_D1-B4" channel="0"/>

<!-- LEDs for Deck 2 -->
<led note="0x0D" name="LED_D2-B1" channel="0"/>
<led note="0x0E" name="LED_D2-B1" channel="0"/>
<led note="0x0F" name="LED_D2-B2" channel="0"/>
<led note="0x10" name="LED_D2-B3" channel="0"/>
<led note="0x11" name="LED_D2-B3" channel="0"/>
<led note="0x12" name="LED_D2-B4" channel="0"/>

<!-- LEDs for Deck 4 -->
<led note="0x13" name="LED_D4-B1" channel="0"/>
<led note="0x14" name="LED_D4-B1" channel="0"/>
<led note="0x15" name="LED_D4-B2" channel="0"/>
<led note="0x16" name="LED_D4-B3" channel="0"/>
<led note="0x17" name="LED_D4-B3" channel="0"/>
<led note="0x18" name="LED_D4-B4" channel="0"/>

<!-- Other LEDs -->
<led note="0x1B" name="LED_SOLO" channel="0"/>
<led note="0x19" name="LED_B1" channel="0"/>
<led note="0x1A" name="LED_B2" channel="0"/>
</device>



Mapping


<?xml version="1.0" encoding="UTF-8"?>
<mapper device="MIDIMix" version="850" date="2024-06-13">
<map value="DECK3_VOCAL" action="deck 3 stem &apos;vocal&apos;" />
<map value="DECK3_INSTRU" action="deck 3 stem &apos;instru&apos;" />
<map value="DECK3_BASS" action="deck 3 stem &apos;bass&apos;" />
<map value="DECK3_KICK" action="deck 3 stem &apos;kick&apos;" />
<map value="DECK3_HIHAT" action="deck 3 stem &apos;hihat&apos;" />
<map value="DECK3_PITCH" action="deck 3 effect_slider &apos;Pitch&apos; 1" />
<map value="DECK1_VOCAL" action="deck 1 stem &apos;vocal&apos;" />
<map value="DECK1_INSTRU" action="deck 1 stem &apos;instru&apos;" />
<map value="DECK1_BASS" action="deck 1 stem &apos;bass&apos;" />
<map value="DECK1_KICK" action="deck 1 stem &apos;kick&apos;" />
<map value="DECK1_HIHAT" action="deck 1 stem &apos;hihat&apos;" />
<map value="DECK1_PITCH" action="deck 1 effect_slider &apos;Pitch&apos; 1" />
<map value="DECK2_VOCAL" action="deck 2 stem &apos;vocal&apos;" />
<map value="DECK2_INSTRU" action="deck 2 stem &apos;instru&apos;" />
<map value="DECK2_BASS" action="deck 2 stem &apos;bass&apos;" />
<map value="DECK2_KICK" action="deck 2 stem &apos;kick&apos;" />
<map value="DECK2_HIHAT" action="deck 2 stem &apos;hihat&apos;" />
<map value="DECK2_PITCH" action="deck 2 effect_slider &apos;Pitch&apos; 1" />
<map value="DECK4_VOCAL" action="deck 4 stem &apos;vocal&apos;" />
<map value="DECK4_INSTRU" action="deck 4 stem &apos;instru&apos;" />
<map value="DECK4_BASS" action="deck 4 stem &apos;bass&apos;" />
<map value="DECK4_KICK" action="deck 4 stem &apos;kick&apos;" />
<map value="DECK4_HIHAT" action="deck 4 stem &apos;hihat&apos;" />
<map value="DECK4_PITCH" action="deck 4 effect_slider &apos;Pitch&apos; 1" />
<map value="LED_D3-B1" action="on" />
<map value="LED_D3-B2" action="on" />
<map value="LED_D3-B3" action="on" />
<map value="LED_D3-B4" action="on" />
<map value="LED_D1-B1" action="on" />
<map value="LED_D1-B2" action="on" />
<map value="LED_D1-B3" action="on" />
<map value="LED_D1-B4" action="on" />
<map value="LED_D2-B1" action="on" />
<map value="LED_D2-B2" action="on" />
<map value="LED_D2-B3" action="on" />
<map value="LED_D2-B4" action="on" />
<map value="LED_D4-B1" action="on" />
<map value="LED_D4-B2" action="on" />
<map value="LED_D4-B3" action="on" />
<map value="LED_D4-B4" action="on" />
<map value="LED_B1" action="on" />
<map value="LED_B2" action="on" />
</mapper>
 

Posted Thu 13 Jun 24 @ 9:57 pm
Baldy68PRO InfinityMember since 2019
Awesome, must try this! So if I understand correctly I put a file called "midimix.xml" in "Documents\VirtualDJ\Devices" with the first device script and another file called "midimix.xml" with the mapping script in "Documents\VirtualDJ\Mappers"?
 

Posted Sun 21 Jul 24 @ 10:00 am
Baldy68PRO InfinityMember since 2019
Got it working as I ask above, but I can't edit the post. I love that the LED's are on finally!! But how do I connect a LED to a button so it lights up when pressed (function on) and turns off when the function is off?
 

Posted Sun 21 Jul 24 @ 11:37 am
locoDogPRO InfinityModeratorMember since 2013
for more complicated stuff, you give the LED key entry a script in the mapping.
for simpler stuff you define a default key for a LED mapping to follow without needing a script.

it is advised that all LED definitions should have a default if it makes sense, you can have a default and choose to ignore it if your mapping calls for something a bit more technical.
 

Posted Sun 21 Jul 24 @ 1:37 pm
Baldy68PRO InfinityMember since 2019
Thank you locodog, I assume I need complicated stuff as usual, since I want the LED to depend on the function is on or off without me necessary pressing the actual button. Do you have example of script for one LED? For example if play is active or not.
 

Posted Sun 21 Jul 24 @ 1:58 pm
locoDogPRO InfinityModeratorMember since 2013
It's just the script as the command but it's just evaluated, this is an example of something a bit more explanatory than just play

loaded ? play ? on : blink : off
 

Posted Sun 21 Jul 24 @ 2:15 pm
Baldy68PRO InfinityMember since 2019
That worked perfectly :-D. I can get the LED to blink, Off or On depending on the function I want. But is there a way to dim it? Adjust overall default brightness for all LED´s?
 

Posted Sun 21 Jul 24 @ 5:16 pm
locoDogPRO InfinityModeratorMember since 2013
loaded ? play ? on : blink : get_constant 0.2


maybe something like that.
 

Posted Sun 21 Jul 24 @ 5:37 pm
Baldy68PRO InfinityMember since 2019
get_constant gives 100% brightness from 0.6-1.0 otherwise the LED is off so I assume these LEDs do not support dimming, thx for suggestion though.
 

Posted Sun 21 Jul 24 @ 6:00 pm
djdadPRO InfinityDevelopment ManagerMember since 2005
Most of the devices from InMusic offer dimming when Off (when 0x01 velocity is sent), but not sure if this is the case with the MidiMix.
You can try to add zero="0x01" to the leds and see if they dim when you send off/false or still completely off.
E.g.
<led note="0x01" zero="0x01" name="LED_D3-B1" channel="0"/>
<led note="0x02" zero="0x01" name="LED_D3-B1" channel="0"/>
etc..
 

Posted Mon 22 Jul 24 @ 8:40 am
djdadPRO InfinityDevelopment ManagerMember since 2005
BTW, i just noticed that there are some double entries for some leds and buttons, not sure why .. so ..
E.g. for Leds, there are 2 x LED_Dx-B3 and 2 x LED_Dx-B1 (where x is from 1 to 4)
 

Posted Mon 22 Jul 24 @ 8:49 am
Baldy68PRO InfinityMember since 2019
Thank you DJDAD for the suggestion. But it made all the LED's turned on and no more controllable.
And yes, an explanation/Manual from BOEGUN would be great. It seems that there are a shift function built in the script. Not sure.
 

Posted Tue 23 Jul 24 @ 1:25 pm
djdadPRO InfinityDevelopment ManagerMember since 2005
Then there is no dimming, just on (0x01 to 0x7F)/off(0x00), so remove the zero=0x01 part from the leds.
 

Posted Tue 23 Jul 24 @ 1:31 pm
Baldy68PRO InfinityMember since 2019
Yes, I reverted back. But maybe that code is usable on my Push 2...
 

Posted Tue 23 Jul 24 @ 2:19 pm
locoDogPRO InfinityModeratorMember since 2013
not wanting to go off topic, but push 2 LEDS can cope with dimming
 

Posted Tue 23 Jul 24 @ 2:49 pm