EsounDについて。
EsounDは複数の入力を混ぜられる。複数の曲を混ぜて演奏したり、音楽を聞きながらも別の効果音が出たりするわけだ。実はEsounD以前のLinuxではこれが珍しかった(笑)。使わない間は勝手に消えてくれたりといった小技も含めつつ。
EsounDが使えるバックエンド(ドライバ側)にはALSAやOSS、AIX/IRIX/HPUX/Solaris等のサウンドデバイスがあり、アプリ側からはデバイスを意識せずに同じインタフェースで使える。ネットワークにも対応していて、別マシンに音声を飛ばして鳴らすようにできたりする。いくつかのユーティリティが附属していて、演奏やら録音やらボリューム制御やらその他ができる。
私としてはALSAとOSSが並び立っているLinuxで、両方に対応したEsounDのバイナリを作っておいて、設定で切り替えられるのではないかと、思っていた。ALSAはOSS互換にもなるので、OSS→ALSAのOSS互換→ALSAという移行ルートがあるわけだ。私はいまだにOSSでやっているのだが、実際使うときはどうせEsounDが吸収するしなぁ、と。
で、ALSAのヘッダとかを用意してEsounDをコンパイルし直して、OSSで動かそうとして…それができないことが判明。ソースを見るとaudio.cの#includeで#elif #elifで切っていた。ありがちだ。