プラグインの変換と実装

変換の仕組み

Seer はプラグインを外部実行プログラムとして扱います。ファイルがトリガーされると、Seer は設定されたプログラムを実行し、プレースホルダーを介してファイルパスを渡します。

プレースホルダー変数

  • ${input_file}: ソースファイルの絶対パス。
  • ${output_file}: プラグインが処理/変換した出力を保存するパス。

実行ワークフロー

  1. トリガー: ユーザーがファイル上で SPACE を押します。
  2. 解決: Seer がファイル拡張子に関連付けられたプラグインを特定します。
  3. 実行: Seer が実行可能ファイルを実行します(例: ApkMetaInfo2Json.exe "${input_file}" "${output_file}.json")。
  4. 表示: プロセスが終了すると、Seer は ${output_file} に生成されたファイルを読み込んでレンダリングします。

プラグインの種類

プラグインは、CLI を介して入出力を処理できる任意の実行可能ファイルです:

  • スクリプト: .cmd, .bat
  • サードパーティツール: ImageMagickexiftooldll_lib_exports など
  • カスタムバイナリ: コンパイルされたプログラム(例: Qt ベースのビューアー)

一時ファイル管理

プラグインは中間ファイルを生成することがよくあります。

  • 自動クリーンアップ: Seer は 20 日以上経過した一時ファイルを自動的に削除します。
  • 強制削除: コマンドパラメーターに ${no_cache} を追加すると、表示直後に一時ファイルを削除するよう Seer に指示します。

DLL プラグイン

高性能または深い統合のために、Seer は DLL ベースのプラグインをサポートしています。プラグインインターフェースの実装については、以下の公式リポジトリを参照してください:

プロジェクト 目的
F3DViewer 3D ファイルプレビュー
OfficeViewer Office 文書
FontViewer フォントレンダリング
JsonTreeViewer JSON 構造ビュー
Collections すべて