;ELC ;;; Compiled by heimdall@baldur on Fri Feb 1 18:34:59 2008 ;;; from file /home/heimdall/repos/emms/emms-streams.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-streams.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\301%\207" [require emms later-do custom-declare-group emms-stream nil "*Add and play streams with EMMS." :group] 6) #@55 *The file where you store your favorite emms streams. (custom-declare-variable 'emms-stream-bookmarks-file '(concat (file-name-as-directory emms-directory) "streams") '(#$ . -762) :type 'file :group 'emms-stream) #@123 *The default action when you press RET in the EMMS Stream interface. Can be either "add" or "play". The default is "add". (custom-declare-variable 'emms-stream-default-action '"add" '(#$ . -982) :type 'string :group 'emms-stream) (byte-code "\300\301\302\303\304\305%\210\300\306\307\310\304\305%\207" [custom-declare-face emms-stream-name-face ((t (:bold t :foreground nil :weight bold))) "Face for stream names." :group emms-stream emms-stream-url-face ((((class color) (background dark)) (:foreground "LightSteelBlue")) (((class color) (background light)) (:foreground "Blue"))) "Face for stream URLs."] 6) #@55 The list that contains your current stream bookmarks. (defvar emms-stream-list nil (#$ . 1598)) #@55 The name of the buffer used by emms-stream interface. (defvar emms-stream-buffer-name "*EMMS Streams*" (#$ . 1700)) #@64 *A hook run when you add or play an EMMS stream via the popup. (defvar emms-stream-play-hook nil (#$ . -1822)) #@62 *A hook run when you call emms-streams or emms-stream-popup. (defvar emms-stream-hook nil (#$ . -1939)) #@113 The stream currently being played. Needed by the info method, as the track doesn't contain all the needed info. (defvar emms-stream-current-stream nil (#$ . 2050)) #@27 Old window configuration. (defvar emms-stream-popup-old-conf nil (#$ . 2220)) #@39 The last stream added/played by EMMS. (defvar emms-stream-last-stream nil (#$ . 2304)) #@56 The EMMS playlist buffer associated with emms-streams. (defvar emms-stream-playlist-buffer nil (#$ . 2397)) #@66 *If non-nil, try to repeat a streamlist if it gets disconnected. (custom-declare-variable 'emms-stream-repeat-p 'nil '(#$ . -2511) :set #[(sym val) "\304!\203 rq\210 ) L\207" [emms-stream-playlist-buffer val emms-repeat-playlist sym buffer-live-p] 2] :type 'boolean :group 'emms-stream) (byte-code "\301B\302\301!\204\303\301\304\"\210\301\207" [current-load-list emms-stream-default-list default-boundp set-default (("SomaFM: Beatblender" "http://www.somafm.com/beatblender.pls" 1 streamlist) ("SomaFM: Secret Agent" "http://www.somafm.com/secretagent.pls" 1 streamlist) ("SomaFM: Groove Salad" "http://www.somafm.com/groovesalad.pls" 1 streamlist) ("SomaFM: Drone Zone" "http://www.somafm.com/dronezone.pls" 1 streamlist) ("SomaFM: Tag's Trance" "http://www.somafm.com/tagstrance.pls" 1 streamlist) ("SomaFM: Indie Pop Rocks" "http://www.somafm.com/indiepop.pls" 1 streamlist) ("SomaFM: Doomed" "http://www.somafm.com/doomed.pls" 1 streamlist) ("Digitally Imported, Trance" "http://www.di.fm/mp3/trance.pls" 1 streamlist) ("Digitally Imported, Deephouse" "http://www.di.fm/mp3/deephouse.pls" 1 streamlist) ("Digitally Imported, Chillout" "http://www.di.fm/mp3/chillout.pls" 1 streamlist) ("Digitally Imported, Drum and Bass" "http://www.di.fm/mp3/drumandbass.pls" 1 streamlist) ("SKY.fm, Mostly Classical" "http://www.sky.fm/mp3/classical.pls" 1 streamlist) ("SKY.fm, Jazz" "http://www.sky.fm/mp3/jazz.pls" 1 streamlist) ("Philosomatika, Goa-Trance" "http://www.shoutcast.com/sbin/shoutcast-playlist.pls?rn=1712&file=filename.pls" 1 streamlist) ("Drum and Bass Radio, BassDrive" "http://www.bassdrive.com/BassDrive.m3u" 1 streamlist) ("Flaresound, Jazzmusique" "http://64.236.34.196:80/stream/1016" 1 url) ("Flaresound, Jazzmusique" "http://205.188.234.4:8004" 2 url) ("Flaresound, L'Electric" "http://www.bp6.com:8002" 1 url) ("Stangs Garage, Eclectic" "http://www.stangsgarage.com/listen.pls" 1 streamlist) ("DNA Lounge, Live" "http://www.dnalounge.com/webcast/128.m3u" 1 streamlist) ("DNA Lounge Radio" "http://www.dnalounge.com/webcast/dnaradio.m3u" 1 streamlist) ("Virgin Radio, The Groove" "http://www.smgradio.com/core/audio/ogg/live.pls?service=grbb" 1 streamlist) ("Virgin Radio, Virgin Classic" "http://www.smgradio.com/core/audio/ogg/live.pls?service=vcbb" 1 streamlist) ("Virgin Radio, Virgin 1215AM" "http://www.smgradio.com/core/audio/ogg/live.pls?service=vrbb" 1 streamlist) ("Voices From Within - Words From Beyond" "http://207.200.96.225:8024/listen.pls" 1 streamlist) ("WCPE, Classical Music" "http://www.ibiblio.org/wcpe/wcpe.pls" 1 streamlist) ("PLUG: Voices of the Free Software movement" "http://purduelug.org:8000/voices-free_software.ogg" 1 url) ("VGamp Radio, Video Game music" "http://vgamp.com/listen128.pls" 1 streamlist) ("Kohina - Old school game and demo music" "http://stream.nute.net/kohina/stream.ogg.m3u" 1 streamlist) ("Nectarine, Demoscene Radio" "http://www.scenemusic.eu:8002/high.ogg.m3u" 1 streamlist) ("idobi Radio" "http://www.idobi.com/radio/iradio.pls" 1 streamlist) ("radio.wazee - Modern Alternative Rock" "http://www.wazee.org/128.pls" 1 streamlist) ("ChroniX Aggression - Loud & Clear" "http://www.chronixradio.com/chronixaggression/listen/listen.pls" 1 streamlist) ("WFMU, Freeform radio" "http://www.wfmu.org/wfmu.pls" 1 streamlist) ("KEXP - Seattle Community Radio" "http://kexp-mp3-128k.cac.washington.edu:8000/listen.pls" 1 streamlist) ("KRUU-LP - Fairfield, Iowa Community Radio" "http://kruufm.com/live.pls" 1 streamlist) ("WBCR-LP - Berkshire Community Radio" "http://nyc01.egihosting.com:6232/listen.pls" 1 streamlist))] 3) #@32 Keymap for `emms-stream-menu'. (defvar emms-stream-mode-map (byte-code "\301 \302!\210\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\317#\210\303\320\321#\210\303\322\323#\210\303\324\325#\210\303\326\327#\210\303\330\331#\210\303\332\315#\210\303\333\317#\210\303\334\321#\210\303\335\336#\210\303\337\340#\210\303\341\342#\210\303\343\317#\210\303\344\315#\210\303\345\305#\210\303\346\307#\210\303\347\350#\210)\207" [map make-keymap suppress-keymap define-key "" beginning-of-line "" end-of-line " " emms-stream-kill-bookmark "" emms-stream-yank-bookmark "" emms-stream-next-line "" emms-stream-previous-line "Q" emms-stream-quit "a" emms-stream-add-bookmark "d" emms-stream-delete-bookmark "e" emms-stream-edit-bookmark "h" describe-mode "n" "p" "q" "s" emms-stream-save-bookmarks-file "t" emms-stream-toggle-default-action "i" emms-stream-info-bookmark [up] [down] [left] [right] " " emms-stream-play] 4) (#$ . 6110)) #@35 Opens the EMMS Streams interface. (defalias 'emms-streams #[nil "\302\303!!\210\303!q\210\304 \210 \305\230\203\306 \210\307 \210\310!\207" [emms-stream-buffer-name emms-stream-default-action kill-buffer get-buffer-create erase-buffer "play" emms-stream-create-playlist emms-stream-mode switch-to-buffer] 3 (#$ . 7117) nil]) (defalias 'emms-stream-mode #[nil "\306 \210\307 \210\310\311\312\n!\210\313 \210\314\303!\210\315\314\304!\210\315\314\305!\210\315\314\316!\210\317\320b\210\321 \210\322\320!\210\323\324!\210\325\317!\210\326\327!\207" [major-mode mode-name emms-stream-mode-map truncate-lines automatic-hscrolling kill-whole-line kill-all-local-variables buffer-disable-undo emms-stream-mode "EMMS Streams" use-local-map emms-stream-init make-local-variable t next-line-add-newlines nil 1 emms-stream-display toggle-read-only run-hooks emms-stream-hook set-buffer-modified-p message "EMMS Stream Menu"] 2]) #@122 Create a new EMMS playlist and associate it with emms-streams. This is used when `emms-stream-default-action' is "play". (defalias 'emms-stream-create-playlist #[nil "\212\303\304 !rq\210\305\302!\210 \211*\207" [emms-stream-playlist-buffer emms-stream-repeat-p emms-repeat-playlist emms-playlist-set-playlist-buffer emms-playlist-new make-local-variable] 2 (#$ . 8054)]) #@71 Delete the EMMS playlist associated with emms-streams, if one exists. (defalias 'emms-stream-kill-playlist #[nil "\302!\205\212 =\203\303 \210\202\304!\210)\305\211\207" [emms-stream-playlist-buffer emms-playlist-buffer buffer-live-p emms-playlist-current-kill kill-buffer nil] 2 (#$ . 8435)]) #@130 Revert to the window-configuration from before if there is one, otherwise just remove the special bindings from the stream menu. (defalias 'emms-stream-popup-revert #[nil "\303\304\305\"\210\306!\211\203\212 q\210\307\310!\210))\n\203\311\n!\210\303\312\313\"\210\303\314\313\"\207" [emms-stream-buffer-name streambuffer emms-stream-popup-old-conf remove-hook emms-pbi-manually-change-song-hook emms-pbi-popup-revert get-buffer local-unset-key " " set-window-configuration emms-stream-play-hook emms-stream-popup-revert emms-stream-quit-hook] 4 (#$ . 8746) nil]) #@145 Pops up the stream Menu, for the new stream selection. POPUP-HEIGHT is the height of the new frame, defaulting to `emms-popup-default-height'. (defalias 'emms-stream-popup #[(&optional popup-height) "\206\305 \306\245\305 Z\211\307V\204\310\311!\210\312 \313 !\314 !\210)\315\316\f!!\210\317\316\f!!\210\320 \210\321 \210\322\323\324\"\210\322\325\324\"\210\326\327\324\"\210\326\330\331\")\207" [popup-height new-window-height emms-stream-popup-old-conf buffer-down emms-stream-buffer-name window-height 2 0 error "Current window too small to popup menu!" current-window-configuration split-window-vertically select-window kill-buffer get-buffer-create switch-to-buffer erase-buffer emms-stream-mode add-hook emms-stream-play-hook emms-stream-popup-revert emms-stream-quit-hook local-set-key " " " " emms-stream-play] 4 (#$ . 9322) nil]) (defalias 'emms-stream-init #[nil "\302!\211\207" [emms-stream-bookmarks-file emms-stream-list emms-stream-read-file] 2]) #@17 Returns a sexp. (defalias 'emms-stream-read-file #[(file) "\303!\304!\203\"\305\306!\307\216r q\210\310!\210eb\210\311p!+\202#\n)\207" [file #1=#:temp-buffer emms-stream-default-list expand-file-name file-readable-p generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) insert-file-contents-literally read] 2 (#$ . 10302)]) (defalias 'emms-stream-save-bookmarks-file #[nil "\212\306!\211q\210\307 \210\310c\210\311 \312\211\203H @\n\204%\313c\210\202'\312\314\f8;\203<\315\f!\314\f\233\316\314\f8!\240\210\317\f \"\210 A\211\204+\320c\210\321 \210\322 !\210*\323\312!\207" [emms-stream-bookmarks-file buffer firstp emms-stream-list stream --dolist-tail-- find-file-noselect erase-buffer "(" t nil "\n " 3 copy-alist intern prin1 ")\n" save-buffer kill-buffer set-buffer-modified-p] 5 nil nil]) (defalias 'emms-stream-display-line #[(line) "\301!c\210\302\303 \304 \305#\210\302\303 \304 \306D#\210\307c\210\310!c\210\302\303 \304 \311#\210\312c\207" [line emms-stream-name add-text-properties point-at-bol point-at-eol (face emms-stream-name-face) emms-stream "\n " emms-stream-url (face emms-stream-url-face) "\n"] 5]) #@78 Displays the bookmark list in the current buffer, in a human readable way. (defalias 'emms-stream-display #[nil "\301\302\"\210eb\207" [emms-stream-list mapc emms-stream-display-line] 3 (#$ . 11514)]) #@29 Takes N elements from LIST. (defalias 'emms-stream-take #[(n list) "\304\305\211\nW\203\306 8C\" T\211\202*\207" [res idx n list 0 nil append] 5 (#$ . 11724)]) #@94 Inserts the element ELT in LIST, *before* position N. Positions are counted starting with 0. (defalias 'emms-stream-insert-at #[(n elt list) "S\306 \n\"\307\n\211G Z\"\310 C\f#+\207" [n n-1 list before after elt emms-stream-take last append] 4 (#$ . 11901)]) #@96 Inserts the list NEW-LIST in LIST, *before* position N. Positions are counted starting with 0. (defalias 'emms-stream-insert-several-at #[(n new-list list) "S\306 \n\"\307\n\211G Z\"\310 \f#+\207" [n n-1 list before after new-list emms-stream-take last append] 4 (#$ . 12171)]) #@68 Return non-nil if the position behind the point is an emms-stream. (defalias 'emms-stream-look-behind #[nil "o?\205\n\300`S\301\"\207" [get-text-property emms-stream] 3 (#$ . 12460)]) #@63 If we are not on a stream, move backwards to the nearest one. (defalias 'emms-stream-back-to-stream #[nil "\300`\301\"?\205 \302 \204\303`\301\"\206eb\210\303`\301\"\206eb\207" [get-text-property emms-stream emms-stream-look-behind previous-single-property-change] 3 (#$ . 12651)]) #@35 Returns the bookmark under point. (defalias 'emms-stream-get-bookmark-at-point #[nil "\300 \210\301`\302\"\207" [emms-stream-back-to-stream get-text-property emms-stream] 3 (#$ . 12946)]) (defalias 'emms-stream-redisplay #[nil "\301\302 \210eb\210\303 )\207" [inhibit-read-only t erase-buffer emms-stream-display] 1]) #@115 Return a feed descriptor, given NAME. This is the count of the times NAME appears in the bookmark list, plus one. (defalias 'emms-stream-determine-fd #[(name) "\305 \306\211\203 @\307\n!\f\230\203T A\211\204\n*)\207" [count emms-stream-list feed --dolist-tail-- name 1 nil emms-stream-name] 3 (#$ . 13272)]) #@122 Creates a new bookmark, and inserts it at point position. Don't forget to run `emms-stream-save-bookmarks-file' after ! (defalias 'emms-stream-add-bookmark #[(name url fd type) "\204\306 !\n;\203\307\n!\310`!\211\311\245T\312\f \nF # \313 \210\314 !*\207" [fd name type line index url emms-stream-determine-fd intern emms-line-number-at-pos 2 emms-stream-insert-at emms-stream-redisplay goto-line emms-stream-list] 7 (#$ . 13600) (list (read-string "Name of the bookmark: ") (read-string "URL: ") nil (completing-read "Type (url, streamlist, or lastfm): " (mapcar #'list '("url" "streamlist" "lastfm"))))]) #@82 Deletes the bookmark under the point. Don't forget to save your modifications ! (defalias 'emms-stream-delete-bookmark #[nil "\302`!\303\304 \"\305 \210\306!)\207" [line emms-stream-list emms-line-number-at-pos delete emms-stream-get-bookmark-at-point emms-stream-redisplay goto-line] 3 (#$ . 14227) nil]) #@45 Change the information of current bookmark. (defalias 'emms-stream-edit-bookmark #[nil "\305 \306\307\310!\"\306\311\312!\"\306\313\314\315!!\"\306\316\317\320\321!\"\"\322 \210\323 \n\324 !\f$-\207" [bookmark name url fd type emms-stream-get-bookmark-at-point read-from-minibuffer "Description: " emms-stream-name "URL: " emms-stream-url "Feed Descriptor: " int-to-string emms-stream-fd "Type (url, streamlist, or lastfm): " format "%s" emms-stream-type emms-stream-delete-bookmark emms-stream-add-bookmark string-to-number] 6 (#$ . 14544) nil]) (defalias 'emms-stream-name #[(el) "@\207" [el] 1]) (defalias 'emms-stream-url #[(el) "\211A@)\207" [el x] 2]) (defalias 'emms-stream-fd #[(el) "\211AA)@\207" [el x] 2]) (defalias 'emms-stream-type #[(el) "\211AA)\211A@)\207" [el x] 2]) (defalias 'emms-stream-play #[nil "\306`\307\"\206%\310`\307\"\206eb\210\310`\307\"\206eb\210\306`\307\"\206%\311\312!\313!\314!\315!\316!\317\320 \321\322\323\f\"R!\n!\210 \324\230\203T\325\326!\210.\327\330!\210\331\332!\207" [line name url fd type emms-stream-default-action get-text-property emms-stream previous-single-property-change error "No stream found at point" emms-stream-name emms-stream-url emms-stream-fd emms-stream-type read "emms-" "-" format "%s" "add" message "URL added to playlist" later-do emms-mode-line-alter run-hooks emms-stream-play-hook player emms-stream-last-stream] 7 nil nil]) #@87 Return the station and track information for the streaming audio station under point. (defalias 'emms-stream-info-bookmark #[nil "\302\303!\203\304`\305\"\306!\303 !*\207\307\310!\207" [line url fboundp emms-stream-info-message get-text-property emms-stream emms-stream-url message "Streaming media info not available."] 3 (#$ . 15986) nil]) #@34 Bookmarks that have been killed. (defvar emms-stream-killed-streams nil (#$ . 16339)) #@28 Kill the current bookmark. (defalias 'emms-stream-kill-bookmark #[nil "\304 \305 \"\nB)\306\307\310!)\207" [stream emms-stream-list emms-stream-killed-streams inhibit-read-only emms-stream-get-bookmark-at-point delete t kill-line 2] 3 (#$ . 16431) nil]) #@40 Yank bookmark into the streams buffer. (defalias 'emms-stream-yank-bookmark #[nil "\306 \210\307\310\214``}\210\311 \210eb\210`dW\2032\n@\2032\312\313!\2032\n@B\nA\314\225b\210\202ed|\210)\203[\315`!\211\316\245T\317\f # G\316_\\\320 \210\321 !*\202^\322\323!*\207" [streams inhibit-read-only emms-stream-killed-streams line index emms-stream-list emms-stream-back-to-stream t nil yank looking-at "^\\(.+\\)\n \\(.+\\)\n" 0 emms-line-number-at-pos 2 emms-stream-insert-several-at emms-stream-redisplay goto-line message "Not yanking anything"] 5 (#$ . 16697) nil]) (defalias 'emms-stream-next-line #[nil "\300`\301\"\203\302`\301\"\206db\210\302`\301\"\206db\210\303y\207" [get-text-property emms-stream next-single-property-change 0] 3 nil nil]) (defalias 'emms-stream-previous-line #[nil "\300 \210\301`\302\"\206 eb\210\301`\302\"\206eb\210\303y\207" [emms-stream-back-to-stream previous-single-property-change emms-stream 0] 3 nil nil]) (defalias 'emms-stream-quit #[nil "\300 \210\301 \210\302\303!\207" [emms-stream-kill-playlist kill-this-buffer run-hooks emms-stream-quit-hook] 2 nil nil]) #@118 Toggle between adding to the current active playlist or play right now (and thus erase the current active playlist). (defalias 'emms-stream-toggle-default-action #[nil "\301\230\203\302 \210\303\304\305!\207\306 \210\301\304\307!\207" [emms-stream-default-action "play" emms-stream-kill-playlist "add" message "Default action is now add" emms-stream-create-playlist "Default action is now play"] 2 (#$ . 17835) nil]) (defalias 'emms-info-url-providep #[(track) "\301!\302=\205 \303\207" [track emms-track-type url t] 2]) (defalias 'emms-stream-add-data-to-track #[(track) "\302\303 #\207" [track emms-stream-last-stream emms-track-set metadata] 4]) (byte-code "\300\301\302\"\210\303\304!\207" [add-to-list emms-track-initialize-functions emms-stream-add-data-to-track provide emms-streams] 3)