BaseMachine Sequencer V2
Dependencies: AT24C1024 Amp AverageAnalogIn BaseMachineUIController Envelope ExioBufferdController FilterController MCP23S17 OscController PinDetect RotaryEncoder Sequence SequencerDisplay mbed-rtos mbed st7567LCD
Fork of BaseMachine by
Diff: main.cpp
- Revision:
- 1:87f7d2e0a123
- Parent:
- 0:1afb83a21a25
- Child:
- 2:6056b9559541
--- a/main.cpp Wed Nov 09 05:43:04 2016 +0000 +++ b/main.cpp Wed Nov 09 07:29:20 2016 +0000 @@ -81,8 +81,44 @@ //------------------------------------------------------------------------ // Functions //------------------------------------------------------------------------ +void setParams() +{ + UIController.getSequences(&sequences); + SequenceSender.setBpm(UIController.getBpm()); + // ToDo: Impl. accentLevel + + OscillatorParam osc; + UIController.getOscillatorParam(&osc); + SequenceSender.setWaveShape(osc.waveShape); + SequenceSender.setPulseWidth(osc.pulseWidth); + + FilterParam flt; + UIController.getFilterParam(&flt); + FilterController.setCutoff(flt.cutoff << 1); + FilterController.setResonance(flt.resonance << 1); + + EnvelopeParam env; + UIController.getEnvelopeParam(&env); + envelope.setLevel(env.level << 5); + //ToDo: Impl. envelope length + envelope.setLength(envelopeLength); + envelope.setDuration((float)env.duration / 128.0f * envelopeLength); + envelope.setDecay((float)env.decay / 128.0f * envelopeLength); + envelope.setSustain(env.sustain << 5); + + bool _isRunning = UIController.getIsRunning(); + if (_isRunning != isRunning) { + isRunning = _isRunning; + if (isRunning) { + SequenceSender.run(playingStep); + } else { + AmpController.outDca(0); + SequenceSender.stop(); + } + } +} //------------------------------------------------------------------------ // Main routine @@ -129,31 +165,7 @@ for (;;) { UIController.update(); - - UIController.getSequences(&sequences); + setParams(); - SequenceSender.setBpm(UIController.getBpm()); - - // ToDo: Impl. accentLevel - - OscillatorParam osc; - UIController.getOscillatorParam(&osc); - SequenceSender.setWaveShape(osc.waveShape); - SequenceSender.setPulseWidth(osc.waveShape); - - bool _isRunning = UIController.getIsRunning(); - if (_isRunning != isRunning) - { - isRunning = _isRunning; - if (isRunning) - { - SequenceSender.run(playingStep); - } - else - { - AmpController.outDca(0); - SequenceSender.stop(); - } - } } }