A cross-platform API for the Snyderphonics Manta
libmanta is a cross-platform API for the Snyderphonics Manta control surface. The low-level USB communication uses hidapi to communicate with the Manta, and provides a way to subscribe to the different events the Manta can generate, as well as methods to set the LEDs.
The main interface to libManta is through the Manta class. This class is not meant to be instantiated directly, but should be subclassed by your application. The Manta class provides implementations for all the SetLED methods, and declares virtual methods for all the different events that can be generated by the Manta. Your subclass should implement which ever event methods that are required by your application.
The Manta class it itself a subclass of MantaUSB, which provides an interface for connecting, disconnecting, querying the serial number, and writing raw LED control frames. It also provides a method called HandleEvents(), which services all of the USB communication. Your application is responsible for calling HandleEvents() periodically (every 2-6ms) to ensure that messages are passed to and from the Manta.
To include libmanta in your application, simply add the following files to your build system to link them into your application.