;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\207" [require libmpdel cl-lib] 2) #@77 compiler-macro for inlining `libmpdel-directory-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'libmpdel-directory-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block libmpdel-directory-p (and (memq (type-of cl-x) cl-struct-libmpdel-directory-tags) t)) nil] 9 (#$ . 156)]) (put 'libmpdel-directory-p 'compiler-macro 'libmpdel-directory-p--cmacro) #@13 (fn CL-X) (defalias 'libmpdel-directory-p #[257 "\301!>\205 \302\207" [cl-struct-libmpdel-directory-tags type-of t] 3 (#$ . 537)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put libmpdel-directory-p side-effect-free error-free put libmpdel-directory cl-deftype-satisfies] 5) #@81 compiler-macro for inlining `libmpdel--directory-path'. (fn CL-WHOLE-ARG CL-X) (defalias 'libmpdel--directory-path--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block libmpdel--directory-path (progn (or (libmpdel-directory-p cl-x) (signal 'wrong-type-argument (list 'libmpdel-directory cl-x))) (aref cl-x 1))) nil] 9 (#$ . 842)]) (put 'libmpdel--directory-path 'compiler-macro 'libmpdel--directory-path--cmacro) #@68 Access slot "path" of `libmpdel-directory' struct CL-X. (fn CL-X) (defalias 'libmpdel--directory-path #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-libmpdel-directory-tags type-of signal wrong-type-argument libmpdel-directory 1] 5 (#$ . 1296)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put libmpdel--directory-path side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" libmpdel--directory-path] 5 "\n\n(fn CL-DO CL-X)"]] 5) #@81 compiler-macro for inlining `libmpdel--directory-name'. (fn CL-WHOLE-ARG CL-X) (defalias 'libmpdel--directory-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block libmpdel--directory-name (progn (or (libmpdel-directory-p cl-x) (signal 'wrong-type-argument (list 'libmpdel-directory cl-x))) (aref cl-x 2))) nil] 9 (#$ . 1809)]) (put 'libmpdel--directory-name 'compiler-macro 'libmpdel--directory-name--cmacro) #@68 Access slot "name" of `libmpdel-directory' struct CL-X. (fn CL-X) (defalias 'libmpdel--directory-name #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-libmpdel-directory-tags type-of signal wrong-type-argument libmpdel-directory 2] 5 (#$ . 2264)]) (byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\"\207" [function-put libmpdel--directory-name side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" libmpdel--directory-name] 5 "\n\n(fn CL-DO CL-X)"] defalias copy-libmpdel-directory copy-sequence] 5) #@99 compiler-macro for inlining `libmpdel--directory-create'. (fn CL-WHOLE &cl-quote &key PATH NAME) (defalias 'libmpdel--directory-create--cmacro #[385 "\300\301\"A@\300\302\"A@\211\2037\211@\303>\203 \211AA\262\202 \304>A@\203.\305\262\202 \306\307@\"\210\202 \210\310\311\312\305\305&\207" [plist-member :path :name (:path :name :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:path :name)" cl--defsubst-expand (path name) (cl-block libmpdel--directory-create (record 'libmpdel-directory path name))] 12 (#$ . 2834)]) (put 'libmpdel--directory-create 'compiler-macro 'libmpdel--directory-create--cmacro) #@76 Constructor for objects of type `libmpdel-directory'. (fn &key PATH NAME) (defalias 'libmpdel--directory-create #[128 "\300\301\"A@\300\302\"A@\211\2037\211@\303>\203 \211AA\262\202 \304>A@\203.\305\262\202 \306\307@\"\210\202 \210\310\311#\207" [plist-member :path :name (:path :name :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:path :name)" record libmpdel-directory] 7 (#$ . 3496)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \210\313\314\306\315\306\316%\210\313\317\306\320\306\321%\207" [function-put libmpdel--directory-create side-effect-free t cl-struct-define libmpdel-directory nil cl-structure-object record ((cl-tag-slot) (path nil :read-only t) (name nil :read-only t)) cl-struct-libmpdel-directory-tags cl-generic-define-method libmpdel-entity-name ((_entity (eql directories))) #[257 "\300\207" ["Directories"] 2 "The name for the `directories' entity.\n\n(fn ENTITY)"] libmpdel-entity-to-criteria ((_entity (eql directories))) #[257 "\300\207" ["lsinfo \"\""] 2 "Return a query to retrieve the list of directories from the server.\n\n(fn ENTITY)"]] 11) #@78 Return a list of directories extracted from DATA returned by MPD. (fn DATA) (defalias 'libmpdel-directory--create-directories-from-data #[257 "\300\301\302\303\"\"\207" [mapcar #[257 "\300\301\302#\207" [record libmpdel-directory nil] 5 "\n\n(fn DIR-NAME)"] libmpdel-sorted-entries directory] 6 (#$ . 4652)]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\210\300\313\302\314\302\315%\210\300\316\302\317\302\320%\210\300\321\302\322\302\323%\207" [cl-generic-define-method libmpdel-list nil ((_entity (eql directories)) function) #[514 "\300\301\302!\303\304\"\"\207" [libmpdel-send-command libmpdel-entity-to-criteria directories make-closure #[257 "\300\301!!\207" [V0 libmpdel-directory--create-directories-from-data] 4 "\n\n(fn DATA)"]] 7 "Call FUNCTION with a list of directories as argument.\n\n(fn ENTITY FUNCTION)"] libmpdel-entity-name ((dir libmpdel-directory)) #[257 "\301!>\204\302\303\304D\"\210\211\305H\206-\306\301!>\204%\302\303\304D\"\210\307H\206,\310!\207" [cl-struct-libmpdel-directory-tags type-of signal wrong-type-argument libmpdel-directory 2 file-name-nondirectory 1 ""] 6 "Return DIR's entity name.\n\n(fn DIR)"] libmpdel-entity-id ((dir libmpdel-directory)) #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-libmpdel-directory-tags type-of signal wrong-type-argument libmpdel-directory 1] 5 "Return DIR's entity identifier.\n\n(fn DIR)"] libmpdel-dired ((dir libmpdel-directory)) #[257 "\302\303!\210\304\305\306\307!>\204\310\311\312D\"\210\313H \"\"\207" [cl-struct-libmpdel-directory-tags libmpdel-music-directory require dired-x dired-jump t expand-file-name type-of signal wrong-type-argument libmpdel-directory 1] 8 "Jump, using dired, to DIR's local directory.\n\n(fn DIR)"] libmpdel-entity-parent ((dir libmpdel-directory)) #[257 "\301\302!>\204\303\304\305D\"\210\306H!\211G\306V\203$\307\305\310\311O\312#\207\313\207" [cl-struct-libmpdel-directory-tags file-name-directory type-of signal wrong-type-argument libmpdel-directory 1 record 0 -1 nil directories] 7 "Return the directory containing DIR, or 'directories.\n\n(fn DIR)"] libmpdel-entity-to-criteria ((dir libmpdel-directory)) #[257 "\301\302\303!>\204\304\305\306D\"\210\307H\"\207" [cl-struct-libmpdel-directory-tags format "lsinfo %S" type-of signal wrong-type-argument libmpdel-directory 1] 7 "Return a search criteria to list the contents of DIR, as a string.\n\n(fn DIR)"]] 6) #@80 Return a list of the . and .. entries associated with the given DIR. (fn DIR) (defalias 'libmpdel-directory--make-dots #[257 "\301\302\303!>\204\304\305\302D\"\210\306H\307#\310!\303!>\203:\301\302\303!>\2042\304\305\302D\"\210\306H\311#\202;\211\262D\207" [cl-struct-libmpdel-directory-tags record libmpdel-directory type-of signal wrong-type-argument 1 "." libmpdel-entity-parent ".."] 9 (#$ . 7142)]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\310\311!\207" [cl-generic-define-method libmpdel-list nil ((dir libmpdel-directory) function) #[514 "\300\301!\302\303#\"\207" [libmpdel-send-command libmpdel-entity-to-criteria make-closure #[257 "\302!\303!\304\305\"\306\307\300!#\301!\207" [V0 V1 libmpdel-directory--create-directories-from-data libmpdel--create-songs-from-data cl-remove-if-not libmpdel-entity-name append libmpdel-directory--make-dots] 8 "\n\n(fn DATA)"]] 8 "Call FUNCTION with all the entities contained in DIR.\n\n(fn DIR FUNCTION)"] libmpdel-playlist-add ((dir libmpdel-directory) playlist) #[514 "\300\301\302\"\"\207" [libmpdel-list make-closure #[257 "\301AA\300\"\207" [V0 libmpdel-playlist-add] 4 "\n\n(fn CHILDREN)"]] 7 "Add the entities contained in DIR (that is, its children) to PLAYLIST.\n\n(fn DIR PLAYLIST)"] provide libmpdel-directory] 6)