ここに、*。mkvファイル(明らかにビデオ)と* .srtファイル(明らかに字幕)の束を含むフォルダーがあります。それらを1つのフォルダー内に保持したいのですが、一緒に混在させたくありません。それらを2つの別々のグループに視覚的に配置することは良い考えのように見えます。
ただし、どちらの拡張機能もシステムによって認識されず、1つのグループ「ドキュメント」に分類されます。これは明らかに私が望んでいることではありません。
質問:すべての* .mkvファイルを「メディア」(または「ビデオ」、またはビデオファイルのファイルの種類グループの名前)として扱う必要があることをシステムに伝えるにはどうすればよいですか?
ありがとう。
編集:
@Daniel、関連するプログラムはMPlayerXであり、そのコマンドの出力は次のとおりです。
iMac:Game of Thrones arnold$ mdls "Game of Thrones 1×2.mkv"
kMDItemContentCreationDate = 2011-12-15 10:31:20 +0000
kMDItemContentModificationDate = 2011-12-27 09:09:55 +0000
kMDItemContentType = "dyn.ah62d4rv4ge804450"
kMDItemContentTypeTree = (
"public.data",
"public.item"
)
kMDItemDateAdded = 2011-12-27 09:22:55 +0000
kMDItemDisplayName = "Game Of Thrones 1×2.mkv"
kMDItemFSContentChangeDate = 2011-12-27 09:09:55 +0000
kMDItemFSCreationDate = 2011-12-15 10:31:20 +0000
kMDItemFSCreatorCode = ""
kMDItemFSFinderFlags = 0
kMDItemFSHasCustomIcon = 0
kMDItemFSInvisible = 0
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery = 0
kMDItemFSLabel = 0
kMDItemFSName = "Game of Thrones 1×2.mkv"
kMDItemFSNodeCount = 220877659
kMDItemFSOwnerGroupID = 99
kMDItemFSOwnerUserID = 99
kMDItemFSSize = 220877659
kMDItemFSTypeCode = ""
kMDItemKind = "Video Media"
kMDItemLogicalSize = 220877659
kMDItemPhysicalSize = 220880896
iMac:Game of Thrones arnold$
不思議なことに、「アイテムの種類」は「ビデオメディア」として表示されます。そして字幕ファイルは「字幕」です。それでも、何らかの理由でFinderがこれらのファイルを正しく配置するのに役立ちません…
たとえば、正しいファイルタイプの関連付けを宣言するアプリケーションを使用する必要があります。 .mkv
ファイル名拡張子。
たとえば、/System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist
のシステム定義ファイルタイプは、Exported Type UTIsセクションで次のように宣言します。
これにより、システムは [〜#〜] uti [〜#〜]public.jpeg
を「UTIグループ」public.image
に関連付けることができます。これは(おそらく)Finderです。 Imagesグループに使用します。 public.filename-extensions
同等のタイプはファイル拡張子にマップされます。
これにより、OS Xは、.jpg
ファイルにUTIpublic.jpeg
があり、それがpublic.image
のサブUTIである(以下同様、public.item
およびpublic.data
)。次に、Finderは(また)public.image
であるすべてのファイルを取得し、それらを同じImagesグループに配置します。
同じことがpublic.mpeg-4
とpublic.movie
およびそこでのファイル名マッピングにも当てはまります。
残念ながら、MPlayerXの作成者はUTIのマッピングを気にしませんでした。
彼は、プログラムがサポートするすべての拡張機能に対して適切なファイルタイプを作成することすらしませんでした。そのため、Finderのリストビューでは、すべての.mkv
ファイルないと呼ばれます。 Matroska Video、一致する[〜#〜] mkv [〜#〜]ラベルがアイコンにありますが、単にVideo Mediaジェネリックビデオラベル。サポートされているすべてのファイルタイプは、この「ファイル形式」のファイル拡張子別に一覧表示されるため、MPlayerXはそれらを開くことができます。
つまり、たとえば、iTunesよりもMPlayerXで.m4a
ファイルを再生したい場合は、説明的なApple MPEG-4 audio in theFinder's- 種類列を取得し、代わりにオーディオメディアを取得します。
/Applications/MPlayerX.app/Contents/Info.plist
ファイルを編集し、適切に宣言することで、グループ化を修正できます。 mplayerx.video
に準拠するpublic.movie
UTIであり、適切なファイル名拡張子マッピングを追加します。
Kind列を修正するには、同じファイルを編集し、より適切な説明でファイルタイプを適切に宣言し、それぞれにアイコンファイルを作成します。
コアタイプInfo.plist
ファイルをテンプレートとして使用し、たとえば、 public.jpeg
独自のカスタム識別子を使用します(例:適切な種類列とアイコンが必要な場合はmplayerx.video
、必要な場合はmplayerx.mkv
)。これらのファイルを編集するには、Xcodeが必要です。または、plutil -convert xml1 <filename>
を使用して任意のテキストエディタで編集可能なXMLに変換する必要があります。
間違えやすい変更は、アプリケーションが更新されるたびに上書きされます。
または、少なくともFinder Arrange By Kindの場合は、コアタイプの定義を編集して、独自の定義を追加することができます。パーミッションの問題を回避するために、必ずファイルのコピーを編集し、編集後にファイルを置き換えてください。これを行うことで、コアシステムファイルを編集および置換する(つまり、トラブルを要求する)ことに注意してください。
賢明な解決策は、ファイルタイプUTIをエクスポートされたタイプUTIとして宣言するだけの新しい「ダミー」アプリケーションを作成することです。これはOSXのファイルタイプデータベースによって使用され、コンテンツタイプの関連付けを失うことなくOSXとMPlayerXの両方を更新できます。あなたが変更したとしても.m4a
からMPlayerXへ、Kind列のみが変更され、関連付けられたアプリケーションから独立した別のアプリケーションでの宣言により、Movieカテゴリに残ります。
したがって、新しいapplicationを作成します。例:起動時に実際には何もしないAutomatorを使用し、そのContents/Info.plist
ファイルに以下を追加します。
/Applications
程度で保存し、Finderを再起動します。
.mkv
ファイルの部分的なmdls
出力、「ヘルパーアプリ」によって提供されるコンテンツタイプ、関連するプレーヤー(MPlayerX)によって提供されるアイテムの種類:
kMDItemContentType = "superuser.371939.mkv"
kMDItemContentTypeTree = (
"superuser.371939.mkv",
"public.movie",
"public.audiovisual-content",
"public.data",
"public.item",
"public.content"
)
...
kMDItemKind = "Video Media"
これは開発者によるだらしのないプラットフォーム統合であるため、おそらくバグを報告する必要があります。