beat-sequence-reducation.cpp 634 B

1234567891011121314151617181920212223242526
  1. #include "BeatSequence.h"
  2. #include <iostream>
  3. using namespace midi;
  4. void conflict(BeatSequence& sequence, BeatSequence::BeatIndex factor, BeatSequence::BeatIndex beatIndex, void* data)
  5. {
  6. std::cout << beatIndex << " " << data << std::endl;
  7. sequence[beatIndex].clear();
  8. }
  9. int main()
  10. {
  11. BeatSequence s(13);
  12. for(BeatSequence::BeatIndex b = 0; b < s.size(); b++) {
  13. s[b].push_back(std::make_shared<NoteOnMessage>(b, b * 10, 1));
  14. s[b].push_back(std::make_shared<NoteOffMessage>(b, b * 10, 2));
  15. }
  16. s.print(std::cout);
  17. s.reduce(3, conflict, (void*)1234);
  18. s.print(std::cout);
  19. return 0;
  20. }