2005/04/24

あれ?ちゃんとビルドできるじゃん。

えーと、MinGWでOggencをビルドする件ですが…うまく行きました。
  • cygwinと違って_G_config.hは無いので、os_types.hを書き換えてやる必要がある
  • setbinmode()関数なんてMinGWには無いので、空の関数を作るなり#defineで空にしてやるなりという手を講じる
  • そして今回判明した超重要なTIPS「/usr/libとかにライブラリを入れてもconfigureスクリプトが認識してくれないので(--libdir=/usr/local/libとかやってもダメ)、configureは常に--prefix=/mingwで実行すべし」
  • vorbis-toolsのconfigureが吐くmakefileは何故かflac.oをoggencにリンクしないため、リンクエラーが出る→configure後にMakefileを書き換えるべし
  • liboggのmake中に「main.c : undefined reference to WinMain@16」というリンクエラーが出るが、これはDLL絡みのエラーなので、全コンポーネントを構築する際にconfigureに--enable-shared=noを渡してやれば無問題(dll作りたい人には大問題だけどさ)
という点に留意しつつlibogg→libvorbis→flac→vorbis-toolsの順でコンパイルしていけば、つつがなくMinGW + MSYSでコンパイルが終わる模様。一応これでFLAC→Ogg/Vorbis変換をそれなりに高速にこなせるようになったわけだ。これで準備は万端だ。 …あとは「Ogg/Vorbis再生中に突如プレイヤーが再起動してしまうiAudio G3」のファームウェアが何とかなればOKだな。堪忍袋の緒が切れて叩き売らないうちにFIXしてくれよ>COWON。

2005/04/17

国威が問われる反日暴動への対処

いや、日本政府に断固とした対応を求めるとかいうことじゃなくて、問題は中国の政府と国民なのだけど。 今日テレビを見ていたら、デモで好き放題やってる連中のあまりにステキな台詞を聞いて呆れ果てた。いうまでもなく「愛国無罪」という台詞のことだ。あのね、愛国心で自分の狼藉を正当化するようになっちゃおしまいだよ?いや、日本人にもそういう屑がいるというのはよ~く知ってるけど。 きっと60年前に南京の近辺(に限らずいろいろなところ)で現地人を虐殺した日本の兵隊たちも愛国的行動としてそれをやっていたんだろうと思うんだけど、君らがそんな連中と同じレベルにまで落っこちてやることはあるまい?日本人を蔑視するのも良いけど(俺たちは小泉みたいな欠点だらけの政治屋を選んでしまう、先進国と呼んでいただくのも気が引けるような国民だというのは確かだからな)、積極的に同じレベルに落っこちて泥仕合をするような人たちに、日本人を蔑視する資格は無いぞ。 領事館に狼藉を許した中国政府も恥ずかしい。日本が過去に何をしたかはさておき、中国政府って一応日本と国交を樹立してて、今のところ断絶する気は無いんだろ?だったら、外交官がいる施設に暴徒が狼藉を働くのを黙ってみてちゃいかん。今回の件で「まだ中国には国際社会の常識ってものが無いな」と見られても仕方が無い。こういうところで「国威」ってのが問われるんだぜ? おまけにこの件、放っておくと日本国内の対中強硬派が調子に乗りだしてODAの削減(実際、外国に金を出してやれるほど日本の台所事情は明るくない)とかを言い出すだろうけど、それは君らにとって都合が良いのか? ここらで一つ、中国4千年の「オトナの対応」ってヤツを俺たち日本人に見せてやってくれよ。

2005/04/16

幸村誠「Vinland Saga」

水曜日は風邪引いて寝込んでた。で、木曜日コンビニで「週刊少年マガジン」を手にとってみたら…。なんとまぁ幸村誠が連載を始めているではありませんか。早速読ませていただきましたが…少年漫画誌にこんな骨太な作品が載りつづけるのかなぁ? もともと左巻きで、おまけに漫画読みとしてだいぶ「いい歳」になりつつある「俺」にはたいそう面白いわけだが…ガキにこの味がわかるんか?雑誌移るのは構わんけど、連載打ち切りだけは勘弁してくれよ!? やり遂げたら10年間は漫画の神様扱い確定だぞ。頑張れ幸村誠。

2005/04/15

やっぱりダメかい>iAudio G3でOgg/Vorbis。

昨日に引き続いてあれやこれやと手を入れて(結局FLACは諦めた)oggenc.exeを構築。 Windowsマシンに転送していざ起動…ををっ!!オフィシャルサイト版より2倍ほど速いぞ。 …でも、バイナリ比較してみたら最適化ありと無しとで随分違う。むぅ。 で、ビットレートを固定したOgg/Vorbisもつつがなく作成し、本来の目的であるiAudio G3での再生を試してみた、のだが…やっぱりダメでした。 つつがなく再生できるデータもある反面、てんでダメダメな(礼によって再起動を頻発する)データもあったり。とっととファーム出せ>COWON。Vorbisはお国の人が作ったコーデックだろ!

2005/04/13

「俺は欲しくないからお前にやる」と言いたい。

対米追随路線まっしぐらの日本政府がまたしてもロクでもないことをやらかしてくれるようです。 asahi.comの記事「米第1軍団司令部の座間移転、政府が受け入れへ」によると、政府は地元の反対そっちのけでアメリカ陸軍第1軍団司令部をキャンプ座間に受け入れる意向だそうで。 冗談じゃない。司令部なんかこられた日にゃ、座間は格好の的じゃないか。そういう施設は首相官邸の隣にでも誘致してやれよ。少なくとも俺は米軍施設なんて要らないからさ、欲しい人に進呈するよ。 …もっとも、座間市は財政が火の車なので、補助金の額如何では市長は熱烈歓迎するかもしれないが。 憂鬱だ。

iAudio G3その後

本日は仕事はお休み。明日からは尻に火がつくなこりゃ。 ここ数日は4月に入ったというのに1日中10℃以下なんて異常な天気なので、流石に風邪を引きました。 日曜日の異常な暑さにぶち切れてスーツを合物(春夏秋用)に換えたのもまずかったわけですが。 さて、薬もキメておとなしく一眠りした後は色々と調べ物。 一度はOgg/Vorbisを諦めて「午後のこ~だ」でMP3な生活を送ろうと決めたのだが、その後各方面での調査の結果、Ogg/Vorbisの再生の 不具合はVBRの処理がダメダメだからだ、ということを小耳にはさんだ。確かに現在はfoobar2000のOgg/Vorbis encoderで「-q 5.0」などとオプションを指定してVBRでエンコードしていた。しかしfoobar2000では固定ビットレート(正確にはOgg/Vorbisには固 定ビットレートは存在しないので、平均ビットレートを指定するのだが)でのエンコードは出来ない。しかたがないので久しぶりに公式サイトからコマンドラインエンコーダを引張ってきて 「oggenc -b 160 -o foo.ogg foo.wav」とかエンコードをかましてiAudio G3に転送し、再生してみた。 いきなり再起動することもなく再生できているではないか。これは大変喜ばしい。 問 題は公式サイトのエンコーダは半端じゃなく遅い、ということだが、既にMinGWはインストールしてあるので、ここらで一つAthlon MP最適化バージョンを自前でビルドしてみるかな。…と思ったけど、configureでいきなりこけたので、Linuxの上でクロス開発を行うことにす る。 とりあえずapt-get mingw32でMinGW32を入れてはliboggからビルドして見たものの、_G_config.hが無い!などと怒られてしまう。どうやら Cygwinのヘッダを探しに行ってドツボにはまっているらしいので、ヘッダファイルを弄くって書き換える。詳細はコチラのWebページに詳しい。 さて、つつがなくコンパイルが終わってDLLを作成…できない。エラーが出る。まぁ、別にエラーが出ようが出るまいがDLLを作る必要は感じないので configureのオプションに--enable-shared=noをつけてやり直し。うまく行く。続いてlibvorbisを構築し(これはDLL さえ作らなければ普通にコンパイルできる)、vorbis-tools(oggencとか)のconfigureをかけたところでflacを入れ忘れたこ とに気づき、慌ててダウンロード。これまたDLL抜きでへろへろとコンパイルをしたところ…リンクエラーだよorz。