Eagleで「別名保存」しても迷子にならない!自動同期プラグイン『SaveAsSync』を作った

etc.

はじめに

Eagleで管理している画像を外部エディタで開いて、「よし、ちょっと加工して別バージョン作ろ!」と『名前を付けて保存(Save As)』した事やWeb用保存で書き出しした事……ありますよね?

で、Eagleに戻ってみたら「あれ?増えてない……」
エクスプローラーには確かにファイルがあるのに、Eagle上では認識されない「幽霊ファイル(metadata.json未登録のゴミデータ)」になってしまうあの現象。

結局、そのファイルをもう一度Eagleに放り込んで、元のファイルと同じタグを付け直して……。

ダルさメガマックス。
極まったのでなんかいい感じに同期するプラグインを作りました。

外部ソフトで元ファイルと同じフォルダ内に保存したファイルを自動検知して、元のメタデータを引き継いだままEagleに登録してくれます。

機能紹介

スポンサーリンク

1. 自動同期

プラグインがバックグラウンドでEagleの images フォルダを監視し、外部ソフトで「保存」ボタンを押してから数秒後には、Eagleの中に新しいアイテムとして登録されています。

PSDなどのファイルを別名保存すると別名保存後のファイルがアクティブ化しますが、Eagle上では別名保存した元フォルダのファイル(次回削除される)と同期先フォルダ(残る)にファイルが二重で存在している状態になっています。
そのまま編集を続行して上書きされた場合にはプラグイン側の機能で自動で同期先にも上書き反映するようになっていますが、この状態の時にEagleを閉じてから上書き保存をしても次回削除されるファイルに上書きされるだけで残される側のファイルに同期されないので注意してください。

基本的には再編集するファイルで使う前提というよりは、PNGなどのWEB用に使うファイルの書き出しで使うことを想定しています。

Eagleは1ファイルに対して1フォルダで管理しています。
フォルダ構成はメインファイル+サムネファイル+metadata.jsonの3ファイル構成です。

このプラグインで別名保存する時はこの元のファイルが有る所に保存する前提なので、
元のメインファイル+別名保存ファイル+元のサムネファイル+元のmetadata.json
となるわけですが、Eagle上でファイルを表示するためには別名保存ファイルにもmetadata.jsonが必要になります。

そのため、この新たに増えた別名保存ファイルに対してEagleでインポート処理をして、
別名保存ファイル+別名保存のサムネファイル+別名保存のmetadata.json
という構成のフォルダを作成します。ここまでやってEagle上にようやく新しいファイルが表示されます。

そして、問題になるのが完全なゴミファイルになる元のフォルダにある別名保存したファイル。
これをプラグイン側で次回起動時に削除しています。

2. メタデータの「完コピ」継承

元のファイルに付与されていた「タグ」や「所属フォルダ」をそのまま引き継ぎます。 さらに、自動で同期されたことが一目でわかるように AutoSynced というタグを追加します。

3. ライブラリのお掃除機能

別名保存した直後、実はEagleの元フォルダ内には「登録されていない野良ファイル」が発生してしまいますが、次回のEagle起動時に自動で削除します。

インストール、使い方

  1. プラグインファイルをDL
    https://github.com/sp8999/Eagle-SaveAsSync/releases/download/v1.0.0/Save_As_Sync.eagleplugin
  2. プラグインをインストール(ダブルクリックするだけ!)
  3. あとは普通に使うだけ。

基本的にはインストールしたら存在を忘れてOKです。
外部エディタで『別名保存』すれば、勝手に同期します。

GitHub - sp8999/Eagle-SaveAsSync: Eagleフォルダ内で別名保存などをした場合でも正常に同期する。
Eagleフォルダ内で別名保存などをした場合でも正常に同期する。. Contribute to sp8999/Eagle-SaveAsSync development by creating an account on GitHub.

注意事項(お約束)

  • Eagleが動いている間の「保存」を検知します。Eagleを閉じた状態で保存した分は、残念ながら追い切れません。(ゴミになります)
  • Eagleで管理されているフォルダ内全てを監視しているので、Eagleから開いたファイルでなくてもEagleライブラリ内のフォルダに保存をすれば自動でEagleのライブラリに登録されますが、保存したEagleのフォルダに入っているファイルのタグ情報で登録されてしまうので注意してください。
  • 内部ファイルを自動で整理する仕組みなので、テストライブラリで検証してから使うことをおすすめします。Win11Pro環境でしかテストしていません。
  • 自己責任でお願いします!
タイトルとURLをコピーしました