Ir al contenido

Proceso de importación

Importar convierte una carpeta de archivos en una entrada de catálogo sin modificar un byte de los archivos. Esta página es el conducto detrás del flujo descrito en la guía de uso.

Las carpetas vigiladas se observan mediante eventos del sistema de archivos de la plataforma, se agrupan para evitar repetición, y se vuelven a analizar al cambiar; los análisis concilian contra la lista existente de candidatos en vez de empezar de cero. El analizador clasifica una carpeta como un lanzamiento (audio directamente dentro, o subcarpetas con forma de disco como CD1/CD2), o entra recursivamente en ella como colección. Los archivos se clasifican por extensión en audio, imágenes y documentos, luego se inspecciona el audio: el codec que importa es el que FFmpeg encuentra en los bytes, no la extensión del archivo. Las carpetas que contienen marcadores de descarga parcial se excluyen hasta que la descarga termina.

Una hoja CUE convierte una imagen de audio en una lista de pistas. El parser maneja pregaps y postgaps, interpretes e ISRCs por pista, y tanto imágenes de archivo único como disposiciones CUE de un archivo por pista. Los límites de pista se convierten de frames CUE (1/75 de segundo) a posiciones exactas de muestra, que luego se convierten en las ventanas de bytes y muestras que usa la reproducción.

Borrador de metadatos

Enlace a esta sección

Cada candidato almacena un borrador de metadatos editable y una procedencia opcional. El borrador puede estar en blanco, rellenado directamente, rellenado desde una versión externa o rellenado desde una instantánea de etiqueta de archivo almacenada. La procedencia registra dónde comenzó el borrador actual; las ediciones posteriores no lo borran.

La ranura de metadatos superior muestra el borrador, el explorador Buscar en línea o el explorador Etiquetas de archivo. Al abrir o cerrar un explorador no se reescribe el borrador. Aplicaring un origen reemplaza el borrador, su procedencia y su cubierta de origen seleccionada en una transacción de base de datos mientras se conservan los roles de archivo, las vinculaciones CUE, las asignaciones de disco y otras decisiones de asignación.

Buscar en línea

Enlace a esta sección

Buscar en línea es la única ruta que ejecuta la identificación. Calcula un ID de disco a partir de un registro de extracción o una hoja CUE, reconoce códigos de barras y texto de catálogo con OCR, consulta MusicBrainz y Discogs y hace coincidir los resultados.

El ajuste Fuente de metadatos predeterminada tiene tres valores. Ninguna crea un borrador en blanco y no inicia trabajo de metadatos. Etiquetas de archivo lee y aplica la instantánea de etiquetas. Buscar en línea abre el flujo de trabajo en línea. Modo predeterminado de Buscar en línea elige Automático, que pone en cola la extracción de indicios, las consultas a proveedores y la comparación, o Buscar manualmente, que no inicia la identificación. Buscar en línea usa el modo elegido para cualquier candidato; Automático no reinicia una operación activa o terminada.

Etiquetas de archivo

Enlace a esta sección

Etiquetas de archivo lee las etiquetas de audio incrustadas y los metadatos CUE con pereza, a menos que sea el valor predeterminado configurado para un candidato recién descubierto. La vista previa almacena una instantánea con el sello de generación de escaneo del candidato, la revisión de edición de archivos y los archivos de audio observados. Aplicarreemplázala por el borrador de esa instantánea exacta. La importación consume la misma instantánea y falla antes de que la biblioteca escriba si su sello u observaciones cambian; no lee una respuesta diferente.

La entrada directa no realiza ninguna E/S de metadatos. Los campos de liberación y seguimiento del borrador en blanco se pueden editar inmediatamente y se pueden importar cuando se validan los campos y asignaciones requeridos.La lista de candidatos no trata la procedencia faltante como un error o una solicitud de atención.

MusicBrainz se consulta anónimamente con un ritmo estricto de una solicitud por segundo. Discogs se autentica con el token personal del usuario desde el llavero, se espacia y reintenta dentro de sus límites de frecuencia, y un token rechazado se reporta como tal para que la UI pueda señalarlo en vez de que las búsquedas fallen en silencio. Las respuestas se guardan en caché por sesión. Cuando se elige un lanzamiento, lo que bae usa de sus documentos —los datos del álbum y del prensaje, la lista completa de pistas con créditos y obras, las opciones de portada y cómo lo llaman otros catálogos— se extrae a la base de datos una sola vez; el JSON sin procesar no se guarda.

Confirmar una importación ejecuta, en orden:

  1. Verificación de decodificación: cada pista se decodifica de punta a punta; una copia que no puede decodificarse completa falla la importación antes de escribir nada.
  2. Análisis de sonoridad: la sonoridad integrada y el pico verdadero se miden por pista y por álbum durante esa misma pasada de decodificación, guardados para uso de replay-gain.
  3. Selección de portada: el arte elegido (remoto, imagen de carpeta o incrustado) se vuelve a renderizar como miniatura de visualización; el original se conserva entre los archivos del lanzamiento si vino de la carpeta.
  4. Escritura atómica: el lanzamiento, pistas, créditos, identidades, formatos, segmentos, archivos y portada se confirman en una transacción. No existe un estado medio importado.

El lanzamiento queda referenciando los archivos del usuario en su lugar. En una importación a la nube, coven lee y calcula el hash de cada archivo antes de la escritura, y la misma escritura prepara cada archivo en coven, hace que cada fila apunte a su archivo y pone su subida en cola. Una importación local registra en cambio la ruta, el tamaño y la fecha de modificación de cada archivo en este dispositivo; sus bytes solo se leen si el lanzamiento se mueve después a la nube. En ambos casos los bytes originales de los archivos siguen siendo la fuente de verdad en todo momento; nada de lo que el usuario le dio a bae se elimina o altera.

Reconocer copias

Enlace a esta sección

Cada importación crea un lanzamiento con un ID aleatorio nuevo y sus propias filas de pistas y archivos. Cada dispositivo guarda en local_release_origin un SHA-256 de las rutas relativas ordenadas, tamaños y fechas de modificación de los archivos que leyó cada una de sus importaciones; ese registro nunca se sincroniza. Una carpeta cuyo hash guardó este dispositivo está en la pestaña de completados, se haya movido adonde se haya movido, y su fila nombra el único lanzamiento importado de ella. Importar de nuevo los mismos archivos en ese dispositivo falla, y la pestaña de completados no ofrece volver a importar.