;ELC ;;; Compiled by heimdall@baldur on Fri Feb 1 18:34:47 2008 ;;; from file /home/heimdall/repos/emms/emms-cache.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-cache.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\303\304!\203\304\305\306\307#\210\300\207" [require emms emms-info fboundp define-hash-table-test string-hash string= sxhash] 4) #@77 A mapping of paths to file info. This is used to cache over emacs sessions. (defvar emms-cache-db (byte-code "\300\301\302\303!\203\f\304\202 \305\"\207" [make-hash-table :test fboundp define-hash-table-test string-hash equal] 4) (#$ . 753)) #@48 True if the cache has been updated since init. (defvar emms-cache-dirty nil (#$ . 1003)) #@61 A file used to store cached file information over sessions. (custom-declare-variable 'emms-cache-file '(concat (file-name-as-directory emms-directory) "cache") '(#$ . 1098) :group 'emms :type 'file) #@50 Coding system used for saving `emms-cache-file'. (custom-declare-variable 'emms-cache-file-coding-system ''utf-8 '(#$ . 1303) :group 'emms :type 'coding-system) #@57 Turn on Emms caching if ARG is positive, off otherwise. (defalias 'emms-cache #[(arg) "\203\304V\203\305\306\307\"\210\305\310\311\"\210\312\313\314\211\207\315\306\307\"\210\315\310\311\"\210\316\211\316\211\207" [arg emms-cache-get-function emms-cache-set-function emms-cache-modified-function 0 add-hook after-init-hook emms-cache-restore kill-emacs-hook emms-cache-save emms-cache-get emms-cache-set emms-cache-dirty remove-hook nil] 4 (#$ . 1470) "p"]) #@36 Enable caching of Emms track data. (defalias 'emms-cache-enable #[nil "\300\301!\210\302\303!\207" [emms-cache 1 message "Emms cache enabled"] 2 (#$ . 1946) nil]) #@37 Disable caching of Emms track data. (defalias 'emms-cache-disable #[nil "\300\301!\210\302\303!\207" [emms-cache -1 message "Emms cache disabled"] 2 (#$ . 2115) nil]) #@36 Toggle caching of Emms track data. (defalias 'emms-cache-toggle #[nil "\203\301 \207\302 \207" [emms-cache-get-function emms-cache-disable emms-cache-enable] 1 (#$ . 2288) nil]) #@26 Mark the cache as dirty. (defalias 'emms-cache-dirty #[(&rest ignored) "\301\211\207" [emms-cache-dirty t] 2 (#$ . 2475)]) (put 'emms-cache-dirty 'byte-optimizer 'byte-compile-inline-expand) #@42 Return a cache element for PATH, or nil. (defalias 'emms-cache-get #[(type path) "\302 \"\207" [path emms-cache-db gethash] 3 (#$ . 2673)]) #@33 Set PATH to TRACK in the cache. (defalias 'emms-cache-set #[(type path track) "\305 \n#\210\306\307\211)\207" [path track emms-cache-db ignored emms-cache-dirty puthash nil t] 4 (#$ . 2820)]) #@47 Remove a track from the cache, with key PATH. (defalias 'emms-cache-del #[(path) "\304 \"\210\305\306\211)\207" [path emms-cache-db ignored emms-cache-dirty remhash nil t] 3 (#$ . 3021)]) #@33 Save the track cache to a file. (defalias 'emms-cache-save #[nil "\2058\304\305!\210\306\307!q\210\310 \210\311\312 !\313Qc\210\314\315\n\"\210\316\317!\203'\317 !\210\320ed #\210\321p!\210\304\322!\210\323\211\207" [emms-cache-dirty emms-cache-file-coding-system emms-cache-db emms-cache-file message "Saving emms track cache..." get-buffer-create " emms-cache " erase-buffer ";;; .emms-cache -*- mode: emacs-lisp; coding: " symbol-name "; -*-\n" maphash #[(k v) "\302\303 #c\207" [k v format "(puthash %S '%S emms-cache-db)\n"] 4] fboundp set-buffer-file-coding-system write-region kill-buffer "Saving emms track cache...done" nil] 4 (#$ . 3218) nil]) #@38 Restore the track cache from a file. (defalias 'emms-cache-restore #[nil "\302\303\304\303$\210\304\211\207" [emms-cache-file emms-cache-dirty load t nil] 5 (#$ . 3883) nil]) #@118 Sync the cache with the data on disc. Remove non-existent files, and update data for files which have been modified. (defalias 'emms-cache-sync #[nil "\303\304!\210\305\306\307 \"\210\203\310)\303\311!\207" [removed emms-cache-db emms-cache-dirty message "Syncing emms track cache..." nil maphash #[(path track) "\306\307\"\310=\2051\311 !\204\312 \n\"\210\313\211\207\314!\306\304\"\f\203,\315\f \"\2050\316\317\"*\207" [track path emms-cache-db removed info-mtime file-mtime emms-track-get type file file-exists-p remhash t emms-info-track-file-mtime emms-time-less-p run-hook-with-args emms-info-functions] 4] t "Syncing emms track cache...done"] 3 (#$ . 4067) nil]) (provide 'emms-cache)