4月からちまちま作っていたmbed用のオーディオ・フレームワークですが、先週末から音が出始めています。
名前は"unzen"オーディオ・フレームワークと"shimabara"コーデック・コントローラに決めました。"audio"とか”codec"なんて名前空間にしても、誰のどんなものとぶつかるか知れたものではありません。C#は確か名前空間の命名方法にある程度規則があったように思いますが、mbedには無いようです。
unzenはうっかり実体を二つ作る事故を嫌ってSingletonパターンで書いているのですが、どうもこの記述がmbedの他のクラスと折り合いません。mbedではペリフェラルに対応するオブジェクトを作り。foo.method()のように呼びます。しかし、singletonパターンを使うと、bar->method()となります。この不整合がどうにも据わりが悪く、おまけにshmabaraのほうは普通のmbed方式ですので、両者の違いが大変目障りです。
今週はコードを触る時間がありませんが、ここはsingletonを書き直してmbedスタイルに変更する予定です。
また、信号処理部の初期化に関するコードも修正する予定です。ここは柔軟さを棄てて間違いようのない形式をユーザーに強制する方針です。