まどかの 日記

[2001/10/13〜2001/10/21の日記]
[2001/10/22〜2001/10/28の日記]
[2001/10/29〜2001/11/04の日記]
[2001/11/05〜2001/11/11の日記]
[2001/11/12〜2001/11/18の日記]
[2001/11/19〜2001/11/25の日記]
[2001/11/26〜2001/12/02の日記]
[2001/12/03〜2001/12/09の日記]
[2001/12/10〜2001/12/16の日記]
[2001/12/17〜2001/12/23の日記]
[2001/12/24〜2001/12/30の日記]
[2001/12/31〜2002/01/06の日記]
[2002/01/07〜2002/01/13の日記]

0100
2002/01/20()
 祝!! まどかの自己満足日記100日達成! 
 はい、おめでとうございます。ありがとうございます。
 2001年10月13日から、思いつきと自己満足のために始めたこの「まどかの自己満足日記」ですが、今日でめでたく100日目を迎えることができました。

 よく続いたというか、結構楽だったというか、生まれてこのかたこんなに日記が続いたのは初めてです(^^;
 日記って書き始めると、書かなきゃいけないという使命感がなぜか生まれて、結構続けられるもんですね。

 ちょっと振り返ってみてみると、100日でも結構いろいろなことがありましたし、先日この日記を書いていたことで救われた(役に立った)出来事もあったので、やっぱり日記は書くべきです(^^;

 で、記念すべき(?)100日目は何をしていたかというと、今日は、毎週恒例の彼女と遊ぶ日なので、彼女と一緒にガストにお昼を食べに行ったり、スマブラDXで遊んだり。けど、途中P/ECE開発での寝不足で、私だけ寝ちゃったので、彼女には悪いことしたなぁ。この場を借りて謝ります。ごめんなさい。m(-_-)m けど、プログラム開発は私の生きがいなので、またやると思うけど、どうか許してください。

 それで、部屋に帰ってからは、MM音楽館の続きです(^^; ほんと、プログラムばっかり。

 今日は、昨日散々悩んだ、通常ファイルを表示すると正常に音楽ファイルを演奏してくれないバグを直しました。
 昨日の日記にも書いていたとおり、原因はホントにイージーミスがらみでした(^^; 見つけたときは、「ほら、やっぱりぃ!」って感じでした。
 具体的に言うと、ファイルからデータを読み込むところで、バッファのポインタがNULLじゃないかどうかをチェックしているのですが、このバッファのポインタが引数でもらうものではなくて、以前の実装の名残で、グローバル変数を参照していたんです。
 で、通常ファイルを表示しないときは、たまたまそのグローバル変数をいぢらないので上手くいってて、通常ファイルを表示するようになると、そのグローバル変数をいぢっているので、おかしくなったのでした(^^;
 比較的短時間で原因が見つかって良かったです。これで、先に進めます(^^;

 やっぱりプログラムも、野球やサッカーなどのスポーツと一緒で、経験が大事ですね。私は強くそう思います。ルールブックは完璧に理解しても、野球は上手くなれないということですね。体で憶えないと(^^;
 
 というわけで、通常ファイルもリストに表示できるようになったので、通常ファイルの削除と赤外線通信が可能になりました。おお、便利になったなぁ(^^;

 後は、設定メニューに「通常ファイルの表示 ON/OFF」を加えて、赤外線通信の問い合わせ部分をちょっと修正して、Ver.0.8は完成かな。うーん、あともうちょっと手を加えてもいいかな。カーソルのアニメーションとか。

 というところで、今日はおしまいです。

 それでは、おやすみなさい。

0099
2002/01/19 ()
 MM音楽館Ver.0.7をリリースしました 
 はい、今日はMM音楽館Ver.0.7の仕上げをして、リリースしました。

 今回の更新のメインは赤外線通信とファイル削除。特にファイル削除はファイルパック形式のファイルの中の任意の音楽ファイルのデータだけを削除できるのが特徴です(^^;

 で、マニュアルの画像も一新して、なんと私のP/ECEの写真付き。レアなストラップもネット大公開! ピンクのクマのグル〜ミ〜ストラップは、作者直筆の血付きなので、激レア!? といった代物(^^;

 これで一応携帯MML音楽プレーヤーとしての必須機能の実装は終わったのですが、金曜日の仕事の休憩時間にいろいろやりたいことをToDoリストにして書いたので、早速今日からその内容に取り掛かりました。

 まず始めたのは、MM音楽館で通常ファイルを扱えるようにすること。リストに*.pexとか音楽データファイルではない、通常ファイルも表示するようにして、せっかく上手く出来た赤外線通信で、通常ファイルも転送してしまおうという試み。
 これでファイルリストに表示できればファイル削除にもすぐ対応できるので、かなり便利になるかも。

 というわけで、早速実装に取り掛かったのですが、ある程度進んだところで、不可解な問題にぶち当たりました。
 通常ファイルモードでは、ファイルパックをひとつのファイルとして表示するので、演奏させることが出来るのは、単体の音楽データファイルだけで、音楽ファイル検索ルーチンもそれ用に書き直したのですが、なぜかファイルの読み込みが正常に出来なくなってしまいました(j−j

 それが不可解なことに普通の音楽ファイル専用モードでやっても、上手くいきません。しかも、従来通りのやり方ではちゃんと読み込めるのに、曲を演奏開始させる直前で、無理やり直接ファイル名指定でデータを読み込んだら失敗する。なぜ!???

 従来どおりの音楽ファイル検索で読み込むところはちゃんと読み込めているので、読み込みができないのは、イージーミスが絡んでるクサイです。ええ、今までの経験からして(^^; こういう不可解で訳のわからないバグに限って、原因がイージーミスなんですよね。全然見当違いの所で間違っていることが多いので、見つけるのは困難です。ううー、困った。

 こんな時は基本に戻るか、全然違うところを調べてみるのが吉なのですが、ちょっと考えてみても答えが見つかりません(j−j どうしたものか。

 というところで、朝になってしまったので、今日はここまで。
 明日は記念すべき(?)日記100日目です(^^;
 それでは、おやすみなさい。

0098
2002/01/18 (金)
 どっと疲れました(^^; 
 あー、今日は来週出張に行く仕事の出張準備が完了したことと、MM音楽館の赤外線通信が完成したことで、安心して気が抜けたのか、部屋に戻るといきなり疲労感に襲われました(^^;

 きっと昨日も遅くまでMM音楽館の開発をしていて寝不足だったからでしょう。

 というわけで、今日はこれで、おやすみなさい。
 明日はMM音楽館Ver0.7のりリース用にマニュアルを更新します。

0097
2002/01/17 (木)
 なんとかできました(T^T) 
 えー、今日は昨日に引き続きウエイトを調整してなんとかタイミングを合わそうとがんばりました。
 で、今までは、適当にfor文のループでウエイトをとっていたのですが、どうもそれでは役不足だったようで、結果的には、60msecで呼ばれるメインプロシージャ2・3回分のウエイトが必要だったようです。

 厳密的には、もうちょっと短くても良さそうな感じですが、とりあえず動いたので、このままそっとしておくことにします。

 それで、今日気が付いたことなのですが、どうも、pceIRGetStat()で通信状態を監視して、0が返ってきたら通信完了との事なのですが、どうもこのAPIは当てにならない感じです(^^;
 もちろん、0を返してちゃんと通信できていることはあるのですが、どう見てもタイミング的に受信できているはずなのに、受信してなかったり、送信が完了するのがすごく早かったり、おや? っと思うタイミングで0が返ってきているようなので、今日はそれを無視して、余裕を持ってウエイトをかけ、通信の完了を想像で待って処理をすると、どうやら上手くいったようです。

 APIのソースをあまり解析していないので、一概におかしいとは言えないのですが、あまり信用しきってもだめなようです(^^; 赤外線のところって、切羽つまってデバッグしきれなかったのかな? P/ECEの発売に「タンクバトル」の収録が間に合わなかったくらい、大変だったようだし。この「タンクバトル」の収録が間に合わなかった理由が、販売直前になってカーネルのバグが見つかって、それを直したら「タンクバトル」のカーネル依存部分を直している時間が無くなったとのことだし(^^;

 販売後も積極的にカーネルのバージョンアップもしてくれているし、サンプルソースも豊富だし、なんと言ってもカーネルのソースの添付してくれているのだから、多少の不具合は大目に見てあげても損は無いと思ってます。

 だって、こうやって悩むのも楽しいし、カーネルのソースを解析する楽しみもあるし。私もソフトウェア開発者のはしくれなので、共感できることもあるし(^^; P/ECEスタッフの皆様、これからもがんばってくださいね。

 今日は、とりあえずで通信速度は遅いんだけど、ファイルサイズに関係なくちゃんと送れるようになったので、一安心だし、満足(^^;

 あとは、電池の電圧チェックを加えて、Ver.0.7のリリースといこうかな。このVer.0.7あたりでコンテストの1月賞に応募しようと考えているので、あとは最終チェックのみかな。なんとか間に合いそうだ。

 というわけで、今日はここまで。
 それでは、おやすみなさい。

0096
2002/01/16 ()
 やっぱり今日もダメでした(j−j 
 はい、今日も部屋に帰ってMM音楽館の続きをしたのですが、やっぱりタイミングが合わなくて上手くいきません。かといって、ファイルサイズとタイミングとの関係がよくわからないし、有効な手段が思いつきません。

 やっぱりカーネルの赤外線通信ルーチンから見て、上手い方法を探すか、上手くいくように修正しないといけないのかなぁ。けど、赤外線通信ルーチンのソースはコメントがほとんど無いし、よくわからないので、ちょっと難しいですよね(^^;

 アプローチの仕方が多分悪いんだと思うのですが、タイミング調整以外にとりあえず有効な手段が思い浮かばないので、もうすこしこの線で行きたいと思ってます。
 明日は、受信側と送信側でそれぞれウエイト調整が必要な個所にねらいを決めて、通信中に十字PADでウエイトの調整ができるように修正してみます。

 これで、ちびちび調整してちょうどいい値が見つかれば良いし、見つからなければ、ユーザーに「上手くいかない場合は調整してください」という方向に持っていくかな。このやり方はあんまり気が進まないんだけどね。

 他の赤外線通信しているPalmやゲームボーイポケットとかはどういう風にやっているのかなぁ。ある社員さんが参考にと紹介してくれたXMODEMの通信手順では、2秒間隔だったか、時間を決めてやりとりして、ACK/NAKで通信エラーをチェックしてたなぁ。もしこれをやろうと思ったら、タイマー使って、割り込みでやることになるかな。
 タイマー割り込みでやろうと思ったら、とりあえず、最初のファイルサイズやらファイル名やらを通信するやりとりをしてからデータ通信部を定期的なタイマー割り込みでやるのがいいのかな。
 けど、今も通信のやりとりは、定期的に呼ばれるメインプロシージャの中でやっているから、タイマーとあんまり変わんないんだけどねぇ。むぅ。
 
 そうそう、今日P/ECE関連のサイトをさまよっていたら、P/ECEのMMLで曲を公開している人のサイトに辿り着いて、なにやらゲームの音楽担当の人のページみたいなのですが、音楽データの公開ページに、おすすめMMLプレイヤーとして、私の「MM音楽館」が紹介されていたのでびっくり! 嬉しかったです(T^T)
 時間が出来たらその人にメールでお礼を書こうと思っています。

 P/ECEのMMLプレイヤーとしては、私のMM音楽館も含めて、現在3つ公開されていますが、がんばって一番使ってもらえるものにしたいです(^^; 

 それと、今日P/ECEの開発しながら夕飯の蜂蜜入りサンドを食べていたら、その蜂蜜がP/ECEに垂れてて、「うぎゃー!!」とか言いながらティッシュでとりあえず拭いたのですが、しばらくするとボタンの溝に入った蜂蜜が固まってボタンが押せなくなりました(j−j
 しょうがないんで、中を開けて念入りに拭き取りました(^^; まだなんかしっくりこないですが、そのうちこなれて元の感触にもどるでしょう。ああ、焦った。

 それでは、今日はこれくらいにして。今度の休みにバリバリやろうと思います。来週は出張で神奈川の方に何日か行くので、それまでに仕上げておきたいなぁ。ホテルで気になってしょうがなくなるだろうから(^^;
 明日・明後日はその出張用のアプリの最終チェックです。さあ、この仕事もがんばって仕上げるぞ!

 というわけで、おやすみなさい。

0095
2002/01/15 ()
 世の中不思議なことだらけ!? 
 はい、今日もMM音楽館の続きをやっていたのですが、やっぱりうまくいかない。うむぅ。

 ファイルサイズの処理時間の違いを吸収するためにファイル名通信をした後に、「受信OK」「送信OK」のやりとりをして、「送信要求」と「送信データ」の通信タイミングのあたまを揃えたつもりだったんだけどなぁ。
 それでも、ファイルのサイズの違いでタイミングのずれがあるみたい。なぜ!?

 なんか上手い方法はないかなぁ。ウエイトをユーザーに調節してもらうのが一番確実なんだけど、そんなことやってもらえないしねぇ。どうしたものか。

 とりあえず、タイミング調整以外のアプローチを探しつつ、やっぱりタイミングの調節をするしかないのかな。
 なんとか、タイミング調節のウエイトと、ファイルサイズの関係がわかれば、ちゃんとできるのにねぇ。

 というわけで、うまくいかず、イライラしたまま、別れを惜しむ恋人のように、心を鬼にして、今日の開発はここまで(^^;

 明日も早いし、今日はもう寝ます。
 それでは、おやすみなさーい。しくしく。もっとやりたいよぉ(j−j

0094
2002/01/14 ()
 むむ、なぜうまくいかないの!? 
 今日は、のんびり寝て、昨日の予定通り、MM音楽館で、手直しをしていたのですが、なぜか上手くいきません。

 ファイル名の受信をしてから、「受信OK」・「送信OK」のやり取りをし、データの通信に入っているので、ファイルサイズの違いによる時間のずれは無いはずなんですが、うまくいきません。
 それどころか、前よりタイミングがずれたような気も……(^^;

 色々タイミングをずらして試してみたのですが、いまひとつ上手くいかず、今日はここまで。
 くぅ、くやしいなぁ、もうあとちょっとなのになぁ。むぅー。

 それでは、おやすみなさい。