ということですが、Tauriで作っているスゴいアプリの続きですけど。
画像を変換するテストをしてみたら簡単に出来てしまって拍子抜け。
せっかくなので、変換した画像を作りかけのMecoressで表示させてみたり。

imageというcrateのドキュメントにあった例をほぼそのままという感じですが、変換する部分は数行で完成。
そして、けっこう練習していたRustで正規表現のやつですが、良く考えたら変換先でファイル名がダブったりした時にいちいちJavaScriptの方に戻ってきて警告を出さないといけなかったりするので、RustでやるのはやめてJavaScriptでやることになったりして。
まあ、とりあえずRustでも正規表現はちょっと出来るようになった、ということでこれで良いのです。
ついでに書くと、Mecoressにテストボタンが一時的に復活しています。
タウリンはやる気があるのに私の頭がついていけない、ということでTauriで作っているアレの続きなのですが。
次の機能を追加するには正規表現にもチャレンジしないといけないことが解ったのでやってみたのです。
そうしたら、良くあるやつ。

ドットから後ろを拡張子にしようとしたら、拡張子の前じゃないところにドットがあるとそこから後ろがマッチしてしまうのです。
書き方を変えたらちゃんと拡張子だけにマッチするようになったのですが。
正規表現はまあまあ理解しているつもりでしたが、言語が変わると「どうなんだっけ?」ってことになってワケが解らなくなるのです。
それとは関係なく、次の機能は画像を変換する機能なので、convert_imageという関数名なのですが、今のところ中身は正規表現の練習ばかり書かれているのです。
しかも、正規表現だけだと戻り値の型が違うというエラーが出るので、最後に適当に"ture"の変数を宣言して返しているとか。
なんとなくやってはいけないことをしている気もしますが、あとで間違えないようにしないといけません。
久々にタウリン登場ですが。
バージョン0.1に向けて新たなチャレンジをしようとしているTauriで作っているMecoressの続きと思ったのですが。
良く考えたら画像ファイルを変換して書き出したりする時には、拡張子を変えたりする作業があるというのに気付いたのです。
それってもしかすると、正規表現で元の拡張子と新しいのを入れ替えるとかしないといけない、ということなのですけど。
この部分はJavaScriptでも出来るけど、Rustの方で書いた方がコードがスッキリしそうな感じですし。
せっかく勉強したいということなのでRustでやるべきとも思っているのです。
正規表現もcrateを使ってやるみたいですが。
やり方はJavaScriptに近いというか。
やっぱりこういう作業はPerlが一番簡単だった、ということを思ってたりしますが。
でもPerlではないので頑張ってやるしかないのです。
それとは関係なく、Perlを使って色々作っていた時期が一番長いということなので、たまにPerlで何かを書いたりすると、別の言語でも変数に"$"を付けてしまったりとか、Perl脳が出てきてしまうのです。
ということで、バージョン0.1を目指しているTauriで作っているMecoressの続きですが。
0.1になるには、やっぱりRustも使わないと出来ないことが色々あるので、また調べたりしているのです。
画像を変換したりするのには、自分で一から作ると大変すぎるので、crateというモジュールみたいなのを使うのですけど。
画像をアレコレするには"image"というシンプルな名前のcrateを使うのが一般的なのに、convert imageで検索したら別のが最初に表示されたので、そっちを使ってしまうところでした。
多分どっちでやっても出来るとは思うのですが、メジャーなのがどれなのかというのは知っておきたいという感じでもあります。
というか、image の方は最初に読んだ入門書で使ってた気もしますけど。
どうも、JavaScriptの方が楽ですし、出来るだけJavaScriptで作りたくなってしまうTauriですが、Rustの方にも詳しくなりたいと思っておるのです。
<!-- あと、出来ないと思っていたことが、もしかすると出来るかも知れない、ということになってきたので、出来そうになったら何かが書かれるでしょう。-->
そろそろタウリンのネタが尽きてきたかも知れないTauriで作っているMecoressですが、私の頭の中で読み方が「メコリス」で固まってきた感じがしてきました。
というのはどうでも良いですが、最初の方に書いたJavaScriptのゴチャゴチャした感じをスッキリさせる作業。
画像を枠内に縦横比を維持したまま全体表示にする、というのはCSSを使うと簡単に出来るのですが、その他の表示方法との兼ね合いでJavaScriptでやっているのです。
その部分で、枠のサイズと画像のサイズの関係で時々変な表示になるのを直したら、なぜかコードの量を三分の一ぐらいに減らすことにも成功してしまったり。
というか、これまでのやり方が複雑すぎる上に思いどおりに動いていなかった、ということですけど。
なんというか、人間が手作業でやる感覚でプログラムを考えてしまうと変なことになる、という傾向がある気がしてきました。
最近は継続してコードを書いているので、効率の良い書き方が出来てたりするのですが、私の場合はしばらく休むとまた元に戻ってしまうので面倒なのです。
そして、ここでやっとメコリスのメの部分に関する情報ですが。
メの部分に新しい機能を思い付いたので、また一つオリジナル要素が増えるのです。
<!-- 誰も覚えてないと思いますが、メとはメディアファイルのメでもあるのです。-->
ということで、久々のTauriで作るMecoressですけど。

そろそろ動画が読み込めるような気がしてきました。
というか、読み込みは出来ていますし、サムネイルも画像用のスクリプトをちょっといじっただけで作ることが出来たりで、意外と楽だったり。
まだ拡大表示は出来ないので、やろうとするとエラーになる...。
という予定だったのですが、意外な発見もあったりして。
サムネイルをダブルクリックしたときの挙動は今のところ画像と同じなのですが。
ダブルクリックするとエラーにならずにimgタグのsrcの内容が動画ファイルの場所になって、それを表示すると再生が始まったりするのです。
音は出ないみたいですし、停止などの操作も出来ないので、このままにしないでちゃんと作るのですけど。
しかし、どうしてそんなことが出来るようになっているのか、という謎でもあります。
明け方に目が覚めた時に、良いメロディーが頭の中に流れていたので忘れないうちに五線紙に書きとめて置いたのですが。
そういうのって、実は誰かの曲だったということが良くあるので、起きてから確認してみたら最近弾き始めたクラシックギターの練習曲(F.ソル)でした。
まだ覚えるほど弾いてはいないのですが、キーが違うだけで全く一緒だったりして。
無意識のうちにメロディーは頭に入っているってことですかね。
それよりも、ちょっと嬉しかったこともあったりするのですが。
音を出して確認しないでメロディーをメモしたりしても、大抵の場合頭の中のメロディーと全然違ってたりするのですが、今日のはほぼ合っていたのです。
これがさらに出来るようになると音楽も捗るんですけどね。
ということですが、最近のタウリンことTauriで作っているアレのネタはどういうことを書いていたのか忘れてますが、まだ初期の頃に作った部分の修正が始まっているのです。
<!-- というか、調べたところ最近は特に書いてなかったですね。-->
春からずっとやっていて、JavaScriptにはかなり詳しくなっていたりするので、最初の方に書いた部分が変だというのにも気付いたりもするのです。
変でもちゃんと動いてますが、それだと後々面倒になるに違いないので、もっとスッキリしたコードにしたいということなのですけど。
ただし、図形を数値で考えたりするのはまた別の話なので、スライドショーのレイアウトの設定で、任意の数の四角形を重ならないように配置するというのは、何度やっても思ったとおりに動いてくれないのです。
頭では何となく解っているのですが、四角形の当たり判定みたいなのを座標で表現すると、条件が複雑だったりするので、条件を書いている間に頭の中が混乱してくるとか、そんな感じなのですけど。
こういうことだと、やっぱり数学は苦手だったのだなあ、と思うのです。
(ちゃんと勉強してたら数学も出来ていたに違いない、と思っていたこともありましたけど。)
ビルドしてちゃんとしたアプリにしたのはけっこう前な気がしていますが、それから小刻みに修正を加えてだいぶマシになったTauriで作っているMecoressの続きですけど。
というかビルドしたので、作っているというか作ったということにはなっていますが、それはともかく実際に使いながら修正点を見つけるということで、修正したら常に新しいバージョンをビルドしているので、本当だったらバージョンもちょっとずつ上げていかないといけないのですが、ずっと0.0.1のままなのに気付いたり。
厳密にはどのぐらいなのか解らなくなったので、最新版は0.0.5にしておきましたけど。
それとは関係なく、重大な失敗があったときに備えてバージョンを管理するソフトとかを使うべきなのか?ということでもあったりしますが。
調べたら、ちょっとややこしい気もしてしり込みしてたりしますが。
自分でタイミングを見計らってソースのフォルダをコピーしてバックアップとか、パソコン得意レベルのバックアップ出良いのかどうなのか。
気付けば大掛かりな作業になったTauriでアレを作るシリーズなので、全部が台無しになったりするとショックも大きいですし、慎重にいきたいところであります。
最近、朝か夜のコンタクトレンズをしてない時にしか細かい作業が出来ないのはなぜか?というクイズですが。
始めは部屋が暗いから細かいものが見づらいと思っていたのですけど、裸眼で見るとクッキリ見えてちょっとショック。
それはどうでも良いのですが、朝に細かい作業をしてUSBケーブルに細工したりして、昼からはその続きでNanoPi NEO2の続きをやろうと思っていたのですけど、なぜか起動したらSSHでログイン出来なくなってたり。
またもや何もしてないのに壊れた状態ですけど。
何かしたとしたら一度電源を切ったということなので、その間に何が起きたのか?という感じです。
NanoPi NEO2がこういう時に不便なのはディスプレイをつなぐ端子がないので起動時にエラーが出てたりしても確認出来ないところです。
なので、シリアルケーブルでつないでアレコレすべくAmazonで買ったケーブルが届くのを待っているのですけど。
なんとなく面倒な気がしますが、HDMIでディスプレイに接続するのもディスプレイの裏に手を回したりして意外と面倒な作業ですし、USBを使ったシリアル通信ならそういう手間はかからない?
どうなるのかはケーブルが届いてからということで、乞うご期待?
<!-- 一体どこまでがどうクイズなのか?というクイズでもあります。-->
タウリン「今日はMecoressの誕生日!」
ということで、完全にタウリンが擬人化されているTauriで作っているメディアファイルをあれこれするアレの続きですが。
そろそろ良いんじゃないか、と思ってついに build して単体のアプリとして使えるようになったのです!

せっかくなので「アプリケーション」フォルダにコピーしてみたら、憧れのMedia Proの隣になったりして。
これには大喜びだったMecoressですが、緊張のあまりまだあまり話すことが出来てない、というネタとかも。
それはどうでも良いのですが、これから次のバージョンに向けてやるべきことをノートに書いていったら、それだけでなくて、このバージョンでやってないといけないことも沢山見つかってしまったのです。
なので、まだしばらくバージョン0.0.0の続きをやらないといけないのですけど。
とりあえずアルファ版ということで使っていって、さらにやらないといけないことも見つかってしまうのだろう、とかそんな感じです。
<!-- なんか大変ですが、最近ゲームをやってないのでけっこう捗っています。でもゲームをやり始めたらまた遅くなります。-->
ということでTauriで作っているアプリのようなものがかなりアプリのようなものになってきました。

オリジナルのアイコンを作ってみたのですけど。
アイコンがあるだけでけっこう本物っぽい感じになります。
というか、これまでも偽物じゃなかったですが。
ちゃんとやってる感じというか、そんなことです。
でも、アプリのアイコンってどういうのが良いのか良く解らない感じで。
アプリの名前の文字がアイコンになっているのは意外と少ないですし。
いきなり作るのはけっこう困難でした。
正方形で作ると、最初はアルバムジャケットみたいなデザインになってたりしたのですが。
最終的にはアプリのウィンドウにも表示されているアイコンの模様を使ってみたり。(参考)
でもMecoressのMeの部分はその意味を表すアイコンになってなかったので、平仮名の「め」になっていますけど。
このフォントの「め」って一画目のはみ出す部分がはみ出てなかったりして、もしかすると「め」に見えないし丁度良いかも知れないとも思ったのですが、ちゃんと「め」に見えてますね。
それとは関係なく、他のアプリのアイコンと比べると一回り大きい感じがするのですが。
ちょっと余白を空けないといけないとか、そういうルールもあるのか、どうなのか。(あるとしたらAppleのAppStoreのルールに違いないですけど。)
とりあえず、大きいと目立つので妥協版はこれでいくのです。
そろそろ妥協版完成に向けて最終調整になっている気がしてきたTauriで作っているアレですが。
大量の画像を読み込むテストをしてみたのです。

読み込んだのは今使っているデジカメのSDカードの中身全部ですけど。
ファイルの数を表示する機能が必要だとも思ったのですが、どのくらいファイル数かは不明。
でも4GB分ということでけっこうな数に違いないです。