|
@@ -10,22 +10,47 @@ PlaybackScreen::PlaybackScreen(Sequencer& seq)
|
|
|
setColorAll(midi::LaunchpadColor(0, 0));
|
|
|
}
|
|
|
|
|
|
+void PlaybackScreen::beforeBeat(Player::BeatIndex beat)
|
|
|
+{
|
|
|
+ std::cout << "before beat #" << beat << std::endl;
|
|
|
+ setColor(beat, 0, colors::activeMessage);
|
|
|
+ setColor((beat - 1) % 8, 0, colors::dark);
|
|
|
+}
|
|
|
+
|
|
|
+void PlaybackScreen::afterBeat(Player::BeatIndex beat)
|
|
|
+{
|
|
|
+ std::cout << "after beat #" << beat << std::endl;
|
|
|
+}
|
|
|
+
|
|
|
void PlaybackScreen::keyPressed(unsigned char x, unsigned char y)
|
|
|
{
|
|
|
std::cout << "clicked x=" << (int)x << ", y=" << (int)y << std::endl;
|
|
|
|
|
|
- if(x == 8) {
|
|
|
+ if(x == 8) { // very right
|
|
|
setColor(x, y, colors::activeMessage);
|
|
|
std::shared_ptr<midi::Message> msg_ptr = sequencer.messages[y];
|
|
|
msg_ptr->print(std::cout);
|
|
|
sequencer.midiOut.sendMessage(*msg_ptr);
|
|
|
+ } else if(y == 8) { // very top
|
|
|
+ if(x == 0) {
|
|
|
+ if(sequencer.player.isPlaying()) {
|
|
|
+ sequencer.player.stop();
|
|
|
+ setColor(x, y, colors::inactiveOption);
|
|
|
+ } else {
|
|
|
+ sequencer.player.loop();
|
|
|
+ setColor(x, y, colors::activeOption);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void PlaybackScreen::keyReleased(unsigned char x, unsigned char y)
|
|
|
{
|
|
|
- if(x == 8) {
|
|
|
+ if(x == 8) { // very right
|
|
|
setColor(x, y, colors::inactiveMessage);
|
|
|
+ } else if(y == 8) { // very top
|
|
|
+ } else {
|
|
|
}
|
|
|
}
|
|
|
|