ノートに助けられる
ノートに助けられる
MIDI-CV変換機のATmega64側ソフトウェアを書き始めようかな、まずはリレードライブのチェックプログラムかな、書くなら本番と同じデータ構造を持ってこよう、とか考えていたが、ぴたりと手が止まった。
以前検討したはずだけど、えーと、何をするんだっけ?
すっかり忘れていた。
そんなときには過去ノート。ネタとかその場検討とかを書き留めてあるんですな。もう20冊以上になったろうか。初期のものはスキャンして電子化してあるけれど最近はさぼりがちで…
ノートを見て思い出す。
保持しておくべき定数と変数と作用させるときのメソッドと。まぁ、こんときに書いたような構造体を導入するんではないかと。今回は自身へのポインタがメンバにならない予定だけど。
あとは、発音状態をどう表現するか。
前回のMIDI2CVではMIDI Note ONが来たらMIDI Note状態を表す構造体をalloc、複数の鍵盤が押されたら線形リストを育てていく形で管理して、線形リストが空なら発音していないとして判断していた。わかりやすかったがプログラム容量1024ワードしか取れないATtiny2313でやる内容じゃなかったかも。
今回はどうしようか。容量のあるATmega64だしリレーの数 49だけのサイズの配列にして鍵盤が押された/離れている を管理するということにしようか。「どれか発音中?」を判断するときには配列をスキャンしないといけないから、別立てでup-downカウンタを用意すれば発音中の判断が容易となるかな。