;ELC ;;; Compiled by heimdall@baldur.tsdh.de on Thu May 15 09:56:14 2008 ;;; from file /home/heimdall/repos/emms/emms-playlist-mode.el ;;; in Emacs version 23.0.60.2 ;;; 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-playlist-mode.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\302\303\304\217\210\300\305!\207" [require emms nil (byte-code "\300\301!\207" [require overlay] 2) ((error)) emms-source-playlist] 3) #@26 Emms playlist mode hook. (defvar emms-playlist-mode-hook nil (#$ . 768)) #@53 Last selected track. Use for updating the display. (defvar emms-playlist-mode-selected-overlay nil (#$ . 847)) #@72 Last buffer visited before calling `emms-playlist-mode-switch-buffer'. (defvar emms-playlist-mode-switched-buffer nil (#$ . 965)) #@54 True when the playlist was called as a popup window. (defvar emms-playlist-mode-popup-enabled nil (#$ . 1101)) (byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\207" [make-variable-buffer-local emms-playlist-mode-selected-overlay custom-declare-group emms-playlist-mode nil "*The Emacs Multimedia System playlist mode." :prefix "emms-playlist-mode-" :group emms] 8) #@156 *Determine whether to open playlists in a new EMMS buffer on RET. This is useful if you have a master playlist buffer that is composed of other playlists. (custom-declare-variable 'emms-playlist-mode-open-playlists 'nil '(#$ . -1484) :type 'boolean :group 'emms-playlist-mode) #@85 *Determine the width of the Emms popup window. The value should a positive integer. (custom-declare-variable 'emms-playlist-mode-window-width '25 '(#$ . -1767) :type 'integer :group 'emms-playlist-mode) #@125 *Determine whether to center on the currently selected track. This is true for every invocation of `emms-playlist-mode-go'. (custom-declare-variable 'emms-playlist-mode-center-when-go 'nil '(#$ . -1977) :type 'boolean :group 'emms-playlist-mode) (byte-code "\300\301\302\303\304\305%\210\300\306\307\310\304\305%\207" [custom-declare-face emms-playlist-track-face ((((class color) (background dark)) (:foreground "DarkSeaGreen")) (((class color) (background light)) (:foreground "Blue")) (((type tty) (class mono)) (:inverse-video t)) (t (:background "Blue"))) "Face for the tracks in a playlist buffer." :group emms-playlist-mode emms-playlist-selected-face ((((class color) (background dark)) (:foreground "SteelBlue3")) (((class color) (background light)) (:background "blue3" :foreground "white")) (((type tty) (class mono)) (:inverse-video t)) (t (:background "blue3"))) "Face for highlighting the selected track."] 6) #@34 Keymap for `emms-playlist-mode'. (defconst emms-playlist-mode-map (byte-code "\302 \303 \"\210\304\305\306#\210\304\307\310#\210\304\311\312#\210\304\313\314#\210\304\315\316#\210\304\317\316#\210\304\320\321#\210\304\322\323#\210\304\324\325#\210\304\326\327#\210\304\330\331#\210\304\332\333#\210\304\334\335#\210\304\336\337#\210\304\340\341#\210\304\342\343#\210\304\344\345#\210\304\346\347#\210\304\350\351#\210\304\352\353#\210\304\354\355#\210\304\356\357#\210\304\360\361#\210\304\362\363#\210\304\364\365#\210\304\366\367#\210\304\370\371#\210\304\372\373#\210\304\374\375#\210\304\376\377#\210\304\201@\201A#\210\304\201B\201C#\210\304\201D\201E#\210\304\201F\201G#\210)\207" [map text-mode-map make-sparse-keymap set-keymap-parent define-key "" emms-playlist-save "" emms-playlist-mode-yank " " emms-playlist-mode-kill-track "" emms-playlist-mode-kill "" emms-playlist-mode-undo [67108911] "" next-line "" previous-line "\n" emms-playlist-mode-insert-newline [134217849] emms-playlist-mode-yank-pop [134217788] emms-playlist-mode-first [134217790] emms-playlist-mode-last [134217838] emms-playlist-mode-next [134217840] emms-playlist-mode-previous "a" emms-playlist-mode-add-contents "b" emms-playlist-set-playlist-buffer "D" emms-playlist-mode-kill-entire-track "n" emms-next "p" emms-previous " " scroll-up ">" emms-seek-forward "<" emms-seek-backward "P" emms-pause "s" emms-stop "f" emms-show "c" emms-playlist-mode-center-current "q" emms-playlist-mode-bury-buffer "k" emms-playlist-mode-current-kill "?" describe-mode "r" emms-random "C" emms-playlist-mode-clear "d" emms-playlist-mode-goto-dired-at-point [mouse-2] emms-playlist-mode-play-current-track " " emms-playlist-mode-play-smart] 4) (#$ . 2907)) #@118 Create a function NAME which is an `interactive' version of FUN. NAME should be a symbol. FUN should be a function. (defalias 'emms-playlist-mode-move-wrapper '(macro . #[(name fun) "\302\303\304\305 \"\306 C\257\207" [name fun defun nil format "Interactive wrapper around `%s' for playlist-mode." (interactive)] 6 (#$ . 4689)])) #@69 Interactive wrapper around `emms-playlist-first' for playlist-mode. (defalias 'emms-playlist-mode-first #[nil "\300 \207" [emms-playlist-first] 1 (#$ . 5028) nil]) #@68 Interactive wrapper around `emms-playlist-next' for playlist-mode. (defalias 'emms-playlist-mode-select-next #[nil "\300 \207" [emms-playlist-next] 1 (#$ . 5198) nil]) #@72 Interactive wrapper around `emms-playlist-previous' for playlist-mode. (defalias 'emms-playlist-mode-select-previous #[nil "\300 \207" [emms-playlist-previous] 1 (#$ . 5372) nil]) #@49 Wrapper around `bury-buffer' for popup windows. (defalias 'emms-playlist-mode-bury-buffer #[nil "\203\n\301\216\302 )\207\303 \207" [emms-playlist-mode-popup-enabled ((byte-code "\301\211\207" [emms-playlist-mode-popup-enabled nil] 2)) delete-window bury-buffer] 1 (#$ . 5558) nil]) #@110 If the current buffer is an EMMS playlist buffer, kill it. Otherwise, kill the current EMMS playlist buffer. (defalias 'emms-playlist-mode-current-kill #[nil "\203p =\204\302p!\207\303 \207" [emms-playlist-buffer-p emms-playlist-buffer kill-buffer emms-playlist-current-kill] 2 (#$ . 5851) nil]) #@112 If the current buffer is an EMMS playlist buffer, clear it. Otherwise, clear the current EMMS playlist buffer. (defalias 'emms-playlist-mode-clear #[nil "\203p =\204\303~\210ed|)\207\304 \207" [emms-playlist-buffer-p emms-playlist-buffer inhibit-read-only t emms-playlist-clear] 2 (#$ . 6159) nil]) #@62 Move to directly after the last track in the current buffer. (defalias 'emms-playlist-mode-last #[nil "\301 \210\302\303\304\217\211\203b\202\305\306!)\207" [last emms-playlist-ensure-playlist-buffer nil (byte-code "\212db\210`)\207" [] 1) ((error)) error "No last track"] 4 (#$ . 6470) nil]) #@45 Move point to the currently selected track. (defalias 'emms-playlist-mode-center-current #[nil "\203\n\301!\202 eb\207" [emms-playlist-mode-selected-overlay overlay-start] 2 (#$ . 6775) nil]) #@31 Start playing track at point. (defalias 'emms-playlist-mode-play-current-track #[nil "\301p!\210\302`!\204 \303 \210\304`!\210\203\305 \210\306 \207" [emms-player-playing-p emms-playlist-set-playlist-buffer emms-playlist-track-at emms-playlist-next emms-playlist-select emms-stop emms-start] 2 (#$ . 6977) nil]) #@216 Determine the best operation to take on the current track. If on a playlist, and `emms-playlist-mode-open-playlists' is non-nil, load the playlist at point into a new buffer. Otherwise play the track immediately. (defalias 'emms-playlist-mode-play-smart #[nil "\212\304\305!\210\204\306 \202>\307 \204\310 \210\307 \311 \302\"\311 \303\"\211\312=\2046 \313=\203;\314\315\n\"\203;\316 \202=\306 +)\207" [emms-playlist-mode-open-playlists track name type emms-move-beginning-of-line nil emms-playlist-mode-play-current-track emms-playlist-track-at emms-playlist-next emms-track-get playlist file string-match "\\.\\(m3u\\|pls\\)\\'" emms-playlist-mode-load-playlist] 4 (#$ . 7300) nil]) #@240 Switch to the playlist buffer and then switch back if called again. This function switches to the current Emms playlist buffer and remembers the buffer switched from. When called again the function switches back to the remembered buffer. (defalias 'emms-playlist-mode-switch-buffer #[nil "p=\203\n\302 !\207p\302!\207" [emms-playlist-buffer emms-playlist-mode-switched-buffer switch-to-buffer] 2 (#$ . 8007) nil]) #@28 Insert a newline at point. (defalias 'emms-playlist-mode-insert-newline #[nil "\301\302 )\207" [inhibit-read-only t newline] 1 (#$ . 8432) nil]) #@24 Wrapper around `undo'. (defalias 'emms-playlist-mode-undo #[nil "\301\302 )\207" [inhibit-read-only t undo] 1 (#$ . 8584) nil]) #@154 Add files in the playlist at point to the current playlist buffer. If we are in the current playlist, make a new playlist buffer and set it as current. (defalias 'emms-playlist-mode-add-contents #[nil "\212\306\307!\210\310 \204 \311 \210\310 \312\301\"\312\302\"\211\313=\2060\n\314=\2050\315 \316\216\317\320 \"*\321`!\210\322 !\203Ap =\203F\323\324 ! \203P\322 !\204S\325 \210#\206Yp#r q\210\326$db\210\f\203p\327!\330\261\210`%\f\203~\331 !\210\202\233\332\333\334\n!P!&\335&!\203\226& !\210\202\232\336 !\210)\f\203\262db\210\337y\210`%Y\203\262\340c\210\202\242eb\210\341\342\334\n!\". \207" [track name type save-match-data-internal playlist-p emms-playlist-buffer emms-move-beginning-of-line nil emms-playlist-track-at emms-playlist-next emms-track-get playlist file match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) string-match "\\.\\(m3u\\|pls\\)\\'" emms-playlist-select buffer-live-p emms-playlist-set-playlist-buffer emms-playlist-new emms-playlist-current-clear t emms-track-force-description "\n" emms-add-playlist intern "emms-add-" symbol-name functionp emms-add-file -1 " " message "Added %s" emms-source-old-buffer inhibit-read-only beg func] 5 (#$ . 8720) nil]) #@47 Visit the track at point in a `dired' buffer. (defalias 'emms-playlist-mode-goto-dired-at-point #[nil "\303 \211\203&\304\302\"\304\301\" \305=\203\306\307\n!!\202\"\310\311!*\202)\310\312!)\207" [track type name emms-playlist-track-at emms-track-get file dired file-name-directory error "Can't visit this track type in Dired" "No track at point"] 5 (#$ . 9992) nil]) #@50 Return t if P is a point between points A and B. (defalias 'emms-playlist-mode-between-p #[(p a b) " X\205 \nX\207" [a p b] 2 (#$ . 10376)]) #@41 Kill track at point, including newline. (defalias 'emms-playlist-mode-kill-entire-track #[nil "\301\302 )\207" [kill-whole-line t emms-playlist-mode-kill-track] 1 (#$ . 10526) nil]) #@22 Kill track at point. (defalias 'emms-playlist-mode-kill-track #[nil "\305\306 \211\203&\307`\310\" \203 \311 \203 \312 \210\313\f!\210\314\315 )\202(\315 *\207" [inhibit-read-only track track-region emms-player-playing-p emms-playlist-mode-selected-overlay t emms-playlist-track-at emms-property-region emms-track emms-playlist-selected-track-at-p emms-stop delete-overlay nil kill-line] 4 (#$ . 10715) nil]) #@26 Kill from mark to point. (defalias 'emms-playlist-mode-kill #[nil "\303\304 !\203\305\306 !\307 \310 #\203\311 \210\312\n!\210\313\314\307 \310 \")\207" [inhibit-read-only emms-playlist-selected-marker emms-playlist-mode-selected-overlay t markerp emms-playlist-mode-between-p marker-position region-beginning region-end emms-stop delete-overlay nil kill-region] 4 (#$ . 11138) nil]) #@32 Yank into the playlist buffer. (defalias 'emms-playlist-mode-yank #[nil "\301\302 b\210\303 )\207" [inhibit-read-only t point-at-bol yank] 1 (#$ . 11534) nil]) #@30 Cycle through the kill-ring. (defalias 'emms-playlist-mode-yank-pop #[nil "\301\302\303!)\207" [inhibit-read-only t yank-pop nil] 2 (#$ . 11701) nil]) #@53 Place an overlay over the currently selected track. (defalias 'emms-playlist-mode-overlay-selected #[nil "\2051\212b\210\303`\304\"\n\203\305\n @ A#\2020\306 @ A\307\310\307%\311\n\312\313#\210\311\n\314\310#*\207" [emms-playlist-selected-marker reg emms-playlist-mode-selected-overlay emms-property-region emms-track move-overlay make-overlay nil t overlay-put face emms-playlist-selected-face evaporate] 6 (#$ . 11859)]) #@139 Opens a previously saved playlist buffer. It creates a buffer called "filename", and restores the contents of the saved playlist inside. (defalias 'emms-playlist-mode-open-buffer #[(filename) "\306\307 !\310\n!r\nq\210\311\312 !)\313\n!\210r\314 !q\210\315c\210eb\210\306\316`!\2043\306\317\320\217\210 \204B\321 \210\306\322\323\217\210\2023*\324 \210\325`!\210\326p!,\207" [s filename buffer name inhibit-read-only #1=#:donep nil find-file-noselect buffer-name read buffer-string kill-buffer emms-playlist-new t emms-playlist-track-at (emms-playlist-next) ((error (byte-code "\301\211\207" [#1# t] 2))) emms-playlist-update-track (emms-playlist-next) ((error (byte-code "\301\211\207" [#1# t] 2))) emms-playlist-first emms-playlist-select switch-to-buffer] 3 (#$ . 12297) "fFile: "]) #@83 Load the playlist into a new EMMS buffer. This preserves the current EMMS buffer. (defalias 'emms-playlist-mode-load-playlist #[nil "\303 \304\301\"\304\302\"\305`!\210\306\307!\210\310\311\312 !!\210\313 !+\207" [track name type emms-playlist-track-at emms-track-get emms-playlist-select run-hooks emms-player-stopped-hook switch-to-buffer emms-playlist-set-playlist-buffer emms-playlist-new emms-add-playlist] 3 (#$ . 13102) nil]) #@112 Insert the description of TRACK at point. When NO-NEWLINE is non-nil, do not insert a newline after the track. (defalias 'emms-playlist-mode-insert-track #[(track &optional no-newline) "\303 \210\304\305\306 !\307 \310\311%c\210\312 \203\313 \210\n?\205\314c)\207" [inhibit-read-only track no-newline emms-playlist-ensure-playlist-buffer t emms-propertize emms-track-force-description emms-track face emms-playlist-track-face emms-playlist-selected-track-at-p emms-playlist-mode-overlay-selected "\n"] 6 (#$ . 13547)]) #@36 Update the track display at point. (defalias 'emms-playlist-mode-update-track-function #[nil "\305 \210\306\307`\310\"\311`\310\"\312 \212 @ A|\210 \203#\313\f!\210\314\315\n\306\"\210) \2050\316`!,\207" [inhibit-read-only selectedp track track-region emms-playlist-mode-selected-overlay emms-playlist-ensure-playlist-buffer t emms-property-region emms-track get-text-property emms-playlist-selected-track-at-p delete-overlay nil emms-playlist-mode-insert-track emms-playlist-select] 4 (#$ . 14077)]) #@72 Switch to the current emms-playlist buffer and use emms-playlist-mode. (defalias 'emms-playlist-mode-go #[nil "\203\n\304!\204\305\306!\207\307!\210 \310=\204\n\203\310 \210 \205%\311 \207" [emms-playlist-buffer major-mode emms-playlist-buffer-p emms-playlist-mode-center-when-go buffer-live-p error "No current Emms buffer" switch-to-buffer emms-playlist-mode emms-playlist-mode-center-current] 2 (#$ . 14591) nil]) #@123 Switch to the current emms-playlist buffer, use emms-playlist-mode and query for a directory tree to add to the playlist. (defalias 'emms #[nil "\203\n\301!\204\302\303!\210\304 \207" [emms-playlist-buffer buffer-live-p call-interactively emms-add-file emms-playlist-mode-go] 2 (#$ . 15026) nil]) #@159 Popup emms-playlist buffer as a side window. Default value for WINDOW-WIDTH is `emms-playlist-mode-window-width'. WINDOW-WIDTH should be a positive integer. (defalias 'emms-playlist-mode-go-popup #[(&optional window-width) "\303\206 !\304 [!\210\305\306!\210\307 \210\310\211\207" [window-width emms-playlist-mode-window-width emms-playlist-mode-popup-enabled round split-window-horizontally other-window 1 emms-playlist-mode-go t] 2 (#$ . 15335) nil]) #@29 Navigate between playlists. (defalias 'emms-playlist-mode-next #[(arg) "\305 \306\211\211\203Hp\n\235\204&\307 \203 \310 !\203 \202\"\n@!\202Kp\n\235\nG GZ\f\311V\2039\312\202:\313\\\307\314\nG\"\n8!\202K\315\316!+\207" [idx bufs playlists emms-playlist-buffer arg emms-playlist-buffer-list nil switch-to-buffer buffer-live-p 0 1 -1 mod message "No playlist found!"] 5 (#$ . 15800) "p"]) (defalias 'emms-playlist-mode-previous #[(arg) "\301[!\207" [arg emms-playlist-mode-next] 2 nil "p"]) #@53 Instigate emms-playlist-mode on the current buffer. (defalias 'emms-playlist-mode-startup #[nil "\204 \204\306 \210\n\203\307 \210\203\310 \210\311\312ed\313#\210)\311\211\314\211 \207" [emms-playlist-selected-marker emms-player-playing-p emms-playlist-buffer-p inhibit-read-only buffer-read-only truncate-lines emms-stop emms-playlist-select-first emms-playlist-mode-overlay-selected t add-text-properties (face emms-playlist-track-face) nil buffer-undo-list] 5 (#$ . 16313)]) #@60 A major mode for Emms playlists. \{emms-playlist-mode-map} (defalias 'emms-playlist-mode #[nil "\306 \210 )\307\n!\210\310\311\312\313\314\315\316\"\210\317 \210\320\321!\207" [emms-playlist-buffer-p val emms-playlist-mode-map major-mode mode-name emms-playlist-insert-track-function kill-all-local-variables use-local-map emms-playlist-mode "Emms-Playlist" emms-playlist-mode-insert-track emms-playlist-mode-update-track-function add-hook emms-playlist-selection-changed-hook emms-playlist-mode-overlay-selected emms-playlist-mode-startup run-hooks emms-playlist-mode-hook emms-playlist-update-track-function] 3 (#$ . 16811) nil]) (provide 'emms-playlist-mode)