Pipeline de importação
A importação transforma uma pasta de arquivos em uma entrada de catálogo sem modificar um byte dos arquivos. Esta página é o pipeline por trás do fluxo descrito no guia de uso.
Escaneamento
Seção intitulada “Escaneamento”Pastas monitoradas são observadas pelos eventos de sistema de arquivos da plataforma, agrupadas para evitar repetição e reescaneadas em mudanças; escaneamentos reconciliam contra a lista de candidatos existente em vez de começar do zero. O scanner classifica uma pasta como um lançamento (áudio diretamente dentro, ou subpastas em formato de disco como CD1/CD2) ou entra nela como uma coleção. Arquivos são classificados por extensão em áudio, arte e documentos; depois o áudio é sondado: o codec que importa é o que FFmpeg encontra nos bytes, não a extensão do arquivo. Pastas contendo marcadores de download parcial são excluídas até o download terminar.
Uma folha CUE transforma uma imagem de áudio em lista de faixas. O parser lida com pregaps e postgaps, intérpretes e ISRCs por faixa, e tanto imagens de arquivo único quanto layouts CUE de um arquivo por faixa. Limites de faixa convertem de quadros CUE (1/75 de segundo) para posições exatas de amostra, que depois viram as janelas de bytes e amostras usadas pela reprodução.
Rascunhos de metadados
Seção intitulada “Rascunhos de metadados”Cada candidato armazena um rascunho de metadados editável e uma proveniência opcional. O rascunho pode estar em branco, preenchido diretamente, preenchido a partir de uma liberação externa ou preenchido a partir de um instantâneo de tag de arquivo armazenado. Registros de proveniência onde o rascunho atual começou; edições posteriores não o apagam.
O slot de metadados superior exibe o rascunho, o navegador Buscar online ou o navegador Tags dos arquivos.Abrir ou fechar um navegador não reescreve o rascunho.Aplicaring uma fonte substitui o rascunho, sua proveniência e sua capa de fonte selecionada em uma transação de banco de dados, mantendo funções de arquivo, ligações CUE, atribuições de disco e outras decisões de mapeamento.
Buscar online
Seção intitulada “Buscar online”Buscar online é o único caminho que executa a identificação. Ele calcula um ID do disco a partir de um registro de extração ou de uma folha CUE, reconhece códigos de barras e texto de catálogo com OCR, consulta MusicBrainz e Discogs e faz a correspondência dos resultados.
A configuração Fonte de metadados padrão tem três valores. Nenhuma cria um rascunho em branco e não inicia trabalho de metadados. Tags dos arquivos lê e aplica o instantâneo das tags. Buscar online abre o fluxo on-line. Modo padrão de Buscar online escolhe Automático, que coloca em fila a extração de evidências, as consultas aos provedores e a correspondência, ou Buscar manualmente, que não inicia a identificação. Buscar online usa o modo escolhido para qualquer candidato; Automático não reinicia uma operação ativa ou concluída.
Tags dos arquivos
Seção intitulada “Tags dos arquivos”Tags dos arquivos lê tags de áudio incorporadas e metadados CUE de forma preguiçosa, a menos que seja o padrão configurado para um candidato recém-descoberto. A visualização armazena um instantâneo com a geração de digitalização do candidato, revisão de edição de arquivo e arquivos de áudio observados. Aplicar substitui o rascunho desse instantâneo exato. A importação consome o mesmo instantâneo e falha antes que a biblioteca escreva se seu carimbo ou observações forem alterados; ela não lê uma resposta diferente.
A entrada direta não executa nenhuma E/S de metadados. Os campos de liberação e rastreamento do rascunho em branco são editáveis imediatamente, e ele se torna importável quando os campos e mapeamentos necessários são validados.A lista de candidatos não trata a proveniência ausente como um erro ou um pedido de atenção.
MusicBrainz é consultado anonimamente com ritmo estrito de uma solicitação por segundo. Discogs autentica com o token pessoal do usuário vindo do chaveiro, respeita limites de taxa e tenta novamente dentro deles, e um token rejeitado é relatado como tal para que a interface possa sinalizar em vez de buscas falharem em silêncio. Respostas são armazenadas em cache por sessão, e o JSON bruto de qualquer fonte vencedora é arquivado no banco de dados para futura reinterpretação.
Gravação
Seção intitulada “Gravação”Confirmar uma importação roda, em ordem:
- Verificação de decodificação: toda faixa é decodificada do começo ao fim; um rip que não consegue decodificar completamente falha a importação antes de qualquer coisa ser escrita (uma flag de configuração pode desativar isso).
- Análise de intensidade sonora: loudness integrado e pico verdadeiro são medidos por faixa e por álbum durante a mesma passada de decodificação, armazenados para uso de replay gain.
- Seleção de capa: a arte escolhida (remota, imagem da pasta ou embutida) é renderizada novamente para uma miniatura de exibição; a original é mantida entre os arquivos do lançamento se veio da pasta.
- Escrita atômica: lançamento, faixas, créditos, identidades, formatos, segmentos, arquivos e capa são gravados em uma transação. Não existe estado meio importado.
O lançamento entra referenciando os arquivos do usuário no lugar. Se o usuário escolheu gerenciado na nuvem, o upload acontece depois da gravação como uma transição de armazenamento, e os bytes originais dos arquivos permanecem a fonte de verdade o tempo todo; nada que o usuário deu a bae é apagado ou alterado.
Reconhecendo rips
Seção intitulada “Reconhecendo rips”Cada lançamento registra um hash de conteúdo sobre a estrutura da pasta importada (caminhos relativos e tamanhos, independente de localização). Reescaneamentos o usam para marcar pastas já na biblioteca, e reimportações do mesmo rip encontram e substituem o lançamento anterior em vez de duplicá-lo.