ということで、タイトルがネタ優先でタウリンじゃなくなってますが、Tauriでアレが作りたいだけなのに...というやつの続きです。
最近ものすごく体調が悪かったのですが、それでも頑張って以前の続きのJavaScript部分を書いていたら、何を書いたのか解らなくなったとかいう状態でしたけど。
とりあえず、オマケになるはずなのに一番の難所になったかも知れないスライドショーの設定画面は出来たことになっているのです。
そして、意味もなくスクショですが。
全部テスト用のボタンですが、その中にもTESTという名前のボタンがあるとかはどうでも良いのです。
それよりも、問題はこのボタンの中にまだない「SAVE」(保存)をどうするのか?という感じなのですけど。
たとえばJPEGファイルを読み込んでPNGに変換して保存、という感じのSAVEのやり方はあるのですが、アプリ独自の書類を保存とかどうすればいいのか。
その他にも、細かいところでアレってどうやるんだ?というのが色々とあって大変なのですけど。
頭の中で考えてた時はすぐに出来そうなアプリだったのですが、容易いことではなさそうです。
マーティ・フリードマンがベイスターズのユニフォームを着て登場して盛り上がったこととに影響されたワケではないですが、音楽の作業をちょっと再開。
パソコンが新しくなったこともあって、ソフトも色々と新しくなってたりするのは前にも書いたか、どうだったか。
でもMODO DRUMというのを買ったのはまだ書いてないはず。
というか、買ってから全然使ってなかったですし。
なかなか良いものという気がしていたのですが、単体で鳴らしていてもかなり動作が重い。
しかも、ちゃんと作業を始めて他の楽器の音と一緒に鳴らしたら重すぎて作業にならないのです。
どういうことか?という感じですが。
もともとM1チップには対応してなかったみたいで。
今ではサポートされているのですが、その辺の関係でちょっと無理があるような感じも。
Macの新しいCPUも登場してからけっこう経つのですが、こういう問題はまだあるということですかね。
ついでに書くと、SC-88Proが壊れたのでPIANOBOX PROとか買ってみたり。
惜しい部分は色々あったりしますが、今時あまりないMIDI音源モジュールですし、昔は凄いものだと思っていたE-MUの音が入ってるとか。しかも安いのでまあまあ満足ではあります。
あるいは或る御リズム。
ということですが、四角い枠が重ならない限り自由にレイアウト出来るやつのアルゴリズムみたいなのを考えてたら、パコベーに部屋の電気を消されたので終了。
実はもっとシンプルにしたら上手くいくような気がしたので、昨日頑張って違うやり方のコードを書いてみたのですけど。
上手くいくと思ったのに、いくつかの条件では変になるとか。
目で見たら重なってるって明らかなのに、なんで解らないんだ!とか、プログラムを書く人が思ってはいけない事を思ってしまいたくなるのですけど。
でもノートに大量の□を書き込んで考えた末に、また新しいやり方を思い付いたので、そろそろなんとかなって欲しいところです。
<!-- タイトルにタウリンが付かなくなっただけでなくて、Tauriでやってるアレとかいう説明もなくなってきていますが、ここを乗り越えたらまたTauriな感じになるので頑張りたいと思います。-->
ということで、タウリンが増えそうにないのでタイトルにタウリンが付かなくなったTauriでアレを作りたい、というのの続き。
アレとは何かというと、MacOSをアップグレードしたら使えなくなった画像や動画、音声のファイルを管理する感じのMedia Proというソフトの代わりになるもの、ということなのです。
そして、最近ずっと進めなくなっているのは、そのソフトの中ではオマケって感じもするスライドショーの機能の部分なのですが。
でも複数の画像を(ある程度)自由なレイアウトでスライドショーできる機能が面白くて好きだったので、これは再現すべきだと思ってやっているのです。
問題なのがスライドショーのレイアウトを設定するやつ。
テスト作った時には上手く動いていた気がしたのですけど、どうもダメだったようで、場合によって予期せぬ動作になったり。
画像が重ならない限り大きさを自由に変えられるはずなので、上の画像だと一番左の枠はもっと右側まで広げられるはずなのにあの位置で最大ということになってたり。
でも左から二番目の枠は右の方に大きく出来たりするんですよね。
どこかで単純なミスをしているに違いないのですけど。
何度みても合ってるような気もするし、間違っているような気もするというか。上手くいってないので間違っているんですけど。
こうなってくると別の方法で作り直す方が早いような気がしてきました。
そうすると、昨日書いた二日がかりで原因が解った部分とかもやる必要がなかったということになりますけど。
まあ、苦労すればするほどJavaScriptには詳しくなってきたような気がしているので、めげずにやるのです。
<!-- そして、Rustの方には全然手を付けられないのでそっちは詳しくなれません。-->
タイトルにタウリンと書いてないですが、Tauriで大変なやつの続き。
TauriというよりもJavaScriptですが。
ある要素の幅を調べようとすると何故かゼロになっているとか。
説明によると非表示になっている要素はゼロになるらしいのですが、JavaScriptのコード的には表示されていることになっているのです。
と思い込んでいて昨日からずっとアレコレ試していたのですが。
調べたい要素のさらに上位の要素がまだ表示されていない状態だっということにやっと気付いたのです。
大量のコードの時にはどこで何をしたのか覚えてなかったりするのですけど。
もう少し解りやすく書く事も出来そうなので、何とかしたいですが。
でも、スッキリしたコードになるようにあれこれ計画して書き始めても、途中で上手く動かなかったりして結局ゴチャゴチャになるというのもあったりして。
それはともかく、非表示になっているのに気付かないで色々とコードをいじったおかげで、何がどうなっているのか解らなくなってきてたりもするのです。
これはけっこうヤバいという感じですが、全部書き直しにならないように頑張りたいと思います。
もうタイトルがワケが解らないですが、Tauriでどうするのか?というやつの続きというか。
JavaScriptとRustでデスクトップアプリを作れちゃうということなのですが、Macの場合はJavaScriptの部分はほぼSafariと同じ仕様ってことになっているのです。
なのですが、私はここまでいつも使っている方のFirefoxでテストをしていたのです。
でもJavaScriptはどのブラウザでも動くように決められた規格みたいなのがあるので、問題ないはずということだったのですけど。
テストで作ったJavaScriptの関数とかをTauriの方に移植(というかコピペ)したら上手く動かなかったり。
前にもちょっと書いたモジュール化みたいなのもやっているので、原因はそっちなのかも知れませんが。
その辺はテストの時もSafariでやっていたら原因が解りやすくて良かったということなのです。
最近はかなりJavaScriptしてたので、上手く動かないところは修正出来たりしたのですけど。
JavaScriptって、初心者でもブラウザだけで実行出来たりするので敷き居は低いような感じがありますが、やればやるほど謎が増えていくような気もします。
というか、私の超便利アプリはいつになった完成するのでしょうかね。
Tauri でゴー!のアレの続きですが。
JavaScriptでテストしてみて大体出来そうということで、最終段階の最初になってきたのですけど。
そのままJavaScriptを一つのファイルで書くとコードが大量になるので、複数ファイルに分けてモジュールっぽくするようにしたのです。
これでコードの内容がスッキリするはずだったのですが、一つのファイルで書いている時と何かが違うというか。
要領が解らなくなっているようなことになっているのです。
というか、JavaScriptって同じ事をやるのにも色んな書き方が出来たりするので、その辺も原因な気もしますが。
この場面はこの書き方がイイに違いないとか思って書いていくと、途中で先に進めなくなったり。
<!-- 先に進めなくなるコードってなんだ?って感じでもありますが。書いているのは私なので仕方ありません。-->
最終的にはRustも書かないといけないのですが、その前の段階で混乱してきましたし、大変なのです。
<!-- でも、タイトルにはタウリンが復活しているのです。-->
ということで、ナントカ応援団のデータベース、あるいはデータベースターズに、やっと今シーズンの試合データが登録されました。
まだその他の作業は急ピッチということになってるのですが、失敗すると面倒な作業はこれでオシマイなのでとりあえず大丈夫。
それとは関係なく、データベースをあれこれするのにJavaScriptを使い始めたのはいつからだったか?という感じなのですけど。
JavaScriptの中身をちょっと見てみたら、今ならそうは書かないという部分が色々とあったり。
多分修正したらスッキリした内容になるとは思うのですが、今からやると開幕してしまうので、ちょっとずつ改良していきたいと思っております。
というかJavaScriptは最近かなり頑張っていたので急成長という事になっていますが、これがしばらくするとまた元に戻ってしまうので困ってしまいます。
やっぱり思ったとおりだ。
ということで、昨日のシフト+クリックの謎の挙動のやつですが。
間違ってないはずだと思っていた場所は間違ってなかったのですけど、最後に選択した場所の記録方法が変だったのです。
<!-- けっこう興味深い間違いという気もするのですが、詳しく書こうとするとかなり長くなりそうなので省略。-->
こういう時には、気になるところを片っ端からconsole.logに出力してみると原因が解ったりします。(バグというかうっかりミスに近いので、もっと高度なデバッグの方法では逆に解らないということもあったりして。)
これまではTerminalで起動するスクリプトとかがメインでしたし、クリックに反応して動くとかいうのは年に一回の「何時だか解らないCanvas時計」で時々使うぐらいでした。
なので、こういうグラフィカルなのは頭でイメージするのが難しかったりしますけど。
とにかく、今回の問題な部分も解決して、JavaScriptでやろうとしていたところは大体出来てきたような感じになって来たのです。
なので、これまでバラバラに実験してきたのをまとめて完成に近づけたいのですけど、以前に書いたコードを見直したら自分で書いたのに理解するのに時間がかかったりして面倒なことになっております。
<!-- タイトルに「タウリン」が付かなくなってしまってますが、気にしない。-->
Tauriで何かは作れるのか?ということでやっているやつですが。
まだこの前のJavaScriptの続きをやってたりするのです。
並んだアイテムを選択する機能なのですが。
1から10までのアイテムが並んでいたとして、最初に3をクリックして選択したあとに、シフトを押しながら7をクリックすると3から7までが一気に選択されるというやつですけど。これがかなり謎です。
最初に選択されているアイテムが一つとは限らないので、どういう挙動が正しいのか解らなかったのですけど。
とりあえずMac の Finderではどういうことになるのか、リスト表示にして色々とクリックしてみたのです。
そうしたら場合によってどういう風に選択されるのかが決まっていないというか。
操作する側で予想できないような挙動になっていました。
Findeでそんな感じですし、このシフトを押しながら選択というのはけっこう複雑なのかも知れません。
結局正解が解らなかったので、最後に選択したところからシフトを押しながらクリックしたところまでが選択されるようにしてみたのです。
ただし、私が作ったものなので、上の例みたいに3から7を選択という感じだと上手くいくのですが、7から3みたいな順番でクリックすると、なぜか3から最後までが選択されてしまうとか。
さっきからずっと上手くいかない原因を探ろうとコードを見ているのですが、間違ってないはずだ、と思って見ているので原因は解らないですね。
多分、すごい基本的な何かを見落としているとか、そんなことになりそうですけど。
もしかしてあっちの方が簡単なのか?という気がしてきましたが。
Tauriでアレコレするための準備段階でJavaScriptでアレコレしているのですけど。
アイテムをクリックして選択で、何もないところをクリックすると選択が解除されるとか。
選択したアイテムの順番を入れ替えるとか。
JavaScriptでも出来ない事はないですし、頭の中では上手くいっていたのですけど。
ただし、その選択とか選択解除だけが目的ではなくて他にもクリックでやる操作があったりすると色々とややこしくなってくるのです。
こういうのってXcodeで作るアプリだと簡単に出来たような気もするのですが。
でもその他の部分を作るのにはJavaScriptで書けたら嬉しいに違いないですし。今からXcodeを勉強するといつまでたっても完成しない気がします。
というか、Tauriでアプリを作る!とか思ってからもかなり時間が経ってますけど。
頑張りたいと思います。
<!-- 頭の中では完全に出来てるんですけど、頭の中と現実世界では何かが違うようです。-->
Taruiでどうにかしたいやつの続きですが。
前回のドラッグアンドドロップでファイルを読み込む時とオープンダイアログで読み込む時でRust側から戻ってくる値の種類が違うというやつ。
良く考えたらRust側のコードは自作(という事になっている丸写し)なので、そこをいじれば同じ種類に出来ると思ってやってみたら、なんだか全行がエラーみたいな事になって悲しい状態。
元のやつよりも単純になるはずなのですけど、まだRustで自分の思ったようなことを書ける程にはなってないようです。
でも、この部分はJavaScriptの方で多少強引な感じでやったら上手くできたので、とりあえずちゃんとなってるということですけど。
オープンするフォルダの中にフォルダがあってもちゃんと再帰的に読み込めているのです。
ただし、これから読み込んだファイルをコピーしたり移動したり、という機能を作らないといけないというか、それがけっこうメインな機能なのですけど。
そういうのはRustで書かないといけないですし、なんか不安になってきているのです。
ということでTauriを使って何かを作れたら良いなあ、というやつの続きですが。
ちょっとずつ進んでいたRustの入門書は基本的なところは読み終えて、本格的なアプリを作ってみよう!ってところまできているのです。
ということは、もうすでにJavaScriptだけでは出来ないようなこともRustで書けるようになっているはずなのですけど。
おかしいなあ。
それはともかく、Rustのコードを見て何が書いてあるかも解るようになってきたので、Tauriでやってるやつを少し進めることにしたのです。
今回はダイアログからファイルを選択して開くというやつですが。
Rustの部分はネットで見つけたコードをほぼ丸写しだったりして。
でも、思ったより簡単にファイルにアクセス出来るようにはなりましたけど。
ただ、ドラッグアンドドロップで読み込む時にはリストだけど、今回のやり方だとオブジェクトっぽいので返ってくるとかで。
こういうところも上手くやらないといけなくなってきているのです。
ついでにJavaScriptでこれまで書いてきたコードもかなりカオスな感じになってきたので、これまで出来るようになったことを整理して作り直す方が良さそうだったりしますけど。
という感じで、前進はしたけどタウリン1000mgまではかなり遠いようです。