I have a DJ controller which connects to the computer via USB. It consists of a number of buttons, rotary dials (that look like potentiometers), crossfader and of course a turntable for scratching. This controller is able to be used in popular DJ programs and works fine. In the DJ program I am able to map the different buttons and controls on the device to software functions in the DJ program. When mapping, the names of the buttons show up in the DJ program (names such as "FX1" - not simply mapped to keyboard buttons).
I would like to create an application which is able to take input from the USB DJ controller. No fancy audio processing or anything like that, all I want to do is be able to:
- Get a list of the buttons and controls available from the device
- Get values from these controls instead of from the keyboard
Because the buttons, sliders etc show up in the DJ controller as named controls, this leads me to believe that this information is accessible, perhaps in a similar way to how joysticks work (though I have not actually worked with joysticks in .NET).
How does one go about communicating with such a USB device generally speaking and in particular in C#?