Test build:
http://djdecks.be/macos/djDecksMac.zipIn the new build some very basic MIDI support is included.
I am thinking about a new system for this that will eventually replace the MIDI support in the windows version as well.
The idea is that custom MIDI mapping will have the same flexibility and possibilities of the native support for controllers.
Support for a new controller will then be easier to create and share, since it will just be a simple XML file.
Also, HID devices and Keyboard mappings could use the same system, and the format is very similar to how the current skin system works.
You can see an example that maps the first two buttons of a VCI-100 or VCM-100 in the devices folder.
The current build will only open 'vestax_vci100.xml', so if you want to experiment with your own midi controller, you have to edit that file.
To help you get the correct name of your midi controller and get the button/slider numbers, you can use the following helper program:
http://djdecks.be/macos/midiecho.zipManufacturer and Model are currently used to find and connect to the correct midi device.
Objects are either defined as <input>, <output> or <input_output>
<bytes_down> are the bytes sent from the controller when the key is pressed.
<bytes_up> are the bytes sent when the key is released.
<bytes> is used for sliders. The byte that indicates the current position should be 'VV'
If the controller also has leds to indicate the status, an output object can be used.
<bytes_down> are the bytes that will be send to the controller when the object is active,
<bytes_up> are the bytes that will be send to the controller when the object is inactive.
Since on many controllers, the input and output bytes are the same, an input_output object combines the two.
Type, value, valuespecifier and player are similar to how they work in skins, so the can be used to look them up.
In future versions it will be possible to use <TABS> sections with <TAB> sections in them.
These can be used to have the same buttons act differently when an effect is selected or while another key is pressed for example.