Launchpad.h 727 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include "Midi.h"
  3. #include <utility>
  4. class LaunchpadColor
  5. {
  6. public:
  7. unsigned char red, green;
  8. LaunchpadColor();
  9. LaunchpadColor(unsigned char r, unsigned char g);
  10. };
  11. class Launchpad
  12. {
  13. public:
  14. typedef void (*KeyEventCallback)(unsigned char x, unsigned char y);
  15. protected:
  16. MidiIn midiin;
  17. MidiOut midiout;
  18. public:
  19. KeyEventCallback keyPressedCallback;
  20. KeyEventCallback keyReleasedCallback;
  21. Launchpad();
  22. void setColor(unsigned char x, unsigned char y, const LaunchpadColor& color);
  23. protected:
  24. void keyPressed(unsigned char x, unsigned char y);
  25. void keyReleased(unsigned char x, unsigned char y);
  26. private:
  27. static void midiMessageCallback(double timeStamp, MidiMessage &message, void *launchpad);
  28. };