C#で、コンソール型のラズパイ用のプレーヤーのプログラムを書いている。
コンソール上で、ファイルを選択したり、
コンソール型の例えばaplayなどのプレーヤーで、ファイルに応じて特定のコマンドを作成したり、
DACに、特定のi2s,spiコマンドを送ろうと考えている。
なぜC#かというと、オーバーフローが起こりにくいという点である。
Cでは私の技能では配列の領域確保等で簡単にオーバーフローとなってしまった。
文字列の操作も難しい。
ラズパイで、Cを使うには、JAXAのストリングライブラリーのsli-libを使うのがおすすめ。
動作はC++だが、Cとして使える。ラズパイ2をいじった当時は、sli-libのインストールがうまくいかなかった。
C#をlinuxで使うには、monoを使う。
最新版にこだわらなければ、C#のコンパイラはコンパイルしなくてもインストールできる。
インストールにかなり時間がかかるとネット上で記載されているが、すでにコンパイル済みのものをインストールすればそれほど時間がかからない。
インストールする前に、まず以下をインストール。
libcairo2-dev libexif-dev libfreetype6-dev libfontconfig1-dev libglib2.0-dev libjpeg-dev libpng-dev \
libtiff-dev libgif-dev libx11-dev libxrender-dev”
<出典: 「Mono のビルド・インストール (tarball) 」>
IDEは、Xウインドウズ上で、Xamarinというのを使うらしい。
ラズパイでやってみたが、Xamarinを使うには、もちろんコンソールではだめで、
ラズベリーパイ用のXウインドウズが必要となる。
teratermでは、xウインドウズをみることができず、
リモートデスクトップを使う。
いろいろやったが、ウィンドウズのリモートデスクトップでは起動できず、
Run Ultra Vncというソフトをインストールして初めて、
ウインドウズ上で、ラズパイのXwindowsを拝むことができた。
通信をしているせいか、ラズパイ2でも動作は重たい。
そこで、ウインドウズ版のXamarinを考え始めた。
ウインドウズ上でも、monoは動く。
IDEは、ネット上に存在するXamarinのインストーラーを使う。monoのインストールページからは、うまくインストールできなかった。
Xamarinは、通常の状態で日本語入力すると、文字化けしてしまう。
そこで、toolタブのoptionで、Visual styleをJapaneseとする。
ここがみそであるが、toolタブのoptionでフォントを日本語が適切に表示されるフォントへ変更する。
previewのところで、日本語を打ち込み、きちんと表示されるものを選択する。
例えば、Text Edieter をMeiryo、General Pad TextをSegoe UIとする。