Ryo Od / SequencerDisplay
Committer:
ryood
Date:
Mon Nov 14 06:03:51 2016 +0000
Revision:
10:699beb99effe
Parent:
9:a8adc9b9b3d8
Child:
12:e6b2b72db313
Display the sequence pattern number

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ryood 4:e51a5f0891a0 1
ryood 0:9a0f67fe026b 2 /*
ryood 0:9a0f67fe026b 3 * SequencerDisplay.h
ryood 0:9a0f67fe026b 4 *
ryood 0:9a0f67fe026b 5 * 2016.08.13
ryood 0:9a0f67fe026b 6 *
ryood 0:9a0f67fe026b 7 */
ryood 0:9a0f67fe026b 8 #ifndef _SEQUENCE_DISPLAY_H_
ryood 0:9a0f67fe026b 9 #define _SEQUENCE_DISPLAY_H_
ryood 0:9a0f67fe026b 10
ryood 0:9a0f67fe026b 11 #include "mbed.h"
ryood 0:9a0f67fe026b 12 #include "Sequence.h"
ryood 0:9a0f67fe026b 13
ryood 0:9a0f67fe026b 14 class SequencerDisplay {
ryood 0:9a0f67fe026b 15 public:
ryood 3:5b11261a545a 16 enum DisplayMode { stop, run };
ryood 0:9a0f67fe026b 17
ryood 0:9a0f67fe026b 18 SequencerDisplay(Sequence* _sequences, int _sequenceNum) :
ryood 0:9a0f67fe026b 19 sequences(_sequences),
ryood 0:9a0f67fe026b 20 sequenceNum(_sequenceNum),
ryood 1:1f6d3e65d946 21 octave(0),
ryood 4:e51a5f0891a0 22 bpm(120),
ryood 4:e51a5f0891a0 23 waveShape(0),
ryood 4:e51a5f0891a0 24 modNumber(0) {};
ryood 0:9a0f67fe026b 25
ryood 9:a8adc9b9b3d8 26 void update(enum DisplayMode mode, int editingStep, int runningStep) {
ryood 0:9a0f67fe026b 27 switch (mode) {
ryood 0:9a0f67fe026b 28 case run:
ryood 9:a8adc9b9b3d8 29 displayWhileRun(editingStep, runningStep);
ryood 0:9a0f67fe026b 30 break;
ryood 0:9a0f67fe026b 31 case stop:
ryood 9:a8adc9b9b3d8 32 displayWhileStop(editingStep, runningStep);
ryood 0:9a0f67fe026b 33 break;
ryood 0:9a0f67fe026b 34 default:
ryood 0:9a0f67fe026b 35 error("SequenceDisplay::update: invalid mode");
ryood 0:9a0f67fe026b 36 };
ryood 0:9a0f67fe026b 37 };
ryood 0:9a0f67fe026b 38
ryood 0:9a0f67fe026b 39 void setOctave(int _octave) { octave = _octave; };
ryood 0:9a0f67fe026b 40 int getOctave() { return octave; };
ryood 0:9a0f67fe026b 41
ryood 1:1f6d3e65d946 42 void setBpm(int _bpm) { bpm = _bpm; };
ryood 1:1f6d3e65d946 43 int getBpm() { return bpm; };
ryood 1:1f6d3e65d946 44
ryood 4:e51a5f0891a0 45 void setWaveShape(int _waveShape) { waveShape = _waveShape; }
ryood 4:e51a5f0891a0 46 int getWaveShape() { return waveShape; }
ryood 4:e51a5f0891a0 47
ryood 4:e51a5f0891a0 48 void setModNumber(int _modNumber) { modNumber = _modNumber; }
ryood 4:e51a5f0891a0 49 int getModNumber() { return modNumber; }
ryood 4:e51a5f0891a0 50
ryood 10:699beb99effe 51 void setSequencePattern(int _sequencePattern) { sequencePattern = _sequencePattern; }
ryood 10:699beb99effe 52 int getSequencePattern() { return sequencePattern; }
ryood 10:699beb99effe 53
ryood 0:9a0f67fe026b 54 protected:
ryood 9:a8adc9b9b3d8 55 virtual void displayWhileRun(int editingStep, int runningStep) {
ryood 0:9a0f67fe026b 56 #if (UART_TRACE)
ryood 9:a8adc9b9b3d8 57 printf("displayWhileRun step:%d %d\r\n", editingStep, runningStep);
ryood 0:9a0f67fe026b 58 #endif
ryood 0:9a0f67fe026b 59 };
ryood 0:9a0f67fe026b 60
ryood 9:a8adc9b9b3d8 61 virtual void displayWhileStop(int editingStep, int runningStep) {
ryood 0:9a0f67fe026b 62 #if (UART_TRACE)
ryood 9:a8adc9b9b3d8 63 printf("displayWhileStop step:%d %d\r\n", editingStep, runningStep);
ryood 0:9a0f67fe026b 64 #endif
ryood 0:9a0f67fe026b 65 };
ryood 0:9a0f67fe026b 66
ryood 0:9a0f67fe026b 67 Sequence* sequences;
ryood 0:9a0f67fe026b 68 int sequenceNum;
ryood 3:5b11261a545a 69 int octave;
ryood 1:1f6d3e65d946 70 int bpm;
ryood 4:e51a5f0891a0 71 int waveShape;
ryood 10:699beb99effe 72 int sequencePattern;
ryood 4:e51a5f0891a0 73 int modNumber;
ryood 0:9a0f67fe026b 74 };
ryood 0:9a0f67fe026b 75
ryood 0:9a0f67fe026b 76 #endif //_SEQUENCE_DISPLAY_H_