Display Class for BaseMachine
Diff: ST7565_SequencerDisplay.h
- Revision:
- 5:6264a3682865
- Parent:
- 4:e51a5f0891a0
- Child:
- 6:ec1d00fa9835
diff -r e51a5f0891a0 -r 6264a3682865 ST7565_SequencerDisplay.h --- a/ST7565_SequencerDisplay.h Fri Aug 26 05:11:10 2016 +0000 +++ b/ST7565_SequencerDisplay.h Fri Aug 26 07:23:27 2016 +0000 @@ -45,10 +45,16 @@ } for (i = 0; i < 16; i++) { - if (this->getOctave() == sequences[i].getOctave()) { - int pitchRev = 12 - sequences[i].getPitch(); // Pitchの位置をGridの下から上に変換 + int noteOctave = (sequences[i].getPitch() / 12) - (Sequence::getBaseNoteNumber() / 12); + int pitchInOctave = sequences[i].getPitch() % 12; // 表示中のOctave内のPitch + // Octave内の12音階とOctave+1のPitch=0を表示 + if (this->getOctave() == noteOctave) { + int pitchRev = 12 - pitchInOctave; // Pitchの位置をGridの下から上に変換 gLCD->fillrect(i * 7, pitchRev * 4 + 5, 7, 4, 1); } + if ((this->getOctave() + 1 == noteOctave) && (pitchInOctave == 0)) { + gLCD->fillrect(i * 7, 5, 7, 4, 1); + } } // NoteOn & Tie Grid