Cuaderno de GNUtas

EMMS en Org Mode y en Dired

Para todos aquellos que pasamos el día, y hasta parte de la noche, confinados en Emacs, el Emacs Multimedia System, más conocido por sus siglas EMMS, es un gran compañero y aliado en lo tocante a la reproducción de audio y de vídeo sin salir de nuestra querida máquina Lisp. Ya comentábamos aquí de una mínima configuración necesaria (yo lo uso con el reproductor VLC en segundo plano, pero podemos aplicar muchos más reproductores), y ahora se me ocurre aportar un par de apuntes más sobre lo que podemos hacer con esta potente biblioteca multimedia. Así que entramos en harina sin más demora.

Crear una lista de streaming desde Org Mode y abrir los enlaces con el EMMS

Si bien el EMMS ya cuenta con su propio recurso para gestionar los enlaces de streaming, a mí me resulta muchísimo más cómodo tenerlos ordenados en un documento de Org, y poder abrirlos desde allí. Lo que más suelo guardar son emisoras de radio de internet. No hay que hacer nada del otro mundo: creamos el documento, vamos añadiendo los enlaces que se nos antojen y los vamos ordenando como queramos y con todas las herramientas que Org nos proporciona para ello1. Lo único que nos queda es decirle a Org Mode que queremos abrir esos enlaces con el EMMS, no con el navegador, ya que son enlaces para que los entiendan las aplicaciones de reproducción de medios. Para ello, necesitamos crear un tipo de enlace personalizado en Org, definiendo esto en nuestro init:

(org-add-link-type
 "url-media" (lambda (url)
               (emms-play-url (format "%s" url))))

Es decir, añadimos un nuevo tipo de enlace, que llamaremos (por ejemplo) «url-media», y le aplicamos una función anónima que nos abra, cada vez que el enlace tenga esa etiqueta, la url con el EMMS. Nuestros enlaces en Org tendrían esta estructura, si estuviesen expandidos:

[[url-media:dirección del enlace][nombre del enlace]]

Pero lo más normal es crearlos mediante la facilidad C-c C-l, que llama al comando org-insert-link. Y para muestra un botón: así luce (fig. 1) una parte de mi lista en Org de emisoras de radio en streaming:

Abrir un archivo multimedia en Dired con EMMS

Con esta sencilla función podemos reproducir un archivo de audio o de vídeo con EMMS en el navegador de archivos de Emacs, Dired, sin necesidad de llamar a ninguna aplicación externa:

(defun mi-emms-reproduce-archivo (archivo)
      "reproduce archivo marcado en dired con `emms'"
      (interactive (dired-get-marked-files))
      (emms-play-file (format "%s" archivo)))

A continuación, definimos el atajo que mejor nos venga, y que estará activo sólo cuando estemos en Dired:

(with-eval-after-load 'dired
  (define-key dired-mode-map (kbd "C-c C-c m") 'mi-emms-reproduce-archivo))

Y ya podemos reproducir desde allí cualquier archivo multimedia en que tengamos situado el cursor. Simple, limpio y al más puro estilo emacsiano.

streaming-org.png

Figura 1: Una lista de emisoras de steaming en Org

Publicado: 03/05/20

Última actualización: 21/01/22


Índice general

Acerca de...

Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial 4.0 Internacional.

Notas al pie de página:

1

Si tenemos tiempo y ganas, tampoco estaría de más crearnos un plantilla con Capture

© Juan Manuel Macías
Creado con esmero en
GNU Emacs