はじめに

Chrovaの基本的な使い方と、Register Folder、Import、Catalog、Thumbnailの関係を説明します。

基本概念

📚 Catalog(カタログ)

写真・動画のメタデータを管理するデータベースです。カタログには以下の情報が保存されます:

  • ファイル名、サイズ、ハッシュ値
  • 撮影日時、カメラ情報、GPS情報(EXIF)
  • 評価、フラグ、タイトル、キャプション(ユーザーが追加)
  • オリジナルファイルへの参照(相対パス)

重要: カタログにはメタデータのみが保存され、オリジナルファイルは別の場所に保管されます。

📁 Source Folder(ソースフォルダ)

オリジナルファイルが保存されているフォルダです。Chrovaに登録(Register)することで、そのフォルダ内のファイルを管理できるようになります。

  • 外付けドライブ、NAS、Mac内部のフォルダなど
  • 複数のソースフォルダを登録可能
  • フォルダがオフラインの場合は検出され、通知されます

🖼️ Thumbnail(サムネイル)

オリジナルファイルから生成される縮小画像です。グリッド表示を高速化するために使用されます。

  • HEIC形式で保存
  • カタログフォルダ内の専用ディレクトリに保存
  • 撮影日時(YYYY/MM/DD)でフォルダ分け
diagram_overview.png

カタログ、ソースフォルダ、サムネイルの関係図

シナリオ1: 既存の写真フォルダを管理する

すでにYYYY/MM/DD形式で整理されている写真フォルダがある場合、Register Folderを使ってChrovaで管理できます。

フォルダ構造の例

/Volumes/Photos/MyLibrary/
├── 2024/
│   ├── 01/
│   │   ├── 01/
│   │   │   ├── IMG_0001.jpg
│   │   │   └── IMG_0002.jpg
│   │   └── 15/
│   │       └── IMG_0100.jpg
│   └── 12/
│       └── 25/
│           └── IMG_0500.jpg
                        

Register Folderの手順

1

ツールバーの「Register Folder」をクリック

または、設定画面からソースフォルダを追加します。

2

管理したいフォルダを選択

/Volumes/Photos/MyLibrary/ を選択します。

重要: YYYY/MM/DDフォルダではなく、その親フォルダ(ルートフォルダ)を選択してください。

3

スキャンが開始される

Chrovaは以下の処理を行います:

  • フォルダ内の全ての写真・動画ファイルを検索
  • 各ファイルのメタデータ(EXIF)を読み取り
  • ファイルハッシュを計算
  • データベース(カタログ)に登録
  • サムネイルを生成
screenshot_register_folder.png

Register Folder画面

何が起きるか

✓ オリジナルファイルは移動されません

ファイルは元の場所(/Volumes/Photos/MyLibrary/)にそのまま残ります。

✓ メタデータがデータベースに登録されます

カタログファイル内のSQLiteデータベースに、各ファイルの情報が保存されます。

✓ サムネイルが生成されます

カタログフォルダ内の thumbnails/YYYY/MM/DD/ にサムネイルが保存されます。

diagram_register_process.png

Register処理のフロー図
(オリジナルフォルダ → スキャン → データベース + サムネイル生成)

空のフォルダをRegisterした場合

空のフォルダをRegisterすることも可能です。この場合:

  • スキャン処理は即座に完了します(ファイルが0件のため)
  • 後でImport機能を使って、このフォルダに写真を追加できます
  • 新しい写真の保存先として使用できます

推奨: 新しい写真を整理する専用フォルダを作成し、空の状態でRegisterしておくと便利です。

シナリオ2: 新規写真をインポートする

SDカードや別のフォルダから新しい写真をChrovaに取り込む場合、Import機能を使用します。

Importの手順

1

事前準備: 保存先フォルダをRegister

まず、写真を保存したい場所をRegisterしておきます。
例: /Volumes/Photos/MyLibrary/

2

ツールバーの「Import」をクリック

Importダイアログが開きます。

3

インポート元フォルダを選択

SDカードや別フォルダを選択します。
例: /Volumes/SD_CARD/DCIM/

Chrovaは自動的にファイルをスキャンし、リストに表示します。

4

保存先フォルダを選択

「Destination」ドロップダウンから、Register済みのフォルダを選択します。
例: MyLibrary (/Volumes/Photos/MyLibrary/)

5

タイムゾーンを選択

写真が撮影された場所のタイムゾーンを選択します。
例: Asia/Tokyo

これは撮影日時に基づくフォルダ整理に使用されます。

6

インポートするファイルを選択

デフォルトで全てのファイルが選択されています。必要に応じて選択を解除できます。

重複ファイルは自動的に選択解除されます(後述)。

7

「Import X Files」をクリック

インポート処理が開始されます。

Import画面(ファイルリスト、保存先選択、タイムゾーン選択)

Import処理で何が起きるか

1. ファイルのコピー

選択したファイルが保存先フォルダにコピーされます。

コピー元:  /Volumes/SD_CARD/DCIM/IMG_1234.jpg
コピー先:  /Volumes/Photos/MyLibrary/2024/12/25/IMG_1234.jpg
            

整理ルール: 撮影日時(EXIF)に基づいて、YYYY/MM/DD/ フォルダに自動的に整理されます。

2. 重複チェック

インポート前にファイルハッシュを計算し、既にカタログに登録されているファイルと比較します。

  • 重複が検出されたファイルは、リストに「Duplicate」マークが表示されます
  • デフォルトでは選択解除されます(インポートされません)
  • 「Compare...」ボタンで詳細を確認できます(後述)

3. データベース登録

コピーされたファイルのメタデータがカタログに登録されます。

4. サムネイル生成

各ファイルのサムネイルが生成され、カタログフォルダ内に保存されます。

diagram_import_flow.png

Importのフロー図
(SDカード → 重複チェック → コピー → データベース登録 → サムネイル生成)

Importとファイル名の重複

保存先フォルダに同じファイル名が既に存在する場合、自動的に連番が付与されます:

既存:  IMG_1234.jpg
新規:  IMG_1234_1.jpg  ← 自動的に連番が追加される
                        

注意: これはファイル名の重複であり、ハッシュ値による重複検出とは異なります。

重複ファイルの扱い方

重複検出の仕組み

Chrovaは以下の方法でファイルの重複を検出します:

ファイルハッシュの計算

  • 2MB未満のファイル: ファイル全体のハッシュ値を計算
  • 2MB以上のファイル: 先頭1MBと末尾1MBのハッシュ値を計算

同じハッシュ値を持つファイルが既にカタログに存在する場合、「重複」として検出されます。

⚠️ 誤検知の可能性

2MB以上のファイルで先頭・末尾のみをチェックするため、稀に異なるファイルが重複と判定される可能性があります。そのため、比較機能を提供しています。

screenshot_duplicate_list.png

重複ファイルのリスト表示
(「Duplicate」マーク、「Compare...」ボタン)

重複ファイルの比較

重複と判定されたファイルの「Compare...」ボタンをクリックすると、比較画面が開きます。

重複ファイル比較画面(左: 新規ファイル、右: 既存ファイル、メタデータ比較、判断ボタン)

3つの選択肢

動作: 新規ファイルをインポートせず、既存ファイルをそのまま維持します。

使用場面:

  • ✓ 既にインポート済みのファイルを再度インポートしようとしている
  • ✓ プレビューを確認して、完全に同じファイルであることを確認できた
  • ✓ 既存ファイルに問題がない

例: SDカードから取り込んだ写真を、後日同じSDカードから再度インポートしようとした場合。

Import Both(両方をインポート)

動作: 新規ファイルと既存ファイルを別物として扱い、両方をカタログに登録します。

使用場面:

  • ✓ プレビューを確認して、実際には異なるファイルであることが分かった
  • ✓ メタデータ(撮影日時、カメラ情報など)が異なる
  • ✓ 稀な誤検知のケース(2MB以上のファイルで先頭・末尾が偶然一致)

例: たまたまファイルの先頭・末尾が似ている別の写真が重複と誤判定された場合。

注意: ファイル名が同じ場合、新規ファイルには自動的に連番(_1)が付与されます。

判断のフローチャート

diagram_duplicate_decision_flow.png

重複ファイル判断のフローチャート
(開始 → プレビュー確認 → 同じファイル? → Yes: Skip / No: Import Both)

よくある質問

Q: オリジナルファイルはどこに保存されますか?

A: Register Folderで指定した場所、またはImport時に指定した保存先フォルダに保存されます。Chrovaはファイルを別の場所に移動せず、元の場所(またはインポート先)にそのまま保管します。

Q: サムネイルはどこに保存されますか?

A: カタログファイル(.chrova)と同じディレクトリ内の thumbnails/ フォルダに保存されます。撮影日時でさらにフォルダ分けされています。

Q: ソースフォルダを移動したらどうなりますか?

A: ソースフォルダを移動すると、Chrovaはファイルを見つけられなくなり、オフライン状態として検出されます。設定画面の「Relocate」機能を使って、新しい場所を再設定できます。

Q: 外付けドライブを取り外すとどうなりますか?

A: そのドライブ上のソースフォルダがオフラインとして検出され、通知が表示されます。ドライブを再接続すると、自動的に認識されます。

Q: カタログを削除すると、オリジナルファイルも削除されますか?

A: いいえ。カタログにはメタデータのみが保存されており、カタログを削除してもオリジナルファイルには影響しません。ただし、サムネイルはカタログと一緒に削除されます。

Q: Register FolderとImportの違いは何ですか?

Register Folder Import
ファイルの移動 なし(元の場所のまま) あり(コピーされる)
使用場面 既存の整理済みフォルダ 新規写真の取り込み
フォルダ整理 既存の構造を維持 YYYY/MM/DDに自動整理
重複チェック なし あり

Q: 同じフォルダをImportの保存先とRegisterの両方に使えますか?

A: はい、可能です。推奨される使い方は:

  1. 空のフォルダをRegisterして保存先として登録
  2. Importでそのフォルダを保存先に指定
  3. インポートされたファイルは自動的にカタログに登録される