Meguriアップデートログ #2
- 写真と動画の管理アプリMeguriのv0.3.0からv0.8.0までのアップデートまとめ
- 前回「やりたい」と書いた自動再生(プレイリスト)とオーディオ再生の両方が入った
- オーディオにはリアルタイムのスペクトラム表示が12パターン付いた
- 第三者がメンテしているAURパッケージが新バージョンに追従していて、素直に嬉しかった
前回のアップデートログから約2ヶ月、継続してアップデートを続けている。
- 写真・動画管理アプリMeguriをMicrosoft Storeで公開し、SmartScreen警告なしでインストールできるようになった
- ランダムにメディアを巡るDiscovery機能を画面いっぱいに表示する没入型ビューにリデザインした
- 部分一致検索・重複検出・再生履歴・ホバープレビューなどの機能追加とパフォーマンス改善も実施
- AI連携は見送り、外部通信はアップデートチェックのみのローカルファーストを貫く方針
前回の記事の最後に「フォトフレームのような自動再生と、ローカルオーディオの再生に対応させたい」と書いたが、この2つがどちらも入ったのが今回の目玉。 シームレスな動画や音楽の再生という導線のために色々と試行錯誤を重ねていたが、やっと納得の行く形になった。
プレイリスト再生(v0.6.0)
コレクションや検索結果、ワークスペースの一覧など、画面に出ている「リスト」をそのまま全画面プレイヤーに渡して、手放しで流し続けられるようにした。

動画は最後まで再生したら次へ、画像は数秒表示してゆっくりパン・ズームしながら次へ、という具合に勝手に進んでいく。シャッフルとリピートはワンクリックで切り替えられて、コレクションはドラッグで並び順を変えられる。
再生中にIキーを押すとそのファイルの詳細画面に抜けられて、戻ると続きから再開する。逆にファイルの詳細画面からプレイリストを始めることもできて、そのとき再生していた動画はリロードせずにそのままプレイヤーへ引き継がれる(v0.8.0)。
「あとで見る」(Watch Later)もこのタイミングで入れた。一覧・詳細・DiscoveryのどこからでもWキーで追加できて、再生し終わると自動でリストから消える組み込みコレクションになっている。
オーディオ再生(v0.7.0)
mp3・m4a・flac・ogg・opus・wavを動画や画像と一緒にスキャンして、埋め込みのカバーアートをサムネイルとして表示するようにした。

クリックすると画面下のプレイヤーバーで再生が始まり、その間もライブラリの閲覧や検索、他のファイルを開く操作は普通にできる。詳細画面ではカバーアートを大きく表示して、タグ・レーティング・再生履歴も動画や画像と同じように扱える。動画を再生し始めると音楽は止まるし、その逆も同じ。
スペクトラム表示(v0.8.0)
音楽を再生している間、カバーアートの上にリアルタイムの周波数スペクトラムを描画するようにした。

最初はバー・ライン・円形の3パターンで作ったのだが、作っていて楽しくなってしまい、LEDメーターやパーティクル、波紋など10パターン足して合計12パターンになった。Settingsから選べるほか、再生中にVキーで順に切り替えられる。

サイドピーク(v0.7.0)
ファイルの詳細画面を、モーダルで画面全体を覆う代わりに、右端にドッキングしたリサイズ可能なシートとして開けるようにした。

一覧・検索・プレイヤーバーを使ったまま、横で動画を見たりタグやレーティングを付けたりできる。端をドラッグすれば幅を変えられて、モーダルとサイドピークのどちらを最後に使ったか、それぞれのサイズはどうだったかを覚えておいて次回もそのまま開く。一覧から音楽を再生した場合は、ドッキング中のサイドピークがそのトラックに追従する。
その他の改善
- タグ管理画面とメタデータ由来のタグ(v0.3.0)
- タグを一覧・リネーム・マージできる管理画面を追加。解像度や長さなどのメタデータから
4kやlongのようなタグを自動生成するように
- タグを一覧・リネーム・マージできる管理画面を追加。解像度や長さなどのメタデータから
- 検索フィルタバーのリデザイン(v0.3.0)
- 条件の導出を一本化して、付いている条件がバッジとして一目で分かるように
- ライト/ダーク切り替えとテーマのコントラスト保証(v0.3.0)
- ヘッダーにトグルを追加。base16の全テーマでコントラスト比の下限を保証するように
- 絵文字グリフとロゴのバリエーション(v0.5.1)
- 絵文字のフォントスタイルと、アプリロゴ(dark / light / enso)を選べるように
- お気に入り・レーティング・Watch Laterのエフェクト(v0.5.0)
- トグル時にアニメーションが出るように
- Windowsでの安定性強化(v0.6.3)
- レンダラプロセスがクラッシュしても自動で復帰、終了・OSシャットダウン時にDBハンドルを確実に閉じる、スキャン中のffmpegデコードに上限を設けて大きなライブラリでもメモリを食い潰さないように。スキャン自体も速くなった
- リファクタリング(v0.8.0)
- 変更が集中していたホットスポットをドメイン別のモジュールとフックに分割
サードパーティのAURパッケージが更新された
AURには自分がメンテしているmeguri-bin(GitHub Releasesのバイナリをそのまま入れるもの)のほかに、第三者の方がソースからビルドするmeguriを登録してくれている。7月に登録されているのを見つけたときも嬉しかったが、先日v0.7.0への追従で更新されているのに気づいた。
自分のリリースに合わせて誰かがPKGBUILDを更新してくれるというのは、単に使われているというだけでなく、第三者からメンテするに値すると評価されたことの裏付けでもあると思っていて、素直に嬉しい。
今後について
前回「やりたい」と書いたものが両方入ったので、しばらくは細かい磨き込みと安定性の方に寄せていくつもり。 その一方で、オーディオ周りはまだ遊べる余地があると思っていて、FFTの先読みからBPMを判断してビートに同期させたり、スペクトラム以外の視覚効果を足したりといったことも進めてみたい。メディア管理のあり方を再定義したいと思っている。 方針は変わらずローカルファースト。外への通信はアップデート確認の1本だけ。
当たり前だが無料であり、課金要素を足す予定は今後一切ない。
Windowsユーザは下のバッジからインストール可能。
Arch LinuxユーザはAURのmeguri-bin(またはmeguri)から、macOSやその他のLinux向けのパッケージはGitHub Releasesから。
EOF