BaseMachine Sequencer

Dependencies:   Amp AverageAnalogIn BaseMachineUIController Envelope ExioBufferdController FilterController MCP23S17 PinDetect RotaryEncoder Sequence SequencerDisplay mbed-rtos mbed st7567LCD AT24C1024 OscController

Revision:
5:e909232c913e
Parent:
2:6056b9559541
Child:
6:fd15586f72ff
--- a/main.cpp	Mon Nov 14 11:29:12 2016 +0000
+++ b/main.cpp	Thu Nov 17 07:22:56 2016 +0000
@@ -53,29 +53,29 @@
 //------------------------------------------------------------------------
 void updateTicks(int ticks)
 {
+    if (sequences[playingStep].isNoteOn())
+    {
+        uint16_t level = EnvelopeGenerator.update();
+        if (!sequences[SequenceSender.getStep()].isAccent())
+        {
+            level = level * 1 / 2;
+        }
+        AmpController.outDca(level);
+        //printf("%d %d %d\r\n", playingStep, ticks, level);
+    }
+    else
+    {
+        AmpController.outDca(0);
+    }
+    
+    FilterController.outDcf();
+    
     if (ticks == 0)
     {
         EnvelopeGenerator.init(envelope);
         playingStep = SequenceSender.getStep();
         UIController.setPlayingStep(playingStep);
     }
-
-    if (sequences[SequenceSender.getStep()].isNoteOn())
-    {
-        uint16_t level = EnvelopeGenerator.getModLevel();
-        if (!sequences[SequenceSender.getStep()].isAccent())
-        {
-            level = level * 1 / 2;
-        }
-        AmpController.outDca(level);
-    }
-    else
-    {
-        AmpController.outDca(0);
-    }
-    EnvelopeGenerator.update();
-    
-    FilterController.outDcf();
 }
 
 //------------------------------------------------------------------------
@@ -109,11 +109,15 @@
     envelope.setSustain(env.sustain << 5);
 
     bool _isRunning = UIController.getIsRunning();
-    if (_isRunning != isRunning) {
+    if (_isRunning != isRunning)
+    {
         isRunning = _isRunning;
-        if (isRunning) {
+        if (isRunning)
+        {
             SequenceSender.run(playingStep);
-        } else {
+        }
+        else
+        {
             AmpController.outDca(0);
             SequenceSender.stop();
         }