;ELC ;;; Compiled by heimdall@localhost on Mon Mar 3 15:42:29 2008 ;;; from file /home/heimdall/repos/emms/emms-tag-editor.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-tag-editor.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301\302\217\210\303\304!\210\303\305!\210\303\306!\210\303\307!\210\303\310!\207" [nil (byte-code "\300\301!\207" [require overlay] 2) ((error)) require emms emms-info-mp3info emms-playlist-mode emms-mark format-spec] 3) #@56 An alist to determine the format of various info tags. (defvar emms-tag-editor-tags '((info-artist . "a") (info-composer . "C") (info-performer . "p") (info-title . "t") (info-album . "l") (info-tracknumber . "n") (info-year . "y") (info-genre . "g") (info-date . "d") (info-note . "c")) (#$ . 834)) #@43 Name of the buffer used for editing tags. (defvar emms-tag-editor-edit-buffer "*EMMS-TAGS*" (#$ . 1140)) #@39 Name of emms-tag-editor's log buffer. (defvar emms-tag-editor-log-buffer "*EMMS-LOG*" (#$ . 1251)) #@37 Make a format string based on TAGS. (defalias 'emms-tag-editor-make-format #[(tags) "\301\302\303\304\305\"\306\307\310\307\311\312&\313\314\315\316#\317\260\207" [tags "%m\n" emms-propertize format "%-16s = " "name" read-only t rear-nonsticky face bold "%f\n" mapconcat #[(tag) "\302\303\304\305!\"\306\307\310\307\311\312&\313\314 \"AQ\207" [tag emms-tag-editor-tags emms-propertize format "%-16s = " symbol-name read-only t rear-nonsticky face bold "%" assoc] 8] "\n" "\n\n"] 9 (#$ . 1356)]) #@786 Format to use when inserting the track. The CAR part is the extension of the track name, and the CDR part is the format template. The format specification is like: m -- Track description f -- Track name a -- Track info-artist c -- Track info-composer p -- Track info-performer t -- Track info-title l -- Track info-album n -- Track info-tracknumber y -- Track info-year g -- Track info-genre ; -- Track info-note You can add new specifications in `emms-tag-editor-tags', and use `emms-tag-editor-make-format' to create a new format string. The CDR part also can be a function, which accepts one parameter, the track, and returns a string to insert in `emms-tag-editor-edit-buffer'. (defvar emms-tag-editor-formats (byte-code "\303\304\"\305\306\307 \"!\310\nB\311\305\306\312 \"!B\313\nBE*\207" [emms-tag-editor-tags tags default mapcar car emms-tag-editor-make-format remove info-date "mp3" "ogg" info-year "default"] 6) (#$ . 1864)) #@100 Determines which function to call to get the format string, which is used for inserting the track. (defvar emms-tag-editor-get-format-function 'emms-tag-editor-get-format (#$ . 2912)) #@375 Function to parse tags in `emms-tag-editor-edit-buffer'. It should find all modified tags, and return all the tracks. The tracks for which a tag has been modified should set a property 'tag-modified to t. If the track name has been changed, the function should set a new property 'newname instead of setting the 'name directly. See also `emms-tag-editor-default-parser'. (defvar emms-tag-editor-parse-function 'emms-tag-editor-default-parser (#$ . 3103)) #@364 An alist used when committing changes to tags in files. If the external program sets tags by command line options one-by-one such as mp3info, then the list should like: (EXTENSION PROGRAM COMMAND_LINE_OPTIONS) Otherwise, a function that accepts a single parameter, the track, should be given. See also `emms-tag-editor-tag-file' and `emms-tag-editor-tag-ogg'. (defvar emms-tag-editor-tagfile-functions '(("mp3" "mp3info" ((info-artist . "a") (info-title . "t") (info-album . "l") (info-tracknumber . "n") (info-year . "y") (info-genre . "g") (info-note . "c"))) ("ogg" . emms-tag-editor-tag-ogg)) (#$ . 3568)) #@51 Commit changes to an OGG file according to TRACK. (defalias 'emms-tag-editor-tag-ogg #[(track) "\304\211\305\306\307\"\210 \205\310\311\312\304\313\n!\304\314\315 \316 !C\"&*\207" [val args emms-tag-editor-log-buffer track nil mapc #[(tag) "\305\306P!\307\n \"\211G\310V\205\311\312\226\313 QD\f\"\211)\207" [tag info-tag track val args intern "info-" emms-track-get 0 append "-t" "="] 5] ("artist" "composer" "performer" "title" "album" "tracknumber" "date" "genre" "note") apply call-process "vorbiscomment" get-buffer-create "-w" append emms-track-name] 11 (#$ . 4187)]) #@98 Change TAGS in FILE, using PROGRAM. Valid tags are given by `emms-tag-editor-tagfile-functions'. (defalias 'emms-tag-editor-tag-file #[(track program tags) "\306\211\307\310\n\"\210\311\312 \306\313\f!\306 C\244&*\207" [val args tags program emms-tag-editor-log-buffer filename nil mapc #[(tag) "\304 @\"\211\205\n;\205\305\306 AP\nD \"\211\207" [track tag val args emms-track-get append "-"] 4] apply call-process get-buffer-create] 8 (#$ . 4779)]) #@63 Get the format string to use for committing changes to TRACK. (defalias 'emms-tag-editor-get-format #[(track) "\303\304\305!! \"\211\203\nA\202\303\306 \"A)\207" [track emms-tag-editor-formats format assoc file-name-extension emms-track-name "default"] 5 (#$ . 5246)]) #@124 Return a string representing the info tags contained in TRACK. This string is suitable for inserting into the tags buffer. (defalias 'emms-tag-editor-format-track #[(track) " !\304\n!\203\n !\202.\305\n\306\307\310\311\312 !\313\314\315\316 !%\317\320 !\306\321\322\323 \"\"&\")\207" [emms-tag-editor-get-format-function track format emms-tag-editor-tags functionp format-spec apply format-spec-make 109 emms-propertize emms-track-force-description face emms-playlist-track-face emms-track copy-sequence 102 emms-track-name append mapcar #[(tag) "\302A!\303 @\"\206 \304D\207" [tag track string-to-char emms-track-get ""] 4]] 13 (#$ . 5528)]) #@70 Return a copy of the track at POS. Defaults to point if POS is nil. (defalias 'emms-tag-editor-track-at #[(&optional pos) "\303!\304\211\205\305\n!\306 \307\310 #\210\306 \311\n#\210 *\207" [pos newtrack track emms-playlist-track-at nil copy-sequence emms-track-set position point-marker orig-track] 5 (#$ . 6186)]) #@50 Erase the buffer BUF, and ensure that it exists. (defalias 'emms-tag-editor-erase-buffer #[(&optional buf) "\302\212\303 !q\210\304 *\207" [inhibit-read-only buf t get-buffer-create erase-buffer] 2 (#$ . 6515)]) (put 'emms-tag-editor-erase-buffer 'byte-optimizer 'byte-compile-inline-expand) #@35 Insert TRACK, if it is specified. (defalias 'emms-tag-editor-insert-track #[(track) "\205\301!c\207" [track emms-tag-editor-format-track] 2 (#$ . 6814)]) (put 'emms-tag-editor-insert-track 'byte-optimizer 'byte-compile-inline-expand) #@48 Display the log buffer if it has any contents. (defalias 'emms-tag-editor-display-log-buffer-maybe #[nil "\301\302!!\303V\205 \304!\207" [emms-tag-editor-log-buffer buffer-size get-buffer 0 display-buffer] 3 (#$ . 7058)]) (put 'emms-tag-editor-display-log-buffer-maybe 'byte-optimizer 'byte-compile-inline-expand) #@43 Insert TRACKS into the tag editor buffer. (defalias 'emms-tag-editor-insert-tracks #[(tracks) "\212\305\212\306 !q\210\307 *\210) \305\212\306 !q\210\307 *\210)\310 !q\210\311\312\f\"\210\313 \210\314p!\210eb\210\315\310!!\316V\205@\317!)\207" [emms-tag-editor-log-buffer buf inhibit-read-only emms-tag-editor-edit-buffer tracks t get-buffer-create erase-buffer get-buffer mapc emms-tag-editor-insert-track emms-tag-editor-mode pop-to-buffer buffer-size 0 display-buffer] 3 (#$ . 7381)]) #@36 Edit the track at point, or TRACK. (defalias 'emms-tag-editor-edit-track #[(track) "\204\301\302!\207\303C!\207" [track message "No track at point!" emms-tag-editor-insert-tracks] 2 (#$ . 7883) (list (emms-tag-editor-track-at))]) #@47 Edit all tracks marked in the current buffer. (defalias 'emms-tag-editor-edit-marked-tracks #[nil "\301\302\303\"\211\204\304\305!\202\306!)\207" [tracks emms-mark-mapcar-marked-track emms-tag-editor-track-at t message "No track marked!" emms-tag-editor-insert-tracks] 4 (#$ . 8123) nil]) #@62 Edit tags of either the track at point or all marked tracks. (defalias 'emms-tag-editor-edit #[nil "\212eb\210\301\302\303\"\304\305#)\203\306 \207\307\310 !\207" [emms-mark-char re-search-forward format "^[%c]" nil t emms-tag-editor-edit-marked-tracks emms-tag-editor-edit-track emms-tag-editor-track-at] 4 (#$ . 8424) nil]) #@36 Keymap for `emms-tag-editor-mode'. (defvar emms-tag-editor-mode-map (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302\317\316#\210\302\320\321#\210\302\322\323#\210\302\324\325#\210)\207" [map make-sparse-keymap define-key [tab] emms-tag-editor-next-field [backtab] emms-tag-editor-prev-field "" emms-tag-editor-next-track "" emms-tag-editor-prev-track "" emms-tag-editor-submit-and-exit "" emms-tag-editor-submit "" "" emms-tag-editor-set-all "" emms-tag-editor-replace-in-tag "" emms-tag-editor-transpose-tag] 4) (#$ . 8759)) (byte-code "\303\304\305#\210\306\307N\204\310\306\307\311#\210\312\313!\204\310\313\314\315#\210\313 B\316\313!\204.\317\313\320 \"\210\312\321!\204:\310\321\314\315#\210\321 B\316\321!\204J\317\321\322 \"\210\310\302\314\315#\210\302 B\316\302!\204d\317\302\323\302\324\"\210\n\"\210\310\315\325\326#\207" [emms-playlist-mode-map current-load-list emms-tag-editor-mode-abbrev-table define-key "E" emms-tag-editor-edit emms-tag-editor-mode-hook variable-documentation put "Hook run when entering Tag-Edit mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp emms-tag-editor-mode-map definition-name emms-tag-editor-mode default-boundp set-default make-sparse-keymap emms-tag-editor-mode-syntax-table make-syntax-table define-abbrev-table nil derived-mode-parent text-mode] 5) #@224 Major mode to edit track tags. \{emms-tag-editor-mode-map} In addition to any hooks its parent mode `text-mode' might have run, this mode runs the hook `emms-tag-editor-mode-hook', as the final step during initialization. (defalias 'emms-tag-editor-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2036 \321 =\203<\322\f\323 \"\210)\324 !\210\325\f!\210)\326\327!\207" [delay-mode-hooks major-mode mode-name emms-tag-editor-mode-map emms-tag-editor-mode-syntax-table parent make-local-variable t text-mode emms-tag-editor-mode "Tag-Edit" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table use-local-map set-syntax-table run-mode-hooks emms-tag-editor-mode-hook emms-tag-editor-mode-abbrev-table local-abbrev-table] 6 (#$ . 10273) nil]) #@238 Set TAG to VALUE in all tracks. If transient-mark-mode is turned on, you can apply the command to a selected region. If `transient-mark-mode' is on and the mark is active, the changes will only take effect on the tracks in the region. (defalias 'emms-tag-editor-set-all #[(tag value) "\212\214\203 \203\304 \305 }\210eb\210\306\307\310\n!P\311\312#\205.\313\311w\210`\314 |\210 c\210\202*\207" [mark-active transient-mark-mode tag value region-beginning region-end re-search-forward "^" regexp-quote nil t " =" line-end-position] 4 (#$ . 11194) (list (completing-read "Set tag: " emms-tag-editor-tags nil t) (read-from-minibuffer "To: "))]) #@253 Query and replace text in selected TAG. For example, if the info-title tag is selected, then only perform replacement in title tags. If `transient-mark-mode' is on and the mark is active, the changes will only take effect on the tracks in the region. (defalias 'emms-tag-editor-replace-in-tag #[(tag from to) "\304eeT\"\305\306\307#\210\310\216\212\214 \2034\n\2034\311 \312 }\210\n\313=\203*\314\211\2023\n\2034\314\315\316!\210\317 !\320Peb\210\321\322\323\324#,\207" [overlay mark-active transient-mark-mode tag make-overlay overlay-put face match ((delete-overlay overlay)) region-beginning region-end lambda nil run-hooks deactivate-mark-hook regexp-quote "[ ]+=[ ]+" map-y-or-n-p #[(match) "\303\304\224\304\225#\210\305\306 \n#\207" [overlay match to move-overlay 0 format "Replace %s to %s"] 4] #[(match) "`GZ`|\210 c\207" [match to] 2] #[nil "\212\303\304 \305#)\203\306 \307 \305#\203\310\311!\207\312\n\2045\306\312\305#\2035\306 \307 \305#\203\305\211\203\n\205<\310\311!)\207" [tag from found re-search-backward line-beginning-position t re-search-forward line-end-position match-string 0 nil] 5]] 4 (#$ . 11853) (byte-code "\304\305\306\307$\310 \203\n\203\311\202\312\307\"\313 !)B\207" [emms-tag-editor-tags transient-mark-mode mark-active common completing-read "Replace in tag: " nil t query-replace-read-args "Query replace regexp in region" "Query replace regexp" butlast] 5)]) #@153 Transpose value of TAG1 and TAG2. If `transient-mark-mode' is on and the mark is active, the changes will only take effect on the tracks in the region. (defalias 'emms-tag-editor-transpose-tag #[(tag1 tag2) "\212\214\203 \203\306 \307 }\210\310\311ed\"\310\312\313 \210 \237\312\211\203i@\314\"\315\314\"#\210\315 #\210\315\316\310#\210\211\203_\317!c\210)A\211\204).\312\207" [mark-active transient-mark-mode emms-playlist-buffer-p tracks inhibit-read-only temp region-beginning region-end t emms-playlist-tracks-in-region nil erase-buffer emms-track-get emms-track-set tag-modified emms-tag-editor-format-track track #1=#:--cl-dolist-temp-- tag1 tag2] 7 (#$ . 13296) (let* ((tag1 (intern (completing-read "Tag 1: " emms-tag-editor-tags nil t))) (tag2 (intern (completing-read "Tag 2: " (assq-delete-all tag1 (copy-sequence emms-tag-editor-tags)) nil t)))) (list tag1 tag2))]) #@563 A pattern is a string like "%a-%t-%y" which stand for the file name is constructed by artist, title, year with seperator '-'. see `emms-tag-editor-compile-pattern' for detail about pattern syntax. Available tags are list in `emms-tag-editor-tags'. if with prefix argument, the information will extract from full name, otherwise just match in file name. An example to guess tag from file name, which the file directory is the aritist and file name is the title. It can be done like: C-u M-x emms-tag-editor-guess-tag-filename RET %{a:[^/]+}/%{t:[^/]+}.mp3 RET  (defalias 'emms-tag-editor-guess-tag-filename #[(pattern fullname) "\306!\212\214 \203\n\203\307 \310 }\210\311\312ed\"\311\313\314 \210\f\237\313\211\203r@\315\316\311#\210\317!\204K\320!\321@\"\203Z\322\323A\"\210\211\203h\324!c\210)A\211\204..\313\207" [pattern mark-active transient-mark-mode emms-playlist-buffer-p tracks inhibit-read-only emms-tag-editor-compile-pattern region-beginning region-end t emms-playlist-tracks-in-region nil erase-buffer emms-track-set tag-modified emms-track-name file-name-nondirectory string-match mapc #[(pair) "\304\305\306 @!\n\"@\307 A \"#\207" [track pair emms-tag-editor-tags filename emms-track-set rassoc char-to-string match-string] 6] emms-tag-editor-format-track filename track #1=#:--cl-dolist-temp-- fullname] 5 (#$ . 14231) (list (read-from-minibuffer (format "Match in %sfile name(C-h for help): " (if current-prefix-arg "FULL " "")) nil (let ((map (make-sparse-keymap))) (set-keymap-parent map minibuffer-local-map) (define-key map "" (lambda nil (interactive) (with-output-to-temp-buffer "*Help*" (princ "A pattern is a string like \"%a-%t-%y\" which stand for\nthe file name is constructed by artist, title, year with seperator '-'.\nsee `emms-tag-editor-compile-pattern' for detail about pattern syntax.\n\nAvailable tags are:\n") (mapc (lambda (tag) (princ (format " %s - %S\n" (cdr tag) (car tag)))) emms-tag-editor-tags) (save-excursion (set-buffer standard-output) (help-mode))))) map)) current-prefix-arg)]) #@89 A pattern to regexp convertor. "%a-%{b:[a-z]+}" will compile to "\([^-]+\)-\([a-z]+\)". (defalias 'emms-tag-editor-compile-pattern #[(pattern) "\306\211\211G\307\310\211\211\211\211W\203HT \311U\203fHT \312U\203OTT\202Z \313U\203ZS\314\315 !Q\202 \316U\203\370HT \317U\203\334TH\320U\204\215\321\322!\210\202\340H\307\323\\\211W\203\324\n\204\256H\324U\204\324\n\203\267\310\202\302H\311U\203\302\325 \315H!PT\211\202\233T\202\340 \326\327 \330RT\331\305\fB\"\210\202\315 !P\202\306U\204\321\332!\210 .\nB\207" [pattern c escape match register registers 0 "" nil 92 40 41 "\\" char-to-string 37 123 58 error "Compile error" 2 125 t "[^-]+" "\\(" "\\)" add-to-list "Paren not match!" compiled len i paren index] 11 (#$ . 16321)]) #@29 Move to the next tag field. (defalias 'emms-tag-editor-next-field #[(arg) "\301V\203 \302\303\304\211$\207\305[!\207" [arg 0 re-search-forward "\\s-*=[ ]*" nil emms-tag-editor-prev-field] 5 (#$ . 17196) "p"]) #@33 Move to the previous tag field. (defalias 'emms-tag-editor-prev-field #[(arg) "\301W\203 \302[!\207\303\304x\210\305\306\304\211$\210\303\304w\207" [arg 0 emms-tag-editor-next-field " =" nil re-search-backward "\\s-*=[ ]*"] 5 (#$ . 17416) "p"]) #@29 Move to the previous track. (defalias 'emms-tag-editor-prev-track #[nil "\301`\302\"\211\204 \303\304!\210\305\302\"\204\301\302\"\206e\203(\305\302\"\204,\303\304!\210b)\207" [prev previous-single-property-change emms-track error "No previous track" get-text-property] 4 (#$ . 17673) nil]) #@25 Move to the next track. (defalias 'emms-tag-editor-next-track #[nil "\301`\302\"\211\204 \303\304!\210\305\302\"\204\301\302\"\203#dU\203'\303\304!\210b)\207" [next next-single-property-change emms-track error "No next track" get-text-property] 4 (#$ . 17984) nil]) #@81 Make modified tags take affect. With prefix argument, bury the tag edit buffer. (defalias 'emms-tag-editor-submit #[(arg) " \211\203 \306\307!\204\310\311!\210\202'\n\312\212\313 !q\210\314 *\210)\315 !\210) \205.\316 \207" [emms-tag-editor-parse-function tracks emms-tag-editor-log-buffer buf inhibit-read-only arg y-or-n-p "Submit changes? " message "No tags were modified" t get-buffer-create erase-buffer emms-tag-editor-apply bury-buffer] 3 (#$ . 18268) "P"]) #@35 Apply all changes made to TRACKS. (defalias 'emms-tag-editor-apply #[(tracks) "\306\307!\210\310\211\211\211\211\211\2113\2124\3105\2116\203L6@5\3115\312\"\203C\3135!3\3115\314\"\3115\315\"\203\223\3115\316\"\317=\203\223\320\3135!!\203\223\321\322\323\3135!\3115\315\"#!\203\223\3115\315\"3\310\324\325\217\210\326 \3273#\210\3265\3273#\210\330\331\332!\203\223 \2107\3173 #\210\3265\315\310#\2108\3109\211:\203\307:@9\31159@\"\211\203\276\326 9@ #\210:A\211:\204\245*\3115\316\"\317=\203 \320\3135!!\203 \333\3343!;\"\211\203 \335 A!\203\367 A5!\202\3365 \211!!\360V\205u\361>!?\205|\306\362!.\207" [need-sync val pos old exit func message "Setting tags..." nil emms-track-get tag-modified emms-track-name orig-track newname type file file-writable-p y-or-n-p format "Rename %s to %s? " (byte-code "\302\303! \304#\207" [track filename rename-file emms-track-name 1] 4) ((error)) emms-track-set name t boundp emms-cache-modified-function assoc file-name-extension functionp emms-tag-editor-tag-file 2 zerop info-mtime butlast current-time emms-tag-editor-log "Changing tags of %s failed with exit value %d" position marker-position marker-buffer featurep emms-cache "You have changed some track names; sync the cache? " fboundp emms-cache-sync buffer-size get-buffer 0 display-buffer "Setting tags...done" filename tracks track #1=#:--cl-dolist-temp-- emms-cache-set-function emms-tag-editor-tags tag #2=#:--cl-dolist-temp-- emms-tag-editor-tagfile-functions x emms-playlist-update-track-function emms-tag-editor-log-buffer] 8 (#$ . 18748)]) #@62 Submit changes to track information and exit the tag editor. (defalias 'emms-tag-editor-submit-and-exit #[nil "\300\301!\207" [emms-tag-editor-submit t] 2 (#$ . 20612) nil]) #@71 Default function used to parse tags in `emms-tag-editor-edit-buffer'. (defalias 'emms-tag-editor-default-parser #[nil "\306\211\211\211\211eb\210\307`\310\"\203`\202\311`\310\"\f\205c\fb\210\307`\310\"\312y\210\313\314\311`\310\"\211\203F\212 b\210n)\203F \202J\306d\315` {\316\")\"\210\317\n\320\"\203^\n B\f\204\" -\207" [val key track tracks next end-point nil get-text-property emms-track next-single-property-change 1 mapc #[(pair) "\305\306\"\205J\307\310\211\224O!\310\225\311O \205J\312 \"\211\203)\n\f\230?\202,\313\n\231)\205J \314=\203?\315 \316\n#\210\202E\315 \n#\210\315 \317\320#\207" [pair key val track old string-match "\\s-*=\\s-*" intern-soft 0 nil emms-track-get "" name emms-track-set newname tag-modified t] 5] split-string "\n" emms-track-get tag-modified] 6 (#$ . 20792)]) (defalias 'emms-tag-editor-log #[(&rest args) "r\302!q\210db\210\303\304 \"\305\261)\207" [emms-tag-editor-log-buffer args get-buffer-create apply format "\n"] 3]) #@222 When `emms-tag-editor-rename' is invoked the track's file will be renamed according this format specification. The file extension will be added automatically. It uses the format specs defined in `emms-tag-editor-tags'. (defvar emms-tag-editor-rename-format "%a - %l - %n - %t" (#$ . 21801)) #@129 Rename the file corresponding to track at point or all marked tracks according to the value of `emms-tag-editor-rename-format'. (defalias 'emms-tag-editor-rename #[nil "\212eb\210\301\302\303\"\304\305#)\203\306 \207\307\310 !\207" [emms-mark-char re-search-forward format "^[%c]" nil t emms-tag-editor-rename-marked-tracks emms-tag-editor-rename-track emms-tag-editor-track-at] 4 (#$ . 22101) nil]) #@217 Rename TRACK's file according `emms-tag-editor-rename-format's value. If DONT-APPLY is non-nil the changes won't be applied directly. Then it's the callers job to apply them afterwards with `emms-tag-editor-apply'. (defalias 'emms-tag-editor-rename-track #[(track &optional dont-apply) "\306\307\"\310=\203A\311!\312 !\313 !\n\314\f\315\316\315\317\320\321 \"\"\"\"\322 R\323\324#\210\323\325\326#\210?\205?\327C!,\207\330\331!\207" [track old-file path suffix emms-tag-editor-rename-format emms-tag-editor-tags emms-track-get type file emms-track-name file-name-directory file-name-extension format-spec apply format-spec-make append mapcar #[(tag) "\302A!\303 @\"\206 \304D\207" [tag track string-to-char emms-track-get ""] 4] "." emms-track-set newname tag-modified t emms-tag-editor-apply message "Only files can be renamed." new-file dont-apply] 10 (#$ . 22511)]) #@103 Rename the files corresponding to all marked tracks according `emms-tag-editor-rename-format's value. (defalias 'emms-tag-editor-rename-marked-tracks #[nil "\303\304\305\"\211\204\306\307!\202*\310\211\203&\n@\311 \305\"\210\nA\211\204*\312!)\207" [tracks track #1=#:--cl-dolist-temp-- emms-mark-mapcar-marked-track emms-tag-editor-track-at t message "No track marked!" nil emms-tag-editor-rename-track emms-tag-editor-apply] 5 (#$ . 23407)]) (byte-code "\301\302\303#\210\304\305!\207" [emms-playlist-mode-map define-key "R" emms-tag-editor-rename provide emms-tag-editor] 4)