いくら待てどもイメージするような機能を持ったラジオ配信ソフトが出てこないので、最近 CompactFM2 的なものを作り始めました。
ただし、途中で飽きるかも知れないので夢物語を語る気分で軽く書いておきます。
今までは CompactFM は Delphi 6 Professional を使ってコーディングしていたものの、発売元で色々あったりして近頃ではインストール時に必要になるライセンスキーをメールでお願いして受け取らないといけなくなり、インストールが面倒になったため今の環境には既にインストールもされていません(なので今は既に CompactFM のソースはコンパイルできない状況にあります)。
そんなわけで今回は C++ で書き始めました。根本的な処理の流れから作り直しているので結構手間が掛かってますが、ノウハウはあるので作業進行はそこそこ順調で、300KB分ぐらいソースコードを書いたところで GUI 以外の部分に関しては6〜7割ぐらい書き終わったかな、という感じ。
動作環境の予定としては CPU は 1GHz 以上、メモリは OS がスワップしないで動く程度でいけるようにしたいところ(Vista 以降の場合は CPU ももっと速くないと厳しいかも)。最適化の過程でイントリシック命令で SSE 使ってる個所などがチラホラあるので、最低でも SSE が使える CPU でないと動きません(少なくとも SSE すら使えないような環境では満足に機能を使いこなせないはず……)。
今回のソフトは負荷が状況によりかなり変動するため、環境は良いに越したことはないです。
機能に関しては CompactFM の頃に出来なかった事が色々できるようになる予定ですが、この辺は今のところ非公開としておきます。少なくとも、今回はタスクバーの中に収まって大人しく配信するのがメインにはならないでしょう。
2009年01月30日
2008年12月07日
CompactFM テクニカルノート
CompactFM を作っている時に気付いた点などソフトウェア開発をする際に参考になりそうな情報を少しずつ記述していこうかと思います。
将来的には CompactFM のソースもオープンにする予定です。
今回は gogo.dll を利用して mp3 にエンコードする際の注意点と、WINAMP に付属する enc_aacplus.dll を利用して AAC+ する際のポイントなどについて書きます。
続きを読む
将来的には CompactFM のソースもオープンにする予定です。
今回は gogo.dll を利用して mp3 にエンコードする際の注意点と、WINAMP に付属する enc_aacplus.dll を利用して AAC+ する際のポイントなどについて書きます。
続きを読む
2008年06月15日
久々にCompactFMのプラグイン作り
クリックで新しいウィンドウに実寸表示
CompactFM は自作のラジオ配信ツールで、午後のこ〜だを利用することで多少低い負荷で配信できたり、ウィンドウを出さないことで邪魔になるものがない環境で配信できるようになど細々とした配慮をしている。
最近ねとらじサーバ側でDJ名などの独自ヘッダの追加などがされたため、CompactFM側でもその独自仕様に対応するついでに新しくプラグインを作った。
このプラグインはねとらじで配信中の場合モニタ上にリスナ数を表示することができる。Windows2000 以降でしか使えないレイヤードウィンドウを使っているのでこのプラグインに限っては9x系での動作は期待できない。9x系に対してはリージョンで似たウィンドウは形成できるものの、ウィンドウの存在を意識させないためのクリックの透過機能は再現できそうにないので、思い切ってその辺は切り捨てる事にした。
そろそろVectorに登録されているファイルもバージョンアップしようかなあ。
2008年05月31日
CodeIgniter その5
GET リクエストも使いたいが、enable_query_strings はOFFのままにしたい、という状況は比較的多いと思う。
CodeIgniter では GET リクエストを処理するための構造は備わっているものの、enable_query_strings の設定に応じて勝手に無効化されてしまうため非常に使い勝手が悪い。
この場合もっとも手っ取り早い解決策は入力クラスのコンストラクタをオーバーライドすること。
続きを読む
CodeIgniter では GET リクエストを処理するための構造は備わっているものの、enable_query_strings の設定に応じて勝手に無効化されてしまうため非常に使い勝手が悪い。
この場合もっとも手っ取り早い解決策は入力クラスのコンストラクタをオーバーライドすること。
続きを読む