Para embelezar a resposta por enzotib; esses players reproduzem arquivos na ordem em que os encontram na Tabela de Alocação de Arquivos (o FAT, em FAT).
O FATSort é, portanto, uma solução potencial para o problema. O aviso anotado é por 2 motivos;
- A ferramenta edita a tabela de alocação de arquivos diretamente no nível básico
- Ele move as entradas do arquivo dentro dos limites da tabela de diretórios, portanto, um sistema de arquivos corrompido será mais danificado do que era antes
- Desde que o sistema de arquivos passe uma
fsck.vfat
, você deve estar bem.
- O autor parece sentir que não dedicou tempo suficiente para tornar seu código seguro
- Potencialmente, você poderia criar uma tabela de alocação de arquivos (quebrada) que causasse uma sobrecarga de buffer ou um problema semelhante no aplicativo FATSort
- Na realidade, isso é improvável - é uma espécie de aplicativo de nicho, as oportunidades para um invasor colocar um sistema de arquivos especialmente criado em seu MP3 player são limitadas, e se ele tivesse essa oportunidade, há alvos muito mais fáceis que ele iria depois do primeiro
- Mais uma vez, se o seu sistema de arquivos passar
fsck.vfat
(ou uma verificação de disco no Windows), você deve estar bem - este é um aviso de responsabilidade de cinto-e-cintas do autor
palimpsest
/ O Utilitário de Disco tem opções para fazer uma verificação de disco na GUI.
Outros programas que classificam o FAT podem ser vistos aqui: link
Soluções alternativas;
Copiar arquivos na ordem de reprodução
O mais simples e óbvio é copiar os arquivos para o jogador na ordem em que você deseja que eles sejam reproduzidos. O Nautilus copia arquivos em uma ordem aparentemente indeterminada para o sistema de arquivos do player pelo mesmo motivo - ele tende a operar em arquivos na ordem em que os iNodes são organizados no disco.
Se os nomes dos arquivos de faixa tiverem o número da faixa no início, isso é ideal. A maioria das ferramentas de linha de comando classificará as coisas em ordem lexicográfica. Como você nota, ferramentas como o Midnight Commander também farão isso.
# Find the files in the source | copy them to the target folder
# Note we use the -print0 | -0 args because media file names
# commonly contain spaces
find /path/to/music/folder -print0 | xargs -0 cp -t /path/to/target/folder
Crie uma lista de reprodução
Alguns players suportam arquivos de playlist. Eu mantenho scripts no sistema de arquivos do meu MP3 player para suportar a geração dessas listas de reprodução. Meu player é um dispositivo iRiver, que possui um formato específico de lista de reprodução binária. Se o seu player suportar listas de reprodução .m3u, o formato é extremamente simples e consiste apenas em metadados comentados e caminhos em um arquivo de texto. Eu costumava criar playlists no Rhythmbox e transformá-las no formato iRiver; Eu não tive a oportunidade de fazer um usando Banshee ainda (eu só faço para fins de treino e meus treinos são muito previsíveis ...)