日記(928)

<前 次>

昨日は仮免受かったのだ

NeoMupl、MIDI再生中はMIDIポートを変更させないようにしました。
MIDI再生中にポートを変更すると前のポートでの音が鳴ったまま次のポートへ続きからMIDIメッセージが送られるので、前のポートで最後に鳴っていた音が鳴りっぱなしになりつつ次のポートでの演奏は情報不足のためどんな音がなるかわからないという状態になっていました。
それと、削除の高速化もしました。
.NETのListBoxは項目を上書きしようとしたとき、項目の内容が同じだった場合は上書きはしないという仕様だったらしく、できるだけ項目の上書きが少なくなるように削除する場所を調整したら劇的に速くなりました。
以前のアルゴリズムだと削除した項目より後を全部変更していたので最初のほうの項目を削除するとかなり表示に時間がかかっていました。

TGBBSは、スレッド表示ができたので、返信フォームと返信処理を作成中です。

続・表示処理

TGBBSのトップページ表示処理は出来上がりまして、今度はスレッド内容の表示に取り掛かっています。
TBBSとのわりとはっきりした違いは、トップページの最新記事の扱いが大きくなっているところです。
つまり、最新記事の部分だけでも掲示板として成り立つということです。
スレッド表示も中途半端ですがアップしておきました。

表示処理

TGBBSの表示処理を作ってます。
とりあえず今のところはスレッド情報をスレ主ごとに整理した情報を元にアイコンと名前を表示するところまでうまい具合にできています。
うまくいけば明日中にでも何らかの画面を出せるかも。

再生速度変更に伴う不具合などについて

今日はNeoMuplで再生速度を変えると曲の終了位置を間違えてしまうバグが急に気になりだして、直そうとしてました。
再生速度を2倍にすると半分のところで曲が終わってしまうので、曲の長さか再生位置のどちらか一方が再生速度の影響を受けているのだと思いますが、そのあたりを修正して今聞いているのですがどうにもやっぱり半分で切れるようです。
もう一つ、DirectMusicでボリュームが変わらない問題も気になったのですが、従来のMIDIポートとやらではどうしようもないみたいです。
MIDIって結構曲や作曲者によって音量バランスが極端なのでこういうのにこそ個別のボリューム調整がほしかったのですが。
あと、そろそろ設定ダイアログの実装も始めようかと思っています。

無題

ほぃ、そんなわけで、一時停止のことも踏まえて、スクリプト講座更新しました。
では、メテオスオンラインでやりたいことがあるので。

外付けのハードディスクが早くも…

いやあ。さっそくRAIDが役に立ってくれましたよ。
今朝なぜかハードディスクのアクセスランプがついたままになってドライブを認識できなくなって、仕方なく無理矢理電源を切ってパソコンから切り離して再起動させたらリビルド(データの復旧)が始まって、夕方になってドライブが復旧しました。
RAIDだったおかげでデータが消えずに済んで…って!
たった一ヶ月でリビルド発動ってどういうことだ!?
オート電源OFF機能も働いていないし、何年も故障なく働いてくれていた本体のほうのハードディスクと比べてあまりに軟弱!
おかげで今日やる予定だった掲示板の表示処理も全然できずですよ。

表示処理作り始めました

TGBBSに昨日入れ忘れてた最新情報更新機能を入れて、いよいよ表示処理に取り掛かり始めました。
しかし結構複雑なプログラムになっているのでちょっと大変なところがあります。
Perlで書かれたGBBSを見ながらですが細かいところの違いなども気になったりします。

<前 次>