MENU

RestHouse

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

Recent Articles

Category

Monthly Archive

創作日誌 Vol.3

ついに出来たぁ!

なんかそんな気分ですが、延べ時間11時間30分かけてBOOX Go7Gen2用スタンドの小さな部品がプリントされました!
260411_01.jpg

プリンタが読むデータを書き出すソフトを新しくしてからちょっとプリント時間が長くなっていますけど。
仕上がりは綺麗なので、時間との妥協点をどの辺にするかという感じになっています。

でも3回やって一度もプリントでは失敗しなかったという点では、3Dプリンタのコツを掴んできた気がします。
<!-- これまではノズルとベッドのすき間が大きすぎたのが失敗の原因という感じ。-->

そして、この先は棚のタナカが台座部分を作る事になっているのですけど。
どうなるのかまだ全然考えてなかったりします。

果たして完成するのか?
乞う御期待。

ワン未満

出来ている?
260409_01.jpg
ような気がする?

ということで、MecoressOneと書いてあるけど、中身はMecoressの修正版のこれですけど。

難しくないけど一番面倒なウィンドウメニューを作ったらなんとなく出来ているような気分になったりするのですけど。
ウィンドウメニューを作る前は、確認したい動作を例の「テストボタン」に割り当ててチャックしていたのが、色んな動作をメニューとかショートカットで実行出来るとアプリ感が出てきます。

どうせまた予期せぬところで予期せぬことが起きるのでまだ完成ではないですし。
ついでに簡単に出来るかも知れない機能を追加出来るかも知れないですし。
久々にMecoressのコードを読み直して中身を思い出しているので、覚えているうちに出来ることはやっておきたいとか、そんな感じなのです。

そして、今になって初めて気付いたのですが、メニューには「Save as...」という項目があるのに、それに対応したコードはまだ作られていないのです。(というか、これまで使ってないということは必要ないということかも知れません。)

そういえば「メコリスのお知らせ」の時にはまだオーディオファイルの読み込みが出来てなかったのですが、あの後に作られて読み込めるようになっているとかも。どうでもイイですが。

<!-- あと、ヨガマットの写真とか結構懐かしいのです。-->

<!-- 補足:ウィンドウメニューは難しくないと書きましたが、最初はなんだか解らなかったですし、凝ったことをやろうとすると難易度が上がりそうだったり。基本的なメニューだったら、一つ出来るとあとは繰り返しなので簡単ということです。-->

複雑すぎな

ということで、目指せ次世代のMecoressOneの素となるものの続きですけど。

忘れてましたが、前のバージョンでは保存したカタログのファイルをウィンドウに開くというのが結構大変だったのです。
なので今回も大変なのですが。

開いているウィンドウが空の状態だったらそのウィンドウにファイルを開いて、そうでなかったら新しいウィンドウで開くとか。
デスクトップのアプリでは基本みたいな気もするのですが、Tauriにはそういう機能が用意されてないので、どうすれば良いのか?というのは自分で考えないといけなかったりしたのです。

以前のコードを今見てみるとかなり遠回りなやり方でファイルを開いてたりするのですが。
今見てもどうして上手くいっているのかは理解できなかったので、今理解出来る方法になるように少し書き換えたりしました。

二つ以上のウィンドウでやり取りがあると、両方のウィンドウでエラーの確認とかもしないといけないですし、この辺はJavaScriptの面倒なところな気もしました。

それとは関係なく、Mecoress専用のカタログファイルをダブルクリックしたらMecoressが起動して開くように出来るのか?というのもあるのですが。
マニュアルのどこかにヒントになるような部分を見つけたのにどこにあったのか忘れてたり。
とりあえずは、新しいMacOSでも起動出来るバージョンを作るのが先なので、ややこしい事は後回しですけど。

動きがないとすぐ出来る

ということで、次世代といっても中身はほぼ一緒じゃね?というMecoressですが。

ダラダラやっていたらMecoressのcoの部分がなんとなく出来ている気がしてきました。

coとはファイルのコピーと移動で、前のバージョンではRustの方で自作していたのですが、実はTauriの用意してあるcopyFile()というのがあるので、より確実と思われるそっちに乗り換え。

ついでに、ファイルの移動はこれまでのやり方だと別のパーティションとか外付けのドライブとかに移動出来ないので、コピーして元のファイルを消去する方法に切り替えたのです。

なので、これまでのようにMecoressじゃなくてMecomoressじゃないのか?とか思わなくても良くなったのです。
<!-- 厳密にいうとRustではファイルをmoveではなくて、renameしていたので、ファイルの移動はMecoressのreに含まれていたのです!どうでもイイですが。-->

そんな感じですが、前回やっていたドラッグ・アンド・ドロップでの操作みたいに動きのあるやつじゃないので、間違っている場所を見つけやすかったりして意外と早く出来た感じです。
次にやると思われるreの部分も、基本的にJavaScriptだけですし、なんとなく先が見えてきたような気もしますけど。

ただし、最後のssは前のバージョンでは一番最初に作った部分で、変なコードも多そうなのでちょっと恐ろしい気もするのです。

マニュアルにも慣れてきたような

どうでも良いことだけど苦労して解決したりすると書きたくなってしまう次世代Mecoressのようなものの続きですけど。

今回はちゃんと仕様みたいなものを理解した上で書いているので、前のバージョンでは動いていたものが上手く動かなくなっているという変な現象が起きていたりして。

前はちゃんと書けていなくても、遠回りして途中に変なコードがあったりして何故か上手くいっていたという感じなのですが。
それを直すのはかなり大変だったりするのです。

でもちゃんと理解している中で書いたコードはスッキリしてますし、後で良い事もあるに違いないということで。

Tauriのバージョンが2になって、公式のマニュアルもちょっと変わった感じがあるのですけど。
バージョン1の時よりも更に専門的というか。見方が解るまで難解に思えたりします。
そういうのは理解出来るとより詳しくなっていたりするのですが、マニュアルとしてはそれで良いのか、どうなのか。
それも含めて良いマニュアルということかも知れません。

それはどうでもイイですが、今回はJavaScriptだけで出来る部分は前のものが使えますし、ややこしい部分を重点的に出来るのでまともになってきている感じがするのです。


<!-- これから修正する箇所のことを考えると、まだ始まったばかりという気もしますが。-->

そして二歩下がる

ということで、昨日から1.5歩下がった感じの次世代Mecoressのようなものですが。

昨日は何をすれば良いのか解って得意になってましたけど、先に進んだらややこしい事になっていました。

というか、前のバージョンでも「良く解らないけど色んな事を試していたら動くようになった」という感じのところなので、色々と仕様が変わってしまうと何をどう直せば良いのか謎だらけです。

仕様よりも、どうしてこう書いてあるのか?というのが解らないですし。

とりあえず、オリジナルのバックアップはあるので、こういう部分は書き直してみるしかないようです。

0.5歩

ということで次世代バージョンのMecoressなのか?と言われている何かですが。

前に書いたところは何もやってないのですが、それよりも新しいウィンドウを開くとそっちでエラーが大量に出てるのは何なのか?というやつ。

Tauriのバージョンが1の時には気にしなくて良かったのですが、2になってからはパーミッションの設定を細かくしないといけなくなっていて、それが原因ということでした。

これまでバージョン2でも練習で二つアプリを作ってましたけど。
ウィンドウが一つで完結する物だったので、その辺には気付いてなかったのですけど。

最初から設定されているパーミッションの設定は"main"というラベルが付いたウィンドウ用になっていたのです。
Mecoressの場合はウィンドウ間でやりとりをするのにそれぞれに違ったラベルが付いているので、mainじゃないウィンドウには権限がなかったということでした。

なんだか詳しく書いてしまいましたが、自分で気づけたのでちょっと嬉しいのです。


ただし、進展度としては全然進んでないので、今日は0.5歩でした。

団員コラ

背景とか頑張っても合成するとやっぱり雑コラ感。

ということで、開幕準備が慌ただしいのですが。
でも昔に比べたらパソコンがそこそこですし、ソフトも進化しているので結構楽です。

以前はデジカメの写真のサイズで編集すると写真を開くだけでカーソルがグルグルしてしまうような感じでしたし。
そういうストレスがないのは良いことなのです。

<!-- ついでにAffinityの全部入りが無料で使えるというのはかなり良いですね。(というか、Affinity Designerを買おうか迷っていたので、買わないでいて大正解でもあるとか。)-->

七歩目ぐらい

前に上手くいったので、これは結構早く終わるかも知れないとか思ったのですが、そんなことはなかった次世代Mecoress。

最初に作った時に一番苦労したのはどこかというのは、苦労しすぎて覚えてないですが、恐らく苦労したベストスリーに入るドラッグ・アンド・ドロップでリストの順番を入れ替えるやつ。
Tauriのドラッグ・アンド・ドロップの仕様が変わったかも知れなくて、もしそうだとするとかなり書き換えないといけない感じです。

でも、実は途中で無言のエラーが出てるだけで、そこを直せば書き換えないで済むかも知れないですけど。
原因がどこにあるか解らないまま書き換えたりしたら一番面倒なので、また先に進めなくなりそうな事になってきました。


そういえば、今動いているMecoressを作った時に、すでに音楽用のパソコンはIntel MacじゃなくてApple Siliconの方だったので、それようにどっちのCPUでも起動出来るのをコンパイルしようと思ったのですけど、面倒だったのでやらなかったんですよね。
なんとなく悔やまれるのです。

五歩ぐらいになった

ということで、書かなくても良いのですが、上手くいくと嬉しいので書いてしまうMecoressの次世代バージョン、あるいは新しいMacOSでも起動出来るバージョンですけど。

やっと画像だけ読み込めるようになっています。
260318_01.png
テスト用の画像は最初にMecoressを作った時に用意したものなので、ネコ蒲団君などもいて懐かしいのですけど。

その前に、設定ファイルを書き出すのにテキストファイルの書き出し方がTauriのバージョン2でビミョーに変わっているのに気付かないでかなり時間がかかりました。
この辺はエラーでもどこにもエラーと表示されないやつなので大変なのです。


それとウィンドウのタイトルが"mecoress_one"ですが、今のところバージョンは0.2です。
とりあえず完成して、その後にTauriのバージョン2で出来るようになったことと、私が少しRustを書けるようになったので追加される機能を作ったらやっとMecoressバージョン1になるのですけど。

今は何かをやる度に止まる感じなので、なかなかそこまで辿り着けそうにないのです。

千里の道の二歩目

次世代Mecoressこと最新のMacOSでも起動出来るバージョンのMecoressの続きですが。

前回の日誌だとどこまでやっていたのか良く解らないですけど、元のコードをざっと確認しながら新しい方にコピペしていった感じで、だいたいできたと思ったのでテストしてみたのです。

見た目はこれまでどおりのアプリにはなっているのですが、何をしても無反応で。
前にTauriのmigration機能で失敗したのと同じ事になってしまいました。

でも今回はざっと確認しながらのコピペですし、ちょっとは前に書いたコードも思い出しているので、とりあえず裏の方から少しずつ一つずつ確認していくことに。

Tauriだと普通のJavaScriptと違うので、コンソールでエラーにならないことも良くあるので、そういうのを見つけていくのはかなり大変な気がしてきました。

でもこれをやれば、次からは修正とかのしやすいコードになるはずなので、ここは少しずつでもやらないといけないのです。

<!-- でも、何もないところにコードを書くよりは楽という気もしますが。前のバージョンのコードも大量過ぎて、我ながらよく書いた思っていますけど。-->


ついでに書くと、Zedを使うと間違いを教えてくれたりしてスゴいのですが、メモリを大量に使っているのに気付きました。ここは高性能なアプリなので仕方ないということですかね。
それと同時に、これまでは簡単なスクリプトを書くのがメインだったので解らなかったですが、開発にハイスペックなパソコンが必要なのも納得ということです。

こっちも同じ

タイトルに「一日一歩」と入力したら前に書いた「一日一歩、三日で一歩」のタイトルが表示されたりしたのですが。

今回は悪魔デバイス・第2ステージではなくて次世代Mecoressの準備版の話。

Tauriをバージョンアップしたために以前のコードをそのまま使うことが出来なくて、色々と修正しながら作り直す必要があるのですけど、バージョンアップとは関係なく直したいところも沢山あったりして、三日ぐらい前からやっているのに全然進んでないのです。

Tauriで最初に作ったアプリなのに大がかり過ぎなところもあるので、こういう修正をしようとすると問題が出てきたりして。
もう少しTauriに慣れてからこういうのを作っていれば、修正しやすいコードになっていたかも知れませんが。

頑張って五日で二歩目ぐらいまで進めたら良いですね。

<!-- ちなみに悪魔デバイス・第2ステージの方もなかなか進まないですが、この前色を変えられるLEDをブワーってするコードを一つ書きました。-->

悪魔デーモン

ということで悪魔デバイス・第2ステージの文字が入力出来るようになったやつをデーモン化してみました。

スクリプトの内容は変わってないので、すぐにやろうと思えばやれたことなのですが、上手く行かないとスゴく時間がかかるので、何かをやる度に気持ちの準備が必要だったりして、なかなか先に進めないのです。

それはともかく、「でーもんか」まで入力したら「デーモン閣下」が候補に出てきてしまいましたが。
この場合のデーモンは元の意味でも役割的にもあまり悪魔っぽくはないのです。

でも悪魔デバイスの悪魔OS用のデーモンなので悪魔っぽいのですが、意味が解らないのでどうでもイイのです。

くだらないことを書いていたら、元々書こうとしていたことを忘れそうになっていますけど。
デーモン化されたので、なんとなくtopコマンドでどのくらいのCPUの使用率になっているか見てみたのです。

そうしたら常時6%前後とか。
常に動いている物としては結構多めだと思って、何か変えないとダメなのか?と思ったのですけど。
他はどうなのか?と思ってパコベーことパコリタ・ナラ・ズイルベー・Zero(あるいはRaspberry Pi Zero)の方を調べてみたら、実はこっちでは9%前後が常に動いていたようです。

それならそういうものなのか、ということでもありますけど。
他のSSHの待ち受けみたいなデーモンは1%以下だったりしますし、これのせいで消費電力が増えてたりしたらアレですが。

消費電力の少ないRaspberry Piではありますが、ちょっと気になるので、そういうのを調べられる装置とかも欲しくなってきました。