記事と少し異なる部分もありますが更新版で、一旦完結しましたので。ExifToolを使う前提なので、ファイルをお試しの場合は公式からインストーラーをダウンロードしてあらかじめインストールしておいてください。あるちゃんとしたアプリみたいに「ExifToolを組み込んだ」とかそういうのありませんから。インストールしておいてください。パスとかAppleScriptとかあらゆる局面でMacの仕組みを利用していますので残念ながらMac専用です。他の環境のかたは参考程度に。今回のファイルで変更されたところや特徴をざっと紹介します。使ってexifデータを取得します。タグそのものを管理するテーブルが追加されたり、メタテーブルへの読込方法の変更がなされたり、GPSによるGoogleMapsへのナンチャッテ対応を果たすなど、かなり変更がありました。編)エクスポートを追加メディアファイルをエクスポートする設定を追加しました。インポート、新規登録、フォルダの更新、再挿入...インポートや新規登録のスクリプトも全面的に作り直しました。改善になっていればいいのですが、まだまだ修行途中です。編集したあと更新する手際を考えましたが・・・バージョンバージョンという名の、複製を作る仕組みを作りました。複製を作ることで、オリジナルに手を付けず自由に弄り倒せます。追加いろいろとテーブルも増えております。拡張子のFileTypeテーブルを追加しました。インポートするときに除外する拡張子を管理できます。検索の充実フィルタの他に、レコードのAND検索、FileMakerのフル検索をそれぞれ追加して、フィルターに収まりきれない検索モードを充実させました。その他の変更あとは・・・変更が多すぎてよく分からない状態ですが。フラグとレートのフィルタボタンでは、すでにフィルタ状態では「検索」ではなく「絞り込み」になりました。v2)それと、レイアウトの見た目のデザインをかなり改善して、わずかにすっきりしたかもしれません。ダブルクリックで開くプレビュー画面も変更しました。詳しく行くと言っても、どうしましょ。今回は仕組みの話をせずに、使い方みたいなことを書いてみます。ver.5の表層編です。どのように使うか作って育てる手作りメディアDB、作り手の意向に応じた機能を追加していっておりますが、そもそもこのファイルは何かというと、メディアを読み込んで管理します。メディアを読み込んで登録するデータベース読み込み方法として、格納と参照、どちらもいけます。格納で読み込めば、FM内部で管理してることになり指定のフォルダにメディアがコピーされて収まります。参照で読み込めばパス情報を元に管理します。フォルダを指定してインポートファイル1個ずつ読み込むこともできますが、フォルダを指定してその中身をごっそり読み込むこともできます。ばらばらな複数ファイルをドラッグして登録するみたいな高度なことはできません。一個ずつかフォルダ読み込みかのどちらかだけです。今回、インポートの画面を簡素化しました。import設定フォルダの中に読み込みたくない種類のファイルもあると思われるので、最初から「除外する拡張子」という設定を済ませて、読み込むファイルタイプを限定します。「読み込まない拡張子のリスト」を、これまでは単に改行リストとして作っていました。飽き足らず、拡張子テーブルを使って追加や変更が容易に行えるようにしました。拡張子とタイプ、採用・除外を設定このテーブル、単独でも何かと使える拡張子データベースになりそうです。ところで、世の中には拡張子のないファイルもあります。私のハードディスクにはたっぷりあります。そこで、MediaDBでは拡張子の付いてないファイルも読み込めるように工夫しています。拡張子のないファイルなんてのは、漢字トーク時代や旧MacOS時代のファイルになりますから、かなりレアです。自分には必要なので、ここでたいへんな苦労をして不整合なく読み込めるように作り込みました。ファイル属性やメタデータを使っての管理メディア管理とは何なのか。単純にいうと「分類してフィルタする」ことに尽きます。勝手に書き換えたファイル属性(主に日付)を正したり、メタデータから細かな情報を得たりします。キーワードや見出しを付けて分類することも需要、こうやって多大なメディアファイルを一覧したり絞り込んだりします。星と旗は前回付けました。今回はそれ以上の細かなメタデータも扱えます。メタデータは項目が多すぎていちいちフィールドにはできません。テーブルを分けてリレーションします。メタデータの扱いメインテーブルでは1個のメディアファイルが1個のレコードです。メインテーブルにIDでリレーションしているメタテーブルは、キーと値のレコードの束です。ポータルで表示できます。メタデータのポータルパネルメタテーブルのキーはExifToolでゲットしたメタデータの「タグ名」にあたります。タグ名によってメタテーブルのキーには意味が与えられ、時にはその意味に沿って一部メインテーブルのフィールドに昇格します。タグ名を網羅したデータベーステーブルが一つ必要になります。このカタログに沿って、メタテーブルのキーを解釈できるという案配です。タグ名のテーブル「ExifToolTags」テーブルは、メタデータのグループ名、タグ名、説明、値の例で作られたExifToolで取得できるタグ名DBです。メディアを登録してExifをゲットするごとにタグ名DBも育ってきました。これだけでも結構価値あるデータベースではないかと思います。フィールドの追加があり、それは「フィールド名」フィールドです。特定タグ名にフィールド名をセットしておくことで、レコードのメタテーブルの特定キー(タグ名)をフィールドとして転記させたり、エクスポートの時に狙ったタグのExifを書き換えたりできる仕組みです。仕組みの話はややこしいので分かりにくいかもしれませんが、何しろ、タグ名データベースが作られましたという話でした。前回V4で各種フィルタを用意しました。これだけでも結構使えますが、作り手の実力不足で、項目ごとに検索することしか出来ません。絞り込みを解除して元の検索に戻りたいとか、複合的にAND検索したいとか、多目的にOR検索したいとか、キリがありませんので作るの無理。そこで、簡易なフィルタで満足できないときのために検索パネルを設けました。検索条件が1ページのみで、各フィールドはAND検索。キーワードが「とめ」の「JPEG」画像。そんな検索が出来るパネルです。これでも満足出来ないときはFileMakerの検索モードフル機能を使います。FileMakerのフル検索機能やや大袈裟な画面になりますが、レコード条件を追加することでOR検索ができるようになります。ファイルを書き出すこと管理したメディアファイルをエクスポートします。フィルタして絞り込んだものをまとめてフォルダに書き出して再利用するとか。写真から位置情報などExifデータを削除したり、コピーライトや著作権を加えたり、そういう書き出しも行います。元のオリジナルファイルを変更せず、書き出しによって賄います。エクスポートの設定も大事な機能です。エクスポートメディアを編集メディア管理のアプリよりも画像編集アプリが好きなのが世のみんなです。不要品としてポイ捨てされました。私には必要なのでこうして作っています。それはともかく、でも編集したいときもあります。FMメディア管理では、編集は外部アプリの仕事です。「このアプリで開く」メニューアプリを登録してそれで開くメニューも実装済みなので、好みのアプリで編集します。これに対処するためのスクリプトをすでに作ってあります。どのようなスクリプトかという技術的な話は省略しますが、別のポストで詳しくやるかも。再読み込みするとほれこのとおり。「ファイル更新日」も更新されます。ここまではいいのですが、いや、よくない。オブジェクトが「変更されています」となった時だけ「メディアを再読み込み」というか「更新」ボタンをどーんと表示したいんです。オブジェクトを隠すを使えばできますが、「変更されています」状態をゲットする方法がわからないんです。これを読んでいるベテランの先生がいらっしゃいましたら、どうかオブジェクトが「変更されています」状態であることをゲットする関数や計算式を教えてください。言っても簡単に教えてくれることもないので自力で突き止めます。使ったときにファイルサイズが「?」となる特徴を発見しました。消滅するという確実っぽい特徴もありました。"?"暫定的に、この状態ゲットを利用して<変更されています>場合に更新ボタンを表示することに落ち着きました。判断できるかどうか、少ないサンプル数では確実と言えないですが、あくまで暫定措置として。状態を取得する方法バージョンさて、編集はいいですが、いや、よくない。大事なオリジナルをおいそれと編集してしまっては取り返しが付きません。「バージョン」という機能を追加しました。現時点ではテスト的な実装と考えてください。いうのも、バージョンの意味や目的やあり方など、実は奥が深〜い代物で、生半可にはいかないとわかっているからです。今回実装したバージョンは、一言で言えば「複製」です。複製すでにレコードに登録済みのメディアファイル、これを複製します。同時に、レコードも複製というか追加されます。登録が参照であっても格納であっても、バージョンは常に「格納」になります。格納じゃない複製ならFinderで勝手にやればよろしいだけなので。親子バージョンというからには何か元のレコード(ファイル)のバージョンです。この元になるものを「親」、バージョンを「子」として登録します。バージョンは、複製であると同時に親子関係にあります。設けて、その中に実装しました。あるレコードのバージョンを作ったとき、そのレコードを表示すると、親である印が付き、同時に「このメディアの複製の子たち」を一覧できます。あるレコードがバージョンであるとき、そのレコードを表示するとバージョンである印が付いており、同時に「このメディアの元となった親」を表示できます。バージョンの印がついたレコードは、重要度が低くなります。弄くって失敗しても削除しても大きな問題にはなりません。親の印がついたレコードは大事なオリジナルということになります。このバージョンの機能、実はアップして更新しようと思った後で急に思いついて追加しました。パネルに含めるのがいいかもしれないですね。パネル増えるの厭ですが。インターフェイスある意味最も難しいインターフェイスデザインです。今回の改良で目指したのは、雑然とした状況の改善です。画面はリスト表示で、インフォボタンによるパネルの表示・非表示が基本の形です。ボタンでパネル表示を切り替えます。パネルありこれまでは、このインフォパネル部分がごちゃごちゃで意味不明でした。何とかまとめてみたのが今回です。ノートタイプでも使えるよう高さに制約を課しているせいでどうしても少し詰め込み気味になります。ポップアップや検索窓で素早くフィルタできます。編集まで出来るという無茶ぶりです。メタデータパネルここで変更したものは、あくまでレコード上での変更でオリジナルファイルには変更ありません。歯車ボタンで「埋め込む」ことも可能です。メタデータを埋め込むと、普通はファイル変更日付も変わってしまいますが、ここでは維持したまま埋め込むことが出来ます。オプションいろいろできます。管理上必要なパス情報はパスパネルに集約。ファイル名、パス、フォルダ、いろいろ確認します。パスの確認4つめのパネルこの後がちょっと変わり種です。4つめのパネルは、実は複数あります。スクリーンショット撮影準備パネルです。複数のスライドパネルを用意しておいて、ボタンだけフレキシブルに命令を変更しています。現状はこの二つしかありませんが、今後、ファイルタイプに応じて専用の機能や表示を追加していける案配です。フレキシブルな4つめのパネルプレビューリストのアイコン部分をダブルクリックしてプレビューを開きます。プレビュー画面の雑なデザインを見直しました。インフォパネルを同じように表示することで違和感なくなりました。元のレイアウトでインフォパネルを表示していない場合はプレビューも全画面になります。個人的にどうしても実現したいのが「ダブルクリックでプレビューが閉じる」です。一覧からダブルクリックでプレビュー、プレビューダブルクリックで戻る。これすら出来ない管理アプリが多くてうんざりしている私やあなたのためにある仕掛けです。ムービープレイヤーが表示されているときはそれが無理なので妥協中。バージョンまでのごちゃごちゃ感を少しでも軽減するため、いちびって初期設定画面みたいなのを作りました。このアプリで開く」メニューに入るアプリケーションリストなどを作っておけます。システム設定を開くのはこういう歯車の場所にあります以前までは、インフォパネルと設定パネルとメニューみたいなのが混在していてうんざりしてましたが少しましになったでしょうか。コマンドメニューそういえばユーティリティ的なコマンドのメニューもこれまでは煩雑でした。これは今でも煩雑です。上部のメニューいくつかは主要なものは上部にまとめていますが、細かいコマンドメニューが他にも結構あって、そいういうのはまとめきらずに各所に歯車ボタンとして配置。いうのはどうかなと思いつつ、どうにもなっていません。いつもと趣向を変え、仕組みなどをくどくど説明せず表層的なことをさらっと流しました。流したのは、細かく書き出したら永遠に終わらないほどの知恵と工夫に満ちているからです(笑)細かく技術的な話は気が向けば個別に別ポストでいきます。記事がアップされたらこのページにもリンク付けるなり何なり、都度、改変していく予定です。ダウンロードしてお試しください。失敗してるところや間違いや改善ネタがあればご連絡ください。記事と少し異なりますが、最終更新版です。【免責事項】このファイルは素人が奮闘しながら作って育てているFileMaker書類です。どこにどんな失敗が潜んでいるやもしれません。大事なオリジナルファイルを直接扱ったりしないでください。オリジナルを守り、テスト的に使用していただければありがたいです。Ver.5.1で一旦完結さて少し時が経ち、少しだけ修正を施した5.1をアップして、このシリーズを一旦終了します。最後のご挨拶はこちら。完結それなりのものが出来たと思いますが、これ以上弄くるのを辞めて一旦終了します。舌の根も乾かぬうちにリセットしてリブート。新しく実作編が生まれ変わりました。簡素簡潔親切優しいをモットーに仕切り直します。コメントデータの処理方法の詳細はこちらをご覧ください。[Amazon]執筆者のCDです。