PlaybackScreen.cpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #include "Sequencer.h"
  2. #include "PlaybackScreen.h"
  3. #include "colors.h"
  4. #include <iostream>
  5. PlaybackScreen::PlaybackScreen(Sequencer& seq)
  6. : sequencer(seq)
  7. {
  8. setColorAll(midi::LaunchpadColor(0, 0));
  9. }
  10. void PlaybackScreen::beforeBeat(Player::BeatIndex beat)
  11. {
  12. std::cout << "before beat #" << beat << std::endl;
  13. setColor(beat, 0, colors::activeMessage);
  14. setColor((beat - 1) % 8, 0, colors::dark);
  15. }
  16. void PlaybackScreen::afterBeat(Player::BeatIndex beat)
  17. {
  18. std::cout << "after beat #" << beat << std::endl;
  19. }
  20. void PlaybackScreen::keyPressed(unsigned char x, unsigned char y)
  21. {
  22. std::cout << "clicked x=" << (int)x << ", y=" << (int)y << std::endl;
  23. if(x == 8) { // very right
  24. setColor(x, y, colors::activeMessage);
  25. std::shared_ptr<midi::Message> msg_ptr = sequencer.messages[y];
  26. msg_ptr->print(std::cout);
  27. sequencer.midiOut.sendMessage(*msg_ptr);
  28. } else if(y == 8) { // very top
  29. if(x == 0) {
  30. if(sequencer.player.isPlaying()) {
  31. sequencer.player.stop();
  32. setColor(x, y, colors::inactiveOption);
  33. } else {
  34. sequencer.player.loop();
  35. setColor(x, y, colors::activeOption);
  36. }
  37. }
  38. } else {
  39. }
  40. }
  41. void PlaybackScreen::keyReleased(unsigned char x, unsigned char y)
  42. {
  43. if(x == 8) { // very right
  44. setColor(x, y, colors::inactiveMessage);
  45. } else if(y == 8) { // very top
  46. } else {
  47. }
  48. }