Brightroom Closed
フィルムのスキャン画像にEXIFデータを追加したいというニッチな需要のために自分で編集ツールを作ろうと思い立った。camerarollでメタデータを表示するための派生ツール。名前は完全にLightroomをパクった。
設計
どうやらnpmパッケージでEXIFを書き込めるものはないらしいことが判明したので、もっとネイティブ環境向きのGoならそういうライブラリがあるんではないかと探したら、あったぜ。
ユーザーが操作する画面はNext.jsで作り、Server Actionで書き込む部分だけGoのプログラムに投げるという方式を取った。具体的にはNode.jsのchild_processモジュールを使用している。
引数で必要なパラメータを渡すので、Goプログラム単体でCLIから呼ぶこともできる。
画像ファイル選択には、初の試みとなる疑似エクスプローラーで実装した。
デザイン
いつものshadcn/uiとtailwindcssにお世話になっています。
その後
publicにするかprivateにするか迷い中。
ExifTool GUIというソフトを発見したのでご臨終。