XMMS2 ( X -platform M usic M ultiplexing S istema 2 ) es una nueva generación de los XMMS reproductor de audio. Es un nuevo diseño, escrito desde cero, separado de la base de código XMMS . Si bien Peter Alm, uno de los autores originales de XMMS, fue responsable del diseño inicial y la codificación de XMMS2 (desde finales de 2002 hasta principios de 2003), [3] desde entonces ha pasado la responsabilidad de promover el proyecto a Tobias Rundström y Anders Gustafsson. . [4] LXMusic, la aplicación de reproductor de música predeterminada en LXDE , es un cliente XMMS2.
Desarrollador (es) | Equipo XMMS |
---|---|
Lanzamiento estable | 0,8 DrO + WIP / 20 de octubre de 2011 [1] |
Versión de vista previa | 0.9 DrP |
Repositorio | |
Sistema operativo | Tipo Unix |
Disponible en | C [2] |
Tipo | Reproductor de música |
Licencia | GPL v2 / LGPL v2.1 (complementos) |
Sitio web | www.xmms2.org |
Conceptos de diseño
XMMS2 toma prestados conceptos de los reproductores de música de la era XMMS, como control de reproducción, una lista de reproducción , complementos , GUI configurable por el usuario y agrega características como una biblioteca de medios y un diseño cliente-servidor .
Como XMMS, XMMS2 tiene una arquitectura de complementos ; un tipo de arquitectura modular donde ciertas funciones se delegan a bibliotecas cargables que proporcionan funciones particulares en tiempo de ejecución . XMMS reconoció cinco tipos diferentes de complementos:
- Complementos de entrada para leer y decodificar archivos o transmisiones.
- Complementos de salida para manejar la salida de sonido.
- Complementos de efectos para agregar efectos a los datos de audio decodificados, antes de su salida.
- Complementos de visualización para proporcionar animaciones visuales que varían según el audio que se está reproduciendo.
- Complementos generales que permiten funciones diversas, como controlar XMMS a través de un control remoto por infrarrojos o un joystick.
XMMS2 también reconoce cinco tipos de complementos, pero realizan funciones bastante diferentes:
- Complementos de transporte para leer archivos o transmisiones.
- Complementos de decodificador para decodificar datos leídos por complementos de transporte.
- Complementos de efectos para agregar efectos a los datos de audio decodificados, antes de su salida.
- Complementos de salida para manejar la salida de sonido.
- Complementos de listas de reproducción para manejar la importación y exportación de datos de listas de reproducción.
A diferencia de XMMS2, XMMS no tenía una biblioteca donde almacenaba información sobre la colección de medios de un usuario. Los únicos recursos multimedia que conocía XMMS eran su lista de reproducción. A partir del año 2000, reproductores como Winamp y SoundJam MP comenzaron a implementar funciones de base de datos simples que permiten al reproductor "recordar" dónde se encuentran los medios de un usuario, así como almacenar en caché los metadatos almacenados en los archivos, como el artista, el título, la fecha de adición y la reproducción. contar.
La biblioteca multimedia de XMMS2 está bien integrada con la lista de reproducción. Esta integración significa que cada archivo o flujo agregado a la lista de reproducción tiene sus metadatos almacenados en caché automáticamente por la biblioteca de medios. Esto solo ocurre una vez para cada URL única, por lo que los metadatos no se vuelven a leer si ya existen en la biblioteca. Además de los metadatos, la biblioteca multimedia también puede almacenar y recargar listas de reproducción de manera rápida y eficiente, haciendo que la colección de música de un usuario sea accesible desde un solo lugar.
Una característica de XMMS2 que rara vez se ha implementado en reproductores multimedia es su arquitectura cliente-servidor. XMMS2 permite al usuario elegir entre una serie de implementaciones de interfaz para buscar, seleccionar y reproducir medios, luego cerrar la interfaz mientras el audio se reproduce "en segundo plano". La interfaz se puede volver a abrir en cualquier momento para su uso posterior. Otros reproductores con características similares en * nix incluyen Music Player Daemon y Music on Console .
El diseño
Cuando se concibió por primera vez, XMMS2 era simplemente una biblioteca compartida . Es decir, XMMS2 sería un código de back-end para encargarse de la mecánica de decodificación y reproducción de secuencias de audio, lo que requiere estar vinculado a un programa compilado que proporcione una interfaz de usuario. Este concepto se expandió posteriormente a un modelo cliente-servidor para permitir un acoplamiento más flexible entre el front-end y el back-end. [5] Las ventajas de este enfoque son:
- Esto permite que cualquier cliente compatible se conecte y controle una única instancia del demonio XMMS2 .
- Los clientes pueden ofrecer varios tipos de interfaces de usuario, gráficas o basadas en texto, implementadas usando varios kits de herramientas, integradas con varios entornos de escritorio .
- Los desarrolladores de clientes pueden concentrarse en mejorar la usabilidad de su interfaz y no preocuparse por el código de reproducción.
- El uso de sockets TCP también permite a los usuarios controlar de forma remota los demonios XMMS2 a través de una red TCP / IP.
Si bien la arquitectura de complementos de XMMS permitía que fuera bastante extensible, era ineficaz en ciertos aspectos; XMMS2 busca mejorar eso.
- XMMS tiene complementos de entrada que se encargan de leer datos y decodificarlos en audio. XMMS2 divide esto en una etapa de transporte y una etapa de decodificación, de modo que un solo complemento de transporte puede suministrar datos de cualquier tipo a cualquier complemento de decodificador (como un complemento HTTP que lee datos mp3 de un sitio web).
- Los complementos generales pueden resultar menos relevantes en XMMS2, ya que su propósito puede ser servido por clientes independientes, pero la arquitectura del complemento seguirá existiendo.
- XMMS no puede manejar formatos de contenedor de manera general. La arquitectura XMMS2 facilita la creación de compatibilidad con formatos de contenedor.
XMMS2 y otros proyectos
El nombre "XMMS2" fue elegido por Peter Alm y Tobias Rundström cuando comenzaron a trabajar en el proyecto, evidentemente con la intención de que se convirtiera en el sucesor de XMMS. Sin embargo, otros desarrolladores comenzaron a usar el nombre (en 2003) antes de que Peter y Tobias lanzaran su código:
- Otro proyecto llamado XMMS2, fue descrito como "un puerto Gtk 2 del conocido xmms". Esto no estaba relacionado con el proyecto discutido en el resto de este artículo. El proyecto ahora ha sido descontinuado y eliminado de GNU Savannah .
- Un puerto GTK + 2 más conocido de XMMS es el Beep Media Player, al que a veces se hace referencia (erróneamente) como XMMS2. [6] Las preguntas frecuentes de BMP explican la relación de ese proyecto con XMMS.
Una sutil diferencia entre los acrónimos XMMS y XMMS2 es que, mientras que XMMS significa X (originalmente para X11 y luego multiplataforma) MultiMedia System , XMMS2 significa X (multiplataforma) sistema de multiplexación de música . Esta decisión se tomó para dejar en claro que XMMS2 solo sería un reproductor de audio y no un reproductor multimedia general con soporte de video.
Referencias
- ^ Cambiar registro
- ^ XMMS2 frente a MPD
- ^ Historial del proyecto Archivado el 11 de octubre de 2006 en Wayback Machine , Proyecto XMMS2, obtenido el 11 de enero de 2007
- ^ Desarrolladores principales Archivado el 2 de enero de 2007 en Wayback Machine , Proyecto XMMS2, obtenido el 11 de enero de 2007
- ^ Diseño de XMMS2 Archivado el 27 de octubre de 2005 en Wayback Machine , Proyecto XMMS2, obtenido el 11 de enero de 2007
- ^ 'Otro'. por Thomas Nilsson , 2003-11-08, consultado el 11 de enero de 2007
enlaces externos
- Página de inicio de XMMS2