monolithic kernel

DxO PhotoLab で External Selections をまとめて削除する

DxO PhotoLab では、Lightroom Classic などの外部アプリケーションから DxO PhotoLab に転送した場合に、External Selections のリストに項目が追加されて管理される。転送するたびに項目が増えていくが、まとめて削除する方法はなく、1件ずつポチポチしていく必要があり面倒。

2019年にスレッドが作成されてから今に至るまで改善されておらず、対応には期待できないので、自分でどうにかすることにした。

DxO PhotoLab のデータ構造を調べたところ、SQLite になっていて、直接データベースを操作すればよさそうだったのでやってみた。

SQLite の CLI は Windows であれば scoop などでインストールする。macOS には最初から入っている。

Terminal window
scoop install sqlite

DxO PhotoLab が起動していない状態で以下のようなクエリを実行する。Windows と macOS でデータ構造が何もかも違っていて衝撃だった。

Windows
sqlite3 "${env:AppData}\DxO\DxO PhotoLab 8\Database\PhotoLab.db" "DELETE FROM Projects WHERE ProjectTypeDiscriminator = 'EFDOPExternalSelection'"
macOS
sqlite3 ~/Library/DxO\ PhotoLab\ v8/DOPDatabaseV8.dopdata "BEGIN; DELETE FROM ZDOPLIST; DELETE FROM Z_8PROJECTS; COMMIT"

とりあえず自分の環境ではこれで動いた。本当に問題がないかはわからないし、ミスすると危険だと思うのでやるなら自己責任で。


Related articles