土曜〜月曜の雑記

・土曜。睡眠時間7時間+1〜2時間くらい。断続的な起床により平日より早く起きてしまい二度寝も難しかったが、それでもなんとか二度寝できた。ちょっと体が重いか。


・とうとう洗濯機がお亡くなりになってしまった。電源すら入らない。
土曜の午前中に気がついて良かったな。ともあれどうするか。
選択肢としては「ひとまずコインランドリーを探して済ます」「今すぐ洗濯機を買い換える」の2択かな。コインランドリーに行って待つ時間を考えると洗濯機を検討して買ってくる時間と同じようなもんなので洗濯機購入一択かな。
次の選択肢は「どこで買うか」だ。通販だと時間かかりそうなので実際に見てこれる範囲、つまり「近くの家電店(小)」「隣駅の家電店(中)」「横浜の家電店(大)」のどこに行くか。欲しい機能は「静音」くらいだが、古い洗濯機を引き取ってもらえるとありがたいのでそこらへんも気になる。これは実際に見てみないとわからんかな。
というわけで「近くの家電店」を見てから「横浜の家電店」に行くかな。どうせ時間的には隣駅ともそんなには変わらないし、確実性を考えると大きい方に行きたい。
あとは洗濯機のサイズを計れば問題ないはず。


・今日雨じゃなくて良かったな。軽くメシを食ってから出かけるとしよう。金もおろしとかないとな。


・洗濯機を買ってきた。よくよく考えると横浜は家電店があんまないので、隣駅の方に行ってみた。わりと空いてて目当てのもわりと安く買えたけど、配達は忙しいらしくて来週の土曜になってしまった。この時期でも混雑するのか。時期的にエアコンとかとかぶったのかなぁ。


・そういうわけで今日は洗濯物は手洗い。コインランドリーも探したがすげー遠かったので自力でやることにした。


・なんか体調が回復してるな。朝はしんどかったのにな。しかも現在絶賛怪我してるのにな。自力で洗濯したのが良い運動になってるのだろうか。上半身の運動不足がヒドいからなー。通勤的に下半身はわりと使うんだけど。


・やはり認識が回復してる。Splatoonの動画を上げて、弟達とそれであれこれ言えたのも大きいのかもな。


・日曜。睡眠時間7〜8時間くらい。また耳栓するようにしたので質は改善してるかなぁ。あまり影響ないだろうか。ともあれ二度寝もできなさそうだったので起床。


・そういえば近所のセブンイレブンで牛丼が売られてなかった。コーンもなくなってた。仕方がないのでヨーカドーを見に行くかなぁ。特に牛丼はレンジだけで完結するのでSplatoonしたい時に重宝するんだよな。


・ヨーカドーに行ってきたが、コーンはあったものの牛丼はなかった。
どうするかなー。牛丼を作り置きする?しかし自作だとレンジにかける時間が長くなるのがなー。


・そろそろアイスが欲しい時期になってきたが、今のところ食いたいアイスがないなー。バナナミルクはまだ食ってないから一度だけ試してみるか。


・月曜。睡眠時間7〜8時間くらい?昨日は久々に死の恐怖〜発狂が起こった。最近は大丈夫だと思ってたんだけどなぁ。暴れなかっただけ良しとしようか。そしてやはりその状態までいけば寝るのはそんな遠くなかった。


・歯医者はまだ型を取る段階で、来週に実際に何かかぶせるっぽい。終わるのは再来週かな。


・とりあえずRubyでドラッグ&ドロップや右クリックのメッセージを送ってみたが再現せず。Arrayからのpackでバイナリにして渡してるサンプルは見たので、バイナリはたぶんこんな感じで良いのだろうとは思うが。少なくともなんらかの反応が返ってくる事を期待したんだけどな。最前面に出さないとダメなのかな。


・お、最前面に出したら右クリックは反応が出た。というか(0,0)の位置の右クリックだとメニューが小さすぎて分からなかっただけか?
ともあれハンドラは正常。右クリックまでは一応いけた。あとはドラッグ&ドロップにするか右クリックの位置指定にするか。ひとまず休憩しよう。わりと疲れた。


・ドラッグ&ドロップも新規プロジェクトの作成ウィンドウまではいけた。どうやら変なファイルをドラッグ&ドロップするとそういう感じになるらしい。となれば文字コードとかの問題かなぁ。


・ファイルの置き場所を日本語やスペースを含まないところに移して確認したがダメだった。となると、バイナリへの文字列の埋め込み方がおかしいのかな。


・仕事の方は念のための調査も終了し、再び完全に暇になった。ちゃんと休養に気を使いつつ個人の作業を進めよう。


・packでも上手くいかないし、パス名.bみたいなのをつなげても上手くいかない。


・ふーむ。fWideをFalseにしたら上手くいった。あとは色々と戻してそれでも上手くいくか確認しよう。
その前に一旦休憩だな。意図的に休憩挟まないとズルズルやってしまう。


・どうも「RubyからAviUtlを起動した時」と「最初からAviUtlが起動してる時」でも挙動が違うな。一応Sleepで待たせたりしてるんだけど、それじゃなんかダメなのかな。


・Sleepを長くしたら上手くいったので何かセットアップ中だったのかな。ともあれこれはこれでOK。


・パス名を決め打ちしていた部分をバッチに入れたパス名にしたところダメになった。どうもパス名.encode("Shift_JIS")してやらないとダメな様子。


・そしてようやく日本語とかを含むパスからでもドラッグ&ドロップを再現できるようになった。
最終的にはこんな感じ。

filepath = ARGV[0].encode("Shift_JIS") + "\0"
wparam = [20, 0, 0, 0, 0].pack("L!l!l!l!l!")
wparam = wparam + filepath.b
WIN32API.PostMessage(hwnd_exo, WM_DROPFILES, wparam, 0)

たぶんpackに文字列を追加しても良いと思うんだけど、そのまま採用する方法がいまいち分からなかったし、こっちの方が分かりやすいかなと思ってこんな感じになった。
実際のコードはいつかメイン側に上げるかな。


・やはり2つ目のEXOをドラッグ&ドロップすると追加されてしまうか。AviUtlを一旦落としてから再起動した方が確実かなぁ。


・あぁ。AviUtlを落とすのはたぶんWM_CLOSEを送りつけるだけで良いと思うんだけど、すでに起動してるAviUtlを特定するのが案外面倒か。前回処理してたら拡張編集の方のウィンドウが手前に来るし、メインの方は読み込んだファイル名に応じてタイトルが変わってしまう。
だからAviUtlは落とした状態で起動して、コンバートが終了したらAviUtlも一緒に落とすのが良いかな。起動直後であれば本体のウィンドウ名はAviUtlだから特定できる。


・うーん。なんかドラッグ&ドロップが反映されたりされなかったりする。
ひとまずそっちは置いといて、コンバート部分を進めてるけどなんとかなりそう。AviUtlControlのソースコードが本当に役に立ってる。


・どうもGlobalAllocで確保した領域でないとドラッグ&ドロップに使えないっぽい?また面倒だなぁ。
そしてコンバート用のダイアログを表示するところまではできたが、そこからファイル名を入力する部分の取得に失敗してる。
今日は残り30分もないしここまでかな。ちょっと作業しすぎた感がある。