From c1308f0e1322af1cc1677b8487271700b2ae91c8 Mon Sep 17 00:00:00 2001 From: forcer Date: Mon, 12 Sep 2005 11:50:00 +0000 Subject: Rename emms-gstreamer.el to emms-player-gstreamer.el darcs-hash:20050912115010-2189f-ca853d135f22c7c55b55f268a87e8e8accaaac26.gz --- emms-player-gstreamer.el | 58 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 emms-player-gstreamer.el (limited to 'emms-player-gstreamer.el') diff --git a/emms-player-gstreamer.el b/emms-player-gstreamer.el new file mode 100644 index 0000000..5f3aa88 --- /dev/null +++ b/emms-player-gstreamer.el @@ -0,0 +1,58 @@ +;; emms-gstreamer.el --- EMMS Gstreamer interaction + +;; License : GPL v2.1 or later + +;; currently outside other files, as it's very preliminary support + +;; The wrapper concept is easier to set up than a generic gstreamer +;; support, but in the long term, it's probably not a good idea. + +;; Installation instructions : + +;; 1. Put (require 'emms-gstreamer) in your ~/.emacs or whatever you +;; use to configure EMMS. + +;; 2. Put the wrappers in your `exec-path' : +;; (add-to-list 'exec-path "/path/to/wrappers") or the other way, +;; by moving them in an already present directory. + +(require 'emms-player-simple) + +(defvar emms-gst-sink "alsasink" + "The audio output sink to use") + +(defvar emms-gstreamer-paused-p nil) + +(define-emms-simple-player gst-mp3 '(file) "\\.[mM][pP][23]$" "gst-mp3-wrapper") +(define-emms-simple-player gst-ogg '(file) (regexp-opt '(".ogg" ".OGG")) "gst-ogg-wrapper") +(define-emms-simple-player gst-flac '(file) (regexp-opt '(".FLAC" ".flac" )) "gst-flac-wrapper") +(define-emms-simple-player gst-mod '(file) (regexp-opt '(".xm" ".it" ".ft" ".mod")) "gst-mod-wrapper") + +(add-to-list 'emms-player-list 'emms-player-gst-mp3) +(add-to-list 'emms-player-list 'emms-player-gst-ogg) +(add-to-list 'emms-player-list 'emms-player-gst-flac) +(add-to-list 'emms-player-list 'emms-player-gst-mod) + +(setq emms-player-gst-mp3-parameters `(,emms-gst-sink)) +(setq emms-player-gst-ogg-parameters `(,emms-gst-sink)) +(setq emms-player-gst-flac-parameters `(,emms-gst-sink)) +(setq emms-player-gst-mod-parameters `(,emms-gst-sink)) + + +(defun emms-gstreamer-play/pause () + (interactive) + (if emms-gstreamer-paused-p + (emms-gstreamer-resume) + (emms-gstreamer-pause))) + +(defun emms-gstreamer-pause () + (interactive) + (signal-process (shell-command-to-string "pgrep gst-launch") 'SIGSTOP) + (setq emms-gstreamer-paused-p t)) + +(defun emms-gstreamer-resume () + (interactive) + (signal-process (shell-command-to-string "pgrep gst-launch") 'SIGCONT) + (setq emms-gstreamer-paused-p nil)) + +(provide 'emms-gstreamer) -- cgit v1.2.3