甥っ子が中学生になりまして。んで、新入生の女子は男子の半数に満たないとか。理系を選択しましたみたいな状況っすなー。まぁ3年間頑張って下さい。私は頑張れないのでそれはさておき。
オシロっぽいの新版を申請しようと思ったんですが、あー、あれ? てなわけでまた明日。
オシロっぽいの新版出ました。英語がアレなんで、今回もアプリの履歴の説明が日本語の方もかなりアレ。『「表示」>「操作部を表示/隠す」メニューを追加』....ってなんだよwww。『操作部を隠せるようにした』ってのが正しい説明ぢゃないのか? メニューについて書くのはヤり方の説明になってるから、その方がある意味分かりやすいやも知れないけど...。まぁイイか。
『いくつかのユーザインタフェースを改善』ってのもサッパリわかんなくて不親切だよねー。ヒドいわ。具体的には『波形表示部のダブルクリックでRun/Stop』とか、『波形表示部のドラッグ操作時にshiftやoptionキーを押しながらで段階的移動』とか、『グリッドサイズ変更時に波形の再描画』なんての。『shiftやoption』は誰も望んでないやもですが、個人的嗜好で。最後の『グリッド...』は、あれぇ?サイズ変更したら波形が消えちゃったよ?なんで?と思ってプログラムを見直したら波形は消したままだった。以前からそぅでしたっけか? まぁとにかく、描いた方がイイに決まってるから描いとこう。改善、改善っと。
先週、英文メールが来まして。あーまた不具合かなぁドキドキ....うわぁ不具合だぁぁぁ。LissajousSaverを作って上げた方からで、「止まっちゃうよ。アップデートしないの?(超訳)」とのこと。OS環境は具体的に書かれていませんが、最新のMontereyっぽい。試してみたら、なるほど、システム環境設定内のプレビューが表示されないや。んー、問題無く動くであろうXcodeのスクリーンセーバのテンプレを用いて、動作を調べてみよう。
1. initWithFrame:isPreview:
2. hasConfigureSheet
3. hasConfigureSheet
4. drawRect:
数字はメソッドが呼び出された順番ね。hasConfigureSheet
が2回呼ばれるのが謎なのはさておき、startAnimation
が呼ばれてないから止まるのね。これってシステム側のバグぢゃね? でもちゃんと動くときもあるのよ。再現方法が分からないんすけど、動くときはつぎような感じ、ってちょっと待って!startAnimation
がdrawRect:
の後に呼ばれるの!?
1. initWithFrame:isPreview:
2. hasConfigureSheet
3. hasConfigureSheet
4. drawRect:
5. startAnimation
6. animateOneFrame
...
startAnimation
が先であるのを前提にしてましたよ。だってmacOS Mojaveではそぅなってるし。他のOSで確認したら、Mojaveの次のCatalina以降はstartAnimation
がdrawRect:
の後になってるぢゃないですか。え〜〜〜そんな〜〜〜〜。
drawRect:
内でisAnimationのフラグが立っていなければstartAnimation
を呼んでやる、そしてstartAnimation
内でisAnimationのフラグが立っていれば何もしない、って感じですかね。んで、手直ししたものを先方様に確認ちう。「止まっちゃう」の内容が別件だったらどぅしよう...。