OSC-CV Converter

Dependencies:   Bonjour OSCReceiver TextLCD mbed mbed-rpc BurstSPI DebouncedInterrupt FastIO MIDI OSC OSCtoCV ClockControl

OSC to CV Converter

http://gtbts.tumblr.com/post/125663817741/osc-to-cv-converter-ver2-mbed-osctocv

/media/uploads/casiotone401/tumblr_nsg7y4pkfg1qlle9fo1_540.png

Files at this revision

API Documentation at this revision

Comitter:
casiotone401
Date:
Thu Jan 28 14:12:25 2016 +0000
Parent:
24:99045b0f7c4a
Child:
26:8673d5254f7d
Commit message:
minor change

Changed in this revision

OSCtoCV.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/OSCtoCV.lib	Thu Jan 28 11:40:56 2016 +0000
+++ b/OSCtoCV.lib	Thu Jan 28 14:12:25 2016 +0000
@@ -1,1 +1,1 @@
-https://developer.mbed.org/users/casiotone401/code/OSCtoCV/#981b62bb5c87
+https://developer.mbed.org/users/casiotone401/code/OSCtoCV/#9fa7540890c9
--- a/main.cpp	Thu Jan 28 11:40:56 2016 +0000
+++ b/main.cpp	Thu Jan 28 14:12:25 2016 +0000
@@ -49,7 +49,7 @@
 //-------------------------------------------------------------
 // Macros
 
-#define MODE_CLB            0        // Calibration (for VCO Tuning)
+#define MODE_CLB           0        // Calibration (for VCO Tuning)
 #define MODE_OSC            1        // Mode OSCtoCV 
 #define MODE_SEQ            2        // Mode Shift Sequencer
 #define MODE_185            3        // Mode M185 Sequencer
@@ -149,14 +149,15 @@
                 
             case MODE_SEQ: // Shift Sequencer mode
             
-                ShiftCVSeq(GateSeq(bpm, N16TH, GATE1, (gCtrl[6] * 5), NON_INVERT, GATESOUT_OFF, SYNC_ON), gCtrlSW[0], CV_CHANNEL8);
                 GateSeq(bpm, N8TH, GATE2, 3, NON_INVERT, GATESOUT_ON, SYNC_OFF);
                 
                 if (gCtrlSW[3])
                 {   // euclid sequencer auto offset
-                    EuclideanSeq(GateSeq(bpm, N16TH, SUBGATE, 3, NON_INVERT, GATESOUT_OFF, SYNC_OFF), gCtrlSW[0], GATESOUT_OFF, true);
+                    ShiftCVSeq(EuclideanSeq(GateSeq(bpm, N16TH, SUBGATE, (gCtrl[6] * 5), NON_INVERT, GATESOUT_OFF, SYNC_OFF), gCtrlSW[0], GATESOUT_OFF, true), gCtrlSW[0], CV_CHANNEL8);
                 
                 } else {
+                    
+                    ShiftCVSeq(GateSeq(bpm, N16TH, GATE1, (gCtrl[6] * 5), NON_INVERT, GATESOUT_OFF, SYNC_ON), gCtrlSW[0], CV_CHANNEL8);
                     // beats sequencer
                     BeatsSeq(GateSeq(bpm, N16TH, SUBGATE, 3, NON_INVERT, GATESOUT_OFF, SYNC_OFF), gCtrlSW[0], GATESOUT_OFF);
                 }
@@ -164,29 +165,32 @@
                 
             case MODE_185: // M185 Sequencer mode
             
-                M185Seq(GateSeq(bpm, N16TH, GATE1, (gCtrl[6] * 5), NON_INVERT, GATESOUT_OFF, SYNC_ON), gCtrlSW[0], CV_CHANNEL8);
+                
                 GateSeq(bpm, N8TH, GATE2, 3, NON_INVERT, GATESOUT_ON, SYNC_OFF);
                 
                 if (gCtrlSW[3])
                 {   // euclid sequencer auto offset
-                    EuclideanSeq(GateSeq(bpm, N16TH, SUBGATE, 3, NON_INVERT, GATESOUT_OFF, SYNC_OFF), gCtrlSW[0], GATESOUT_OFF, true);
-                
+                    M185Seq(EuclideanSeq(GateSeq(bpm, N16TH, SUBGATE, (gCtrl[6] * 5), NON_INVERT, GATESOUT_OFF, SYNC_OFF), gCtrlSW[0], GATESOUT_OFF, true), gCtrlSW[0], CV_CHANNEL8);
+                    
                 } else {
+                    
+                    M185Seq(GateSeq(bpm, N16TH, GATE1, (gCtrl[6] * 5), NON_INVERT, GATESOUT_OFF, SYNC_ON), gCtrlSW[0], CV_CHANNEL8);
                     // beats sequencer
                     BeatsSeq(GateSeq(bpm, N16TH, SUBGATE, 3, NON_INVERT, GATESOUT_OFF, SYNC_OFF), gCtrlSW[0], GATESOUT_OFF);
                 }
                 break;
             
             case MODE_437: // F437 sequencer
-                // random gated shift sequence ch1 ~ ch6 
-                PolyCVSeq(GateSeq(bpm, N16TH, GATE1, (gCtrl[6] * 5), NON_INVERT, GATESOUT_OFF, SYNC_ON), gCtrlSW[0]);
+                
                 GateSeq(bpm, N8TH, GATE2, 3, NON_INVERT, GATESOUT_ON, SYNC_OFF);
                 
                 if (gCtrlSW[3])
                 {   // euclid sequencer auto offset
-                    EuclideanSeq(GateSeq(bpm, N16TH, SUBGATE, 3, NON_INVERT, GATESOUT_OFF, SYNC_OFF), gCtrlSW[0], GATESOUT_OFF, true);
-                
+                    PolyCVSeq(EuclideanSeq(GateSeq(bpm, N16TH, SUBGATE, (gCtrl[6] * 5), NON_INVERT, GATESOUT_OFF, SYNC_OFF), gCtrlSW[0], GATESOUT_OFF, true), gCtrlSW[0]);
+                    
                 } else {
+                    
+                    PolyCVSeq(GateSeq(bpm, N16TH, GATE1, (gCtrl[6] * 5), NON_INVERT, GATESOUT_OFF, SYNC_ON), gCtrlSW[0]);
                     // beats sequencer
                     BeatsSeq(GateSeq(bpm, N16TH, SUBGATE, 3, NON_INVERT, GATESOUT_OFF, SYNC_OFF), gCtrlSW[0], GATESOUT_OFF);
                 }
@@ -300,7 +304,7 @@
     wait(0.5);
     
     gPoller.attach_us(&NetPoll, POLLING_INTERVAL);  // Ticker Polling
-    wait(1.7);
+    wait(0.5);
 }
 
 //-------------------------------------------------------------