| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | 
							- #pragma once
 
- #include "Midi.h"
 
- #include <utility>
 
- class LaunchpadColor
 
- {
 
- public:
 
- 	unsigned char red, green;
 
- 	LaunchpadColor();
 
- 	LaunchpadColor(unsigned char r, unsigned char g);
 
- 	bool operator==(const LaunchpadColor& color) const;
 
- };
 
- class Launchpad
 
- {
 
- public:
 
- 	typedef void (*KeyEventCallback)(unsigned char x, unsigned char y);
 
- 	
 
- 	static const unsigned char width = 9;
 
- 	static const unsigned char height = 9;
 
- private:
 
- 	LaunchpadColor colors[width][height];
 
- 	bool colorSet[width][height];
 
- protected:
 
- 	MidiIn midiin;
 
- 	MidiOut midiout;
 
- public:
 
- 	KeyEventCallback keyPressedCallback;
 
- 	KeyEventCallback keyReleasedCallback;
 
- 	Launchpad();
 
- 	bool issetColor(unsigned char x, unsigned char y) const;
 
- 	const LaunchpadColor& getColor(unsigned char x, unsigned char y) const;
 
- 	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);
 
- };
 
 
  |