1998年の雑記帳(コンピューター系)
last updated 1999.12.31
1998.12.28 : Pack for Win の話
郵便書留が届いていたので何かと思って取りに行ったら Pack for Win GOLD(1999年前期版)だった。今回は何と CD-ROM 12枚組。収録されているのは MS-DOS 時代に開発した古いソフトばかりのはずなのだが。
Windows 環境に移行してからは Packfor Win をほとんど使わなくなってしまった。インターネットで簡単にソフトを入手できるようになったのが最も大きい理由だが、シェアウェアが増えた、アンインストールが面倒なソフトが多い、「どうしてもそのソフトを使わないとできない」ことが少なくなったためだと思う。元々いろいろなソフトを試用してみるより定番ソフトを使う事が多いし。
結局 CD-ROM はまだ開けていない・・・
1998.12.21 : Visual C++ の話その2
やっぱりテキストがないと辛いのでCのプログラミングの本(翔泳社「Windows98プログラミング」)を買ってきた。選んだ理由は詳しく書いていて読みやすそうだった事、DLLについて書いていた事(WinAMP方面で使うので)、Win98 + VC++6.0 での動作確認を取っていた事、Cのみ(非MFC)の本が他にほとんどなかった事、の4点。
土日は年賀状を書いていてほとんど時間が取れなかったけどサンプルをぼちぼち眺めてみる。読み進んだのはメッセージループ、WM_PAINT, WM_RBUTTONDOWN, WM_CHAR, MessageBox あたり。Delphi でなんとなくは分かっているのでそれほど詰まりもせず読み進むことができた。
#NT4 SP4 日本語版が出たけどサイズが大きいのが辛い。素直に雑誌の付録になるのを待とう・・・
1998.12.15 : WinAMP Plugin の話その2
先週は出張でほとんどプログラミング出来なかった(;_;)。その前から作っていた WinAMP Plugin(音程変更)にスライダーを付けて完成させる。プログラミング的にはそれほど難しいところはなかったけど効果は気に入っています。
1998.12.05 : Visual C++ の話その1
ボーナスで VC++ を買った。前々から C コンパイラは欲しかったし、C→PASCALのコンバートに疲れたので(^^;。手動コンバートだとどうしてもエンバグするし。
とりあえずインストールして Hello world やら手元のソースやらをコンパイルしてみる。うまく通るものと通らないものがあるがエラーメッセージを見てもまだ原因が分からない(^^;.。ヘルプを見てもピンとこない。
付属のマニュアルを見ながらサンプルソースを打ち込んでみる。このマニュアルには MFC のみで C+API のプログラムの組み方は全然書いていない。ちょっと使ってみたけど MFC って Delphi 以上に束縛がきつい感じ。確かに定型プログラムを組むには便利かもしれないけど面白味がないかも。
私の場合ユーザーインターフェイスは Delphi で作って DLL やテスト用のソフトをVC++で作ろうと思っているので、MFC は使わない可能性大。
1998.11.27 : WinAMP Plugin の話その1
何気なく WinAMP の Plugin SDK をダウンロードしてみたところ結構いろいろ出来そうだったので早速 Delphi で書いたサンプルを探し回る。30分ほど格闘して見つけてきたのでソースを眺めて(そのままでは動かなかったので)書き直したところ DSP plugin が動くようになりました(音量を半分にするだけだけど(^^;)
DLL さえ作れば WinAMP のすばらしいユーザーインターフェイス&Visual が利用できるのは非常に便利。純粋に音周りのロジックをやりたい私にとってはこれ以上の環境はない。早速2,3点作ってみよう。
1998.11.22 : UltraMarine Player の話その2
ここ2週間ほど仕事その他でトラブっていたのでプログラミングできなかったけどやっと再開。Playerで1曲演奏後次の曲を演奏しようとするとアクセス違反でアプリケーションが落ちていたのだけど、dllに渡すデータを間違えていたのが原因と判明。バグフィックスしてまともに動くようになったので公開します。
1998.11.03 : UltraMarine Player の話
MPEG はなんと Delphi でやっている人が見つかった(しかも MPEG2 のエンコードまで対応している。現在は動画と音声が別々だけどそのうち統合されるに違いない)。画像の方はかなり良さそう(少なくともAVI2MPG1よりずっとブロックノイズが少ない)。音声はISOソースの移植なのでそこそこだと思う。今から追っかけてもとても追いつけないので断念。
短期テーマ?として DLL の勉強を兼ねて UltraMarine のプレイヤーを作ってみることにした。
#UltraMarine:倶楽部すっぽこ制作のPCM多重演奏プレイヤー。
とりあえず umut.h を pascal に書き直して API を叩くだけのプログラムを作ってみたところ、「DLLが見つかりません」エラーで動かない。いろいろやってみたところ、結局 external 指令に拡張子を書いていなかったことが原因だった。Delphi のヘルプで拡張子がなかったのでハマってしまった。
その後音が出るまでは割とサクっと行ったので調子に乗ってプレイヤーを作る。タルいユーザーインターフェイスまわりのプログラム(*1)を約6時間×2日続けて 80% 程度完成にこぎつける(もう少ししたら暫定公開します)。
(*1)私はユーザーインターフェイスとか絵のセンスはまったくといっていいほどないので、純粋にロジックを組むプログラムが好きです。UI まわりのプログラムだとわらしべ長者のような「こっちの値をあっちの変数に代入して、次はこのAPIを叩いて」というようなプログラムが多くなってしまう。しかもプレイヤーの場合、例えば再生ボタンを押したときでも今再生中か停止しているかによって処理が異なる(再生中なら一旦停止させてから曲を読み込んで再生させなければならない)ので場合分けが増える。しかもそういう苦労って使う人にはまったくといっていいほど見えない。
PS.NT4 SP4 の日本語版はまだ出ていないらしい。
1998.10.24 : NT4.0 Service Pack 4 の話
NT4.0 の動作がおかしい点がある(Server サービスが起動時にエラーになる)ために SP4 を当てようとした。家からダウンロードしようとしたのだが 30MBytes 以上あるため早々に断念し、会社でダウンロードする。土曜にもかかわらず丸々1時間かかった。
念のため現在のシステムのバックアップを取ってSP4をインストールしようとしたが、「言語が違います」エラーで撃沈。ちゃんと日本語バージョンを選択したつもりなのにぃ。
仕方がないのでもう一度チャレンジしてみよう・・・
1998.10.18 : デジカメの話
遅まきながらデジカメを買いました。リコーの DC-3Z で本体が \24,800、ケーブルが \2,600 (両方とも税抜き)なり。
早速使ってみたけどカメラの機能の全体的なバランスやコストパフォーマンスを考えれば十分お買い得。プリントアウトはあまり考えていないので VGA で十分だし、ズームも便利。
調子に乗って40枚ほど撮ったら2時間ほどで電池が切れてしまった。
1998.09.23 : MPEGその2
昨日のバグはメモリストリームの初期化ミスだった(^^;
とりあえず MPEG にはなったが色が化けている。いきなりMPEGは難しそうなのでまずはJPEGの勉強をすることにした。PascalのフリーのJPEGのソース(PASJPEG)をステップ実行させて追っかけていくことにする。
1998.09.22 : 新テーマ
LowLVPCM関係も大体メドが付いたので、以前書いていた画像圧縮の方に取り掛かることにした。目指せ MPEG Video Encoder(風呂敷広げすぎだな・・・)
とりあえずNifty にアップロードされていた AviImage コンポーネント(河邦氏作)を使って avi から任意のフレームを取得することはできるようになった。続いて RGB -> yuv 変換をし、ファイルに出力して ISO な MPEG Encoder(mpeg2encode, MPEG Software Simulation Group)にかけて生成した mpeg を Active Movie で再生させてみたが、かすかに原形が分かる程度で砂の嵐。どうも RGB -> yuv 変換にバグがあるような感じ。
今日はここでタイムアップ。
1998.09.14 : 低レベルPCM演奏コンポーネントその4
9/12 現在の Nifty からのダウンロード。
- LLPCM040.LZH : 42件
- PFORM001.LZH : 56件
さすが Nifty、人数が違う。
スペアナの高速化&別スレッド化を行ったので、サンプルを DownLoad ページに置いておきます。Pentium-166〜200 程度あれば秒間50フレーム表示できると思います。La10 で50フレーム表示したかったんだけど画面描画が遅いのでかなり辛い。
1998.08.30 : 低レベルPCM演奏コンポーネントその3
懸案だった「8bitデータの演奏が終わるときにアクセス違反が出る」バグがやっと取れました。これで安心して Nifty にアップロードできます(今日やります)。
次の目標だったスペアナを作りました。フォームに直接 GDI で書き込んでいるのでちらつきが激しいけど第一目標としてはかなりいい線行っています。後はメーターの触れを人間が聞いた感じと合わせるのとグラフィックの改良かな。
1998.08.30 : WindowsNTの話その2
NT で SCSI(Tekram DC-390U)の認識に失敗していたんだけど、なかなか原因が分からずに苦労しました。
ポイントは、
IRQ share を解消する(私の機械の場合 AGP と PCI slot1 が必ず share されるので PCI slot1 を開けた)
NT4 インストール時のデバイスの自動認識はスキップして、手動で Tekram のドライバをインストールさせる(一度 Symlogic のドライバを選択してしまうと、NT4 を再インストールしないと直らなくなる。修復セットアップでもダメ)
ドライバ、BIOS は全て最新のものを使用する (カノープスのグラフィックのドライバが古いバージョンだと動作しなかった。)
くらいでしょうか。
まだサーバーサービスが起動できない(「このコマンド゙を処理するのに必要な記憶領域をサーバーで確保できません」と出る)んだけど、設定がおかしいのだろうか?
1998.08.13 : mlr32の話
通信環境も互換機に移したので、PMD-BBS 用の mlr32 のマクロを作る予定。
夏休み中には何とかしたいなぁ。
1998.08.13 : WindowsNTの話
新機種を買ったついで?に、NT4.0の勉強を始めることにする。プログラマにとってカーネルが落ちないOSは必須だし。
とりあえず最低限の設定は問題なく終了したが、今のところ安定性の高い95と何ら変わらん。ただソフトウェアの対応はやっぱり95のほうがいい。Sonic Impact は NT だと MIDI は FM 音源でしか対応していない(将来的には対応するかも)とのことだし、ソフトウェア MIDI も NT に対応している(ドライバとして組み込める)ものは少なそう。
ネットワーク接続したクライアントからインターネットに接続したい&自動バックアップをとりたいんだけど、いろいろ勉強しないとだめだなぁ。
1998.07.20 : 低レベルPCM演奏コンポーネントその2
調子に乗ってレベルメーターを作ってみた。ちょっと反応が鈍いけどなかなかいい感じ。
機能的にはほとんど完成したのでぼちぼち公開しようかと思っているんだけど、ドキュメントの作成がなかなか進まないです。
Nifty デビュー(笑)はいつの日か?
1998.06.28 : 低レベルPCM演奏コンポーネントその1
かなり大規模に作り変えて終了時に例外が発生するバグを退治。もう一つの課題だった連続演奏にチャレンジするもまたまたスレッドの同期でエラーが発生。さらにデバッグ中フリーズしてHDDを飛ばした(T_T)
再インストールで3時間ほど要した(;_;)