;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\301%\207" [require emms-info json custom-declare-group emms-info-exiftool nil "Options for EMMS." :group] 6) #@30 Mapping for exiftool output. (defvar emms-info-exiftool-field-map '((info-album . Album) (info-artist . Artist) (info-title . Title) (info-tracknumber . TrackNumber) (info-composer . Composer) (info-year . Year) (info-discnumber . Discnumber) (info-genre . Genre) (info-note . Comment) (info-playing-time . Duration) (info-albumartist . Albumartist)) (#$ . 255)) #@40 Convert from exiftool-time to seconds. (defalias 'emms-info-exiftool-time #[0 "\212eb\210\300\301d\302#\203+\303\304\305!!\303\304\306!!\303\304\307!!\310_\310_\310_\\\\\266\203\202,\311)\207" [re-search-forward "duration.+\\([0-9]+\\):\\([0-9]+\\):\\([0-9]+\\)" t string-to-number match-string-no-properties 1 2 3 60 0] 6 (#$ . 624)]) #@44 Set TRACK info using exiftool. (fn TRACK) (defalias 'emms-info-exiftool #[257 "\302!\303=\205L\304\305\306\"r\211q\210\307\310\"\216\311\312\313\314\315\314\316\317!&)\320U\205Ieb\210\3211C\322 \320\234\323\307\324# \"\2620\210\202H\210\325\326!\210*\262\207" [coding-system-for-read emms-info-exiftool-field-map emms-track-type file generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] utf-8 call-process "exiftool" nil (t nil) "-json" emms-track-name 0 (error) json-read mapc #[257 "\211@A\302\301\"\211\205%\303\300\211\304\267\202\"\305 \202$\306\307A\"\202$A#\207" [V0 V1 assoc emms-track-set #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (info-playing-time 21 info-tracknumber 26 info-year 26 info-discnumber 26)) emms-info-exiftool-time format "%s"] 10 "\n\n(fn FIELD-MAP)"] message "error while reading track info"] 10 (#$ . 971)]) (provide 'emms-info-exiftool)