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
-
Escanéo
ROMScanner (un
actorde Swift) escanea directorios recursivamente, filtra por extensión e identifica archivos MAME en un solo paso. -
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.
-
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.
-
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.
-
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.plusen 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_masksen 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.
Foil Holo en tarjetas de biblioteca (beta)
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
Notas y tiempos en la vista de detalle