Tutaj mam folder zawierający kilka plików * .mkv (oczywiście wideo) i * .srt (oczywiście napisy). Chcę je przechowywać w jednym folderze, ale nie chcę, aby były ze sobą mieszane. Dobrym pomysłem jest zorganizowanie ich w dwie osobne grupy.
Jednak żadne rozszerzenia nie są rozpoznawane przez system i nadal są zaliczane do jednej grupy „Dokumentów”, co oczywiście nie jest tym, czego chcę.
Pytanie: jak powiedzieć systemowi, że cały plik * .mkv powinien być traktowany jako „Media” (lub „Wideo” lub jakakolwiek nazwa grupy rodzajów plików dla plików wideo)?
Dzięki.
EDYTOWAĆ:
@Daniel, powiązany program to MPlayerX, a wynik działania tej komendy jest następujący:
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$
Co dziwne, „Item Kind” pojawia się jako „Media wideo”. A plik z napisami to „Subtitle”. Mimo to z jakiegoś powodu nie pomaga Finderowi poprawnie ułożyć tych plików…
źródło
mdls
w Terminalu dla jednego z tych plików, np.mdls "Game of Thrones episode 2.mkv"
?mdls
wynik. Czy używasz MPlayer OSX lub MPlayer OSX Extended ?kMDContentType
. Jakiego rodzaju treść jest wymieniona powyżej?Odpowiedzi:
Musisz użyć aplikacji, która deklaruje prawidłowe powiązanie typu pliku, np
.mkv
. Dla rozszerzenia nazwy pliku.Na przykład zdefiniowane przez system typy plików
/System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist
deklarują następujące w sekcji UTI typu eksportowanego :Pozwala to systemowi powiązać UTI
public.jpeg
z „grupą UTI”public.image
, co jest (bardzo prawdopodobne) tym, czego używa Finder dla grupy Obrazy ;public.filename-extensions
równoważny typ mapy do rozszerzenia pliku.Pozwala to OS X ustalić, czy
.jpg
plik ma identyfikator UTIpublic.jpeg
i jest to pod-UTIpublic.image
(i tak dalej, zpublic.item
ipublic.data
). Finder następnie pobiera wszystkie pliki, które są (również),public.image
i umieszcza je w tej samej grupie obrazów .To samo odnosi się do
public.mpeg-4
apublic.movie
i mapowanie nazwy pliku tam.Niestety autor MPlayerX nie zawracał sobie głowy mapowaniem UTI.
Nawet nie zadał sobie trudu stworzenia odpowiednich typów plików dla wszystkich rozszerzeń obsługiwanych przez program. Dlatego w widoku listy Findera wszystkie
.mkv
pliki nie są nazywane np. Matroska Video i mają na ikonie pasującą etykietę MKV , ale po prostu Video Media z ogólną etykietą Video . Wszystkie obsługiwane typy plików są wymienione według rozszerzenia dla tego „formatu pliku”, więc MPlayerX może je otworzyć:Oznacza to na przykład, że jeśli wolisz odtwarzać
.m4a
pliki w MPlayerX niż iTunes, tracisz opisowy dźwięk Apple MPEG-4 w kolumnie Rodzaj Findera i zamiast tego dostajesz Audio Media .Możesz naprawić grupowanie, edytując
/Applications/MPlayerX.app/Contents/Info.plist
plik i odpowiednio deklarując np.mplayerx.video
UTI, który jest zgodnypublic.movie
i dodając odpowiednie mapowanie rozszerzenia pliku.Możesz naprawić kolumnę Rodzaj , edytując ten sam plik i odpowiednio deklarując typy plików z lepszym opisem i tworząc dla każdego plik ikony.
Wystarczy użyć Typy rdzenia
Info.plist
plik jako szablon, zastępując nppublic.jpeg
z własnym identyfikatorem użytkownika (na przykładmplayerx.video
, jeśli nie chcesz odpowiednie Kind kolumny i ikony, lubmplayerx.mkv
jeśli chcesz je). Potrzebujesz Xcode, aby edytować te pliki lub przekonwertować je na edytowalny XML w dowolnym edytorze tekstowym za pomocąplutil -convert xml1 <filename>
.Twoje zmiany, które można łatwo pomylić, będą zastępowane przy każdej aktualizacji aplikacji.
Alternatywnie, przynajmniej dla Finder Arrange By Kind , możesz edytować definicje typów podstawowych i dodawać własne. Pamiętaj, aby edytować kopię pliku i zastąpić ją po edycji, aby uniknąć problemów z uprawnieniami. Pamiętaj, że będziesz w ten sposób edytować i zamieniać podstawowe pliki systemowe (tj. Prosząc o problemy).
Rozsądniejszym rozwiązaniem byłoby utworzenie nowej „obojętnej” aplikacji, która po prostu deklaruje UTI typu pliku jako UTI typu eksportowanego . Będzie to wykorzystane przez bazę danych typów plików OS X. Możesz aktualizować zarówno OS X, jak i MPlayerX bez utraty powiązań typów zawartości. Nawet jeśli zmienisz np.
.m4a
Na MPlayerX, zmieniana jest tylko kolumna Rodzaj , nadal znajduje się ona w kategorii Film , ze względu na deklaracje w innej aplikacji niezależnej od powiązanej aplikacji.Utwórz nową aplikację, np. Za pomocą Automatora, który właściwie nic nie robi po uruchomieniu, i dodaj do
Contents/Info.plist
pliku:Zapisz się
/Applications
mniej więcej i uruchom ponownie Findera.Częściowe
mdls
wyjście.mkv
pliku, typ zawartości dostarczony przez „aplikację pomocniczą”, rodzaj elementu dostarczony przez powiązany odtwarzacz (MPlayerX):Ponieważ jest to po prostu niechlujna integracja platformy przez programistę, prawdopodobnie powinieneś zgłosić błąd.
źródło
kMDItemContentTypeTree
nie dodaje niczego przydatnego do metadanych?.mp4
Jest), a aplikacja dodająca typ pliku do systemu nie deklaruje ani UTI (więc jest po prostudyn.xyz
), ani relacji (więc jest po prostupublic.data
). Musieliby zadeklarować UTI i powiązać gopublic.movie
(zamiast nppublic.data
.)..mkv
na.avi
gasp !!! Robię to trochę mniej przerażające, zostawiając Komentarz w centrum uwagi (w Get Info), mówiąc, że to naprawdę mkv. .. to oczywiście zakłada, że twój odtwarzacz multimediów jest w porządku z niewłaściwym rozszerzeniem - VLC nie działa;).mkv.avi
na najmniej zły sposób, ale z nieco mniej ładną nazwą pliku.