Aqui eu tenho uma pasta contendo um monte de arquivos * .mkv (vídeo, obviamente) e * .srt (legendas, obviamente). Quero mantê-los em uma pasta, mas não quero que eles sejam misturados. Parece uma boa ideia organizá-los visualmente em dois grupos separados.
No entanto, nenhuma das extensões é reconhecida pelo sistema e ainda é colocada em um grupo 'Documentos', o que claramente não é o que eu quero.
A questão: como informar ao sistema que todos os arquivos * .mkv devem ser tratados como 'Mídia' (ou 'Vídeos' ou qualquer que seja o nome do grupo de tipos de arquivos dos arquivos de vídeo)?
Obrigado.
EDITAR:
@ Daniel, o programa associado é MPlayerX e a saída desse comando é a seguinte:
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$
Estranhamente, o 'Item Kind' aparece como 'Video Media'. E para um arquivo de legenda é 'Subtitle'. Ainda assim, não ajuda o Finder a organizar esses arquivos corretamente por algum motivo ...
fonte
mdls
Terminal para um desses arquivos, por exemplomdls "Game of Thrones episode 2.mkv"
?mdls
saída. Você está usando o MPlayer OSX ou o MPlayer OSX Extended ?kMDContentType
. Que tipo de conteúdo é o listado acima?Respostas:
Você precisa usar um aplicativo que declare a associação correta do tipo de arquivo, por exemplo, a
.mkv
extensão do nome do arquivo.Por exemplo, os tipos de arquivo definidos pelo sistema
/System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist
declaram o seguinte na seção UTIs de tipo exportado :Isso permite que o sistema associe a UTI
public.jpeg
ao "grupo UTI"public.image
, que é (muito provavelmente) o que o Finder usa para o grupo Imagens ; opublic.filename-extensions
tipo equivalente é mapeado para a extensão do arquivo.Isso permite que o OS X determine, esse
.jpg
arquivo possui a UTIpublic.jpeg
e é uma sub-UTI depublic.image
(e assim por diante, compublic.item
epublic.data
). O Finder pega todos os arquivos que estão (também)public.image
e os coloca no mesmo grupo de Imagens .O mesmo aplica-se a
public.mpeg-4
epublic.movie
e o mapeamento de nome de arquivo lá.Infelizmente, o autor do MPlayerX não se incomodou em mapear as UTIs.
Ele nem se deu ao trabalho de criar tipos de arquivos adequados para todas as extensões que o programa suporta. É por isso que, na exibição em lista do Finder , todos os
.mkv
arquivos não são chamados, por exemplo, Matroska Video , e têm um rótulo MKV correspondente em seu ícone, mas simplesmente Video Media com um rótulo Video genérico . Todos os tipos de arquivos suportados são listados por extensão para este "formato de arquivo", para que o MPlayerX possa abri-los:Isso significa, por exemplo, que se você prefere reproduzir
.m4a
arquivos no MPlayerX e no iTunes, perde o áudio descritivo do Apple MPEG-4 na coluna Kind 's Kind e obtém a mídia de áudio .Você pode corrigir o agrupamento editando o
/Applications/MPlayerX.app/Contents/Info.plist
arquivo e declarando adequadamente, por exemplo, umamplayerx.video
UTI em conformidadepublic.movie
e adicionando o mapeamento de extensão de nome de arquivo adequado.Você pode corrigir a coluna Tipo editando o mesmo arquivo e declarando corretamente os tipos de arquivo com uma descrição melhor e criando um arquivo de ícone para cada um.
Basta usar o arquivo Core Types
Info.plist
como modelo, substituindo, por exemplo, porpublic.jpeg
seu próprio identificador personalizado (por exemplo,mplayerx.video
se você não deseja colunas e ícones Kind apropriados , oumplayerx.mkv
se deseja). Você precisa do Xcode para editar esses arquivos ou convertê-los para XML editável em qualquer editor de texto usandoplutil -convert xml1 <filename>
.Suas alterações, que são fáceis de errar, serão substituídas a cada atualização do aplicativo.
Como alternativa, pelo menos para o Finder Organizar por tipo , você pode editar as definições dos tipos principais e adicionar suas próprias. Certifique-se de editar uma cópia do arquivo e substituí-lo após a edição para contornar os problemas de permissão. Esteja ciente de que você estará editando e substituindo os arquivos principais do sistema (ou seja, solicitando problemas) fazendo isso.
Uma solução mais saudável seria criar um novo aplicativo "fictício" que simplesmente declare as UTIs do tipo de arquivo como UTIs do tipo exportado . Isso será usado pelo banco de dados de tipo de arquivo do OS X e você poderá atualizar o OS X e o MPlayerX sem perder as associações de tipo de conteúdo. Mesmo se você mudar, por exemplo,
.m4a
para MPlayerX, apenas a coluna Tipo será alterada, ela ainda estará na categoria Filme , devido às declarações em outro aplicativo independente do aplicativo associado.Portanto, crie um novo aplicativo, por exemplo, usando o Automator que realmente não faz nada quando iniciado e adicione o seguinte ao seu
Contents/Info.plist
arquivo:Salve mais
/Applications
ou menos e reinicie o Finder.mdls
Saída parcial do.mkv
arquivo, tipo de conteúdo fornecido pelo "aplicativo auxiliar", tipo de item fornecido pelo player associado (MPlayerX):Como essa é apenas uma integração desleixada da plataforma pelo desenvolvedor, você provavelmente deve registrar um bug.
fonte
kMDItemContentTypeTree
que não adiciona nada útil aos metadados?.mp4
está), e o aplicativo que adiciona o tipo de arquivo ao sistema não declara a UTI (por isso é apenasdyn.xyz
) ou a relação (por isso é apenaspublic.data
) também. Eles precisariam declarar a UTI e associá-lapublic.movie
(em vez de, por exemplopublic.data
)..mkv
para.avi
ofegar !!! Para torná-lo um pouco menos horrível, deixo um Comentário do Spotlight (em Obter informações) dizendo que é realmente um MKV. ..a de curso assume seu media player está tudo bem com a extensão errada - VLC é baixo;).mkv.avi
para a solução alternativa menos perigosa, mas com um nome de arquivo um pouco menos bonito.