;ELC ;;; Compiled by heimdall@baldur on Fri Feb 1 18:34:54 2008 ;;; from file /home/heimdall/repos/emms/emms-player-simple.el ;;; in Emacs version 23.0.60.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`emms-player-simple.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@40 Simple player for EMMS version string. (defvar emms-player-simple-version "0.2 $Revision: 1.26 $" (#$ . 599)) (require 'emms) #@370 Define a simple player with the use of `emms-define-player'. NAME is used to contruct the name of the function like emms-player-NAME. TYPES is a list of track types understood by this player. REGEX must be a regexp that matches the filenames the player can play. COMMAND specifies the command line arguement to call the player and ARGS are the command line arguements. (defalias 'define-emms-simple-player '(macro . #[(name types regex command &rest args) "\306\307\310!P!\306\307\310!\311Q!\306\307\310!\312Q!\306\307\310!P!\306\307\310!\313Q!\306\307\310!\314Q!\306\307\310!\315Q!67\316\3177\320\3218\322Q\323\324\325\307\310!\326Q\257\32768\3308\322Q\331\332\323\3337D\257\327 \3339D\334\3106!\335Q\331\336\323\3337D\257\327\f\337\333 D\333\nD\333 DF\340\331\341\323\3337D\257\342\f\343:F\342\f\344BB\342\f\345BB\346 \347\350\351\352\f6 \257\257\346\n\353BB\346 \354\355\356\3576D\360\361;E\362\363\f\364BB\365BBF\257\257 .\207" [name playablep stop start player-name parameters intern "emms-player-" symbol-name "-command-name" "-parameters" "-start" "-stop" "-playable-p" progn defgroup nil "EMMS player for " "." :group 'emms-player :prefix "-" defcustom "*The command name of " :type 'string quote "*The arguments to `" "'." '(repeat string) emms-player "*A player for EMMS." '(cons symbol alist) emms-player-set 'regex ('pause 'emms-player-simple-pause) ('resume 'emms-player-simple-resume) defun (track) "Start the player process." emms-player-simple-start (emms-track-name track) (nil "Stop the player process." (emms-player-simple-stop)) (track) "Return non-nil when we can play this track." and executable-find memq (emms-track-type track) string-match emms-player-get ('regex) ((emms-track-name track)) command-name group command args regex types] 21 (#$ . 732)])) #@39 The name of the simple player process (defvar emms-player-simple-process-name "emms-player-simple-process" (#$ . 2553)) #@60 Stop the currently playing process, if indeed there is one (defalias 'emms-player-simple-stop #[nil "\302!\211\205\303 !\210\304 !)\207" [emms-player-simple-process-name process get-process kill-process delete-process] 3 (#$ . 2679)]) #@132 Starts a process playing FILENAME using the specified CMDNAME with the specified PARAMS. PLAYER is the name of the current player. (defalias 'emms-player-simple-start #[(filename player cmdname params) "\306\307\310 \311\n C\"%\312\f\313\"\210)\314 !\207" [emms-player-simple-process-name cmdname params filename process player apply start-process nil append set-process-sentinel emms-player-simple-sentinel emms-player-started] 8 (#$ . 2925)]) #@45 Sentinel for determining the end of process (defalias 'emms-player-simple-sentinel #[(proc str) "\301!\302=\204\301!\303=\205\304 \207" [proc process-status exit signal emms-player-stopped] 2 (#$ . 3378)]) #@40 Pause the player by sending a SIGSTOP. (defalias 'emms-player-simple-pause #[nil "\301\302!\303\"\207" [emms-player-simple-process-name signal-process get-process SIGSTOP] 3 (#$ . 3596)]) #@41 Resume the player by sending a SIGCONT. (defalias 'emms-player-simple-resume #[nil "\301\302!\303\"\207" [emms-player-simple-process-name signal-process get-process SIGCONT] 3 (#$ . 3791)]) #@62 Return a regexp matching all EXTENSIONS, case-insensitively. (defalias 'emms-player-simple-regexp #[(&rest extensions) "\301\302\303\304#\305Q\207" [extensions "\\.\\(" mapconcat #[(extension) "\301\302\303#\207" [extension mapconcat #[(char) "\226\227\211 U\203\303\304\"\202\303\305\n #*\207" [char d u format "%c" "[%c%c]"] 5] ""] 4] "\\|" "\\)\\'"] 5 (#$ . 3988)]) (custom-declare-group 'emms-player-mpg321 nil "EMMS player for mpg321." :group 'emms-player :prefix "emms-player-mpg321-") #@30 *The command name of mpg321. (custom-declare-variable 'emms-player-mpg321-command-name '"mpg321" '(#$ . -4497) :type 'string :group 'emms-player-mpg321) #@54 *The arguments to `emms-player-mpg321-command-name'. (custom-declare-variable 'emms-player-mpg321-parameters ''nil '(#$ . -4656) :type '(repeat string) :group 'emms-player-mpg321) #@21 *A player for EMMS. (custom-declare-variable 'emms-player-mpg321 '(emms-player 'emms-player-mpg321-start 'emms-player-mpg321-stop 'emms-player-mpg321-playable-p) '(#$ . -4842) :type '(cons symbol alist) :group 'emms-player-mpg321) (byte-code "\301\302\303\304\305\"#\210\301\306\307#\210\301\310\311#\207" [emms-player-mpg321 emms-player-set regex emms-player-simple-regexp "mp3" "mp2" pause emms-player-simple-pause resume emms-player-simple-resume] 6) #@27 Start the player process. (defalias 'emms-player-mpg321-start #[(track) "\304\305! \n $\207" [track emms-player-mpg321 emms-player-mpg321-command-name emms-player-mpg321-parameters emms-player-simple-start emms-track-name] 5 (#$ . 5305)]) #@26 Stop the player process. (defalias 'emms-player-mpg321-stop #[nil "\300 \207" [emms-player-simple-stop] 1 (#$ . 5551)]) #@45 Return non-nil when we can play this track. (defalias 'emms-player-mpg321-playable-p #[(track) "\303!\205\304 !\305>\205\306\307\n\310\"\311 !\"\207" [emms-player-mpg321-command-name track emms-player-mpg321 executable-find emms-track-type (file url) string-match emms-player-get regex emms-track-name] 4 (#$ . 5677)]) (custom-declare-group 'emms-player-ogg123 nil "EMMS player for ogg123." :group 'emms-player :prefix "emms-player-ogg123-") #@30 *The command name of ogg123. (custom-declare-variable 'emms-player-ogg123-command-name '"ogg123" '(#$ . -6130) :type 'string :group 'emms-player-ogg123) #@54 *The arguments to `emms-player-ogg123-command-name'. (custom-declare-variable 'emms-player-ogg123-parameters ''nil '(#$ . -6289) :type '(repeat string) :group 'emms-player-ogg123) #@21 *A player for EMMS. (custom-declare-variable 'emms-player-ogg123 '(emms-player 'emms-player-ogg123-start 'emms-player-ogg123-stop 'emms-player-ogg123-playable-p) '(#$ . -6475) :type '(cons symbol alist) :group 'emms-player-ogg123) (byte-code "\301\302\303\304\305\"#\210\301\306\307#\210\301\310\311#\207" [emms-player-ogg123 emms-player-set regex emms-player-simple-regexp "ogg" "flac" pause emms-player-simple-pause resume emms-player-simple-resume] 6) #@27 Start the player process. (defalias 'emms-player-ogg123-start #[(track) "\304\305! \n $\207" [track emms-player-ogg123 emms-player-ogg123-command-name emms-player-ogg123-parameters emms-player-simple-start emms-track-name] 5 (#$ . 6939)]) #@26 Stop the player process. (defalias 'emms-player-ogg123-stop #[nil "\300 \207" [emms-player-simple-stop] 1 (#$ . 7185)]) #@45 Return non-nil when we can play this track. (defalias 'emms-player-ogg123-playable-p #[(track) "\303!\205\304 !\305>\205\306\307\n\310\"\311 !\"\207" [emms-player-ogg123-command-name track emms-player-ogg123 executable-find emms-track-type (file) string-match emms-player-get regex emms-track-name] 4 (#$ . 7311)]) (custom-declare-group 'emms-player-speexdec nil "EMMS player for speexdec." :group 'emms-player :prefix "emms-player-speexdec-") #@32 *The command name of speexdec. (custom-declare-variable 'emms-player-speexdec-command-name '"speexdec" '(#$ . -7766) :type 'string :group 'emms-player-speexdec) #@56 *The arguments to `emms-player-speexdec-command-name'. (custom-declare-variable 'emms-player-speexdec-parameters ''nil '(#$ . -7933) :type '(repeat string) :group 'emms-player-speexdec) #@21 *A player for EMMS. (custom-declare-variable 'emms-player-speexdec '(emms-player 'emms-player-speexdec-start 'emms-player-speexdec-stop 'emms-player-speexdec-playable-p) '(#$ . -8125) :type '(cons symbol alist) :group 'emms-player-speexdec) (byte-code "\301\302\303\304!#\210\301\305\306#\210\301\307\310#\207" [emms-player-speexdec emms-player-set regex emms-player-simple-regexp "spx" pause emms-player-simple-pause resume emms-player-simple-resume] 5) #@27 Start the player process. (defalias 'emms-player-speexdec-start #[(track) "\304\305! \n $\207" [track emms-player-speexdec emms-player-speexdec-command-name emms-player-speexdec-parameters emms-player-simple-start emms-track-name] 5 (#$ . 8589)]) #@26 Stop the player process. (defalias 'emms-player-speexdec-stop #[nil "\300 \207" [emms-player-simple-stop] 1 (#$ . 8843)]) #@45 Return non-nil when we can play this track. (defalias 'emms-player-speexdec-playable-p #[(track) "\303!\205\304 !\305>\205\306\307\n\310\"\311 !\"\207" [emms-player-speexdec-command-name track emms-player-speexdec executable-find emms-track-type (file) string-match emms-player-get regex emms-track-name] 4 (#$ . 8971)]) (custom-declare-group 'emms-player-playsound nil "EMMS player for playsound." :group 'emms-player :prefix "emms-player-playsound-") #@33 *The command name of playsound. (custom-declare-variable 'emms-player-playsound-command-name '"playsound" '(#$ . -9435) :type 'string :group 'emms-player-playsound) #@57 *The arguments to `emms-player-playsound-command-name'. (custom-declare-variable 'emms-player-playsound-parameters ''nil '(#$ . -9606) :type '(repeat string) :group 'emms-player-playsound) #@21 *A player for EMMS. (custom-declare-variable 'emms-player-playsound '(emms-player 'emms-player-playsound-start 'emms-player-playsound-stop 'emms-player-playsound-playable-p) '(#$ . -9801) :type '(cons symbol alist) :group 'emms-player-playsound) (byte-code "\301\302\303\304!#\210\301\305\306#\210\301\307\310#\207" [emms-player-playsound emms-player-set regex emms-player-simple-regexp "wav" pause emms-player-simple-pause resume emms-player-simple-resume] 5) #@27 Start the player process. (defalias 'emms-player-playsound-start #[(track) "\304\305! \n $\207" [track emms-player-playsound emms-player-playsound-command-name emms-player-playsound-parameters emms-player-simple-start emms-track-name] 5 (#$ . 10271)]) #@26 Stop the player process. (defalias 'emms-player-playsound-stop #[nil "\300 \207" [emms-player-simple-stop] 1 (#$ . 10530)]) #@45 Return non-nil when we can play this track. (defalias 'emms-player-playsound-playable-p #[(track) "\303!\205\304 !\305>\205\306\307\n\310\"\311 !\"\207" [emms-player-playsound-command-name track emms-player-playsound executable-find emms-track-type (file) string-match emms-player-get regex emms-track-name] 4 (#$ . 10660)]) (custom-declare-group 'emms-player-gstreamer nil "EMMS player for gst-wrapper." :group 'emms-player :prefix "emms-player-gstreamer-") #@35 *The command name of gst-wrapper. (custom-declare-variable 'emms-player-gstreamer-command-name '"gst-wrapper" '(#$ . -11130) :type 'string :group 'emms-player-gstreamer) #@57 *The arguments to `emms-player-gstreamer-command-name'. (custom-declare-variable 'emms-player-gstreamer-parameters ''("alsasink") '(#$ . -11306) :type '(repeat string) :group 'emms-player-gstreamer) #@21 *A player for EMMS. (custom-declare-variable 'emms-player-gstreamer '(emms-player 'emms-player-gstreamer-start 'emms-player-gstreamer-stop 'emms-player-gstreamer-playable-p) '(#$ . -11511) :type '(cons symbol alist) :group 'emms-player-gstreamer) (byte-code "\301\302\303\304\305\306\307\310\311\312&#\210\301\313\314#\210\301\315\316#\207" [emms-player-gstreamer emms-player-set regex emms-player-simple-regexp "mp3" "ogg" "mod" "flac" "xm" "it" "ft" pause emms-player-simple-pause resume emms-player-simple-resume] 11) #@27 Start the player process. (defalias 'emms-player-gstreamer-start #[(track) "\304\305! \n $\207" [track emms-player-gstreamer emms-player-gstreamer-command-name emms-player-gstreamer-parameters emms-player-simple-start emms-track-name] 5 (#$ . 12042)]) #@26 Stop the player process. (defalias 'emms-player-gstreamer-stop #[nil "\300 \207" [emms-player-simple-stop] 1 (#$ . 12301)]) #@45 Return non-nil when we can play this track. (defalias 'emms-player-gstreamer-playable-p #[(track) "\303!\205\304 !\305>\205\306\307\n\310\"\311 !\"\207" [emms-player-gstreamer-command-name track emms-player-gstreamer executable-find emms-track-type (file) string-match emms-player-get regex emms-track-name] 4 (#$ . 12431)]) (custom-declare-group 'emms-player-mikmod nil "EMMS player for mikmod." :group 'emms-player :prefix "emms-player-mikmod-") #@30 *The command name of mikmod. (custom-declare-variable 'emms-player-mikmod-command-name '"mikmod" '(#$ . -12890) :type 'string :group 'emms-player-mikmod) #@54 *The arguments to `emms-player-mikmod-command-name'. (custom-declare-variable 'emms-player-mikmod-parameters ''("-q" "-p" "1" "-X") '(#$ . -13050) :type '(repeat string) :group 'emms-player-mikmod) #@21 *A player for EMMS. (custom-declare-variable 'emms-player-mikmod '(emms-player 'emms-player-mikmod-start 'emms-player-mikmod-stop 'emms-player-mikmod-playable-p) '(#$ . -13254) :type '(cons symbol alist) :group 'emms-player-mikmod) (byte-code "\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\313&#\210\301\325\326#\210\301\327\330#\207" [emms-player-mikmod emms-player-set regex emms-player-simple-regexp ".669" ".amf" ".dsm" ".far" ".gdm" ".it" ".imf" ".mod" ".med" ".mtm" ".okt" ".s3m" ".stm" ".stx" ".ult" ".apun" ".xm" pause emms-player-simple-pause resume emms-player-simple-resume] 22) #@27 Start the player process. (defalias 'emms-player-mikmod-start #[(track) "\304\305! \n $\207" [track emms-player-mikmod emms-player-mikmod-command-name emms-player-mikmod-parameters emms-player-simple-start emms-track-name] 5 (#$ . 13889)]) #@26 Stop the player process. (defalias 'emms-player-mikmod-stop #[nil "\300 \207" [emms-player-simple-stop] 1 (#$ . 14136)]) #@45 Return non-nil when we can play this track. (defalias 'emms-player-mikmod-playable-p #[(track) "\303!\205\304 !\305>\205\306\307\n\310\"\311 !\"\207" [emms-player-mikmod-command-name track emms-player-mikmod executable-find emms-track-type (file) string-match emms-player-get regex emms-track-name] 4 (#$ . 14263)]) (custom-declare-group 'emms-player-timidity nil "EMMS player for timidity." :group 'emms-player :prefix "emms-player-timidity-") #@32 *The command name of timidity. (custom-declare-variable 'emms-player-timidity-command-name '"timidity" '(#$ . -14719) :type 'string :group 'emms-player-timidity) #@56 *The arguments to `emms-player-timidity-command-name'. (custom-declare-variable 'emms-player-timidity-parameters ''nil '(#$ . -14887) :type '(repeat string) :group 'emms-player-timidity) #@21 *A player for EMMS. (custom-declare-variable 'emms-player-timidity '(emms-player 'emms-player-timidity-start 'emms-player-timidity-stop 'emms-player-timidity-playable-p) '(#$ . -15080) :type '(cons symbol alist) :group 'emms-player-timidity) (byte-code "\301\302\303\304\305\306\307\310\311\312&#\210\301\313\314#\210\301\315\316#\207" [emms-player-timidity emms-player-set regex emms-player-simple-regexp "mid" "rmi" "rcp" "r36" "g18" "g36" "mfi" pause emms-player-simple-pause resume emms-player-simple-resume] 11) #@27 Start the player process. (defalias 'emms-player-timidity-start #[(track) "\304\305! \n $\207" [track emms-player-timidity emms-player-timidity-command-name emms-player-timidity-parameters emms-player-simple-start emms-track-name] 5 (#$ . 15607)]) #@26 Stop the player process. (defalias 'emms-player-timidity-stop #[nil "\300 \207" [emms-player-simple-stop] 1 (#$ . 15862)]) #@45 Return non-nil when we can play this track. (defalias 'emms-player-timidity-playable-p #[(track) "\303!\205\304 !\305>\205\306\307\n\310\"\311 !\"\207" [emms-player-timidity-command-name track emms-player-timidity executable-find emms-track-type (file) string-match emms-player-get regex emms-track-name] 4 (#$ . 15991)]) (custom-declare-group 'emms-player-fluidsynth nil "EMMS player for fluidsynth." :group 'emms-player :prefix "emms-player-fluidsynth-") #@34 *The command name of fluidsynth. (custom-declare-variable 'emms-player-fluidsynth-command-name '"fluidsynth" '(#$ . -16459) :type 'string :group 'emms-player-fluidsynth) #@58 *The arguments to `emms-player-fluidsynth-command-name'. (custom-declare-variable 'emms-player-fluidsynth-parameters ''("-aalsa" "-in" "/media/music/sf/FluidR3-GM.SF2") '(#$ . -16635) :type '(repeat string) :group 'emms-player-fluidsynth) #@21 *A player for EMMS. (custom-declare-variable 'emms-player-fluidsynth '(emms-player 'emms-player-fluidsynth-start 'emms-player-fluidsynth-stop 'emms-player-fluidsynth-playable-p) '(#$ . -16880) :type '(cons symbol alist) :group 'emms-player-fluidsynth) (byte-code "\301\302\303\304!#\210\301\305\306#\210\301\307\310#\207" [emms-player-fluidsynth emms-player-set regex emms-player-simple-regexp "mid" pause emms-player-simple-pause resume emms-player-simple-resume] 5) #@27 Start the player process. (defalias 'emms-player-fluidsynth-start #[(track) "\304\305! \n $\207" [track emms-player-fluidsynth emms-player-fluidsynth-command-name emms-player-fluidsynth-parameters emms-player-simple-start emms-track-name] 5 (#$ . 17357)]) #@26 Stop the player process. (defalias 'emms-player-fluidsynth-stop #[nil "\300 \207" [emms-player-simple-stop] 1 (#$ . 17620)]) #@45 Return non-nil when we can play this track. (defalias 'emms-player-fluidsynth-playable-p #[(track) "\303!\205\304 !\305>\205\306\307\n\310\"\311 !\"\207" [emms-player-fluidsynth-command-name track emms-player-fluidsynth executable-find emms-track-type (file) string-match emms-player-get regex emms-track-name] 4 (#$ . 17751)]) (custom-declare-group 'emms-player-alsaplayer nil "EMMS player for alsaplayer." :group 'emms-player :prefix "emms-player-alsaplayer-") #@34 *The command name of alsaplayer. (custom-declare-variable 'emms-player-alsaplayer-command-name '"alsaplayer" '(#$ . -18225) :type 'string :group 'emms-player-alsaplayer) #@58 *The arguments to `emms-player-alsaplayer-command-name'. (custom-declare-variable 'emms-player-alsaplayer-parameters ''("--quiet" "--nosave" "\"--interface text\"") '(#$ . -18401) :type '(repeat string) :group 'emms-player-alsaplayer) #@21 *A player for EMMS. (custom-declare-variable 'emms-player-alsaplayer '(emms-player 'emms-player-alsaplayer-start 'emms-player-alsaplayer-stop 'emms-player-alsaplayer-playable-p) '(#$ . -18642) :type '(cons symbol alist) :group 'emms-player-alsaplayer) (byte-code "\301\302\303\304\305\306\307\310\311\312&#\210\301\313\314#\210\301\315\316#\207" [emms-player-alsaplayer emms-player-set regex emms-player-simple-regexp ".ogg" ".mp3" ".wav" ".flac" ".pls" ".m3u" "http://" pause emms-player-simple-pause resume emms-player-simple-resume] 11) #@27 Start the player process. (defalias 'emms-player-alsaplayer-start #[(track) "\304\305! \n $\207" [track emms-player-alsaplayer emms-player-alsaplayer-command-name emms-player-alsaplayer-parameters emms-player-simple-start emms-track-name] 5 (#$ . 19192)]) #@26 Stop the player process. (defalias 'emms-player-alsaplayer-stop #[nil "\300 \207" [emms-player-simple-stop] 1 (#$ . 19455)]) #@45 Return non-nil when we can play this track. (defalias 'emms-player-alsaplayer-playable-p #[(track) "\303!\205\304 !\305>\205\306\307\n\310\"\311 !\"\207" [emms-player-alsaplayer-command-name track emms-player-alsaplayer executable-find emms-track-type (file url) string-match emms-player-get regex emms-track-name] 4 (#$ . 19586)]) (byte-code "\301\302\303#\210\301\304\305#\210\301\306\307#\207" [emms-player-alsaplayer emms-player-set pause emms-player-alsaplayer-pause resume nil seek emms-player-alsaplayer-seek] 4) (defalias 'emms-player-alsaplayer-pause #[nil "\300\301\302\211\211\303%\207" [call-process "alsaplayer" nil "--pause"] 6]) (defalias 'emms-player-alsaplayer-seek #[(sec) "\301\302\303\211\211\304\305\306\"&\207" [sec call-process "alsaplayer" nil "--relative" format "%d"] 9]) (provide 'emms-player-simple)