Gestión de Biblioteca

El sistema de gestión de biblioteca de TruchiEmu organiza tu colección de juegos con enriquecimiento de metadatos, box art Multi-Fuente, identificación DAT/CRC32 y automatización post-escanéo — incluyendo materialización de placeholders de iCloud y notificaciones de eliminación de ROMs.

Descripción General

La biblioteca es donde viven tus juegos. Apunta TruchiEmu a tus carpetas de ROMs y él hace el resto: descubre a qué sistema pertenece cada archivo, identifica el juego, obtiene un título y descripción, y descarga la carátula. Navega por sistema, favoritos, jugados recientemente o las categorías que hayas creado.

Qué Hace por Ti

  • Identificación CRC32: Hash CRC32 acelerado por hardware (via zlib) contra bases DAT — no solo extensiones de archivo — para identificar ROMs con precisión sin importar el nombre
  • Seguimiento de Rechazo MAME: La identificación MAME usa seguimiento de rechazo y un algoritmo de puntuación refinado; las entradas MAME no-juego se filtran automáticamente
  • Servicio de Metadatos LaunchBox: El enriquecimiento de metadatos en segundo plano obtiene descripciones, fechas de lanzamiento, editor, número de jugadores y género. Las sobreescrituras de plataforma mejoran la puntuación entre sistemas
  • Prioridad de Box Art: Las carátulas se obtienen de ScreenScraper y Libretro CDN con prioridad configurable; un selector interactivo de Box Art permite cambiar la carátula alternativa por juego
  • Descarga de Activos PPSSPP: Los activos específicos de PPSSPP se descargan y aplican automáticamente al detectar una ROM de PSP
  • Selección de Región de Box Art: Elige la región preferida para carátulas por juego o global; las miniaturas se generan, cachean y remuestrean eficientemente
  • Materialización de iCloud: Los placeholders de iCloud se materializan al acceder, para que las ROMs almacenadas en iCloud se muestren correctamente — sin stubs de cero bytes en tu lista
  • Notificaciones de Eliminación de ROMs: Cuando se eliminan ROMs de carpetas vigiladas, la biblioteca se actualiza automáticamente y publica una notificación — sin necesidad de reescanéo manual
  • Organizado a tu Manera: Navega por sistema, favoritos, recientes, últimos agregados, categorías personalizadas o compatibilidad con RetroAchievements
  • Cuadrícula o Lista: Cambia entre la cuadrícula de carátulas (con control deslizante de zoom) y la vista de lista compacta
  • Búsqueda y Filtros: Búsqueda por escritura en la ventana principal (búsqueda multi-término); chips de filtro rápido para "sin carátula", "nunca jugado", "no identificado", "multijugador", "género"
  • Barra Lateral Inteligente: Las filas de colecciones inteligentes en SystemSidebarView respetan la consulta de búsqueda activa — los sistemas ocultos permanecen ocultos al filtrar
  • Compatibilidad con RetroAchievements: Los juegos con logros se marcan y se pueden filtrar para mostrar solo esos

Automatización Post-Escanéo

TruchiEmu no solo escanea — después del escané, LibraryAutomationCoordinator ejecuta un pipeline posterior: identificar → enriquecer metadatos → descargar carátula. El pipeline respeta RunningGamesTracker para que el trabajo pesado post-escanéo se pause durante el juego.

Rendimiento en segundo plano: El pipeline se ejecuta en serie con una demora de calentamiento de 2 segundos para no competir con la CPU del juego activo. Un MetadataSyncCoordinator separado maneja la sincronización de LaunchBox en segundo plano con concurrencia de 1 por vez; también se pausa durante el juego.

Pipeline de Identificación

  1. Escanéo

    ROMScanner (un actor de Swift) escanea directorios recursivamente, filtra por extensión e identifica archivos MAME en un solo paso.

  2. Hash y Coincidencia

    ROMIdentifierService calcula CRC32 en paralelo (semáforo de 4 vías para limitación de E/S) y los compara con bases DAT. ROMIdentifier usa puntuación ponderada: cabeceras mágicas > extensiones únicas > patrones de nombre > contexto de ruta.

  3. Enriquecimiento de Metadatos

    El Servicio de Metadatos LaunchBox enriquece los juegos identificados con descripción, fecha de lanzamiento, editor, número de jugadores y género.

  4. Descarga de Carátulas

    BoxArtService obtiene carátulas de ScreenScraper y Libretro CDN según tu prioridad. Respeta las preferencias de región. BoxArtThumbnailService genera y cachea miniaturas para renderizado rápido en cuadrícula.

  5. Categorización por Género

    Los géneros se obtienen de los metadatos y se exponen como chips de filtro en la barra lateral de la biblioteca.

Gestión de Carpetas de Biblioteca

Agregar Carpetas

  • Asistente de Configuración: Agrega una o más carpetas durante la configuración inicial
  • Barra de Herramientas: Haz clic en el botón folder.badge.plus en la parte superior de tu biblioteca
  • Barra de Menú: Juegos → Agregar Carpeta de ROMs (Shift+Cmd+O)
  • Configuración: Ajustes → Biblioteca → Carpetas de Biblioteca, haz clic en "Agregar Carpeta"

Reescanéo y Reconstrucción

  • Reescanéo Completo: Ajustes → Biblioteca → Mantenimiento → "Reescanéo Completo de Biblioteca" (o Shift+Cmd+R)
  • Actualización por Carpeta: Cada carpeta tiene un botón "Actualizar" (y una opción "Reconstruir" con múltiples estrategias)
  • Actualización por Sistema: Haz clic derecho en un sistema en la barra lateral y elige "Actualizar"
  • Archivos MAME Ocultos: Las entradas MAME no-juego filtradas viven bajo una entrada "Archivos MAME Ocultos" en la barra lateral, no en tu cuadrícula principal

Géneros y Categorías

Navega por género usando el chip de filtro de género (impulsado por metadatos de LaunchBox), o crea categorías personalizadas con nombres, íconos SF Symbol, íconos personalizados y colores por categoría.

  • Categorías Personalizadas: Arrastra y suelta juegos en categorías personalizadas, o usa el menú contextual
  • Favoritos: Clic derecho → "Agregar a Favoritos" para acceso rápido
  • Jugados Recientemente: Seguimiento automático basado en el historial de lanzamiento
  • Juegos Ocultos: Clic derecho → "Ocultar Juego" para mantener la cuadrícula principal ordenada
  • Gestión de Géneros: Ajustes → Géneros proporciona controles por género

Efectos Holo (Beta)

Holo añade un brillo foil y un destello de luz a las tarjetas de la biblioteca. Sigue el cursor y se pausa durante el desplazamiento para mantener la cuadrícula fluida.

  • Activar: activa Holo en las opciones de vista de biblioteca, o activa auto_generate_holo_masks en el paso Look & Feel del asistente para carátulas nuevas
  • Ajustar: ajusta la fuerza del foil y los ciclos de tono en los ajustes de Holo
  • Nota: Holo sigue en beta. Los efectos se pegan al rectángulo ajustado de la carátula, no a toda la tarjeta.
Cuadrícula de biblioteca con efectos Holo

Foil Holo en tarjetas de biblioteca (beta)

Ajustes de Holo con pesos de variantes

Ajustes de Holo: pesos de variantes y botón de reproducción

Estilos de carátula: Adaptativo

El estilo Adaptativo ajusta carátulas verticales y horizontales sin recorte. Vertical, Box y Landscape fuerzan un marco. Adaptativo elige por juego.

  • Activar: Ajustes → Biblioteca → Estilo de carátula, o por sistema en ajustes por sistema
  • Valores: Vertical, Box, Landscape, Adaptive

Info del juego: notas, tiempos, orden

La vista de detalle muestra notas y tiempos cuando hay datos, más nuevos órdenes de biblioteca.

  • OpenCritic: notas en la vista de detalle; añade tu clave RapidAPI en Ajustes para activar la búsqueda
  • HowLongToBeat: tiempos principal, extras y completista en la vista de detalle; automático al coincidir
  • Órdenes: prueba Tiempo jugado y Más largo de pasar en el selector de orden
Vista de detalle con notas y tiempos

Notas y tiempos en la vista de detalle

Funciones Relacionadas