Friday 13 October 2017

0x91 opções binárias


Autor: J. Hipps Primeiro trabalho: 14 Jan 2010 Licença: LGPL Versão 3 fplreader é um rápido e leve foobar2000 FPL playlist parser escrito em C sem dependências que não seja a biblioteca C padrão. Ele pode compilar e executar em praticamente qualquer sistema com um compilador GCC de trabalho ou usando MSVC, como Linux, FreeBSD, Windows e Mac OS X. Embora o programa seja orientado pela linha de comando, é muito fácil de usar. Exemplos de uso e sintaxe são descritos abaixo. Minha principal razão para escrever este programa de volta em 2010 foi para que eu pudesse criar uma interface web para navegar minha música. No entanto, eu realmente me acostumei com a maneira como o foobar2000 analisou os metadados dos arquivos e aproveitou a velocidade com que ele fez. Além disso, re-parsing dezenas de milhares de arquivos isnt exatamente rápido, não importa o quão otimizado seu programa se torna. Espero que você encontre este software útil, ou seja capaz de incorporar o código em seu próprio projeto, ou pelo menos o formato FPL torna-se apenas um pouco mais claro para uso em sua própria implementação. Eu só peço que você forneça crédito apropriado onde devida. Depois de perceber que foobar2000s playlist formato foi inédito e ninguém na época tinha conseguido reverter a engenharia de seu layout, eu me disponho a fazê-lo por conta própria. Depois de horas de hacking sobre com um editor hexadecimal e modificando e re-salvando playlists para ver como o arquivo resultante mudou, eu consegui glean a estrutura geral e a maioria dos campos que são armazenados pelo jogador. A estrutura geral usa um índice de trilha na parte superior do arquivo, seguido por uma tabela de seqüência de caracteres contendo entradas detalhadas para os metadados e atributos de arquivo. Track data chunk 4 bytes - não assinado int unk1 -. 4 bytes - não assinado int fileofz - filename string offset 4 bytes - não assinado int subsong - subsong valor de índice 4 bytes - não assinado int fsize - filesize 4 bytes - unsigned int unk2 -. 4 bytes - unsigned int unk3 -. 4 bytes - unsigned int unk4 -. 8 bytes - unsigned double int durationdbl - duração da faixa, em segundos (o programa struct usa char durationdbl8) 4 bytes - float rpgalbum - ganho de repetição, álbum 4 bytes - flutuador rpgtrack - ganho de repetição, faixa 4 bytes - flutuador rpkalbum - Pico 4 bytes - flutuador rpktrack - ganho de reprodução, pico de trilha 4 bytes - não assinado int keysdex - número de chaves / ponteiros que seguem 4 bytes - unsigned int keyprimary - número de chaves de informação primárias 4 bytes - unsigned int keysecond - número de chave info secundária Combos 4 bytes - unsigned int keysecoffset - índice do início da chave secundária Controlar os dados do atributo Key - gt Os pares de valores, NULL terminados (veja lista de fontes para mais detalhes) Mais informações podem ser recolhidas do código fonte para aprender como o arquivo é analisado, O comprimento do registro não é fixo, como foobar2000 pode armazenar um número arbitrário de atributos de metadados para cada arquivo (embora arbitrária é usado um pouco losely, como o seu provavelmente limitado na prática, e fplreader é limitado a 512 pares chave / valor por faixa)

No comments:

Post a Comment