MENU

RestHouse

音楽サイト「Little Mustapha's Black-hole」の音楽ブログということになっているはずです。

Recent Articles

Category

Monthly Archive

創作日誌 Vol.3

メコリス初め

思いどおりに動いてくれている時だけ、プログラミングは楽しい。

240105_01.jpg
ということで、Tauriでやってるアレこと Mecoress バージョン0.3へ向けてメコリス初め、と見せかけて、実は1日から少しずつ作業してたりして。

そして、キモーヌちゃんは簡単だと言っていたオーディオファイルの読み込みも出来るようになったのです。
やり方はビデオの時とほぼ同じですし、簡単ではありました。

ただ最終的にビデオもオーディオも同じ関数で読み込むようにしたのですけど、増築に改築にという感じで全体のコードがどんどん増えていってゴチャゴチャなのです。

それでメディア関係のコードは別のファイルに分けようと思ったら、読み込む部分でメインの方のコードの関数を使ってたり。
メインの方で読み込んで使うはずの関数がメインの方の関数を読み込んで使うとなると、これはこれで不健康な感じもするので、とりあえず分けずにメインの方にまた関数増築。

こういうのをスッキリさせるためには大幅に書き換えないといけないのか、どうなのか。
なかなか難しいのです。


ついでに書くと、開発中バージョンなので「テストボタン」が復活しているのです!

アレ感

[ 作ったらできました。中国、64コアEPYCとGeForce RTX 4080を内蔵したモンスターノート - PC Watch ]

これはかなり「悪魔デバイス」っぽいのですが。

ただ、この部屋にある悪魔デバイスの実態はモニタとスピーカーとUSBのゲームコントローラをくっつけたもので、コンピューターは別売りです、という注意書きがある感じなのですけど。

というか、悪魔デバイスと比べても意味がないですが、リンク先記事のヤバいヤツは、別にノート型にする必要がなさそうなスペックだったりしますけど。
しかもバッテリーでは動かないっぽいですし。

どっちかというと、悪魔デバイスがあのサイズで、こっちのスゴいパソコンは悪魔デバイスサイズにしたらちょうど良さそうとかも思いました。

0.1.1へ

暑い時もそうですが、寒い時も集中力が持続しない気がします。
その前に、手がかじかんでいてタイプが上手く出来ないというのもありますが。

とにかく、TauriでやってるアレことMecoressが0.1.0betaになったばかりなのに色々と問題点が見つかるのです。

細かいところはすぐ直せたりするのですが、気になるのはメニューを自作した感じの部分。

アプリのメニューは中身を作ればTauriが勝手に作ってくれるのですが、ウィンドウ内のメニューは自分でなんとかしないといけないので、クリックするとメニューが出てくるようなのを作ったのです。

前回のMecoressのMeの部分もそうですが。

シンプルなメニューだと上手くいくのですけど、メニューの中に更にメニューがあるようなのは、作る以前にどういう挙動になっているのかを調べるべきだったということで。
根本的なところから作り直す必要がありそうなのです。

というか、普段は何も気にしないで使っているアプリのメニューですけど、こうやって考えてみたりすると、使いやすいように色々と考えられて作られているのに気づいたりします。

気づくのは良いのですが、それを自分で作るJavaScriptで再現できるのか?というとアレなのですが。
多分、もうちょっと秋っぽい気温になってくれたら出来るんじゃないかと思っています。

先走るベータ版

そろそろやるべき事はやったのではないか?と思い込んで Tauriでやってるアレこと Mecoress の新バージョンをビルドしてみたのですが。
231114_03.png
テストボタンを消し忘れている!

それはともかく、前のバージョンではメニューはあるけど選択しても何も起こらなかったMecoressのMeの部分が機能するようになったのです。

カタログに読み込んだファイルを指定したソフトで開く、あるいは開くように努力するという機能ですけど。
指定したソフトを記録しておくためにアプリの設定を変更して保存できるようにしたので、けっこう本格的な感じが出てきました。

ついでに、アプリケーションメニューに"Preferences"という項目があるのも本物っぽいです。

本物っぽくても実際に使ってみるとボロが色々と出てくるので、またしばらく修正版がビルドされ続けるのだと思いますけど。

<!-- というか、すでに第一回目の大幅修正が行われてたりします。-->

仕上がらない

あと少しで一段落なのでバージョンアップということにしようと思っているTauriでやってるアレことMecoressですが。

さっきMacのフルスクリーンの仕様によりスライドショーの機能をフルスクリーンで上手く操作できない、と書こうと思っていたら、書いている途中に解決策を思いついて試してみたら惜しかった、ということなのです。

なにが何なのか?ということですが。
Macでフルスクリーンモードにしている時に"Esc"を押すと、JavaScriptで設定したのとは関係なくフルスクリーンモードが解除されてしまうので、スライドショーのレイアウトがそのままでウィンドウサイズが小さくなる感じで、みっともない画面になってしまうのです。

ただ、フルスクリーンから普通のウィンドウに戻る時は、ブラウザ的には"resize"のイベントって事になるようなので、"resize"に反応してスライドショーを終了させれば、私は天才ってことになるはずだったのですけど。

なぜか上手くいったりいかなかったり。

ついでに書くと、Macのフルスクリーンモードはサブモニタが使えなくなるので、あんまり好きではない。しかも今回の問題解決のためのWebInspectorもフルスクリーン中は見えないので、さらにイマイチ感が増しているのです。

タウリン進化しそう

[ Rust製ブラウザエンジンの「Servo」、アプリに組み込み可能なクロスプラットフォーム対応WebView化を目指す。Electron代替を目指す「Tauri」への組み込み実現へ - Publickey ]

進化というか、OSごとのビミョーな違いがなくなって、あっちだと上手くいくのにこっちだとダメというのがなくなりそうな感じがします。

このServoというのもTauriのために作られるワケではなくて、昔からあるけど紆余曲折な感じでここに来て再注目ということみたいですけど。
こういうソフト開発の裏事情は良くわかりませんが、Tauriが良くなってくれるのなら良いことなのです。

それとは関係なく、TauriでやってるアレことMecoressでは、WebKitでしか出来ないCSSのデザインを使ってたりするのですが、そういうのは出来なくなるのかも知れないとか。

ついでに書くと、順調に行っていたMecoressの新バージョンが久々に詰まって同じところをずっと考えていたのですが。そのせいで、あと何をすれば良いのか?というのを忘れてしまいました。

やることリストは常に作っておかないといけないということでもあります。

後回しにされただけある

ということで、TauriでやってるアレことMecoressが順調に進んでいたので、一気にバージョン0.1になれるのか?と思っていたのですが。
面倒くさそうだから後回しにしていた、画像が他のソフトで編集されたらカタログファイル上のサムネイルもそれに合わせて更新するというやつ。

ファイルの編集された時間を調べるというのはすでに出来ていたので、そこまでは簡単なのですけど、編集された画像をもとにサムネイルを作成しようとしても、Mecoressに元の画像のキャッシュが残っていると、サムネイルを作っても元の画像のものになってしまうのです。

サムネイルを作るという部分は一番最初に作ったということで、一番覚えてない場所でもあるので、仕組みも忘れてたりしたので、原因がキャッシュにあるというのも気づかなかったのですけど。
色々やって多分キャッシュのせいだということになったので、画像のURLにDate.now()の値をパラメータとして追加するという小技で対応したら上手くいきました。

こういうのは普通のWebページとかでも良くあるのですけど、ファイルが更新されていたらキャッシュを使わないでダウンロードするとか、上手く行かないことが多いですよね。
昔からある問題だとも思うのですが、なぜかブラウザはそこだけ進化していない気もします。

イングリッシュ...、ア、リトル...

Tauriでやってるアレこと Mecoress はインターナショナルなアプリなので、メッセージなどは英語で書いているのですが、一言メッセージじゃない長めの文になると全然自信がなくなったりして。

なので、そういう場合は書いた英文をGoogleの翻訳で日本語にしてみたりするのです。
231104_01.png
そうしたら、これは出来すぎじゃないか?って感じで、予想以上の出来なのです。

ただ、これは私の英語がちゃんとしていたからなのか、Googleの翻訳が優秀になってきて、私が英語で書きたかったことの意味を汲み取ってわかりやすい日本語にしてくれたのか。
こういうのは、ちょっとでも変だと伝わらないぐらいの精度の方が有り難かったりして。

ついでに、意味もなく読み上げボタンをクリックしてみたのですが。
Mecoressのところは「メコレス」と読んでました。
どんなに優秀でも正式な読みが「メコリス」だと気付くワケもないですが。

<!-- ちなみに、旧バージョンを使っているのは私だけですし、Mecoressを公開するかは未定なので、今のところこのメッセージは自己満足という感じですけど。-->

謎の加速感

「何時だか解らないCanvas時計」を作ってから、なぜかPromiseが解ってきたり、今日はTauriで作っているアレことMecoressの新バージョンがかなり進んだりしているのですが。

「何時だか解らないCanvas時計」をやる前までのMecoressの全然進まない感じからすると嘘のようですけど。
この二日間で大きな変更とか新機能とか色々と追加されてしまいました。

私に何が起きたのか?というと、もしかすると涼しくなったから、ってだけかもしれませんが。

<!-- それでも、この部屋は今日も30℃を超えましたけど。-->

それは良いのですが、開催されたはずのLittle Mustapha's Black-hole開設記念日のパーティーの様子がまだ考えられていないという、意味の分からない現象も起きています。

あなたPromiseしたじゃない

231102_01.jpg
これはなんの画像か?というと。
私がJavaScriptのPromiseについてわかったような気がした瞬間にページに表示された内容なのである。

「何時だか解らないCanvas時計」を作っている時にJavaScriptでCSSのアニメーションと同じことが出来ると解って、これはTauriのアレで使えると思っていたのですけど。

アニメーションを関数にするにはPromiseを使わないとアニメーションが終了したかどうか判定できないっぽいということで頑張ってみたのです。

それで、なんで「THIS IS A PEN」なのか?という感じでもありますが。
この文字が表示される時に、アニメーションで一秒かけてジワジワと文字の色が緑から黒に変わって、そのあとでコンソールにアニメーションが終わった事を知らせるメッセージが表示されたということなのです。

今まで何だか解らないまま使っていたPromiseなのですが、自分で考えて書いたPromiseを返す関数がちゃんと動いた、という瞬間なので、この「THIS IS A PEN」は特別な「THIS IS A PEN」なのです。

どうでもいいことを書いてしまいましたが。

ついでに書くと、もう一つ「何時だか解らないCanvas時計」を作っている時に気づいたことがあって。
ページ上に表示されているエレメントを別の場所にappendChildすると、同じエレメントが二つ表示されると思いきや、元のエレメントが消えて新しくappendChildした場所に移動したような動作になるとか。

これを知ったら、Tauri でやってるアレこと Mecoress のコードの一部がものすごくシンプルになったのです。

ということで、今回の「何時だか解らないCanvas時計」は個人的には収穫が多かったということです。

ちょっとウレシイ時

大量のデータを手書きでJSONにしてブラウザで読み込んでみたら、エラーなしでちゃんと表示されたのです。

そんなことで喜んでも良いけど、わざわざここに書いている場合ではない、ということで時間はかなりないですが。

「何時だか解らないCanvas時計」はまだ完成していません。

というか10月なのに暑い日がかなりあって10月っぽくなかったから、本格的に作業を始めるのがかなり遅れたというのもあるのですけど。
気温じゃなくてカレンダーを見て作業をすれば良いのですが、暑くて気分的に夏だったのでカレンダーを見たとしてもダメだったと思います。

ということで、果たして間に合うのか!

名曲な

「何時だか解らないCanvas時計」は意外と順調に進んでいますが、依然として間に合うのかは解りません。
そして、今回はけっこう難易度が高いですが。何の難易度なのか?ということはまだ秘密なのです。

それとは関係なく、時々「スリープウォーカーズ」という映画の中で流れていたスティールギターの曲が聴きたくなるのですが、曲名が覚えられなくて今回も忘れていたので「スティールギター 名曲」で検索してみたのですが。

映画以外でもいろんなところで流れるし、名曲に違いないのですけど、私の思っている名曲と世の中での名曲はちょっと違っていたようで、目的の曲の曲名は出てきませんでした。

というか、スティールギターといったらやっぱりハワイアンになってしまう傾向があるようですけど。

結局は「Sleepwalkers soundtrack」で検索すれば良かったのですが、Santo & Johnnyの曲で、実は曲名は"Sleep Walk"だったということで。
だから映画に使われていたのか!ということでしたけど。

前置きが長いですが、これからは聴きたくなったらすぐ聴けるようにアルバムを買ってみたらけっこう良かったということなのです。

スティールギターのあの音だけで、すでに雰囲気が出来上がってしまう感じもあるのですが。
でもスティールギターっぽくない曲もあったりとか、そんな発見もあったり。
マッタリしすぎないけどロックってほどでもないのが丁度よい感じなのです。(アルバムが出た60年代あたりだと、かなりロックということになっていたはずですけど。)

<!-- なんか、最近映画に続いて音楽も昔シリーズになりつつあるような。-->

何でだか解らない

ということで「何時だか解らないCanvas時計」の季節なので作業中なのですが。

なぜか形が出来上がってきたころに辺なアイディアを思い付いてしまうのです。

おかげでけっこう楽しいという事でもあるのですが、間に合うのか?というと解りませんし、私が楽しくても実際に面白いものができるのかどうかは知りませんし。

それとは関係なく、思い付きで作業をしてしまうことが多い「何時だか解らないCanvas時計」ですけど。
今年はずっとJavaScriptを書いていたのもあって、妥協せずにゴリ押しで書ける部分も多くなってたりして。
なので、問題が発生するとコードがゴチャゴチャで大変だったりもします。

ついでにかくと、TauriでやってるアレことMecoressで使える小技も発見したので、これが終わったら少しだけMecoressの完成度が上がる予定なのです。

<!-- というか「何時だか解らないCanvas時計」を始めたらMecoressがどうなってるのかすっかり忘れているとかもありますが。-->