Эх сурвалжийг харах

beat number reduction with erasing conflicts

Fabian Peter Hammerle 10 жил өмнө
parent
commit
36d2c1b632
3 өөрчлөгдсөн 16 нэмэгдсэн , 4 устгасан
  1. 13 1
      ConfigurationScreen.cpp
  2. 2 2
      Sequencer.cpp
  3. 1 1
      colors.h

+ 13 - 1
ConfigurationScreen.cpp

@@ -34,7 +34,16 @@ void ConfigurationScreen::keyPressed(unsigned char x, unsigned char y)
                 sequencer.beats.expand(factor);
                 sequencer.player.setBpm(sequencer.player.getBpm() * factor);
                 } break;
+            case 2: { // sequence reduction erasing conflicts
+                unsigned int factor = x + 2;
+                sequencer.beats.reduceErasingConflicts(factor);
+                sequencer.player.setBpm(
+                    std::max(sequencer.player.getBpm() / factor,
+                    (Player::Bpm)1
+                    ));
+                } break;
         }
+        sequencer.beats.print(std::cout);
     }
 
     refreshAll();
@@ -65,7 +74,10 @@ void ConfigurationScreen::refresh(unsigned char x, unsigned char y)
                 }
                 } break;
             case 1: // sequence expansion
-               setColor(x, y, colors::sequenceExpansionButton); 
+               setColor(x, y, colors::sequenceExpansionButton);
+               break;
+            case 2: // reduce erasing conflicts
+               setColor(x, y, colors::sequenceReductionErasingConflictsButton);
                break;
         }
     }

+ 2 - 2
Sequencer.cpp

@@ -16,12 +16,12 @@ void Sequencer::run()
 
     midiOut.openVirtualPort("launchpad sequencer");
 
-    messages.resize(7);
+    messages.resize(8);
     for(int i=0; i<messages.size(); i++) {
         messages[i] = std::make_shared<midi::NoteOnMessage>(defaultOutputChannel, 36 + i, 100 + i);
     }
 
-    beats.resize(4 * 3);
+    beats.resize(8);
 
     playbackScreen.enable();
 

+ 1 - 1
colors.h

@@ -14,7 +14,7 @@ Color inactiveOption(1, 2);
 
 Color inactiveBeatsCount(1, 0);
 Color activeBeatsCount(3, 1);
-
 Color sequenceExpansionButton(0, 1);
+Color sequenceReductionErasingConflictsButton(2, 0);
 
 }; // color