Você precisa usar um aplicativo que declare a associação correta de tipo de arquivo para, por exemplo, a extensão de nome de arquivo .mkv
.
Por exemplo, os tipos de arquivo definidos pelo sistema em /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist
declaram o seguinte na seção UTIs do tipo Exportado :
Isso permite que o sistema associe a UTI public.jpeg
com o "grupo UTI" public.image
, que é (muito provável) o que o Finder usa para o grupo Imagens ; o tipo de public.filename-extensions
equivalente é mapeado para a extensão do arquivo.
Isso permite que o OS X determine que o arquivo .jpg
tem o UTI public.jpeg
e que é um sub-UTI de public.image
(e assim por diante, com public.item
e public.data
). O Finder pega todos os arquivos que são (também) public.image
e os coloca no mesmo grupo Imagens .
O mesmo se aplica a public.mpeg-4
e public.movie
e ao mapeamento de nomes de arquivo.
Infelizmente, o autor do MPlayerX não se incomodou em mapear as UTIs.
Ele nem se incomodou em criar tipos de arquivos apropriados para todas as extensões que o programa suporta. É por isso que na visualização de lista do Finder , todos os arquivos .mkv
não são chamados, Vídeo Matroska , e tem um marcador MKV correspondente em seu ícone, mas simplesmente Mídia de Vídeo com um rótulo genérico Vídeo . Todos os tipos de arquivos suportados são listados por extensão de arquivo para este "formato de arquivo", então o MPlayerX pode abri-los:
Isso significa, por exemplo, se você preferir reproduzir .m4a
arquivos no MPlayerX para o iTunes, perderá o áudio MPEG-4 da Apple na coluna Kind do Kinder e obtenha Audio Media em seu lugar.
Você pode corrigir o agrupamento editando o arquivo /Applications/MPlayerX.app/Contents/Info.plist
e declarando corretamente, um mplayerx.video
UTI que está em conformidade com public.movie
e adicionando o mapeamento de extensão de nome de arquivo adequado.
Você pode corrigir a coluna Kind editando o mesmo arquivo, declarando corretamente os tipos de arquivo com uma descrição melhor e criando um arquivo de ícone para cada um.
Basta usar o arquivo Tipos Principais Info.plist
como modelo, substituindo, por exemplo, public.jpeg
com seu próprio identificador personalizado (por exemplo, mplayerx.video
se você não quiser colunas e ícones adequados Kind , ou mplayerx.mkv
, se desejar). Você precisa do Xcode para editar esses arquivos ou convertê-los para XML editável em qualquer editor de texto usando plutil -convert xml1 <filename>
.
Suas alterações, que são fáceis de serem erradas, serão substituídas com todas as atualizações 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 definições. 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 arquivos principais do sistema (ou seja, solicitando problemas) ao fazer isso.
Uma solução mais adequada seria criar um novo aplicativo "fictício" que simplesmente declara o tipo de arquivo UTIs como UTIs do tipo exportado . Isso será usado pelo banco de dados do 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, e. .m4a
para o MPlayerX, somente a coluna Kind é alterada, ainda está na categoria Movie , devido às declarações em outro aplicativo independente do aplicativo associado.
Então, crie um novo aplicativo , por exemplo usando o Automator que, na verdade, não faz nada quando é lançado, e adiciona o seguinte ao arquivo Contents/Info.plist
:
Salvar em /Applications
ou mais e reiniciar o Finder.
Parcial mdls
output do arquivo .mkv
, tipo de conteúdo fornecido pelo "aplicativo auxiliar", tipo de item fornecido pelo player associado (MPlayerX):
kMDItemContentType = "superuser.371939.mkv"
kMDItemContentTypeTree = (
"superuser.371939.mkv",
"public.movie",
"public.audiovisual-content",
"public.data",
"public.item",
"public.content"
)
...
kMDItemKind = "Video Media"
Como esta é apenas uma integração desleixada da plataforma pelo desenvolvedor, você provavelmente deve registrar um bug.