#pragma once #include "Midi.h" #include class LaunchpadColor { public: unsigned char red, green; LaunchpadColor(); LaunchpadColor(unsigned char r, unsigned char g); }; class Launchpad { public: typedef void (*KeyEventCallback)(unsigned char x, unsigned char y); protected: MidiIn midiin; MidiOut midiout; public: KeyEventCallback keyPressedCallback; KeyEventCallback keyReleasedCallback; Launchpad(); void setColor(unsigned char x, unsigned char y, const LaunchpadColor& color); protected: void keyPressed(unsigned char x, unsigned char y); void keyReleased(unsigned char x, unsigned char y); private: static void midiMessageCallback(double timeStamp, MidiMessage &message, void *launchpad); };