2007-03-01から1ヶ月間の記事一覧
サンプルsound_playerをWin32 GUI Genericsを使わずに書き直しました。 libs/audio/example/win32/sound_player/ Win32 APIを直接読んでいること以外は、元のコードとほぼ同じです。 ついでにWAVファイルにも対応しています。 Jamfile.v2はこうなっています…
昨日せっかくstdcall_thunkを作ったのですが、今回は使わないことにしました。 というのも、ウィンドウクラスは「クラス」であるはずなのに、サンクでインスタンスと結び付けてしまうと、「クラス」でなく「インスタンス」になってしまう気がしたからです。 …
昨日のクラス名が長すぎる問題ですが、早速 direct_sound_buffer → direct_sound_sink direct_sound_capture_buffer → direct_sound_source に変更しました。 これで、vc8ideディレクトリ配下以外は、inspectに引っかからなくなりました。 vc8ideディレクト…
Boostのinspect(ソースコードやドキュメントがBoostのガイドラインに従っているかチェックするツール)が1.34でかなり手を加えられているので、久々にチェックしてみました。 結果、一部のドキュメントでbroken linksが検出されたので修正しておきました。 相…
昨日の続きです。 libstdc++のconfigureスクリプトを確認したところ、iconvとlanginfoが動かないと、wchar_t対応にならないようでした。 iconvはGNUのものを使ってもいいのですが、configureの要求するシンボル名と違うことと、実行ファイルを配布する際に別…
今更ながらワイド文字対応のMinGWを作ろうと思って、gccのビルドを試していたのですが、なぜか「Out of memory」で失敗します。 エラーになるファイル(insn-modes.c)を確認したところ、ファイルサイズが3GBもありました。 gccはこのファイルを丸ごとメモリに…
一通りBBv2でのチェックが完了したので、Boost1.34対応用に作ったブランチをマージしました。 BBv1にほとんど影響がなかったのでブランチを作った意味はあまりありませんでした。 むしろ、変更の履歴が辿りにくくなった感じです。 一応、 Boost1.33.1 + BBv1…
今日はShutdown Dayということで、一日中パソコンの電源を落としていました。 なので、作業の進展はなしです。 実は友人の結婚披露宴に出席していたので、どちらにしろパソコンをほとんど使えない状況だったわけですが、、、。 1日過ごした感想としては、な…
http://www.shutdownday.org/ ↑既にサーバーはシャットダウンされている模様
昨日の<search>に関する問題は、BBv1同様<library-path>を使うことで解決できました。 <library-path>はマニュアルに記述がありませんが、BBv1のものと同じと考えてよさそうです。 これを使うと、昨日の例も素直に実装できます。 # site-config.jam # 前半部は略 # 汎用 alias dxsdk : : : : <include>$(DX</include></library-path></library-path></search>…
昨日の<search>が動かない問題は、<search>の使い方を間違えていただけでした。 BBv1の<library-path>に相当するものだと思って使っていたのですが、どうも<search>は<name>と一緒に使わなくてはいけないようです。 ドキュメントでも、 The name property specifies the name that should be passed to th</name></search></library-path></search></search>…
昨日はHamigaki.Iostreamsと間違えてHamigaki.ArchiversのJamfileをコミットしていたので、改めてHamigaki.IostreamsのJamfileとHamigaki.Archiversの修正版Jamfileをコミットいました。 archivers/test/Jamfile.v2 iostreams/build/Jamfile.v2 iostreams/te…
BBv2でライブラリのビルドができました。 Hamigaki.FilesystemのJamfile.v2 昨日動かなかったのは、プロジェクトのルートにあるJamfile.v2がバグっていたせいでした。 Jamfile.v2の差分 projectのrequirementsに書いた「$(BOOST_LIBPATH)」が邪魔だったよう…
ビルド不要のライブラリのユニットテストのみBBv2用のJamfileを用意しました。 Hamigaki.BinaryのJamfile.v2 boost-1_34というブランチを作ってみたんですが、ViewCVSだと探しにくいですね。 trunkのリビジョンのまま、branches配下を覗くと空っぽだったので…
ちょうど切りがいいので、そろそろBoost1.34へ移行準備を始めようと思います。 1.34からはビルドシステムがBoost.Build V2になりますが、HamigakiライブラリのJamfileをV2に移行するのは面倒なので、ひとまずヘッダとライブラリだけ1.34、Boost.Buildは1.33.…
今日はISO 9660:1990の拡張ボリューム記述子に対応しました。 iso_directory_writer.hppの差分 拡張ボリューム記述子はISO 9660:1988の副ボリューム記述子の一種で、 ファイル名は207文字まで ファイル名(ベース名)、拡張子、バージョン番号の区切りなし デ…
今度こそISO 9660 Level 3に対応しました。 iso_file_sink_impl.hpp iso_file_source_impl.hpp ISO Level2とLevel3の違いは、Level3が複数エクステントに対応していることです。 ISO 9660では構造上、エクステント(ファイルの内容)のサイズが4GBまでに制限さ…
ISO 9660 Level 3に対応といきたいところですが、Level 2の出力が未実装だったので先に対応しました。 iso_directory_writer.hppの差分 Level 1/2の選択は、ボリューム記述子で行うことにしました。 #include <hamigaki/archivers/iso_file.hpp> namespace ar = hamigaki::archivers; void hog</hamigaki/archivers/iso_file.hpp>…
ISOイメージのテストも含めて、久々にRegression Testをしました。(Cygwin以外) http://hamigaki.sourceforge.jp/status/ 多少修正が必要でしたが、CodeWarrior以外は動いています。 CodeWarriorでエラーになっているのは多分コンパイラのバグです。 少し弄…
今日もISOイメージのテスト追加とドキュメント加筆です。 Rock Ridgeのテストで、mkisofsが使用しているRRIP 1991Aとドラフト規格IEEE P1282の両方に対応させ、シンボリックリンクのテストも追加しました。 rock_ridge_test.cppの差分 エントリヘッダで使用…
iso_file_source/iso_file_sinkのドキュメントを追加しました。 http://hamigaki.sourceforge.jp/doc/html/archivers/format.html#archivers.format.iso 未実装の機能も結構あったので、明示しておきました。 ISO 9660:1988 Level 3 は実装しておきたいとこ…
VS2005 SP1 Update for Vistaが正式版になって、ようやくvsjitdebuggerが動くようになりました。 これが使えないとbjamからのデバッグが面倒なので助かりました。 あと、Windows Vista 用 WinHlp32.exeのおかげでDanteWinのヘルプも見れるようになりました。…
ISO 9660/Joliet/Rock Ridgeのテストを追加しました。 iso9660_test.cpp joliet_test.cpp rock_ridge_test.cpp テストでいくつか大きなバグも見つかったので修正しました。 空のディレクトリの出力がおかしかったバグの修正 再配置した箇所以外のディレクト…
残りのSystem Use Entryの出力を実装しました。 "TF" System Use Entry "PN" System Use Entry "SL" System Use Entry まだ未実装のSystem Use Entryも残っていますが、iso_file_sourceが対応しているものは全て実装できました。 明日からテストとドキュメン…
ディレクトリの再配置後のリンクカウントの修正を実装しました。 rock_ridge_directory_writer.hppの差分 再配置後は、 /rr_moved/..が増えるため、ルートとルートへのハードリンク(/dir/..など)のリンクカウントが1増える 再配置されたディレクトリの数だけ…
iso_file_sinkにリンクカウントの自動計測機能を追加しました。 iso_file_sink_impl.hppの差分 joliet_directory_writerのコードを弄りたくなかったので、basic_iso_file_sink_impl側であらかじめカウントするようにして、ディレクトリの再配置が発生したら…
かなりいい加減ですが、"PX" System Use Entry(ファイル属性)の出力を実装しました。 iso_file_sink_impl.hppの差分 現在判明している問題点は、 ルートディレクトリとrr_movedのファイル属性が出力されない ディレクトリのリンクカウントが正しくない です…
"NM" System Use Entry(ファイル名)の出力を実装しました。 rock_ridge_directory_writer.hppの差分 "."や".."のSystem Use Fieldはリンク先のディレクトリのSystem Use Fieldからコピーするわけですが、"NM" System Use Entryで設定される名前はリンク先の…
ようやくRock Ridgeの再配置処理が実装できました。 rock_ridge_directory_writer.hppの差分 "CL"/"PL" System Use Entryのリンク先ブロック番号は、リンク先のレコードのポインタを記録しておいて、(ブロック番号が確定している)出力時に参照するようにしま…
行ってきました。 受付開始時間直後に行ったら、既に半分以上席が埋まってました。 以下、メモした内容。変なことしかメモってません。 堀井雄二氏 いたずらが好きなんで、(ゲーム作りも)いたずらの延長 DQ9のパーティーを組むのはルイーダの酒場 (DQで毎回)…