;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. #@22 EMMS version string. (defvar emms-version "7.5" (#$ . 87)) (byte-code "\300\301\302\303\304\305\306\307\306\310& \210\300\311\302\312\304\313\306\301&\210\300\314\302\315\304\316\306\301&\210\317\320\321\322\323DD\324\306\301\325\326&\210\317\327\321\322\330DD\331\306\301\325\332&\210\317\333\321\322\334DD\335\306\301\325\336&\210\317\337\321\322\340DD\341\306\301\325\336&\210\317\342\321\322\343DD\344\306\301\325\336&\207" [custom-declare-group emms nil "*The Emacs Multimedia System." :prefix "emms-" :group multimedia applications emms-player "*Track players for EMMS." "emms-player-" emms-source "*Track sources for EMMS." "emms-source-" custom-declare-variable emms-player-list funcall function #[0 "\300\207" [nil] 1] "*List of players that EMMS can use. You need to set this!" :type (repeat (symbol :tag "Player")) emms-show-format #[0 "\300\207" [#1="Currently playing: %s"] 1 #1#] "*The format to use for `emms-show'.\nAny \"%s\" is replaced by what `emms-track-description-function' returns\nfor the currently playing track." string emms-repeat-playlist #[0 "\300\207" [nil] 1] "*Non-nil if the EMMS playlist should automatically repeat.\nIf nil, playback will stop when the last track finishes playing.\nIf non-nil, EMMS will wrap back to the first track when that happens." boolean emms-random-playlist #[0 "\300\207" [nil] 1] "*Non-nil means that tracks are played randomly. If nil, tracks\nare played sequentially." emms-repeat-track #[0 "\300\207" [nil] 1] "Non-nil, playback will repeat current track. If nil, EMMS will play\ntrack by track normally."] 10) #@48 Non-nil, play the current track and then stop. (defvar emms-single-track nil (#$ . 1679)) (byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\305&\210\302\313\304\305\314DD\315\310\311\312\305&\210\302\316\304\305\317DD\320\312\321\310\311&\210\302\322\304\305\323DD\324\312\305\310\311&\210\302\325\304\305\326DD\327\312\305\310\311&\210\302\330\304\305\331DD\332\312\305\310\311&\210\302\333\304\305\334DD\335\310\311\312\305&\210\302\336\304\305\337DD\340\312\341\310\311&\210\302\342\304\305\343DD\344\312\305\310\311&\210\302\345\304\305\346DD\347\310\311\312\305&\210\300\345!\210\302\350\304\305\351DD\352\310\311\312\305&\210\300\345!\210\302\353\304\305\354DD\355\310\311\312\305&\210\300\353!\210\302\356\304\305\357DD\360\310\311\312\305&\210\302\361\304\305\362DD\363\312\364\310\311&\210\302\365\304\305\366DD\367\310\311\312\364&\210\302\370\304\305\371DD\372\310\311\312\364&\210\302\373\304\305\374DD\375\310\311\312\364&\210\302\376\304\305\377DD\201@\310\311\312\364&\210\302\201A\304\305\201BDD\201C\310\311\312\364&\210\302\201D\304\305\201EDD\201F\310\311\312\364\201G\201H& \210\302\201I\304\305\201JDD\201K\310\311\312\364&\210\302\201L\304\305\201MDD\201N\310\311\312\364&\210\302\201O\304\305\201PDD\201Q\310\311\312\305\201G\201R& \210\302\201S\304\305\201TDD\201U\310\311\312\364&\210\302\201V\304\305\201WDD\201X\310\311\312\321&\210\302\201Y\304\305\201ZDD\201[\310\311\312\364&\210\302\201\\\304\305\201]DD\201^\310\311\312\364&\210\302\201_\304\305\201`DD\201a\310\311\312\305&\210\302\201b\304\305\201cDD\201d\310\311\312\305&\210\302\201e\304\305\201fDD\201g\310\311\312\305&\210\302\201h\304\305\201iDD\201j\310\311\312\341&\207" [make-variable-buffer-local emms-single-track custom-declare-variable emms-completing-read-function funcall function #[0 "\301\300!\203\f\203\f\302\207\303\207" [ido-mode boundp ido-completing-read completing-read] 2] "Function to call when prompting user to choose between a list of options.\nThis should take the same arguments as `completing-read'. Some\npossible values are `completing-read' and `ido-completing-read'.\nNote that you must set `ido-mode' if using\n`ido-completing-read'." :group emms :type emms-track-description-function #[0 "\300\207" [emms-track-simple-description] 1] "*Function for describing an EMMS track in a user-friendly way." emms-player-delay #[0 "\300\207" [0] 1] "The delay to pause after a player finished.\nThis is a floating-point number of seconds. This is necessary\nfor some platforms where it takes a bit to free the audio device\nafter a player has finished. If EMMS is skipping songs, increase\nthis number." number emms-playlist-shuffle-function #[0 "\300\207" [emms-playlist-simple-shuffle] 1] "*The function to use for shuffling the playlist." emms-playlist-sort-function #[0 "\300\207" [emms-playlist-simple-sort] 1] "*The function to use for sorting the playlist." emms-playlist-uniq-function #[0 "\300\207" [emms-playlist-simple-uniq] 1] "*The function to use for removing duplicate tracks in the playlist." emms-sort-lessp-function #[0 "\300\207" [emms-sort-track-name-less-p] 1] "*Function for comparing two EMMS tracks.\nThe function should return non-nil if and only if the first track\nsorts before the second (see `sort')." emms-playlist-buffer-name #[0 "\300\207" [#1=" *EMMS Playlist*"] 1 #1#] "*The default name of the EMMS playlist buffer." string emms-playlist-default-major-mode #[0 "\300\207" [emms-playlist-mode] 1] "*The default major mode for EMMS playlist." emms-playlist-insert-track-function #[0 "\300\207" [emms-playlist-simple-insert-track] 1] "*A function to insert a track into the playlist buffer." emms-playlist-update-track-function #[0 "\300\207" [emms-playlist-simple-update-track] 1] "*A function to update the track at point.\nThis is called when the track information changed. This also\nshouldn't assume that the track has been inserted before." emms-playlist-delete-track-function #[0 "\300\207" [emms-playlist-simple-delete-track] 1] "*A function to delete the track at point in the playlist buffer." emms-ok-track-function #[0 "\300\207" [emms-default-ok-track-function] 1] "*Function returns true if we shouldn't skip this track." emms-playlist-source-inserted-hook #[0 "\300\207" [nil] 1] "*Hook run when a source got inserted into the playlist.\nThe buffer is narrowed to the new tracks." hook emms-playlist-selection-changed-hook #[0 "\300\207" [nil] 1] "*Hook run after another track is selected in the EMMS playlist." emms-playlist-cleared-hook #[0 "\300\207" [nil] 1] "*Hook run after the current EMMS playlist is cleared.\nThis happens both when the playlist is cleared and when a new\nbuffer is created for it." emms-track-initialize-functions #[0 "\300\207" [nil] 1] "*List of functions to call for each new EMMS track.\nThis can be used to initialize tracks with various info." emms-track-info-filters #[0 "\300\207" [nil] 1] "*List of functions to call when a track changes data, before updating\nthe display.\nThese functions are passed the track as an argument." emms-track-updated-functions #[0 "\300\207" [nil] 1] "*List of functions to call when a track changes data, after updating\nthe display.\nThese functions are passed the track as an argument." emms-player-started-hook #[0 "\300\207" [nil] 1] "*Hook run when an EMMS player starts playing." :options (emms-show) emms-player-stopped-hook #[0 "\300\207" [nil] 1] "*Hook run when an EMMS player is stopped by the user.\nSee `emms-player-finished-hook'." emms-player-finished-hook #[0 "\300\207" [nil] 1] "*Hook run when an EMMS player finishes playing a track.\nPlease pay attention to the differences between\n`emms-player-finished-hook' and `emms-player-stopped-hook'. The\nformer is called only when the player actually finishes playing a\ntrack; the latter, only when the player is stopped\ninteractively." emms-player-next-function #[0 "\300\207" [emms-next-noerror] 1] "*A function run when EMMS thinks the next song should be played." (emms-next-noerror emms-random) emms-player-paused-hook #[0 "\300\207" [nil] 1] "*Hook run when a player is paused or resumed.\nUse `emms-player-paused-p' to find the current state." emms-seek-seconds #[0 "\300\207" [10] 1] "The number of seconds to seek forward or backward when seeking." emms-player-seeked-functions #[0 "\300\207" [nil] 1] "*Functions called when a player is seeking.\nThe functions are called with a single argument, the amount of\nseconds the player did seek." emms-player-time-set-functions #[0 "\300\207" [nil] 1] "*Functions called when a player is setting the elapsed time of a track.\nThe functions are called with a single argument, the time elapsed\nsince the beginning of the current track." emms-cache-get-function #[0 "\300\207" [nil] 1] "A function to retrieve a track entry from the cache.\nThis is called with two arguments, the type and the name." emms-cache-set-function #[0 "\300\207" [nil] 1] "A function to add/set a track entry from the cache.\nThis is called with three arguments: the type of the track, the\nname of the track, and the track itself." emms-cache-modified-function #[0 "\300\207" [nil] 1] "A function to be called when a track is modified.\nThe modified track is passed as the argument to this function." emms-directory #[0 "\301\302\"\207" [user-emacs-directory expand-file-name "emms"] 3] "*Directory variable from which all other emms file variables are derived."] 10) #@44 The currently playing EMMS player, or nil. (defvar emms-player-playing-p nil (#$ . 9170)) #@46 Whether the current player is paused or not. (defvar emms-player-paused-p nil (#$ . 9266)) #@140 The active buffer before a source was invoked. This can be used if the source depends on the current buffer not being the playlist buffer. (defvar emms-source-old-buffer nil (#$ . 9364)) #@38 The current playlist buffer, if any. (defvar emms-playlist-buffer nil (#$ . 9557)) #@146 Run BODY with the current buffer being the current playlist buffer. This also disables any read-onliness of the current buffer. (fn &rest BODY) (defalias 'with-current-emms-playlist '(macro . #[128 "\300\301\302\303\304\305\302\306BBEEE\207" [progn (when (or (not emms-playlist-buffer) (not (buffer-live-p emms-playlist-buffer))) (emms-playlist-current-clear)) let ((emms-source-old-buffer (or emms-source-old-buffer (current-buffer)))) with-current-buffer emms-playlist-buffer ((inhibit-read-only t))] 10 (#$ . 9647)])) (byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put with-current-emms-playlist lisp-indent-function 0 edebug-form-spec (body)] 4) #@61 Simple wrapper around `inhibit-read-only'. (fn &rest BODY) (defalias 'emms-with-inhibit-read-only-t '(macro . #[128 "\300\301BB\207" [let ((inhibit-read-only t))] 4 (#$ . 10316)])) (put 'emms-with-inhibit-read-only-t 'edebug-form-spec '(body)) #@19 (fn &rest BODY) (defalias 'emms-with-widened-buffer '(macro . #[128 "\300\301BB\207" [save-restriction (widen)] 4 (#$ . 10568)])) (put 'emms-with-widened-buffer 'edebug-form-spec '(body)) #@201 Execute BODY for each track in the current buffer, starting at point. Point will be placed at the beginning of the track before executing BODY. Point will not be restored afterward. (fn &rest BODY) (defalias 'emms-walk-tracks '(macro . #[128 "\300\301!\302\303BC\304\305\306\307\310\311\312 \313BBDFE\314\315D\316\306\307\317\311\312\f\320BBDFC\"BBF\207" [make-symbol "donep" let (nil) unless (emms-playlist-track-at (point)) condition-case nil (emms-playlist-next) error setq (t) while not append (emms-playlist-next) (t)] 16 (#$ . 10766)])) (byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put emms-walk-tracks lisp-indent-function 0 edebug-form-spec (body)] 4) #@60 A list of common formats which player definitions can use. (defvar emms-player-base-format-list '("ogg" "mp3" "wav" "mpg" "mpeg" "wmv" "wma" "mov" "avi" "divx" "ogm" "ogv" "asf" "mkv" "rm" "rmvb" "mp4" "flac" "vob" "m4a" "ape" "flv" "webm" "aif" "opus") (#$ . 11452)) #@55 Start playing the current track in the EMMS playlist. (defalias 'emms-start #[0 "?\205 \301\302 !\207" [emms-player-playing-p emms-player-start emms-playlist-current-selected-track] 2 (#$ . 11726) nil]) #@33 Stop any current EMMS playback. (defalias 'emms-stop #[0 "\205\301 \207" [emms-player-playing-p emms-player-stop] 1 (#$ . 11937) nil]) #@161 Start playing the next track in the EMMS playlist. This might behave funny if called from `emms-player-next-function', so use `emms-next-noerror' in that case. (defalias 'emms-next #[0 "\203\301 \210\302 \210\303 \207" [emms-player-playing-p emms-stop emms-playlist-current-select-next emms-start] 1 (#$ . 12082) nil]) #@276 Start playing the next track in the EMMS playlist. Unlike `emms-next', this function doesn't signal an error when called at the end of the playlist. This function should only be called when no player is playing. This is a good function to put in `emms-player-next-function'. (defalias 'emms-next-noerror #[0 "\203\304\305!\210 \203\306 \207\n\203\307 \207\3101\"\311 \210\3120\202&\210\2026\2036 \313 !\2033\306 \207\314 \207\315\316!\207" [emms-player-playing-p emms-repeat-track emms-single-track emms-ok-track-function error "A track is already being played" emms-start emms-stop (error) emms-playlist-current-select-next t emms-playlist-current-selected-track emms-next-noerror message "No next track in playlist"] 2 (#$ . 12411) nil]) #@56 Start playing the previous track in the EMMS playlist. (defalias 'emms-previous #[0 "\203\301 \210\302 \210\303 \207" [emms-player-playing-p emms-stop emms-playlist-current-select-previous emms-start] 1 (#$ . 13169) nil]) #@25 Jump to a random track. (defalias 'emms-random #[0 "\203\301 \210\302 \210\303 \207" [emms-player-playing-p emms-stop emms-playlist-current-select-random emms-start] 1 (#$ . 13400) nil]) #@72 Pause the current player. If player hasn't started, then start it now. (defalias 'emms-pause #[0 "\203\301 \207\302 \207" [emms-player-playing-p emms-player-pause emms-start] 1 (#$ . 13596) nil]) #@161 Seek the current player SECONDS seconds. This can be a floating point number for sub-second fractions. It can also be negative to seek backwards. (fn SECONDS) (defalias 'emms-seek #[257 "\300 \210\301!\207" [emms-ensure-player-playing-p emms-player-seek] 3 (#$ . 13802) "nSeconds to seek: "]) #@164 Seek the current player to SECONDS seconds. This can be a floating point number for sub-second fractions. It can also be negative to seek backwards. (fn SECONDS) (defalias 'emms-seek-to #[257 "\300 \210\301!\207" [emms-ensure-player-playing-p emms-player-seek-to] 3 (#$ . 14104) "nSeconds to seek to: "]) #@27 Seek ten seconds forward. (defalias 'emms-seek-forward #[0 "\205\302 !\207" [emms-player-playing-p emms-seek-seconds emms-player-seek] 2 (#$ . 14417) nil]) #@28 Seek ten seconds backward. (defalias 'emms-seek-backward #[0 "\205\302 [!\207" [emms-player-playing-p emms-seek-seconds emms-player-seek] 2 (#$ . 14582) nil]) #@222 Describe the current EMMS track in the minibuffer. If INSERTP is non-nil, insert the description into the current buffer instead. This function uses `emms-show-format' to format the current track. (fn &optional INSERTP) (defalias 'emms-show #[256 "\203\302 \303\304 !\"\202\305\203\211c\207\306\307\"\207" [emms-player-playing-p emms-show-format format emms-track-description emms-playlist-current-selected-track "Nothing playing right now" message "%s"] 5 (#$ . 14751) "P"]) #@75 Shuffle the current playlist. This uses `emms-playlist-shuffle-function'. (defalias 'emms-shuffle #[0 "\203\n\304!\204 \305 \210 \206prq\210\306\212 ,\207" [emms-playlist-buffer emms-source-old-buffer inhibit-read-only emms-playlist-shuffle-function buffer-live-p emms-playlist-current-clear t] 2 (#$ . 15243) nil]) #@69 Sort the current playlist. This uses `emms-playlist-sort-function'. (defalias 'emms-sort #[0 "\203\n\304!\204 \305 \210 \206prq\210\306\212 ,\207" [emms-playlist-buffer emms-source-old-buffer inhibit-read-only emms-playlist-sort-function buffer-live-p emms-playlist-current-clear t] 2 (#$ . 15575) nil]) #@87 Remove duplicates from the current playlist. This uses `emms-playlist-uniq-function'. (defalias 'emms-uniq #[0 "\203\n\304!\204 \305 \210 \206prq\210\306\212 ,\207" [emms-playlist-buffer emms-source-old-buffer inhibit-read-only emms-playlist-uniq-function buffer-live-p emms-playlist-current-clear t] 2 (#$ . 15895) nil]) #@48 Toggle if Emms plays a single track and stops. (defalias 'emms-toggle-single-track #[0 "\203\n\304!\204 \305 \210 \206prq\210\306 \203'\307\310\311\312 \"\202.\306\310\313\312 \"+\207" [emms-playlist-buffer emms-source-old-buffer inhibit-read-only emms-single-track buffer-live-p emms-playlist-current-clear t nil message "single track mode disabled for %s" buffer-name "single track mode enabled for %s"] 3 (#$ . 16233) nil]) #@92 Toggle whether emms plays the tracks randomly or sequentially. See `emms-random-playlist'. (defalias 'emms-toggle-random-playlist #[0 "?\211\203 \302\303\304!\207\305\303\306!\207" [emms-random-playlist emms-player-next-function emms-random message "Will play the tracks randomly." emms-next-noerror "Will play the tracks sequentially."] 3 (#$ . 16679) nil]) #@88 Toggle whether emms repeats the playlist after it is done. See `emms-repeat-playlist'. (defalias 'emms-toggle-repeat-playlist #[0 "?\211\203 \301\302!\207\301\303!\207" [emms-repeat-playlist message "Will repeat the playlist after it is done." "Will stop after the playlist is over."] 3 (#$ . 17049) nil]) #@73 Toggle whether emms repeats the current track. See `emms-repeat-track'. (defalias 'emms-toggle-repeat-track #[0 "?\211\203 \301\302!\207\301\303!\207" [emms-repeat-track message "Will repeat the current track." "Will advance to the next track after this one."] 3 (#$ . 17364) nil]) #@65 Return non-nil if the track name of A sorts before B. (fn A B) (defalias 'emms-sort-track-name-less-p #[514 "\300!\300!\231\207" [emms-track-name] 5 (#$ . 17655)]) #@51 Raise an error if no player is playing right now. (defalias 'emms-ensure-player-playing-p #[0 "?\205\301\302!\207" [emms-player-playing-p error "No EMMS player playing right now"] 2 (#$ . 17828)]) #@181 Read a string in the minibuffer, with completion. Set `emms-completing-read' to determine which function to use. See `completing-read' for a description of ARGS. (fn &rest ARGS) (defalias 'emms-completing-read #[128 "\301\"\207" [emms-completing-read-function apply] 4 (#$ . 18035)]) #@38 Display the current EMMS play modes. (defalias 'emms-display-modes #[0 "\203\n\306!\204 \307 \210 \206prq\210\310\311\312 \203#\313\202$\314\f\203,\313\202-\314 \2035\313\2026\314 \203?\313\202@\314%+\207" [emms-playlist-buffer emms-source-old-buffer inhibit-read-only emms-repeat-playlist emms-repeat-track emms-random-playlist buffer-live-p emms-playlist-current-clear t message "repeat playlist: %s, repeat track: %s, random: %s, single %s" "yes" "no" emms-single-track] 6 (#$ . 18329) nil]) (require 'emms-compat) #@432 Insert the contents of file FILENAME after point. Do character code conversion and end-of-line conversion, but none of the other unnecessary things like format decoding or `find-file-hook'. If VISIT is non-nil, the buffer's visited filename and last save file modtime are set, and it is marked unmodified. If visiting and the file does not exist, visiting is completed before the error is signaled. (fn FILENAME &optional VISIT) (defalias 'emms-insert-file-contents #[513 "\304\211\305\306\"\307\307\",\207" [inhibit-file-name-handlers inhibit-file-name-operation after-insert-file-functions format-alist nil append (jka-compr-handler image-file-handler epa-file-handler) insert-file-contents] 7 (#$ . 18872)]) #@50 Create a new dictionary of type NAME. (fn NAME) (defalias 'emms-dictionary #[257 "\211C\207" [] 2 (#$ . 19598)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put emms-dictionary speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@52 Return the type of the dictionary DICT. (fn DICT) (defalias 'emms-dictionary-type #[257 "\211@\207" [] 2 (#$ . 19859)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put emms-dictionary-type speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@69 Return the value of NAME in DICT. (fn DICT NAME &optional DEFAULT) (defalias 'emms-dictionary-get #[770 "A\236\211\203 \211A\207\207" [] 5 (#$ . 20132)]) #@63 Set the value of NAME in DICT to VALUE. (fn DICT NAME VALUE) (defalias 'emms-dictionary-set #[771 "A\236\211\203\211\241\266\202\300ABC\"\241\266\207" [append] 9 (#$ . 20297)]) #@68 Create an EMMS track with type TYPE and name NAME. (fn TYPE NAME) (defalias 'emms-track #[514 "\205\"\211\204,\303\211C\262\262\304\305\306#\210\305\307#\210)\n\203,\n#\210\310\311\"\210\207" [emms-cache-get-function emms-cache-modified-function emms-cache-set-function *track* nil emms-track-set type name run-hook-with-args emms-track-initialize-functions] 7 (#$ . 20495)]) #@41 True if OBJ is an emms track. (fn OBJ) (defalias 'emms-track-p #[257 "\211<\205 \211@\300=\207" [*track*] 3 (#$ . 20897)]) #@39 Return the type of TRACK. (fn TRACK) (defalias 'emms-track-type #[257 "\300\301\"\207" [emms-track-get type] 4 (#$ . 21028)]) #@42 True if TRACK is a file type (fn TRACK) (defalias 'emms-track-file-p #[257 "\300!\301=\207" [emms-track-type file] 3 (#$ . 21162)]) #@39 Return the name of TRACK. (fn TRACK) (defalias 'emms-track-name #[257 "\300\301\"\207" [emms-track-get name] 4 (#$ . 21302)]) #@133 Return the value of NAME for TRACK. If there is no value, return DEFAULT (or nil, if not given). (fn TRACK NAME &optional DEFAULT) (defalias 'emms-track-get #[770 "\300#\207" [emms-dictionary-get] 7 (#$ . 21437)]) #@66 Set the value of NAME for TRACK to VALUE. (fn TRACK NAME VALUE) (defalias 'emms-track-set #[771 "\301#\210\205 !\207" [emms-cache-modified-function emms-dictionary-set] 7 (#$ . 21661)]) #@277 Return a description of TRACK. This function uses the global value for `emms-track-description-function', rather than anything the current mode might have set. Use `emms-track-force-description' instead if you need to insert a description into a playlist buffer. (fn TRACK) (defalias 'emms-track-description #[257 "\300\301!!\207" [default-value emms-track-description-function] 3 (#$ . 21862)]) #@47 Information in TRACK got updated. (fn TRACK) (defalias 'emms-track-updated #[257 "\300\301\"\210\302!\210\300\303\"\207" [run-hook-with-args emms-track-info-filters emms-playlist-track-updated emms-track-updated-functions] 4 (#$ . 22267)]) #@262 Simple function to give a user-readable description of a track. If it's a file track, just return the file name. Otherwise, return the type and the name with a colon in between. Hex-encoded characters in URLs are replaced by the decoded character. (fn TRACK) (defalias 'emms-track-simple-description #[257 "\300!\211\301\267\202\302!\207\303\302!!\207\304!\305\302!Q\207" [emms-track-type #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (file 9 url 13)) emms-track-name emms-format-url-track-name symbol-name ": "] 6 (#$ . 22518)]) #@58 Format URL track name for better readability. (fn NAME) (defalias 'emms-format-url-track-name #[257 "\300!\207" [url-unhex-string] 3 (#$ . 23102)]) #@284 Always return text that describes TRACK. This is used when inserting a description into a buffer. The reason for this is that if no text was returned (i.e. the user defined a track function that returned nil or the empty string), a confusing error message would result. (fn TRACK) (defalias 'emms-track-force-description #[257 "!\211;\203\211\301\230\204\207\302!\207" [emms-track-description-function "" emms-track-simple-description] 4 (#$ . 23259)]) #@351 Get year of TRACK for display. There is the separation between the 'release date' and the 'original date'. This difference matters e.g. for re-releases (anniversaries and such) where the release date is more recent than the original release date. In such cases the user probably wants the original release date so this is what we show. (fn TRACK) (defalias 'emms-track-get-year #[257 "\300\301\302\"!\206\300\301\303\"!\206\301\304\"\206\301\305\"\207" [emms-format-date-to-year emms-track-get info-date info-originaldate info-year info-originalyear] 5 (#$ . 23728)]) #@92 Try to extract year part from DATE. Return nil if the year cannot be extracted. (fn DATE) (defalias 'emms-format-date-to-year #[257 "\211\205 \300\301!8\211\203\302!\202\303\304\"\205\305\306\"\262\207" [5 parse-time-string number-to-string string-match "^[ ]*\\([0-9]\\{4\\}\\)" match-string 1] 5 (#$ . 24315)]) #@179 The list of EMMS playlist buffers. You should use the `emms-playlist-buffer-list' function to retrieve a current list of EMMS buffers. Never use this variable for that purpose. (defvar emms-playlist-buffers nil (#$ . 24649)) #@46 The marker for the currently selected track. (defvar emms-playlist-selected-marker nil (#$ . 24881)) (make-variable-buffer-local 'emms-playlist-selected-marker) #@52 Non-nil if the current buffer is an EMMS playlist. (defvar emms-playlist-buffer-p nil (#$ . 25048)) (make-variable-buffer-local 'emms-playlist-buffer-p) #@51 Throw an error if we're not in a playlist-buffer. (defalias 'emms-playlist-ensure-playlist-buffer #[0 "?\205\301\302!\207" [emms-playlist-buffer-p error "Not an EMMS playlist buffer"] 2 (#$ . 25207)]) #@57 Set the current playlist buffer. (fn &optional BUFFER) (defalias 'emms-playlist-set-playlist-buffer #[256 "\211\203\n\301!\202 pr\211q\210\302 \210)\211\303\304!\203\305\306!\210\207" [emms-playlist-buffer get-buffer emms-playlist-ensure-playlist-buffer called-interactively-p interactive message "Set current EMMS playlist buffer"] 4 (#$ . 25417) (byte-code "\301\302\303 \"\304\305\"\203\306 \206\211@\307\310\311\312%\266\203C\207" [emms-playlist-buffer-p mapcar #[257 "\300!C\207" [buffer-name] 3 "\n\n(fn BUF)"] emms-playlist-buffer-list sort #[514 "@G@GW\207" [] 4 "\n\n(fn LBUF RBUF)"] buffer-name emms-completing-read "Playlist buffer to make current: " nil t] 9)]) #@201 Create a new playlist buffer. The buffer is named NAME, but made unique. NAME defaults to `emms-playlist-buffer-name'. If called interactively, the new buffer is also selected. (fn &optional NAME) (defalias 'emms-playlist-new #[256 "\304\206!r\211q\210 \n=\204\n \210\305)\306\307\"\210\310\311!\203&\312!\210\207" [emms-playlist-buffer-name major-mode emms-playlist-default-major-mode emms-playlist-buffer-p generate-new-buffer t add-to-list emms-playlist-buffers called-interactively-p interactive switch-to-buffer] 5 (#$ . 26116) nil]) #@228 Return a list of EMMS playlist buffers. The first element is guaranteed to be the current EMMS playlist buffer, if it exists, otherwise the slot will be used for the other EMMS buffers. The list will be in newest-first order. (defalias 'emms-playlist-buffer-list #[0 "\302\303\"\304\305\306 \"\210\307 !\203@ =\204 \310 \"B\207" [emms-playlist-buffers emms-playlist-buffer emms-delete-if #[257 "\300!?\207" [buffer-live-p] 3 "\n\n(fn BUF)"] mapc #[257 "\302!\205r\211q\210\205\211 >?\205\211 B\211)\207" [emms-playlist-buffer-p emms-playlist-buffers buffer-live-p] 3 "\n\n(fn BUF)"] buffer-list buffer-live-p delete] 4 (#$ . 26675)]) #@67 Kill the current EMMS playlist buffer and switch to the next one. (defalias 'emms-playlist-current-kill #[0 "\302!\205)\303 A@\211\203  A\304!\210\305!\262\202'rq\210\306 )\262\207" [emms-playlist-buffer emms-playlist-buffers buffer-live-p emms-playlist-buffer-list kill-buffer switch-to-buffer bury-buffer] 4 (#$ . 27336) nil]) #@84 Clear the current playlist. If no current playlist exists, a new one is generated. (defalias 'emms-playlist-current-clear #[0 "\203\n\301!\204\302 \211\207rq\210\303 )\207" [emms-playlist-buffer buffer-live-p emms-playlist-new emms-playlist-clear] 2 (#$ . 27684) nil]) #@27 Clear the current buffer. (defalias 'emms-playlist-clear #[0 "\301 \210\302~\210ed|\210)\303\304!\207" [inhibit-read-only emms-playlist-ensure-playlist-buffer t run-hooks emms-playlist-cleared-hook] 2 (#$ . 27966) nil]) #@83 Return the track at POS (point if not given), or nil if none. (fn &optional POS) (defalias 'emms-playlist-track-at #[256 "\300 \210\214~\210\301\206\f`\302\")\207" [emms-playlist-ensure-playlist-buffer get-text-property emms-track] 4 (#$ . 28193)]) #@47 Move to the next track in the current buffer. (defalias 'emms-playlist-next #[0 "\300 \210\301`\302\"\211\204\303\304!\210\305!\204\301\302\"\262\211\203%\211dU\203)\303\304!\210\211b\207" [emms-playlist-ensure-playlist-buffer next-single-property-change emms-track error "No next track" emms-playlist-track-at] 4 (#$ . 28451)]) #@51 Move to the previous track in the current buffer. (defalias 'emms-playlist-previous #[0 "\300 \210\301`\302\"\211\204\303\304!\210\305\302\"\204 \301\302\"\206e\262\211\203+\305\302\"\204/\303\304!\210\211b\207" [emms-playlist-ensure-playlist-buffer previous-single-property-change emms-track error "No previous track" get-text-property] 4 (#$ . 28795)]) #@48 Move to the first track in the current buffer. (defalias 'emms-playlist-first #[0 "\300 \210\3011\212eb\210\302`!\204\303 \210`)0\202\210\304\211\203#\211b\207\305\306!\207" [emms-playlist-ensure-playlist-buffer (error) emms-playlist-track-at emms-playlist-next nil error "No first track"] 3 (#$ . 29167)]) #@47 Move to the last track in the current buffer. (defalias 'emms-playlist-last #[0 "\300 \210\3011\212db\210\302 \210`)0\202\210\303\211\203\211b\207\304\305!\207" [emms-playlist-ensure-playlist-buffer (error) emms-playlist-previous nil error "No last track"] 3 (#$ . 29487)]) #@28 Delete the track at point. (defalias 'emms-playlist-delete-track #[0 "\301 \210 \207" [emms-playlist-delete-track-function emms-playlist-ensure-playlist-buffer] 1 (#$ . 29773)]) #@38 Return the currently selected track. (defalias 'emms-playlist-selected-track #[0 "\301 \210\205\n\302!\207" [emms-playlist-selected-marker emms-playlist-ensure-playlist-buffer emms-playlist-track-at] 2 (#$ . 29958)]) #@62 Return the currently selected track in the current playlist. (defalias 'emms-playlist-current-selected-track #[0 "\203\n\303!\204 \304 \210 \206prq\210\305\306 +\207" [emms-playlist-buffer emms-source-old-buffer inhibit-read-only buffer-live-p emms-playlist-current-clear t emms-playlist-selected-track] 2 (#$ . 30184)]) #@95 Return non-nil if POINT (defaulting to point) is on the selected track. (fn &optional POINT) (defalias 'emms-playlist-selected-track-at-p #[256 "\205\206\n`U\206\301\206`\302\"\211\205U\262\207" [emms-playlist-selected-marker previous-single-property-change emms-track] 4 (#$ . 30520)]) #@36 Select the track at POS. (fn POS) (defalias 'emms-playlist-select #[257 "\301 \210\302!\204\303\304\"\210\204\305 \306\307\"\210\310\223\210\311\312!\207" [emms-playlist-selected-marker emms-playlist-ensure-playlist-buffer emms-playlist-track-at error "No track at position %s" make-marker set-marker-insertion-type t nil run-hooks emms-playlist-selection-changed-hook] 4 (#$ . 30830)]) #@46 Select the next track in the current buffer. (defalias 'emms-playlist-select-next #[0 "\302 \210\212\203\303!\203\202eb\210\30419 \203/\3051(\306 0\210\2022\210\307 \210\2022\306 \210\310`!0\202=\210\311\312!)\207" [emms-playlist-selected-marker emms-repeat-playlist emms-playlist-ensure-playlist-buffer marker-position (error) (error) emms-playlist-next emms-playlist-first emms-playlist-select error "No next track in playlist"] 2 (#$ . 31235)]) #@48 Select the next track in the current playlist. (defalias 'emms-playlist-current-select-next #[0 "\203\n\303!\204 \304 \210 \206prq\210\305\306 +\207" [emms-playlist-buffer emms-source-old-buffer inhibit-read-only buffer-live-p emms-playlist-current-clear t emms-playlist-select-next] 2 (#$ . 31704)]) #@50 Select the previous track in the current buffer. (defalias 'emms-playlist-select-previous #[0 "\302 \210\212\203\303!\203\202db\210\30419 \203/\3051(\306 0\210\2022\210\307 \210\2022\306 \210\310`!0\202=\210\311\312!)\207" [emms-playlist-selected-marker emms-repeat-playlist emms-playlist-ensure-playlist-buffer marker-position (error) (error) emms-playlist-previous emms-playlist-last emms-playlist-select error "No previous track in playlist"] 2 (#$ . 32020)]) #@52 Select the previous track in the current playlist. (defalias 'emms-playlist-current-select-previous #[0 "\203\n\303!\204 \304 \210 \206prq\210\305\306 +\207" [emms-playlist-buffer emms-source-old-buffer inhibit-read-only buffer-live-p emms-playlist-current-clear t emms-playlist-select-previous] 2 (#$ . 32504)]) #@46 Select a random track in the current buffer. (defalias 'emms-playlist-select-random #[0 "\300 \210\212\301eb\210\301\302`!\204\3031\304 0\210\202\210\305\262\211\2049`B\262\30612\304 0\210\202\210\305\262\202\210\307!\262\310\311G!H!\262)\207" [emms-playlist-ensure-playlist-buffer nil emms-playlist-track-at (error) emms-playlist-next t (error) vconcat emms-playlist-select random] 5 (#$ . 32832)]) #@48 Select a random track in the current playlist. (defalias 'emms-playlist-current-select-random #[0 "\203\n\303!\204 \304 \210 \206prq\210\305\306 +\207" [emms-playlist-buffer emms-source-old-buffer inhibit-read-only buffer-live-p emms-playlist-current-clear t emms-playlist-select-random] 2 (#$ . 33259)]) #@47 Select the first track in the current buffer. (defalias 'emms-playlist-select-first #[0 "\300 \210\212\301 \210\302`!)\207" [emms-playlist-ensure-playlist-buffer emms-playlist-first emms-playlist-select] 2 (#$ . 33579)]) #@49 Select the first track in the current playlist. (defalias 'emms-playlist-current-select-first #[0 "\203\n\303!\204 \304 \210 \206prq\210\305\306 +\207" [emms-playlist-buffer emms-source-old-buffer inhibit-read-only buffer-live-p emms-playlist-current-clear t emms-playlist-select-first] 2 (#$ . 33806)]) #@46 Select the last track in the current buffer. (defalias 'emms-playlist-select-last #[0 "\300 \210\212\301 \210\302`!)\207" [emms-playlist-ensure-playlist-buffer emms-playlist-last emms-playlist-select] 2 (#$ . 34125)]) #@48 Select the last track in the current playlist. (defalias 'emms-playlist-current-select-last #[0 "\203\n\303!\204 \304 \210 \206prq\210\305\306 +\207" [emms-playlist-buffer emms-source-old-buffer inhibit-read-only buffer-live-p emms-playlist-current-clear t emms-playlist-select-last] 2 (#$ . 34349)]) #@118 Insert TRACK at the current position into the playlist. This uses `emms-playlist-insert-track-function'. (fn TRACK) (defalias 'emms-playlist-insert-track #[257 "\301 \210!\207" [emms-playlist-insert-track-function emms-playlist-ensure-playlist-buffer] 3 (#$ . 34666)]) #@73 Update TRACK at point. This uses `emms-playlist-update-track-function'. (defalias 'emms-playlist-update-track #[0 "\301 \210 \207" [emms-playlist-update-track-function emms-playlist-ensure-playlist-buffer] 1 (#$ . 34944)]) #@81 Insert tracks from SOURCE, supplying ARGS as arguments. (fn SOURCE &rest ARGS) (defalias 'emms-playlist-insert-source #[385 "\300 \210\214``}\210\301\"\210\302\303!)\207" [emms-playlist-ensure-playlist-buffer apply run-hooks emms-playlist-source-inserted-hook] 5 (#$ . 35174)]) #@127 Insert tracks from SOURCE in the current playlist. This is supplying ARGS as arguments to the source. (fn SOURCE &rest ARGS) (defalias 'emms-playlist-current-insert-source #[385 "\203\n\303!\204 \304 \210 \206prq\210\305\306\307#+\207" [emms-playlist-buffer emms-source-old-buffer inhibit-read-only buffer-live-p emms-playlist-current-clear t apply emms-playlist-insert-source] 6 (#$ . 35462)]) #@54 Return all tracks between BEG and END. (fn BEG END) (defalias 'emms-playlist-tracks-in-region #[514 "\300 \210\301\214}\210eb\210\301\302`!\204\"\3031\304 0\210\202\"\210\305\262\211\204?\302`!B\262\30618\304 0\210\202\"\210\305\262\202\"\210)\207" [emms-playlist-ensure-playlist-buffer nil emms-playlist-track-at (error) emms-playlist-next t (error)] 6 (#$ . 35875)]) #@51 Update TRACK in all playlist buffers. (fn TRACK) (defalias 'emms-playlist-track-updated #[257 "\300\301\302\"\303 \"\210\304\207" [mapc make-closure #[257 "r\211q\210 \205*\212\302ed\303\300$\211\205'\211b\210\304 \210\302\305`\303\"d\303\300$\262\202\262))\207" [V0 emms-playlist-buffer-p text-property-any emms-track emms-playlist-update-track next-single-property-change] 7 "\n\n(fn BUF)"] buffer-list t] 5 (#$ . 36265)]) #@55 Insert the description of TRACK at point. (fn TRACK) (defalias 'emms-playlist-simple-insert-track #[257 "\301 \210\302\303\304!\305#\306\261)\207" [inhibit-read-only emms-playlist-ensure-playlist-buffer t emms-propertize emms-track-force-description emms-track "\n"] 5 (#$ . 36704)]) #@104 Update the track at point. Since we don't do anything special with the track anyway, just ignore this. (defalias 'emms-playlist-simple-update-track #[0 "\300\207" [nil] 1 (#$ . 37000)]) #@28 Delete the track at point. (defalias 'emms-playlist-simple-delete-track #[0 "\301 \210\302`!\204 \303\304!\210\305\306`\307\"\211@A|)\207" [inhibit-read-only emms-playlist-ensure-playlist-buffer emms-playlist-track-at error "No track at point" t emms-property-region emms-track] 4 (#$ . 37192)]) #@36 Shuffle the whole playlist buffer. (defalias 'emms-playlist-simple-shuffle #[0 "\303 \210\304\305~\210 \203\306 \262\nb\210\307 \210\310\311ed\"!\211G\312ed|\210\313\314!\210\315!\210\2034\316!\210\211W\203G\316H!\210\211T\262\2024\266\317 \210db)\207" [inhibit-read-only emms-player-playing-p emms-playlist-selected-marker emms-playlist-ensure-playlist-buffer t nil emms-playlist-selected-track emms-playlist-delete-track vconcat emms-playlist-tracks-in-region 0 run-hooks emms-playlist-cleared-hook emms-shuffle-vector emms-playlist-insert-track emms-playlist-select-first] 8 (#$ . 37498)]) #@33 Sort the whole playlist buffer. (defalias 'emms-playlist-simple-sort #[0 "\302 \210~\210\303\304 \305ed\"ed|\210\306\307!\210\310\311\312 \"\"\210\313ed\314$\211\203.\315!\2020\316 \262)\207" [inhibit-read-only emms-sort-lessp-function emms-playlist-ensure-playlist-buffer t emms-playlist-selected-track emms-playlist-tracks-in-region run-hooks emms-playlist-cleared-hook mapc emms-playlist-insert-track sort text-property-any emms-track emms-playlist-select emms-playlist-first] 8 (#$ . 38113)]) #@89 Compare stringfied element of list, and remove duplicate elements. (fn LIST STRINGIFY) (defalias 'emms-uniq-list #[514 "\300\301\302\"\303C\211\211\2031\211@!\304\"\204\"C\241\210A\262\305\306#\266A\266\202\202\210A\207" [make-hash-table :test equal nil gethash puthash t] 12 (#$ . 38624)]) #@26 Remove duplicate tracks. (defalias 'emms-playlist-simple-uniq #[0 "\301 \210~\210\302\303 \304ed\"ed|\210\305\306!\210\307\310\311\312\"\237\"\210\313ed\314$\211\203/\315!\2021\316 \262)\207" [inhibit-read-only emms-playlist-ensure-playlist-buffer t emms-playlist-selected-track emms-playlist-tracks-in-region run-hooks emms-playlist-cleared-hook mapc emms-playlist-insert-track emms-uniq-list emms-track-name text-property-any emms-track emms-playlist-select emms-playlist-first] 8 (#$ . 38942)]) #@69 A function which OKs all tracks for playing by default. (fn TRACK) (defalias 'emms-default-ok-track-function #[257 "\300\207" [t] 2 (#$ . 39454)]) #@148 Return a pair of the beginning and end of the property PROP at POS. If POS does not contain PROP, try to find PROP just before POS. (fn POS PROP) (defalias 'emms-property-region #[514 "\300\211eV\203\301S\"\203\302S\"\262\202,\301\"\203'\262\202,\303\304\"\210\301\"\203<\305\"\262\202UeV\203P\301S\"\203P\262\202U\303\304\"\210\206Ze\206_dB\207" [nil get-text-property previous-single-property-change error "Cannot find the %s property at the given position" next-single-property-change] 7 (#$ . 39609)]) #@30 Shuffle VECTOR. (fn VECTOR) (defalias 'emms-shuffle-vector #[257 "\211GS\211\300Y\203$\301T!HHI\210I\266\211S\262\202\210\207" [0 random] 8 (#$ . 40160)]) #@483 Define a new EMMS source called NAME. This macro defines three functions: `emms-source-NAME', `emms-play-NAME' and `emms-add-NAME'. BODY should use `emms-playlist-insert-track' to insert all tracks to be played, which is exactly what `emms-source-NAME' will do. The other two functions will be simple wrappers around `emms-source-NAME'; any `interactive' form that you specify in BODY will end up in these. See emms-source-file.el for some examples. (fn NAME ARGLIST &rest BODY) (defalias 'define-emms-source '(macro . #[642 "\300\301\302\"!\300\301\303\"!\300\301\304\"!\300\301\305\"!\306\307\310\311\310\312 \"\"@;\2036@\262A\262@@\313=\203I@\262A\262\314\315 \fBBBB\315\f\316\317\320\321\322\323D BBE\324\323D\fBBF\257\315 \316\317\320\325\324\323DBBE\322\323D BBF\257\315  \326\323D BB\257\257\207" [intern format "emms-source-%s" "emms-play-%s" "emms-add-%s" "emms-insert-%s" "A source of tracks for EMMS." nil delete &rest &optional interactive progn defun if current-prefix-arg let ((current-prefix-arg nil)) emms-source-add quote emms-source-play ((current-prefix-arg nil)) emms-source-insert] 25 (#$ . 40338)])) #@92 Play the tracks of SOURCE, after first clearing the EMMS playlist. (fn SOURCE &rest ARGS) (defalias 'emms-source-play #[385 "\300 \210\301 \210\302\303#\210\304 \210\305 \207" [emms-stop emms-playlist-current-clear apply emms-playlist-current-insert-source emms-playlist-current-select-first emms-start] 6 (#$ . 41541)]) #@91 Add the tracks of SOURCE at the current position in the playlist. (fn SOURCE &rest ARGS) (defalias 'emms-source-add #[385 "\203\n\304!\204 \305 \210 \206prq\210\306\212db\210\307\310#\210) \203/\311 !?\2051\312 +\207" [emms-playlist-buffer emms-source-old-buffer inhibit-read-only emms-playlist-selected-marker buffer-live-p emms-playlist-current-clear t apply emms-playlist-current-insert-source marker-position emms-playlist-select-first] 6 (#$ . 41871)]) #@78 Insert the tracks from SOURCE in the current buffer. (fn SOURCE &rest ARGS) (defalias 'emms-source-insert #[385 "\204\301\302!\207\303\304#\207" [emms-playlist-buffer-p error "Not in an EMMS playlist buffer" apply emms-playlist-insert-source] 6 (#$ . 42349)]) #@91 Define a `emms-play-X' and `emms-add-X' function for SOURCES. (fn NAME SHUFFLEP SOURCES) (defalias 'define-emms-combined-source '(macro . #[771 "\300\301\302\303\304\305E\205\306\257\207" [define-emms-source nil "An EMMS source for a tracklist." (interactive) mapc (lambda (source) (apply (car source) (cdr source))) (save-restriction (widen) (emms-shuffle))] 11 (#$ . 42621)])) #@58 Non-nil if the last EMMS player was stopped by the user. (defvar emms-player-stopped-p nil (#$ . 43015)) #@677 Create a new EMMS player. The start function will be START, and the stop function STOP. PLAYABLEP should return non-nil for tracks that this player can play. When trying to play a track, EMMS walks through `emms-player-list'. For each player, it calls the PLAYABLEP function. The player corresponding to the first PLAYABLEP function that returns non-nil is used to play the track. To actually play the track, EMMS calls the START function, passing the chosen track as a parameter. If the user tells EMMS to stop playing, the STOP function is called. Once the player has finished playing, it should call `emms-player-stopped' to let EMMS know. (fn START STOP PLAYABLEP) (defalias 'emms-player #[771 "\300\211C\262\301\302#\210\301\303#\210\301\304#\210\207" [*player* emms-player-set start stop playablep] 8 (#$ . 43127)]) #@82 Return the value of entry NAME in PLAYER. (fn PLAYER NAME &optional INEXISTENT) (defalias 'emms-player-get #[770 "9\203\nJ\202 \300#\207" [emms-dictionary-get] 8 (#$ . 43970)]) #@73 Set the value of entry NAME in PLAYER to VALUE. (fn PLAYER NAME VALUE) (defalias 'emms-player-set #[771 "9\203\nJ\202 \300#\207" [emms-dictionary-set] 8 (#$ . 44162)]) #@166 Return an EMMS player capable of playing TRACK. This will be the first player whose PLAYABLEP function returns non-nil, or nil if no such player exists. (fn TRACK) (defalias 'emms-player-for #[257 "\211\203\301@\302\"!\204\211A\262\202\211\205\211@\207" [emms-player-list emms-player-get playablep] 5 (#$ . 44346)]) #@34 Start playing TRACK. (fn TRACK) (defalias 'emms-player-start #[257 "\203\302\303!\207\304!\211\204\302\305\"\207\306\307\310\"!)\207" [emms-player-playing-p default-directory error "A player is already playing" emms-player-for "Don't know how to play track: %S" "/" emms-player-get start] 5 (#$ . 44681)]) #@117 Declare that the given EMMS PLAYER has started. This should only be done by the current player itself. (fn PLAYER) (defalias 'emms-player-started #[257 "\211\302\303\304!\207" [emms-player-playing-p emms-player-paused-p nil run-hooks emms-player-started-hook] 3 (#$ . 45005)]) #@31 Stop the current EMMS player. (defalias 'emms-player-stop #[0 "\205\302\303\304\" \210)\305\211\207" [emms-player-playing-p emms-player-stopped-p t emms-player-get stop nil] 3 (#$ . 45291)]) #@106 Declare that the current EMMS player is finished. This should only be done by the current player itself. (defalias 'emms-player-stopped #[0 "\304 \203\n\305\306!\207\307\n!\210\305\310!\210 \207" [emms-player-playing-p emms-player-stopped-p emms-player-delay emms-player-next-function nil run-hooks emms-player-stopped-hook sleep-for emms-player-finished-hook] 2 (#$ . 45495)]) #@32 Pause the current EMMS player. (defalias 'emms-player-pause #[0 "\204\302\303!\207 \2035\304\305\"\304\306\"\203 \266\202/\211\203*\211 \266\202/\302\307!\266\310\311\312!\207\304\306\"\211\203D\211 \266\202I\302\307!\266\313\311\312!\207" [emms-player-playing-p emms-player-paused-p error "Can't pause player, nothing is playing" emms-player-get resume pause "Player does not know how to pause" nil run-hooks emms-player-paused-hook t] 4 (#$ . 45882)]) #@153 Seek the current player by SECONDS seconds. This can be a floating point number for fractions of a second, or negative to seek backwards. (fn SECONDS) (defalias 'emms-player-seek #[257 "\204\301\302!\207\303\304\"\211\204\301\305!\207\211!\210\306\307\"\207" [emms-player-playing-p error "Can't seek player, nothing playing right now" emms-player-get seek "Player does not know how to seek" run-hook-with-args emms-player-seeked-functions] 5 (#$ . 46366)]) #@153 Seek the current player to SECONDS seconds. This can be a floating point number for fractions of a second, or negative to seek backwards. (fn SECONDS) (defalias 'emms-player-seek-to #[257 "\204\301\302!\207\303\304\"\211\204\301\305!\207\211!\210\306\307\"\207" [emms-player-playing-p error "Can't seek-to player, nothing playing right now" emms-player-get seek-to "Player does not know how to seek-to" run-hook-with-args emms-player-time-set-functions] 5 (#$ . 46839)]) (provide 'emms)