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
Revision 26:8673d5254f7d, committed 2016-01-31
- Comitter:
- casiotone401
- Date:
- Sun Jan 31 12:56:12 2016 +0000
- Parent:
- 25:6b29d7e631cb
- Child:
- 27:65e873bf8307
- 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 14:12:25 2016 +0000 +++ b/OSCtoCV.lib Sun Jan 31 12:56:12 2016 +0000 @@ -1,1 +1,1 @@ -https://developer.mbed.org/users/casiotone401/code/OSCtoCV/#9fa7540890c9 +https://developer.mbed.org/users/casiotone401/code/OSCtoCV/#d945a20b1e31
--- a/main.cpp Thu Jan 28 14:12:25 2016 +0000 +++ b/main.cpp Sun Jan 31 12:56:12 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 @@ -153,13 +153,11 @@ if (gCtrlSW[3]) { // euclid sequencer auto offset - ShiftCVSeq(EuclideanSeq(GateSeq(bpm, N16TH, SUBGATE, (gCtrl[6] * 5), NON_INVERT, GATESOUT_OFF, SYNC_OFF), gCtrlSW[0], GATESOUT_OFF, true), gCtrlSW[0], CV_CHANNEL8); + ShiftCVSeq(EuclideanSeq(GateSeq(bpm, N16TH, SUBGATE, (gCtrl[6] * 12), NON_INVERT, GATESOUT_OFF, SYNC_ON), 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); + ShiftCVSeq(BeatsSeq(GateSeq(bpm, N16TH, SUBGATE, (gCtrl[6] * 8), NON_INVERT, GATESOUT_OFF, SYNC_ON), gCtrlSW[0], GATESOUT_OFF), gCtrlSW[0], CV_CHANNEL8); } break; @@ -170,13 +168,11 @@ if (gCtrlSW[3]) { // euclid sequencer auto offset - M185Seq(EuclideanSeq(GateSeq(bpm, N16TH, SUBGATE, (gCtrl[6] * 5), NON_INVERT, GATESOUT_OFF, SYNC_OFF), gCtrlSW[0], GATESOUT_OFF, true), gCtrlSW[0], CV_CHANNEL8); + M185Seq(EuclideanSeq(GateSeq(bpm, N16TH, SUBGATE, (gCtrl[6] * 12), NON_INVERT, GATESOUT_OFF, SYNC_ON), 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); + M185Seq(BeatsSeq(GateSeq(bpm, N16TH, SUBGATE, (gCtrl[6] * 8), NON_INVERT, GATESOUT_OFF, SYNC_ON), gCtrlSW[0], GATESOUT_OFF), gCtrlSW[0], CV_CHANNEL8); } break; @@ -186,13 +182,11 @@ if (gCtrlSW[3]) { // euclid sequencer auto offset - PolyCVSeq(EuclideanSeq(GateSeq(bpm, N16TH, SUBGATE, (gCtrl[6] * 5), NON_INVERT, GATESOUT_OFF, SYNC_OFF), gCtrlSW[0], GATESOUT_OFF, true), gCtrlSW[0]); + PolyCVSeq(EuclideanSeq(GateSeq(bpm, N16TH, SUBGATE, (gCtrl[6] * 12), NON_INVERT, GATESOUT_OFF, SYNC_ON), 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); + PolyCVSeq(BeatsSeq(GateSeq(bpm, N16TH, SUBGATE, (gCtrl[6] * 8), NON_INVERT, GATESOUT_OFF, SYNC_ON), gCtrlSW[0], GATESOUT_OFF), gCtrlSW[0]); } break; @@ -272,7 +266,7 @@ // Init BPM gCtrl[0] = 0.398f; -// Init Sequence Data +// Init Sequencer Data for (i = 0; i < 16; ++i) { gSeq_cv[i] = (calibMap1[69] * SCALING_N);