....................................../////.===Shadow-Here===./////................................................ > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < ------------------------------------------------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð enü¹%½_F‘åè¿2ºQú³íªú`N¿­3ÿƒügµJžaÿ¯ÿ°~¼ÎùnúîÞÖô•òíôÁÉß®Sm¥Ü/ ‡ó˜f£Ùà<˜„xëJ¢Ù€SO3x<ªÔ©4¿+ç¶A`q@Ì“Úñè™ÍÿJÌ´ª-˜ÆtÊÛL]Ïq*‘Ý”ì#ŸÌÏãY]@ê`¿ /ªfkØB4·®£ó z—Üw¥Pxù–ÞLШKÇN¾AkÙTf½è'‰g gÆv›Øuh~ a˜Z— ïj*á¥t d£“uÒ ¨`K˜¹ßþ]b>˜]_ÏÔ6W—è2r4x•íÖ…"ƒÖNîä!¦å Ú}ýxGøÌ —@ ;ÆÚŠ=ɾ1ý8lªË¥ô ^yf®Œ¢u&2©nÙÇ›ñÂñŒ³ aPo['½»øFùà­+4ê“$!lövlüÞ=;N®3ð‚õ›DÉKòÞ>ÄÍ ¥ˆuߤ#ˆ$6ù™¥îЇy’ÍB¼ çxÛ;X"WL£R÷͝*ó-¶Zu}º.s¸sšXqù–DþÿvªhüïwyŸ ¯é³lÀ:KCûÄ£Ëá\…­ ~—ýóî ¼ûûÜTÓüÇy…ŽÆvc»¾×U ñ¸žþоP÷¦ó:Ò¨¨5;Ð#&#ÖúñläÿÁœ GxÉ­/ñ‡áQðìYÉtÒw޼GÔ´zàÒò ð*ëzƒ•4~H]Ø‹f ñÓÈñ`NåWçs'ÆÏW^ø¹!XžµmQ5ÃËoLœÎ: ÞËÍ¥J ù…î èo£ßPÎñ¶ž8.Œ]ʵ~5›ÙË-ù*8ÙÖß±~ ©¹rÓê‚j¶d¸{^Q'˜±Crß ÚH—#¥¥QlÀ×ëã‡DÜ«èî þ&Çæžî;ŽÏºò6ÒLÃXy&ZŒ'j‚¢Ù€IßÚù+–MGi‰*jE€‘JcÜ ÓÌ EÏÚj]o˜ Þr <¾U ûŪæÍ/šÝH¥˜b”¼ ÁñßX GP›ï2›4WŠÏà×£…íÓk†¦H·ÅíMh–*nó÷à]ÁjCº€b7<ب‹¨5車bp2:Á[UªM„QŒçiNMa#<5›áËó¸HýÊ"…×Éw¹¦ì2º–x<›»a±¸3Weü®FÝ⑱ö–î–³|LPÈ~çð~Çå‡|º kD¢µÏàÆAI %1À% ¹Ò – ”ϝS¦‰4&¶£°à Öý”û_Ò Áw°A«Å€?mÇÛgHÉ/8)á¾ÛìáöŽP í¨PŸNÙµº¦‡§Ùš"ÿ«>+ªÕ`Ê÷‡‚ß Õû˜þãÇ-PÍ.¾XV‘€ dÜ"þ4¹ ±Oú‘©t¥¦FªÄÃÄ•b‚znýu½—#cDs˜ÃiÑOˆñ×QO=*IAÊ,¶ŽZƒ;‡wøXè%EÐk:F±Ú” .Ѽ+Áu&Ç`."pÈÉw o&¿dE6‘’EqTuK@Ì¥ã™À(Êk(h‰,H}RÀIXÛš3µ1©_OqÚÒJAñ$ÊÙÜ;D3çŒ[þùœh¬Ã³™ö6ç†NY".Ú‰ï[ªŸŒ '²Ð öø_¨ÂÉ9ué¶³ÒŠõTàîMØ#û¯gN‡bÙ놚X„ö …ÉeüÌ^J ‹€.œ$Æ)βÄeæW#óüßĺŸ€ ÀzwV 9oä»f4V*uB «Ë†¹ì¯žR霓æHXa=&“I4K;¯ç‹h×·"UŠ~<•╪Vêª&ÍSÃÆÅ?ÔqÎ*mTM ˜›µwêd#[C¡©§‘D<©àb†–ÁœøvH/,í:¯( ²£|4-„Æövv„Yͼ™^Á$ˆ„¢Û[6yB.åH*V¨æ?$=˜Ñ€•ñ·­(VlŸ‘ nÀt8W÷´Bûba?q9ú¶Xƒl«ÿ\ù¶’þòUÐj/õ¢Ìµ³g$ƒÎR!¸»|Oߍë’BhîÚÑ¢ñåŒJ„®„£2Ð3•ô02Nt…!£Í]Ïc½Qÿ?ˆ<&ÃA¾Ú,JˆijÌ#5yz„‰Î|ÊŽ5QÏ:‹ÐaóVÔxW—CpeÏzÐïíçôÿÅ_[hãsÐ_/ŽTÝ?BîˆííV$<¿i>²F¬_Eß¿ †bÊŒº­ÿ®Z H“C}”¬,Mp ý/Bá£w>˜YV°aƒúh+cŠ- r/[%|üUMHäQ°X»|û/@|°¥Ð !BÔ Ç¢Ä©š+Õì D«7ìN¶ŽðÔ " ƶ’ÖçtA‰Û×}{tþz­¾GÍ›k¹OEJR$ Â׃ «ëÁ"oÉôž$oUK(Ä)Ãz³Ê-‹êN[Ò3Œñbï8P 4ƒ×q¢bo|?<ÛX¬òÄͰL–±›(™ûG?ýË©ÚÄ–ÂDØÐ_Ç¡ô ¾–ÄÏø ×e8Ë©$ÄF¹Å‹ì[©óìl:F¾f´‹‹Xì²ï®\¬ôùƒ ÿat¥óèÒùHß0äe‚;ü×h:ÆWðHž=Ã8骣"kœ'Y?³}Tûè€>?0l›e1Lòñ„aæKÆw…hÖŠùW…ÈÆÄ0ši·›[pcwËþñiêíY/~-Á5˜!¿†A›™Mÿþ(±“t@â“ö2­´TG5yé]çå僳 .·ÍïçÝ7UÚ±Ð/Nè»,_Ï ùdj7\ï Wì4›„»c¸àešg#ÒÊ⥭áØo5‘?ÌdÝô¯ ¹kzsƒ=´#ëÉK›Ø´±-¥eW?‡çßtòTã…$Ý+qÿ±ƒ÷_3Ô¥í÷:æ–ž<·Ö‡‰Å¢ š‡%Ô—utÌÈìðžgÖÀz²À—ï÷Óîäõ{K'´È÷³yaÏÁjƒô}ž§®æÊydÕÈë5¯èˆõvÕ©ã*çD„ “z„Ó‡^^xÂ3M§A´JG‚öï 3W'ˆ.OvXè¡ÊÕª?5º7†˜(˜Ç¶#çê’¶!ÌdZK§æ 0fãaN]òY³RV ™î$®K2R¨`W!1Ôó\;Ý ýB%qæK•&ÓÈe9È0êI±žeŸß -ú@žQr¦ ö4»M¼Áè¹µmw 9 EÆE_°2ó„ŸXKWÁ×Hóì^´²GѝF©óäR†¦‰ç"V»eØ<3ùd3ÿÚ¤Žú“Gi" —‘_ÙËÎ~Üö¯¥½Î»üŸEÚŽåmÞþí ;ÞólËΦMzA"Âf(´òá;Éï(/7½ûñÌ­cïÕçлþÝz¾-ÍvÑ“pH­–ðÓj$¸Äû¤‚‘ãUBË-n“2åPkS5&‹Â|+g^œ®Ì͆d!OïäîU«c;{Û!ÅŽ«ëZ9Ókóˆ]¯ƒ›né `ÇÒ+tÆš (ØKá¾—=3œ®•vuMñg²\ï Ec€ 05±d™‡×iÇ×›UúvÌ¢£Èþ¡ÕØô¶ßÎA"ß±#Ö²ˆÊŸ¦*Ä~ij|àø.-¼'»Ú¥£h ofº¦‡VsR=N½„Î v˜Z*SÌ{=jÑB‹tê…;’HžH¯8–îDù8ñ¢|Q•bÛçš–‹m³“ê¨ åÏ^m¬Žãþ©ïêO‡½6] µÆ„Ooòü ²x}N¦Ë3ïé¿»€›HA˜m%çÞ/¿í7Fø“‹léUk)É°Œµ8Q8›:ÀŠeT*šõ~ôڝG6 ¢}`ùH­–”¡k ‰P1>š†®9z11!X wKfmÁ¦xÑ,N1Q”–æB¶M…ÒÃv6SMˆhU¬ÊPŽï‘öj=·CŒ¯u¹ƒVIЃsx4’ömÛýcå¡¶7ßŠß 57^\wÒÐÆ k§h,Œý î«q^R½3]J¸ÇðN ‚çU¬ôº^Áì} ³f©Õœ§ˆã:FÄÈ‚é(€™?àýÓüè1Gô£¼éj‚OÅñ  #>×—ßtà 0G¥Åa뀐kßhc™À_ÉñÞ#±)GD" YîäË-ÿÙ̪ ¹™a¯´¢E\ÝÒö‚;™„ë]_ p8‰o¡ñ+^÷ 3‘'dT4œŽ ðVë½° :¬víÑ«£tßÚS-3¶“þ2 †üüʨòrš¹M{É_¤`Û¨0ìjœøJ‡:÷ÃáZ˜†@GP&œÑDGÏs¡þ¦þDGú‘1Yá9Ôþ¼ ûø…§÷8&–ÜÑnÄ_m®^üÆ`;ÉVÁJ£?â€-ßê}suÍ2sõA NÌúA磸‘îÿÚ»ƒìö·á¿±tÑÐ"Tÿü˜[@/äj¬€uüªìù¥Ý˜á8Ý´sõj 8@rˆð äþZÇD®ÿUÏ2ùôõrBzÆÏÞž>Ì™xœ“ wiÎ×7_… ¸ \#€MɁV¶¥üÕÿPÔ9Z‡ø§É8#H:ƒ5ÀÝå9ÍIŒ5åKÙŠ÷qÄ>1AÈøžj"µÂд/ªnÀ qªã}"iŸBå˜ÓÛŽ¦…&ݧ;G@—³b¯“•"´4í¨ôM¨åñC‹ïùÉó¯ÓsSH2Ý@ßáM‡ˆKÀªÛUeø/4\gnm¥‹ŸŒ qÄ b9ÞwÒNÏ_4Ég³ú=܆‚´ •â¥õeíþkjz>éÚyU«Íӝ݃6"8/ø{=Ô¢»G¥ äUw°W«,ô—¿ãㆅү¢³xŠUû™yŒ (øSópÐ 9\åTâ»—*oG$/×ÍT†Y¿1¤Þ¢_‡ ¼ „±ÍçèSaÓ 3ÛMÁBkxs‰’R/¡¤ˆÙçª(*õ„üXÌ´ƒ E§´¬EF"Ù”R/ÐNyÆÂ^°?™6¡œïJ·±$§?º>ÖüœcNÌù¯G ‹ñ2ЁBB„^·úìaz¨k:#¨Æ¨8LÎõލ£^§S&cŒÐU€ü(‡F±Š¼&P>8ÙÁ ‰ p5?0ÊÆƒZl¸aô š¼¡}gÿ¶zÆC²¹¬ÎÖG*HB¡O<º2#ñŒAƒ–¡B˜´É$¥›É:FÀÔx¾u?XÜÏÓvN©RS{2ʈãk9rmP¼Qq̳ è¼ÐFׄ^¡Öì fE“F4A…!ì/…¦Lƒ… … $%´¾yã@CI¬ á—3PþBÏNÿ<ý°4Ü ËÃ#ØÍ~âW«rEñw‹eùMMHß²`¬Öó½íf³:‹k˜¯÷}Z!ã¿<¥,\#öµÀ¯aÒNÆIé,Ћ–lŽ#Àæ9ÀÒS·I’½-Ïp Äz¤Š Â* ­íÄ9­< h>׍3ZkËU¹§˜ŒŠ±f­’¤º³Q ÏB?‹#µíÃ¥®@(Gs«†vI¥Mµ‹Á©e~2ú³ÁP4ìÕi‚²Ê^ö@-DþÓàlÜOÍ]n"µã:žpsŽ¢:! Aõ.ç~ÓBûH÷JCÌ]õVƒd «ú´QÙEA–¯¯Œ!.ˆˆëQ±ù œ·Ì!Õâ )ùL„ÅÀlÚè5@B…o´Æ¸XÓ&Û…O«˜”_#‡ƒ„ûÈt!¤ÁÏ›ÎÝŠ?c9 â\>lÓÁVÄÑ™£eØY]:fÝ–—ù+p{™ðè û³”g±OƒÚSù£áÁÊ„ä,ï7š²G ÕÌBk)~ÑiCµ|h#u¤¶îK¨² #²vݯGãeÖ϶ú…¾múÀ¶þÔñ‚Š9'^($¤§ò “š½{éúp÷J›ušS¹áªCÂubÃH9™D™/ZöØÁ‡¦ÝÙŸ·kð*_”.C‹{áXó€‡c¡c€§/šò/&éš÷,àéJþ‰X›fµ“C¨œ®r¬"kL‰Â_q…Z–.ÉL~O µ›zn‚¹À¦Öª7\àHµšÖ %»ÇníV[¥*Õ;ƒ#½¾HK-ÖIÊdÏEÚ#=o÷Óò³´Š: Ç?{¾+9›–‘OEáU·S€˜j"ÄaÜ ŒÛWt› á–c#a»pÔZÞdŽtWê=9éöÊ¢µ~ ë ;Öe‡Œ®:bî3±ýê¢wà¼îpêñ¹¾4 zc¾ðÖÿzdêŒÑÒŝÀ‰s6¤í³ÎÙB¿OZ”+F¤á‡3@Ñëäg©·Ž ˆèª<ù@É{&S„œÕúÀA)‰h:YÀ5^ÂÓŒ°õäU\ ùËÍû#²?Xe¬tu‰^zÒÔãë¼ÛWtEtû …‚g¶Úüâî*moGè¨7%u!]PhÏd™Ý%Îx: VÒ¦ôÊD3ÀŽKÛËãvÆî…N¯ä>Eró–ð`5 Œ%u5XkñÌ*NU%¶áœÊ:Qÿú»“úzyÏ6å-၇¾ ´ ÒÊ]y žO‘w2Äøæ…H’²f±ÎÇ.ª|¥'gîV•Ü .̘¯€šòü¤U~Ù†*¢!?ò wý,}´°ÔÞnïoKq5µb!áÓ3"vAßH¡³¡·G(ÐÎ0Îò¼MG!/ài®@—¬04*`…«é8ªøøló“ˆÊ”èù¤…ßÊoÿé'ËuÌÖ5×È¡§ˆˆfŽë9}hìâ_!!¯  B&Ëö¶‰ÀAÙNVŸ Wh›¸®XÑJì¨ú“¿÷3uj²˜¨ÍÎìë±aúŠÝå¯ð*Ó¨ôJ“yºØ)m°WýOè68†ŸÏ2—‰Ïüꪫٚ¥‹l1 ø ÏÄFjêµvÌbü¦èÝx:X±¢H=MÐß—,ˆÉÇ´(9ú¾^ÅÚ4¿m‡$âX‘å%(AlZo@½¨UOÌÕ”1ø¸jÎÀÃÃ_ µ‘Ü.œº¦Ut: Æï’!=¯uwû#,“pþÇúŒø(é@?³ü¥‘Mo §—s@Œ#)§ŒùkL}NOÆêA›¸~r½¼ÙA—HJ«eˆÖ´*¡ÓpÌŸö.m<-"³ûÈ$¬_6­åf£ïÚâj1y§ÕJ½@dÞÁr&Í\Z%D£Íñ·AZ Û³øüd/ªAi†/Й~  ‡âĮҮÏh§°b—›Û«mJžòG'[ÈYýŒ¦9psl ýÁ ®±f¦x,‰½tN ‚Xª9 ÙÖH.«Lo0×?͹m¡å†Ѽ+›2ƒF ±Ê8 7Hցϓ²Æ–m9…òŸï]Â1äN†VLâCˆU .ÿ‰Ts +ÅÎx(%¦u]6AF Š ØF鈄‘ |¢¶c±soŒ/t[a¾–û:s·`i햍ê›ËchÈ…8ßÀUÜewŒðNOƒõD%q#éû\9¤x¹&UE×G¥ Í—™$ð E6-‡¼!ýpãÔM˜ Âsìe¯ñµK¢Ç¡ùôléœ4Ö£”À Š®Ðc ^¨À}ÙËŸ§›ºê{ÊuÉC ×Sr€¤’fÉ*j!úÓ’Gsùìoîßîn%ò· àc Wp÷$¨˜)û»H ×8ŽÒ€Zj¤3ÀÙºY'Ql¦py{-6íÔCeiØp‘‡XÊîÆUߢ܂ž£Xé¼Y8þ©ëgñß}é.ÎógÒ„ÃØËø¯»™§Xýy M%@NŠ À(~áÐvu7&•,Ù˜ó€uP‡^^®=_E„jt’ 403WebShell
403Webshell
Server IP : 66.235.200.170  /  Your IP : 3.135.64.200
Web Server : Apache
System : Linux gator4410.hostgator.com 5.14.0-162.23.1.9991722448259.nf.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 31 18:11:45 UTC 2024 x86_64
User : bmgxafte ( 1214)
PHP Version : 8.2.28
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/emacs/27.2/lisp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/27.2/lisp/mpc.elc
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`%s' was compiled for Emacs 23 or later" #$))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301\302\303\304\305\306\307\306\310&	\210\311\312\313\314\315DD\316\317\320%\207" [custom-declare-group mpc nil "Client for the Music Player Daemon (mpd)." :prefix "mpc-" :group multimedia applications custom-declare-variable mpc-browser-tags funcall function #[0 "\300\207" [(Genre Artist|Composer|Performer Album|Playlist)] 1] "Tags for which a browser buffer should be created by default." :type (repeat symbol)] 10)
#@18 

(fn KEY ALIST)
(defalias 'mpc-assq-all #[514 "\300\211\211\203'\211@\211@=\203 \211A\211\262\235\204 B\262A\266\202\202\210\237\207" [nil] 8 (#$ . 845)])
#@20 

(fn &rest LISTS)
(defalias 'mpc-union #[128 "\211A\262\242\237\211\2032\211@\211\203)\211@\211\235\204\"\211B\262A\266\202\202\266A\266\202\202\210\211\237\207" [] 9 (#$ . 1022)])
#@213 Return L1 after removing all elements not found in L2.
If SELECTFUN is non-nil, elements aren't compared directly, but instead
they are passed through SELECTFUN before comparison.

(fn L1 L2 &optional SELECTFUN)
(defalias 'mpc-intersection #[770 "\300\203\301\"\262\211\203.\211@\203!\202\211\235\203'\211B\262A\266\202\202\f\210\211\237\207" [nil mapcar] 8 (#$ . 1230)])
#@14 

(fn EVENT)
(defalias 'mpc-event-set-point #[257 "\3001\301\302!!0\207\210\3031\304!0\207\210\305\207" [(error) posn-set-point event-end (error) mouse-set-point nil] 4 (#$ . 1629)])
#@177 Compare strings STR1 and STR2.
Contrary to `compare-strings', this tries to get numbers sorted
numerically rather than lexicographically.

(fn STR1 STR2 &optional IGNORE-CASE)
(defalias 'mpc-compare-strings #[770 "\300\301\211\301\211&\211\250\204\211\202\322\302!S\211GY\204&\211GY\203*\202\320H\303>H\304>\203\254\211\203\217\305\306#\210\307\310\"\305\306#\210\307\310\"GGW\203e\302![\202\212GGV\203t\302!\202\212\311!\311!W\203\206\302![\202\212\302!\266\202\202\316\310U\204\245SH\312>\203\245\302!\202\316\302![\202\316\211\203\315\310U\204\307SH\313>\203\307\302![\202\316\302!\202\316\266\202\262\207" [compare-strings nil abs (48 49 50 51 52 53 54 55 56 57) (48 49 50 51 52 53 54 55 56 57) string-match "[0-9]+" match-string 0 string-to-number (48 49 50 51 52 53 54 55 56 57) (48 49 50 51 52 53 54 55 56 57)] 12 (#$ . 1825)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias mpc-string-prefix-p string-prefix-p nil make-obsolete "24.3"] 4)
(defvar mpc--find-memoize (make-hash-table :test 'equal))
(defvar mpc-tag nil nil)
(byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311%\207" [make-variable-buffer-local mpc-tag custom-declare-variable mpc-host funcall function #[0 "\300\301!\206\302\300\303!\205\304\300\303!PP\207" [getenv "MPD_HOST" "localhost" "MPD_PORT" ":"] 4] "Host (and port) where the Music Player Daemon is running.  The\nformat is \"HOST\", \"HOST:PORT\", \"PASSWORD@HOST\" or\n\"PASSWORD@HOST:PORT\" where PASSWORD defaults to no password, PORT\ndefaults to 6600 and HOST defaults to localhost." :type string] 6)
(defvar mpc-proc nil)
(defconst mpc--proc-end-re "^\\(?:OK\\(?: MPD .*\\)?\\|ACK \\(.*\\)\\)\n")
(define-error 'mpc-proc-error "MPD error")
#@26 

(fn FORMAT &rest ARGS)
(defalias 'mpc--debug #[385 "\300\301!\205r\301q\210db\210\302\303\304\305\306\307##\304\")\207" [get-buffer "*MPC-debug*" insert-before-markers replace-regexp-in-string "\n" "\n	" apply format-message] 10 (#$ . 3617)])
#@20 

(fn PROC STRING)
(defalias 'mpc--proc-filter #[514 "\301\302\"\210r\303!q\210\304\305\"\203&\306!\210\307\310\"\210\311\312 !\210\313\314!\202\203\212\315\316!!\2060e\211b\210c\210\316!`\310\223\210\317 \210\211`W\205\200\320\321#\205\200\322\305\321#\210\323\225d=\204_\313\324!\210\325\326!`d|\210\304\327\"\322\327\310#\210\203z\322\330#\210\211 \262\262\262))\207" [mpc--proc-end-re mpc--debug "Receive \"%s\"" process-buffer process-get ready delete-process set-process-buffer nil pop-to-buffer clone-buffer error "MPD output while idle!?" marker-position process-mark beginning-of-line re-search-backward t process-put 0 "Unexpected trailing text" match-string 1 callback mpc-proc-error] 9 (#$ . 3874)])
#@13 

(fn HOST)
(defalias 'mpc--proc-connect #[257 "\306\307\211\310\311\"\2037\312\313\"\211;\203\211\314\230\204\211\262\210\312\315\"\312\316\"\262\211;\2036\211\314\230\2046\211\262\210\317!\203E\320!\262\321\262\322\323#\210r\324\325\326#!q\210\307\327p!\211\262\203g\330!\204X\210\331 \210\332\211\3331\233\334\335\336\337p\340?\205\201	\341	\203\214\202\216\n\342\205\225\343&\n0\202\242\344\345!!\262\346\n!\203\303\347\n!\211\203\302\350\211A\262\242\211A\262\242#\210\202\253\210\351\352p#\210\350\353\354#\210\350\355\307#\210\356!\210\357\360\"\210\361\354\"\210\362\307\"\210\3631\366\307\364!)0\202\374\210\321\365\366!\210\211\205	\367\370D\307\"*\262)\207" [coding-system-for-read coding-system-for-write mpc-proc mpc--find-memoize inhibit-quit quit-flag 6600 nil string-match "\\`\\(?:\\(.*\\)@\\)?\\(.*?\\)\\(?::\\(.*\\)\\)?\\'" match-string 1 "" 3 2 file-name-absolute-p expand-file-name t mpc--debug "Connecting to %s:%s..." get-buffer-create format " *mpc-%s:%s*" get-buffer-process delete-process erase-buffer utf-8-unix (error) make-network-process :name "MPC" :buffer :host :service :family local user-error error-message-string processp process-plist process-put mpc-proc-buffer mpd-commands callback ignore ready clrhash set-process-filter mpc--proc-filter set-process-sentinel set-process-query-on-exit-flag (quit) mpc-proc-sync eval (ignore nil) mpc-proc-cmd "password"] 16 (#$ . 4618)])
#@10 

(fn S)
(defalias 'mpc--proc-quote-string #[257 "\211\247\203	\300!\207\301\302\303#\262\304\305\"\203\306\306Q\207\207" [number-to-string replace-regexp-in-string "[\"\\]" "\\\\\\&" string-match " " "\""] 5 (#$ . 6110)])
(defconst mpc--proc-alist-to-alists-starters '(file directory))
#@14 

(fn ALIST)
(defalias 'mpc--proc-alist-to-alists #[257 "\211\203\211@@>\204\301\302!\210\211@@\303\211\211\203<\211@\211@=\2030\203-\237B\262\303\262\211B\262A\266\202\202\210\211\203G\211\237B\262\237\207" [mpc--proc-alist-to-alists-starters cl--assertion-failed (or (null alist) (memq (caar alist) mpc--proc-alist-to-alists-starters)) nil] 8 (#$ . 6411)])
#@26 

(fn &optional RESTART)
(defalias 'mpc-proc #[256 "\203\302\303!!\203\211\203\304!\305=\203\306	!\210\207" [mpc-proc mpc-host buffer-live-p process-buffer process-status closed mpc--proc-connect] 4 (#$ . 6800)])
#@13 

(fn PROC)
(defalias 'mpc-proc-check #[257 "\300\301\"\211\205\302\301\303#\210\304\301\"\207" [process-get mpc-proc-error process-put nil signal] 6 (#$ . 7031)])
#@122 Wait for MPC process until it is idle again.
Return the buffer in which the process is/was running.

(fn &optional PROC)
(defalias 'mpc-proc-sync #[256 "\211C\211\242\204\f\211\300 \240\210\301\302\303\304\305!\306\"\307$\216\310\242\311\"\204'\312\242!\204\313\242!\210\310\242\311\"\203;\314\242!\202>\315\316!)\207" [mpc-proc make-byte-code 0 "\301\300\242\302\"?\205\303\304!\210\305\300\242!\207" vconcat vector [process-get ready message "Killing hung process" delete-process] 3 process-get ready accept-process-output mpc-proc-check process-buffer error "No response from MPD"] 8 (#$ . 7207)])
#@373 Send command CMD to the MPD server.
If CALLBACK is nil, wait for the command to finish before returning,
otherwise return immediately and call CALLBACK with no argument
when the command terminates.
CMD can be a string which is passed as-is to MPD or a list of strings
which will be concatenated with proper quoting before passing them to MPD.

(fn CMD &optional CALLBACK)
(defalias 'mpc-proc-cmd #[513 "\300\301!\203+\302\303\"\204+\302\304\"\305\304\306\307\310\311\312\n#\313\"\314$#\262\202n\315!\210\305\303\316#\210r\317!q\210\320 \210\321\322\"\210\323;\203N\202T\324\325\326#\327P\"\210)\203e\305\304#\202n\305\304\330#\210\315!\207" [mpc-proc restart process-get ready callback process-put make-byte-code 0 "\302 \210\303\300\301\"\207" vconcat vector [mpc-proc-cmd] 3 mpc-proc-sync nil process-buffer erase-buffer mpc--debug "Send \"%s\"" process-send-string mapconcat mpc--proc-quote-string " " "\n" ignore] 15 (#$ . 7829)])
#@13 

(fn CMDS)
(defalias 'mpc-proc-cmd-list #[257 "\300\301\302\303#\304Q\207" ["command_list_begin\n" mapconcat #[257 "\211;\203\207\300\301\302#\207" [mapconcat mpc--proc-quote-string " "] 5 "\n\n(fn CMD)"] "\n" "\ncommand_list_end"] 6 (#$ . 8801)])
(defalias 'mpc-proc-cmd-list-ok #[0 "\300\301!\207" [error "Not implemented yet"] 2])
#@22 

(fn &optional BUF)
(defalias 'mpc-proc-buf-to-alist #[256 "r\211\206pq\210\300eb\210\301\302\300\303#\203$\304\305\306!!\305\307!BB\262\202\f\211\237\262)\207" [nil re-search-forward "^\\([^:]+\\): \\(.*\\)\n" t intern match-string 1 2] 6 (#$ . 9146)])
#@12 

(fn BUF)
(defalias 'mpc-proc-buf-to-alists #[257 "\300\301!!\207" [mpc--proc-alist-to-alists mpc-proc-buf-to-alist] 4 (#$ . 9414)])
#@31 

(fn CMD &optional CALLBACK)
(defalias 'mpc-proc-cmd-to-alist #[513 "\211\203p\300\301\302\303\304\305\"\306\"\307$\"\207\310\300!!\207" [mpc-proc-cmd make-byte-code 0 "\300\302p!\301q\210!\207" vconcat vector [mpc-proc-buf-to-alist] 3 mpc-proc-buf-to-alist] 12 (#$ . 9555)])
#@12 

(fn TAG)
(defalias 'mpc-proc-tag-string-to-sym #[257 "\300\301!!\207" [intern capitalize] 4 (#$ . 9846)])
#@34 

(fn PROC USE &optional BUFFER)
(defalias 'mpc-proc-buffer #[770 "\300\301\"\302\"A\203 \303!\203 =\204 \304\305\"\202@\203?\211\2031\302\"\241\202@\306\301BB#\202@\211\207" [process-get buffers assoc buffer-live-p error "Duplicate MPC buffer for %s" process-put] 10 (#$ . 9961)])
(defvar mpc-status nil)
#@173 Alist associating properties to the functions that care about them.
Each entry has the form (PROP . FUN) where PROP can be t to mean
to call FUN for any change whatsoever.
(defvar mpc-status-callbacks '((state . mpc--status-timers-refresh) (state . mpc--faster-toggle-refresh) (volume . mpc-volume-refresh) (file . mpc-songpointer-refresh) (song . mpc-songpointer-refresh) (updating_db . mpc-updated-db) (updating_db . mpc--status-timers-refresh) (t . mpc-current-refresh)) (#$ . 10300))
(defalias 'mpc--status-callback #[0 "\302 \211\204\f\303\300!\210\211\232?\205<	\211\205:\211@\211@\304=\204/\211@\236A@\236A\232\2043\211A \210A\266\202\202\262\207" [mpc-status mpc-status-callbacks mpc-proc-buf-to-alist cl--assertion-failed t] 7])
(defvar mpc--status-timer nil)
(defalias 'mpc--status-timer-start #[0 "\301\302\303\"\210?\205\304\305\211\306#\211\207" [mpc--status-timer add-hook pre-command-hook mpc--status-timer-stop run-with-timer 1 mpc--status-timer-run] 4])
(defalias 'mpc--status-timer-stop #[0 "\205\301!\210\302\211\207" [mpc--status-timer cancel-timer nil] 2])
(defalias 'mpc--status-timer-run #[0 "\30215\303\304 \305\"\2053\306\304 \307\"\310\311\"\211\204\312 \2021\3131+\314\315 )0\2021\210\311\316\317!\266\2020\207\320\321\"\210\314\207" [inhibit-quit quit-flag (debug error) process-get mpc-proc ready mpc-proc-buffer status get-buffer-window t mpc--status-timer-stop (quit) nil mpc-status-refresh eval (ignore nil) message "MPC: %S"] 4])
(defvar mpc--status-idle-timer nil)
(defalias 'mpc--status-idle-timer-start #[0 "\203\301!\210\302\303\304\305#\306 \207" [mpc--status-idle-timer cancel-timer run-with-idle-timer 1 t mpc--status-idle-timer-run mpc--status-timer-start] 4])
#@25 

(fn &optional REALLY)
(defalias 'mpc--status-idle-timer-stop #[256 "\203\301!\210\211?\205\302\303\304\305#\211\207" [mpc--status-idle-timer cancel-timer run-with-idle-timer 10 t mpc--status-idle-timer-run] 5 (#$ . 12048)])
(defalias 'mpc--status-idle-timer-run #[0 "\300 \210\301 \207" [mpc--status-timer-start mpc--status-timer-run] 1])
#@63 Start/stop the timers according to whether a song is playing.
(defalias 'mpc--status-timers-refresh #[0 "\301\236A\302\235\204\303\236A\203\304 \207\305 \210\306 \207" [mpc-status state ("play") updating_db mpc--status-idle-timer-start mpc--status-idle-timer-stop mpc--status-timer-stop] 2 (#$ . 12402)])
#@48 Refresh `mpc-status'.

(fn &optional CALLBACK)
(defalias 'mpc-status-refresh #[256 "\211\300\301\302!\303\304\305\306\307!\310\"\311$\"\207" [mpc-proc-cmd mpc-proc-cmd-list ("status" "currentsong") make-byte-code 0 "\301 \210\300\205	\300 \207" vconcat vector [mpc--status-callback] 1] 10 (#$ . 12719)])
#@148 Stop the autorefresh of `mpc-status'.
This is normally used only when quitting MPC.
Any call to `mpc-status-refresh' may cause it to be restarted.
(defalias 'mpc-status-stop #[0 "\301\302\303!\210\304 \207" [mpc-status nil mpc--status-idle-timer-stop really mpc--status-timer-stop] 2 (#$ . 13033)])
(defvar mpc--find-memoize-union-tags nil)
#@18 

(fn TAG VALUE)
(defalias 'mpc-cmd-flush #[514 "\302B\303#\210	\211\205+\211@\304!\305\304!\306\"\235\203$\302B\303#\210A\266\202\202	\207" [mpc--find-memoize mpc--find-memoize-union-tags puthash nil symbol-name split-string "|"] 8 (#$ . 13381)])
#@12 

(fn TAG)
(defalias 'mpc-cmd-special-tag-p #[257 "\211\300>\206\f\301\302\303!\"\207" [(Playlist Search Directory) string-match "|" symbol-name] 5 (#$ . 13647)])
#@109 Return a list of all songs whose tag TAG has value VALUE.
The songs are returned as alists.

(fn TAG VALUE)
(defalias 'mpc-cmd-find #[514 "\302B\"\206\336\303B\304\267\202\\\3051\"\306\307\310D!!0\202$\210\311\312C\313\314\315\316\317\320!\321\"\322\323%\"\266\202\202\334\306\307\324\325E!!\202\334\326\307\327D!!\330\331\311\313\332\"\"!\262\202\334\333\334\335!\"\203\233	\235\203q	\210\202u	B\336\337\335!\312\211\224#!\336\337\335!\312\225\"!\340\341\"\341\"\"\266\202\202\334\3421\257\306\307\343\335!E!!0\202\334\210\344\345\"\210\311B\262\306\307\327!!\211\203\330\211@\235\203\321\211B\262A\266\202\202\300\210\211\262#\207" [mpc--find-memoize mpc--find-memoize-union-tags gethash puthash #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (Playlist 19 Search 59 Directory 71)) (mpc-proc-error) mpc-proc-buf-to-alists mpc-proc-cmd "listplaylistinfo" nil 0 mapcar make-byte-code 257 "\301\302\300\242!BB\300\211\242T\240\210\207" vconcat vector [Pos number-to-string] 4 "\n\n(fn S)" "search" "any" mpc-proc-buf-to-alist "listallinfo" mpc--proc-alist-to-alists delq #[257 "\211@\300=?\205	\211\207" [directory] 3 "\n\n(fn PAIR)"] string-match "|" symbol-name intern substring mpc-union mpc-cmd-find (mpc-proc-error) "find" error "Unknown tag %s"] 13 (#$ . 13819)])
#@38 

(fn TAG &optional OTHER-TAG VALUE)
(defalias 'mpc-cmd-list #[769 "\300\267\202\360\301\302\303\304!\"\203e\211\305\262\211\203d\211@\306\307\"\310!\2048B\311\312\"\235\203\\B\262\202\\\306\"\301\313\311\312\"\"\301\313\311\312\"\"\314\"\203ZB\262\266\210A\266\202\202\210\211\207\204\311\315\301\316\317\320\304!!\"\321\322\323\324 \325\"\"#\207\306\"\301\313\311\312\"\"\305\211\203\266\211@\326!\211\203\256\327!\211\262\203\256\211@\232\204\256\211B\262\210A\266\202\202\214\210\330!\262\211\211\203\352\326\211A\262\242!\211\203\346\327!\211\262\203\346\211\235\204\346\211B\262\211B\262\210\202\275\210\207\331\332!\207\333\334\335!\"\203\336\337\335!\340\211\224#!\336\337\335!\340\225\"!\341\342#\342#\"\207\204@\34313\321\344\303\345\335!D!\"0\207\210\331\346\"\210\301\303\347!\"\207\3501d\310!\203Q\351\352\353\"\202b\321\344\303\345\335!\335!F!\"0\207\210\306\"\301\311\312\"\"\207" [#s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (Playlist 6 Directory 103 Search 236)) mpc-assq-all playlist mpc-proc-cmd-to-alist "lsinfo" nil mpc-cmd-find Playlist mpc-cmd-special-tag-p apply append file mpc-intersection nconc directory mpc-proc-buf-to-alist mpc-proc-cmd mapcar #[257 "\300\301\302#\203\303\300\301\302#P\202\304\305\306\307\310\311D!!\"\211\211\2038\211@\312\301GT\302%\210A\266\202\202\210\207" [get-text-property 0 display "   " " ↪ " mpc-assq-all directory mpc-proc-buf-to-alist mpc-proc-cmd "lsinfo" put-text-property] 11 "\n\n(fn DIR)"] process-get mpc-proc Directory file-name-directory directory-file-name delete-dups error "Not supported" string-match "|" symbol-name intern substring 0 mpc-union mpc-cmd-list (mpc-proc-error) cdr "list" "MPD does not know this tag %s" "listallinfo" (mpc-proc-error) signal mpc-proc-error "Not implemented"] 14 (#$ . 15194)])
#@27 

(fn &optional CALLBACK)
(defalias 'mpc-cmd-stop #[256 "\300\301\"\207" [mpc-proc-cmd "stop"] 4 (#$ . 17149)])
#@27 

(fn &optional CALLBACK)
(defalias 'mpc-cmd-clear #[256 "\300\301\"\207" [mpc-proc-cmd "clear"] 4 (#$ . 17268)])
#@45 Set consume mode state.

(fn &optional ARG)
(defalias 'mpc-cmd-consume #[256 "\300\301D\302\"\207" [mpc-proc-cmd "consume" mpc-status-refresh] 4 (#$ . 17389)])
#@54 Set random (shuffle) mode state.

(fn &optional ARG)
(defalias 'mpc-cmd-random #[256 "\300\301D\302\"\207" [mpc-proc-cmd "random" mpc-status-refresh] 4 (#$ . 17556)])
#@44 Set repeat mode state.

(fn &optional ARG)
(defalias 'mpc-cmd-repeat #[256 "\300\301D\302\"\207" [mpc-proc-cmd "repeat" mpc-status-refresh] 4 (#$ . 17730)])
#@44 Set single mode state.

(fn &optional ARG)
(defalias 'mpc-cmd-single #[256 "\300\301D\302\"\207" [mpc-proc-cmd "single" mpc-status-refresh] 4 (#$ . 17894)])
#@78 Pause or resume playback of the queue of songs.

(fn &optional ARG CALLBACK)
(defalias 'mpc-cmd-pause #[512 "\211\300\301D\302\303\304\305\306!\307\"\310$\"\210?\205\311 \207" [mpc-proc-cmd "pause" make-byte-code 0 "\301 \210\300\205	\300 \207" vconcat vector [mpc-status-refresh] 1 mpc-proc-sync] 11 (#$ . 18058)])
(defalias 'mpc-cmd-status #[0 "\300\301!\207" [mpc-proc-cmd-to-alist "status"] 2])
(defalias 'mpc-cmd-play #[0 "\300\301!\210\302 \207" [mpc-proc-cmd "play" mpc-status-refresh] 2])
#@13 

(fn TIME)
(defalias 'mpc-cmd-seekcur #[257 "\300\301D\302\"\207" [mpc-proc-cmd "seekcur" mpc-status-refresh] 4 (#$ . 18568)])
#@124 Add the songs FILES to PLAYLIST.
If PLAYLIST is t or nil or missing, use the main playlist.

(fn FILES &optional PLAYLIST)
(defalias 'mpc-cmd-add #[513 "\300\301\302\303\304\305\306\307!\310\"\311\312%\"!!\210\211;\205\313\314\"\207" [mpc-proc-cmd mpc-proc-cmd-list mapcar make-byte-code 257 "\300;\203\n\301\300E\207\302D\207" vconcat vector ["playlistadd" "add"] 4 "\n\n(fn FILE)" mpc-cmd-flush Playlist] 11 (#$ . 18704)])
#@150 Delete the songs at positions SONG-POSS from PLAYLIST.
If PLAYLIST is t or nil or missing, use the main playlist.

(fn SONG-POSS &optional PLAYLIST)
(defalias 'mpc-cmd-delete #[513 "\301\302\303\304\305\306\307\310!\311\"\312\313%\314\315\"\"!!\210\211;\205%\316\317B\320#\207" [mpc--find-memoize mpc-proc-cmd mpc-proc-cmd-list mapcar make-byte-code 257 "\300;\203\n\301\300E\207\302D\207" vconcat vector ["playlistdelete" "delete"] 4 "\n\n(fn SONG-POS)" sort > puthash Playlist nil] 11 (#$ . 19145)])
#@46 

(fn SONG-POSS DEST-POS &optional PLAYLIST)
(defalias 'mpc-cmd-move #[770 "C\301C\302\303\304\305\306\307\310\311	\n#\312\"\313\314%\315	\316\"\"!!\210;\205-\317\320B\321#\262\207" [mpc--find-memoize 0 mpc-proc-cmd mpc-proc-cmd-list mapcar make-byte-code 257 "\211\300\242Y\203
\211\302\242\\\262\301;\203\303\301\300\242F\202 \304\300\242E\300\242W\203-\300\211\242S\240\210\302\211\242T\240\210\207" vconcat vector ["playlistmove" "move"] 5 "\n\n(fn SONG-POS)" sort > puthash Playlist nil] 16 (#$ . 19663)])
#@31 

(fn &optional ARG CALLBACK)
(defalias 'mpc-cmd-update #[512 "\211\300\203\f\301D\202
\301\302\303\304\305\306!\307\"\310$\"\210?\205\"\311 \207" [mpc-proc-cmd "update" make-byte-code 0 "\301 \210\300\205	\300 \207" vconcat vector [mpc-status-refresh] 1 mpc-proc-sync] 11 (#$ . 20200)])
(defalias 'mpc-cmd-tagtypes #[0 "\300\301\302\303!\"\207" [mapcar cdr mpc-proc-cmd-to-alist "tagtypes"] 4])
(byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\313%\207" [custom-declare-variable mpc-mpd-music-directory funcall function #[0 "\300\207" [nil] 1] "Location of MPD's music directory." :type (choice (const nil) directory) mpc-data-directory #[0 "\300\301\302\"\207" [locate-user-emacs-file "mpc" ".mpc"] 3] "Directory where MPC.el stores auxiliary data." directory] 6)
(defalias 'mpc-data-directory #[0 "\301!\204\n\302!\210\207" [mpc-data-directory file-directory-p make-directory] 2])
#@13 

(fn FILE)
(defalias 'mpc-file-local-copy #[257 "\204w\302\303	\"\204\304	!\203w\305\306!\211\203\"\304!\203\"\211\202#\307\310P\262\311B\312\203D\211\204D\313@!\203=@\262A\262\202*\314\315!r\211q\210\316\317\320\321\322!\323\"\324$\216\3251b\326!0\202f\210\202g\210eb\210\327\330!\203t\331\332!*\266\205\210\313\333\"!\205\210\333\"\207" [mpc-mpd-music-directory mpc-host string-match "\\`localhost" file-name-absolute-p getenv "XDG_CONFIG_HOME" "~/.config" "/mpd/mpd.conf" ("~/.mpdconf" "~/.mpd/mpd.conf" "/etc/mpd.conf") nil file-exists-p generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 (error) insert-file-contents re-search-forward "^music_directory[ 	]+\"\\([^\"]+\\)\"" match-string 1 expand-file-name] 10 (#$ . 21136)])
#@13 

(fn SECS)
(defalias 'mpc-secs-to-time #[257 "\211;\203\n\300!\262\211\301Y\203\302\303\304\245\305\245\305\246#\207\302\306\305\245\305\246#\207" [string-to-number 6000 format "%dh%02d" 3600 60 "%d:%02d"] 6 (#$ . 21979)])
(defvar mpc-tempfiles nil)
(defconst mpc-tempfiles-reftable (make-hash-table :weakness 'key))
(defalias 'mpc-tempfiles-clean #[0 "\302C\303\304\305\306\307\310!\311\"\312\313%\"\210	\211\2038\211@\211\242\235\2041\3141,\315!0\2020\210\2021\210A\266\202\202\210\211\242\211\207" [mpc-tempfiles-reftable mpc-tempfiles nil maphash make-byte-code 514 "\300\300\242B\240\207" vconcat vector [] 5 "\n\n(fn K V)" (error) delete-file] 8])
#@17 

(fn KEY FILE)
(defalias 'mpc-tempfiles-add #[514 "\302 \210\303#\210\211	B\211\207" [mpc-tempfiles-reftable mpc-tempfiles mpc-tempfiles-clean puthash] 6 (#$ . 22664)])
#@115 Format the INFO according to FORMAT-SPEC, inserting the result at point.

(fn FORMAT-SPEC INFO &optional HSCROLL)
(defalias 'mpc-format #[770 "\300`\203[\202\f\300C\301\302\303\304	#\203d\305\300\224#\"\210\211\242\306!\\\240\266\300\225\262\307\225\204G\310\"\210\211\242T\240\210\202\311\312	\"\313\311\307\"!\311\314\"\315\225\n\316=\203g\317!\202\221\320\267\202G\321\236\206x\322\236A\302C\262\211\205\231\323\324=\203\227\303\325\"\203\227\305\300\225\"\202\230!\262\202\221\326\327\f\236A!\330\331D\332BBB\262\333\211\205\347\334\335!!\302\336\302:\203\345@\262\227\235\203\332P\262\302\211\262\202\333\336\203\345A\262\202\276\266\203\211\205\376\3371\366\335!0\202\376\340\341\"\210\302\262\211\203<\302\204\342!\262\202/\343\344\302\345#\346\347\302\211\211\350	&\210\342!\262\351\"\266\302\262	\352\353#\262\202@\302\262\354\266\203\262\202\221\236A\211\204]\355=\203]\327\f\236A\262\330\331D\356\357\331D\360BBDEB\262\361=\203|\211;\204\200\211\202\217\303\362\"\203\216\311\300\"\202\217\211\262\205\247\363!\262\352\354\353\364\365\f\242\n\\E#\203\261\306!\202\262\300\203\274\306!\202\275\300\203>\203\337\211\\V\203\337\352\366\n\302\211\367%\370#\202\340\371>\203\352\372\373\374\336\375\211\376\377\302\201@\201A\201B\331DCDD\257D&\262\n\f\n\2057\352\354\353\364\365\242\2033
\2033\201C
#\2024\300\\E#\nQ\"\266\204S\n\201D\f\242#\240\210\202_c\210\n\211\242	\\\240\210\266\202\201E`\201F\377\201G\201H\237BE$\207" [0 #[514 "\242\300Y\203\n\211c\207\301\211G\242[^\"c\207" [0 substring] 6 "\n\n(fn COL STR)"] nil string-match "%\\(?:%\\|\\(-\\)?\\([0-9]+\\)?{\\([[:alpha:]][[:alnum:]]*\\)\\(?:-\\([^}]+\\)\\)?}\\)" substring string-width 3 "%" match-string 2 intern 4 1 self symbol-name #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (Duration 109 Time 109 Cover 158)) time Time mpc-secs-to-time Duration ":" file-name-directory file equal quote ((file-name-directory (cdr (assq 'file info)))) (".folder.png" "cover.jpg" "folder.jpg") directory-files mpc-file-local-copy t (debug error) message "MPC: %s" create-image make-temp-file "mpc" ".jpg" call-process "convert" "-scale" mpc-tempfiles-add propertize display " " Title cdr assq (info) Date "[0-9]\\{4\\}" string-to-number space :align-to truncate-string-to-width "…" help-echo (Artist Album Composer) mouse-face highlight follow-link keymap mouse-2 lambda (interactive) (mpc-constraints-push 'noerror) mpc-constraints-restore - + put-text-property mpc-pred (info) and] 34 (#$ . 22845)])
(defvar mpc-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\305#\210\301\311\312#\210\301\313\307#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\321#\210\301\323\324#\210\301\325\326#\210\301\327\330#\210\301\331\332#\210\301\333\334#\210\211\207" [make-sparse-keymap define-key "q" mpc-quit "
" mpc-select [(shift return)] mpc-select-toggle [mouse-2] [S-mouse-2] mpc-select-extend [C-mouse-2] [drag-mouse-2] mpc-drag-n-drop [follow-link] :always [header-line follow-link] ignore [mode-line follow-link] "p" mpc-pause "s" mpc-toggle-play ">" mpc-next "<" mpc-prev "g" mpc-seek-current] 5))
#@20 Menu for MPC mode.
(defvar mpc-mode-menu nil (#$ . 26233))
(easy-menu-do-define 'mpc-mode-menu mpc-mode-map "Menu for MPC mode." '("MPC" ["Play/Pause" mpc-toggle-play] ["Next Track" mpc-next] ["Previous Track" mpc-prev] ["Seek Within Track" mpc-seek-current] "--" ["Repeat Playlist" mpc-toggle-repeat :style toggle :selected (member '(repeat . "1") mpc-status)] ["Shuffle Playlist" mpc-toggle-shuffle :style toggle :selected (member '(random . "1") mpc-status)] ["Repeat Single Track" mpc-toggle-single :style toggle :selected (member '(single . "1") mpc-status)] ["Consume Mode" mpc-toggle-consume :style toggle :selected (member '(consume . "1") mpc-status)] "--" ["Add new browser" mpc-tagbrowser] ["Update DB" mpc-update] ["Quit" mpc-quit]))
(defvar mpc-tool-bar-map (byte-code "\300 \301\302\303\304\305\306\307\310\311\312&\n\210\301\313\314\315\305\316\307\317\311\312\320\321&\f\210\301\322\323\324\307\325\311\312\326\327\330\331&\f\210\301\332\333\334\307\335\311\312\326\336\330\337&\f\210\301\340\341\342\305\343\307\344\311\312\320\345&\f\210\301\346\347\350\307\351\311\312\305\352&\n\210\301\353\354\355\307\356\311\312&\210\301\357\360\361\307\362\311\312\330\363&\n\210\211\207" [make-sparse-keymap tool-bar-local-item "mpc/prev" mpc-prev prev :enable (not (equal (cdr (assq 'state mpc-status)) "stop")) :label "Prev" :vert-only t "mpc/rewind" mpc-rewind rewind (not (equal (cdr (assq 'state mpc-status)) "stop")) "Rew" :button (:toggle and mpc--faster-toggle-timer (not mpc--faster-toggle-forward)) "mpc/pause" mpc-pause pause "Pause" :visible (equal (cdr (assq 'state mpc-status)) "play") :help "Pause/play" "mpc/play" mpc-play play "Play" (not (equal (cdr (assq 'state mpc-status)) "play")) "Play/pause" "mpc/ffwd" mpc-ffwd ffwd (not (equal (cdr (assq 'state mpc-status)) "stop")) "Ffwd" (:toggle and mpc--faster-toggle-timer mpc--faster-toggle-forward) "mpc/next" mpc-next next "Next" (not (equal (cdr (assq 'state mpc-status)) "stop")) "mpc/stop" mpc-stop stop "Stop" "mpc/add" mpc-playlist-add add "Add" "Append to the playlist"] 14))
(defvar mpc-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [mpc-mode-hook variable-documentation put "Hook run after entering MPC mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp mpc-mode-map definition-name mpc-mode] 4)
(defvar mpc-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [mpc-mode-abbrev-table mpc-mode-map variable-documentation put purecopy "Keymap for `mpc-mode'." boundp mpc-mode-syntax-table definition-name mpc-mode (lambda (#1=#:def-tmp-var) (defvar mpc-mode-syntax-table #1#)) make-syntax-table "Syntax table for `mpc-mode'." (lambda (#1#) (defvar mpc-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `mpc-mode'." derived-mode-parent special-mode] 5)
#@246 Major mode for the features common to all buffers of MPC.

In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `mpc-mode-hook', as the final or penultimate step
during initialization.

\{mpc-mode-map}
(defalias 'mpc-mode #[0 "\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\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
=\204R\326
\325C#\210\327!\210\330\f!\210
\331 \210\332\333!\203n\306\333!\210 \306\334!\210\307)\335\336!\207" [delay-mode-hooks major-mode mode-name mpc-mode-map mpc-mode-syntax-table mpc-mode-abbrev-table make-local-variable t special-mode mpc-mode "MPC" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table buffer-disable-undo boundp tool-bar-map truncate-lines run-mode-hooks mpc-mode-hook local-abbrev-table mpc-tool-bar-map] 5 (#$ . 29403) nil])
(defvar mpc-status-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [mpc-status-mode-hook variable-documentation put "Hook run after entering MPC-Status mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp mpc-status-mode-map definition-name mpc-status-mode] 4)
(defvar mpc-status-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [mpc-status-mode-abbrev-table mpc-status-mode-map variable-documentation put purecopy "Keymap for `mpc-status-mode'." boundp mpc-status-mode-syntax-table definition-name mpc-status-mode (lambda (#1=#:def-tmp-var) (defvar mpc-status-mode-syntax-table #1#)) make-syntax-table "Syntax table for `mpc-status-mode'." (lambda (#1#) (defvar mpc-status-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `mpc-status-mode'." derived-mode-parent mpc-mode] 5)
#@237 Major mode to display MPC status info.

In addition to any hooks its parent mode `mpc-mode' might have run,
this mode runs the hook `mpc-status-mode-hook', as the final or penultimate step
during initialization.

\{mpc-status-mode-map}
(defalias 'mpc-status-mode #[0 "\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\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
!=\204R\326
\325!C#\210\327!\210\330\f!\210
!\306\331!\210\332\306\333!\210\334\306\335!\210\336)\337\340!\207" [delay-mode-hooks major-mode mode-name mpc-status-mode-map mpc-status-mode-syntax-table mpc-status-mode-abbrev-table make-local-variable t mpc-mode mpc-status-mode "MPC-Status" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table mode-line-format ("%e" mode-line-frame-identification mode-line-buffer-identification) window-area-factor 3 header-line-format ("MPC " mpc-volume) run-mode-hooks mpc-status-mode-hook local-abbrev-table] 5 (#$ . 31683) nil])
(defvar mpc-status-buffer-format '("%-5{Time} / %{Duration} %2{Disc--}%4{Track}" "%{Title}" "%{Album}" "%{Artist}" "%128{Cover}"))
(defalias 'mpc-status-buffer-refresh #[0 "\303\304 \305\"\306!\205cr\211q\210\212eb\210\307\236\205b\310\n\211\203X\211@\311`\312\"\211\2036\211!\2036\313y\210\202P`\314\315!|\210\3161H\317\"0\202L\210\202M\210\320c\210\210A\266\202\202\210m?\205a`d|)*\207" [mpc-status inhibit-read-only mpc-status-buffer-format mpc-proc-buffer mpc-proc status buffer-live-p file t get-text-property mpc-pred nil line-beginning-position 2 (error) mpc-format "\n"] 7])
(defalias 'mpc-status-buffer-show #[0 "\300 \301\302\"\301\303\"\211\205\304\305\"\306!\204+\307\310!\262rq\210\311 \210)\301\302#\210\211\2045\312!\202J\313\314\315#\316\317\"\210\320\"\210\316\321\"\262\207" [mpc-proc mpc-proc-buffer status songs get-buffer-window 0 buffer-live-p get-buffer-create "*MPC-Status*" mpc-status-mode pop-to-buffer split-window 20 t set-window-dedicated-p nil set-window-buffer soft] 8 nil nil])
(defvar mpc-separator-ol nil)
(defvar mpc-select nil nil)
(make-variable-buffer-local 'mpc-select)
#@69 Execute BODY and restore the selection afterwards.

(fn &rest BODY)
(defalias 'mpc-select-save '(macro . #[128 "\300\301\302\303\"BB\207" [let ((selection (mpc-select-get-selection)) (position (cons (buffer-substring-no-properties (line-beginning-position) (line-end-position)) (current-column)))) append ((mpc-select-restore selection) (goto-char (point-min)) (if (re-search-forward (concat "^" (regexp-quote (car position)) "$") (if (overlayp mpc-separator-ol) (overlay-end mpc-separator-ol)) t) (move-to-column (cdr position))) (let ((win (get-buffer-window (current-buffer) 0))) (if win (set-window-point win (point)))))] 6 (#$ . 34021)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put mpc-select-save lisp-indent-function 0 put edebug-form-spec t] 5)
(defalias 'mpc-select-get-selection #[0 "\301\302\"\207" [mpc-select mapcar #[257 "\300\301!\302!S\"\207" [buffer-substring-no-properties overlay-start overlay-end] 5 "\n\n(fn OL)"]] 3])
#@18 

(fn SELECTION)
(defalias 'mpc-select-restore #[257 "\302\303\"\210\304\211\211\203(\211@eb\210\305\306\307!\310Q\304\311#\203!\312 \210A\266\202\202\210	\2030\313 \210\314 \207" [mpc-select mpc-tag mapc delete-overlay nil re-search-forward "^" regexp-quote "$" t mpc-select-make-overlay mpc-tagbrowser-all-select beginning-of-line] 7 (#$ . 34994)])
(defalias 'mpc-select-make-overlay #[0 "\301`\300\"\203\302\303!\210\304\305 \305\306!\"\307\300\310#\210\307\311\312#\210\307\313\310#\210\211B\211\207" [mpc-select get-char-property cl--assertion-failed (not (get-char-property (point) 'mpc-select)) make-overlay line-beginning-position 2 overlay-put t face highlight evaporate] 5])
#@54 Select the tag value at point.

(fn &optional EVENT)
(defalias 'mpc-select #[256 "\302!\210n\203m\203\303y\210\304\305\"\210\306\307 \204\310 \210	\205'\311 \210\312 \207" [mpc-select mpc-tag mpc-event-set-point -1 mapc delete-overlay nil mpc-tagbrowser-all-p mpc-select-make-overlay mpc-tagbrowser-all-select mpc-selection-refresh] 4 (#$ . 35701) (list last-nonmenu-event)])
#@71 Toggle the selection of the tag value at point.

(fn &optional EVENT)
(defalias 'mpc-select-toggle #[256 "\302!\210\212\303`\300\"\203I\304\211\2037\211@\305!`X\203+\306!`V\203+\307!\210\2020\211B\262A\266\202\202\210\211GTGU\204E\310\311!\210\202Q\312 \204Q\313 \210)	\205[\314 \210\315 \207" [mpc-select mpc-tag mpc-event-set-point get-char-property nil overlay-start overlay-end delete-overlay cl--assertion-failed (= (1+ (length ols)) (length mpc-select)) mpc-tagbrowser-all-p mpc-select-make-overlay mpc-tagbrowser-all-select mpc-selection-refresh] 6 (#$ . 36093) (list last-nonmenu-event)])
#@57 Extend the selection up to point.

(fn &optional EVENT)
(defalias 'mpc-select-extend #[256 "\302!\210\204\f\300!\207\212\303`\300\"\203\237\304\211\305 \306\211\307y\304U\2033\303`\300\"\2033`T\262T\262\202b\210\310y\304U\203N\303`\300\"\203N`\262T\262\2026\304U\203Z\304U\204\232V\203f\262\202jT\262\306\211\203\225\211@\311!Y\203\211\311!W\203\211\312!\210\202\216\211B\262A\266\202\202l\210\211\237\210\266\202\"\313 \203\247\307y\210\304\211\307\305 \307y\304U\203\301\303`\300\"\204\301T\262\202\254\303`\300\"\204\313\306\262\211b\210\310y\304U\203\343\303`\300\"\204\343T\262\202\316\303`\300\"\204\355\306\262\203\203\373W\203\262\310\262\211b\210\206	\304T\304\211W\203 \211\314 \210y\266\211T\262\202\266)	\205,\315 \210\316 \207" [mpc-select mpc-tag mpc-event-set-point get-char-property 0 line-beginning-position nil 1 -1 overlay-start delete-overlay mpc-tagbrowser-all-p mpc-select-make-overlay mpc-tagbrowser-all-select mpc-selection-refresh] 11 (#$ . 36717) (list last-nonmenu-event)])
(defvar mpc--song-search nil)
#@186 Return currently selected set of constraints.
If AVOID-BUF is non-nil, it specifies a buffer which should be ignored
when constructing the set of constraints.

(fn &optional AVOID-BUF)
(defalias 'mpc-constraints-get-current #[256 "\205\301DC\302\211\303\304 \305\"\211\203E\211@\211A\262\306\307\"\211\262\203>\211=\204>r\211q\210\310 )\211\262\203>BB\262A\266\202\202\210\207" [mpc--song-search Search nil process-get mpc-proc buffers buffer-local-value mpc-tag mpc-select-get-selection] 9 (#$ . 37841)])
#@31 

(fn BUFFER-TAG CONSTRAINTS)
(defalias 'mpc-constraints-tag-lookup #[514 "\300\211\2033\211@\211@=\204(\301\302\303!\"\203,\303@!\304\303!\302\"\235\203,\211A\262A\266\202\202\210\211\207" [nil string-match "|" symbol-name split-string] 9 (#$ . 38375)])
#@20 

(fn CONSTRAINTS)
(defalias 'mpc-constraints-restore #[257 "\301\236\211A@\211\203\302\"\262\210\303\304 \305\"\211\203E\211@\211A\262\306!\203>\307\310\"\311\"\203<rq\210\312!\210)\266A\266\202\202\210\313 \207" [mpc--song-search Search delq process-get mpc-proc buffers buffer-live-p buffer-local-value mpc-tag mpc-constraints-tag-lookup mpc-select-restore mpc-selection-refresh] 7 (#$ . 38651)])
#@13 

(fn SIZE)
(defalias 'mpc-ring-make #[257 "\300\211\301\302\"BB\207" [0 make-vector nil] 6 (#$ . 39079)])
#@17 

(fn RING VAL)
(defalias 'mpc-ring-push #[514 "AA@I\210AA@@T]\240\210\300@TAAG\"\240\207" [mod] 6 (#$ . 39193)])
#@13 

(fn RING)
(defalias 'mpc-ring-pop #[257 "\211\300@SA@\"\240\210\211AA@H\207" [mod] 5 (#$ . 39322)])
(defvar mpc-constraints-ring (mpc-ring-make 10))
#@75 Push the current selection on the ring for later.

(fn &optional NOERROR)
(defalias 'mpc-constraints-push #[256 "\301 \211\204?\205\302\303!\202\304\"\207" [mpc-constraints-ring mpc-constraints-get-current error "No selection to push" mpc-ring-push] 5 (#$ . 39482) nil])
#@44 Recall the most recently pushed selection.
(defalias 'mpc-constraints-pop #[0 "\301!\211\204
\302\303!\202\304!\207" [mpc-constraints-ring mpc-ring-pop error "No selection to return to" mpc-constraints-restore] 3 (#$ . 39768) nil])
(defconst mpc-tagbrowser-all-name (propertize "*ALL*" 'face 'italic))
(defvar mpc-tagbrowser-all-ol nil nil)
(make-variable-buffer-local 'mpc-tagbrowser-all-ol)
(defvar mpc-tag-name nil nil)
(make-variable-buffer-local 'mpc-tag-name)
(defalias 'mpc-tagbrowser-all-p #[0 "e\301 =\205
e\302 {\232\207" [mpc-tagbrowser-all-name line-beginning-position line-end-position] 3])
(defvar mpc-tagbrowser-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [mpc-tagbrowser-mode-hook variable-documentation put "Hook run after entering '(MPC- mpc-tag-name) mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp mpc-tagbrowser-mode-map definition-name mpc-tagbrowser-mode] 4)
(defvar mpc-tagbrowser-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [mpc-tagbrowser-mode-abbrev-table mpc-tagbrowser-mode-map variable-documentation put purecopy "Keymap for `mpc-tagbrowser-mode'." boundp mpc-tagbrowser-mode-syntax-table definition-name mpc-tagbrowser-mode (lambda (#1=#:def-tmp-var) (defvar mpc-tagbrowser-mode-syntax-table #1#)) make-syntax-table "Syntax table for `mpc-tagbrowser-mode'." (lambda (#1#) (defvar mpc-tagbrowser-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `mpc-tagbrowser-mode'." derived-mode-parent mpc-mode] 5)
#@519 Major mode derived from `mpc-mode' by `define-derived-mode'.
It inherits all of the parent's attributes, but has its own keymap,
abbrev table and syntax table:

  `mpc-tagbrowser-mode-map', `mpc-tagbrowser-mode-abbrev-table' and `mpc-tagbrowser-mode-syntax-table'

which more-or-less shadow mpc-mode's corresponding tables.

In addition to any hooks its parent mode might have run,
this mode runs the hook `mpc-tagbrowser-mode-hook', as the final or penultimate step
during initialization.

\{mpc-tagbrowser-mode-map}
(defalias 'mpc-tagbrowser-mode #[0 "\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\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
\"=\204R\326
\325\"C#\210\327!\210\330\f!\210
\"\306\331!\210\332\306\333!\210\334\306\335!\210\336\306\337!\210\307)\340\341!\207" [delay-mode-hooks major-mode mode-name mpc-tagbrowser-mode-map mpc-tagbrowser-mode-syntax-table mpc-tagbrowser-mode-abbrev-table make-local-variable t mpc-mode mpc-tagbrowser-mode ("MPC-" mpc-tag-name) mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table mode-line-process (#1="" mpc-tag-name) mode-line-format nil header-line-format (#1# mpc-tag-name) buffer-undo-list run-mode-hooks mpc-tagbrowser-mode-hook local-abbrev-table] 5 (#$ . 41649) nil])
(defalias 'mpc-tagbrowser-refresh #[0 "\304 \305\306 \307 \"iB~\210eb\210\310\311!!\204\312\313!\210\314y\210\315`d|\210\316\n!\211\2039\211@\211\317\261\210A\266\202\202'\210)\320\321!\210\322!\210eb\210\323\324\311@!\325Q\326!\205W\327!\315#\203a\330A!\210\331p\332\"\211\203n\333`\"\210\266\334 \207" [mpc-tagbrowser-all-name inhibit-read-only mpc-tag mpc-separator-ol mpc-select-get-selection buffer-substring-no-properties line-beginning-position line-end-position looking-at regexp-quote cl--assertion-failed (looking-at (regexp-quote mpc-tagbrowser-all-name)) 1 t mpc-cmd-list "\n" set-buffer-modified-p nil mpc-select-restore re-search-forward "^" "$" overlayp overlay-end move-to-column get-buffer-window 0 set-window-point mpc-reorder] 6])
(defalias 'mpc-updated-db #[0 "\304\236?\205S\305	!\210\306\307 \310\"\211\203A\211@\211A\262\311\312\"\203:r\211q\210\31312\314\315 )0\2028\210\316\317\320!\210)A\266\202\202\210\3211M\314\322 )0\207\210\316\317\320!\207" [mpc-status mpc--find-memoize inhibit-quit quit-flag updating_db clrhash process-get mpc-proc buffers buffer-local-value mpc-tag (quit) nil mpc-tagbrowser-refresh t eval (ignore nil) (quit) mpc-songs-refresh] 5])
#@12 

(fn TAG)
(defalias 'mpc-tagbrowser-tag-name #[257 "\300\301\302!\"\203%\303\304\302!\305\211\224#!\303\304\302!\305\225\"!\306!\307\306!Q\207\300\310\302!\"\2038\304\302!\305\311#\312P\207\302!\313P\207" [string-match "|" symbol-name intern substring 0 mpc-tagbrowser-tag-name " | " "y\\'" -1 "ies" "s"] 7 (#$ . 44364)])
#@12 

(fn TAG)
(defalias 'mpc-tagbrowser-buf #[257 "\304\305 \"\306!\203\211\202M\307\310\311\"!\262\304\305 #\210r\211q\210\312\313 \210\314=\2033\315 \210\2026\316 \210	\317\261\210)\320y\210\321!\322 \210\323 \210)\211\207" [inhibit-read-only mpc-tagbrowser-all-name mpc-tag mpc-tag-name mpc-proc-buffer mpc-proc buffer-live-p get-buffer-create format "*MPC %ss*" t erase-buffer Directory mpc-tagbrowser-dir-mode mpc-tagbrowser-mode "\n" -1 mpc-tagbrowser-tag-name mpc-tagbrowser-all-select mpc-tagbrowser-refresh] 6 (#$ . 44703)])
(defvar tag-browser-tagtypes (completion-table-dynamic #[257 "\301!\203\f\302\303\304 \"\207" [tag-browser-tagtypes functionp append ("Playlist" "Directory") mpc-cmd-tagtypes] 4 "\n\n(fn STRING)"] 'do-switch-buffer))
#@41 Create a new browser for TAG.

(fn TAG)
(defalias 'mpc-tagbrowser #[257 "\300!\301\302\"\211\203\303!\202ur\304 q\210\305\306!)\203$\307 \262\202T\310\311 \312\"\313\203R\314\211A\262\242A\211\262!\203*r\211q\210\305\306!)\203*\301\302\"\211\262\203*\266\211\204^\315!\202u\316\313\317#\262\320\"\210\321\322\"\210\303!\210\323 \207" [mpc-tagbrowser-buf get-buffer-window 0 select-window window-buffer derived-mode-p mpc-tagbrowser-mode selected-window process-get mpc-proc buffers nil buffer-live-p pop-to-buffer split-window horiz set-window-buffer set-window-dedicated-p soft balance-windows-area] 8 (#$ . 45479) (byte-code "\302\303\304\305	\306\307$!)C\207" [completion-ignore-case tag-browser-tagtypes t intern completing-read "Tag: " nil require-match] 6)])
#@57 Select the special *ALL* entry if no other is selected.
(defalias 'mpc-tagbrowser-all-select #[0 "\203\302	!\207\212eb\210	\203\303	`\304\305!#\2025\306`\304\305!\"\307\310\311#\210\307\312\313#\210\314\301!\210\211\211\262)\207" [mpc-select mpc-tagbrowser-all-ol delete-overlay move-overlay line-beginning-position 2 make-overlay overlay-put face highlight evaporate t make-local-variable] 5 (#$ . 46280)])
#@15 

(fn ACTIVE)
(defalias 'mpc-separator #[257 "\204\301\300!\210\302``\"\303\304\305\306\307\310##\210eb\210\311y\210\312\313 \314 \"\235\203/\311y\315U\204m\2047\211\204;\316!\207\317`S`#\207" [mpc-separator-ol make-local-variable make-overlay overlay-put after-string propertize "\n" face (:height 0.05 :inverse-video t :extend t) 1 buffer-substring-no-properties line-beginning-position line-end-position 0 delete-overlay move-overlay] 8 (#$ . 46704)])
#@15 

(fn ACTIVE)
(defalias 'mpc-sort #[257 "\301eb\210\302 \203
\303y\210\3041*\305\306\307\310\306\211\311\312\313\314\315!\316\"\317\320%&0\202<\210\305\306\307\310\311\321\322\314\315	!\323\"\324$$)\207" [inhibit-read-only t mpc-tagbrowser-all-p 1 (wrong-number-of-arguments) sort-subr nil forward-line end-of-line make-byte-code 514 "\301@A\"\262\301@A\"\262\300\235\203,\211\300\235\203*\302\303#\211\247\205)\211\304W\207\303\207\211\300\235\2034\305\207\302\303#\211\247\205A\211\304W\207" vconcat vector [buffer-substring-no-properties mpc-compare-strings t 0 nil] 6 "\n\n(fn S1 S2)" 0 "\301`\302 \"\211\300\235\203\303P\202\304\207" [buffer-substring-no-properties line-end-position "1" "2name"] 3] 13 (#$ . 47178)])
#@311 Reorder entries based on the currently active selections.
I.e. split the current browser buffer into a first part containing the
entries included in the selection, then a separator, and then the entries
not included in the selection.
Return non-nil if a selection was deactivated.

(fn &optional NODEACTIVATE)
(defalias 'mpc-reorder #[256 "\303 \304\305 \306 \"iB\307p!\310\211\203@\211@\311\312\313\314\315\316\317\320!\321\"\322\323%A\"\"<\2035\324\"\2026\211\262\210A\266\202\202\210\211<\203\217\325\211\203^\211@\211\235\203W\326\262A\266\202\202H\210\211\203z\203i\325\204z\326\262\327\330	\"\210\326\331 \210\210\332\333!\334\"\332\333!\334\"\232\203\217\310\262\335<\205\226!\210\336<\205\237!\266\337!\210eb\210\340\341\342@!\343Q\344\n!\205\272\345\n!\325#\203\304\346A!\210\347p\350\"\211\205\320\351`\"\262\207" [mpc--changed-selection mpc-select mpc-separator-ol mpc-select-get-selection buffer-substring-no-properties line-beginning-position line-end-position mpc-constraints-get-current all apply mpc-union mapcar make-byte-code 257 "\302	\300@#\207" vconcat vector [mpc-tag mpc-cmd-list] 5 "\n\n(fn VAL)" mpc-intersection t nil mapc delete-overlay mpc-tagbrowser-all-select sort copy-sequence string-lessp mpc-sort mpc-separator mpc-select-restore re-search-forward "^" regexp-quote "$" overlayp overlay-end move-to-column get-buffer-window 0 set-window-point] 16 (#$ . 47937)])
(defalias 'mpc-selection-refresh #[0 "\303\2037\304\305\306 \307\"\211\2033\211@\211A\262\310\301\"\203,\211p=\204,r\211q\210\311 \210)A\266\202\202
\210\202	\203?\311\312!\210\n\203N\203N\304\313 \202P\314 )\207" [mpc--changed-selection mpc-tag mpc--song-search t nil process-get mpc-proc buffers buffer-local-value mpc-reorder nodeactivate mpc-selection-refresh mpc-songs-refresh] 5])
(defvar mpc-tagbrowser-dir-mode-map (byte-code "\301 \302\"\210\303\304\305#\210\211\207" [mpc-tagbrowser-mode-map make-sparse-keymap set-keymap-parent define-key [134217741] mpc-tagbrowser-dir-toggle] 5))
(defvar mpc-tagbrowser-dir-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [mpc-tagbrowser-dir-mode-hook variable-documentation put "Hook run after entering '(MPC- mpc-tag-name) mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp mpc-tagbrowser-dir-mode-map definition-name mpc-tagbrowser-dir-mode] 4)
(defvar mpc-tagbrowser-dir-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [mpc-tagbrowser-dir-mode-abbrev-table mpc-tagbrowser-dir-mode-map variable-documentation put purecopy "Keymap for `mpc-tagbrowser-dir-mode'." boundp mpc-tagbrowser-dir-mode-syntax-table definition-name mpc-tagbrowser-dir-mode (lambda (#1=#:def-tmp-var) (defvar mpc-tagbrowser-dir-mode-syntax-table #1#)) make-syntax-table "Syntax table for `mpc-tagbrowser-dir-mode'." (lambda (#1#) (defvar mpc-tagbrowser-dir-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `mpc-tagbrowser-dir-mode'." derived-mode-parent mpc-tagbrowser-mode] 5)
#@561 Major mode derived from `mpc-tagbrowser-mode' by `define-derived-mode'.
It inherits all of the parent's attributes, but has its own keymap,
abbrev table and syntax table:

  `mpc-tagbrowser-dir-mode-map', `mpc-tagbrowser-dir-mode-abbrev-table' and `mpc-tagbrowser-dir-mode-syntax-table'

which more-or-less shadow mpc-tagbrowser-mode's corresponding tables.

In addition to any hooks its parent mode might have run,
this mode runs the hook `mpc-tagbrowser-dir-mode-hook', as the final or penultimate step
during initialization.

\{mpc-tagbrowser-dir-mode-map}
(defalias 'mpc-tagbrowser-dir-mode #[0 "\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\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
=\204R\326
\325C#\210\327!\210\330\f!\210
)\331\332!\207" [delay-mode-hooks major-mode mode-name mpc-tagbrowser-dir-mode-map mpc-tagbrowser-dir-mode-syntax-table mpc-tagbrowser-dir-mode-abbrev-table make-local-variable t mpc-tagbrowser-mode mpc-tagbrowser-dir-mode ("MPC-" mpc-tag-name) mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table run-mode-hooks mpc-tagbrowser-dir-mode-hook local-abbrev-table] 5 (#$ . 51335) nil])
#@49 Open or close the element at point.

(fn EVENT)
(defalias 'mpc-tagbrowser-dir-toggle #[257 "\301!\210\302 \303 {C\304!\305 \242\306\"\235\204)\307\242\306\"B#\210\202R\310\242\306\"\"\211\242\311P\240\210\307\312\313\314\315\316\317\320\321!\322\"\323\324%\"\"#\266\325 \207" [mpc-tag mpc-event-set-point line-beginning-position line-end-position intern mpc-proc process-get process-put delete "/" delq nil mapcar make-byte-code 257 "\301\300\242\"?\205\n\211\207" vconcat vector [string-prefix-p] 4 "\n\n(fn X)" mpc-tagbrowser-refresh] 17 (#$ . 52713) (list last-nonmenu-event)])
#@88 Name of the currently selected playlist, if any.
A value of t means the main playlist.
(defvar mpc-songs-playlist nil (#$ . 53326))
(make-variable-buffer-local 'mpc-songs-playlist)
#@51 Save current playlist under name NAME.

(fn NAME)
(defalias 'mpc-playlist-create #[257 "\300\301D!\210\302\303 \304\"\305!\205r\211q\210\306 )\207" [mpc-proc-cmd "save" mpc-proc-buffer mpc-proc Playlist buffer-live-p mpc-tagbrowser-refresh] 4 (#$ . 53513) "sPlaylist name: "])
#@40 Delete playlist named NAME.

(fn NAME)
(defalias 'mpc-playlist-destroy #[257 "\300\301D!\210\302\303 \304\"\305!\205r\211q\210\306 )\207" [mpc-proc-cmd "rm" mpc-proc-buffer mpc-proc Playlist buffer-live-p mpc-tagbrowser-refresh] 4 (#$ . 53800) (byte-code "\300\301\302\303!\304\305$C\207" [completing-read "Delete playlist: " mpc-cmd-list Playlist nil require-match] 5)])
#@59 Rename playlist OLDNAME to NEWNAME.

(fn OLDNAME NEWNAME)
(defalias 'mpc-playlist-rename #[514 "\300\301E!\210\302\303 \304\"\305!\205r\211q\210\306 )\207" [mpc-proc-cmd "rename" mpc-proc-buffer mpc-proc Playlist buffer-live-p mpc-tagbrowser-refresh] 6 (#$ . 54182) (byte-code "\302=\203	\204\303 \304 {\202\305\306\307\302!\310\311$\312\313\314\"!\211G\315U\203-\316\317!\2020D\207" [mpc-tag current-prefix-arg Playlist line-beginning-position line-end-position completing-read "Rename playlist: " mpc-cmd-list nil require-match read-string format-message "Rename `%s' to: " 0 error "Aborted"] 5)])
#@28 Show the current playlist.
(defalias 'mpc-playlist #[0 "\300\301!\210\302\303!\207" [mpc-constraints-push noerror mpc-constraints-restore nil] 2 (#$ . 54805) nil])
#@36 Add the selection to the playlist.
(defalias 'mpc-playlist-add #[0 "\300\301\302 \"\303!\210\304\305G\"\210\211\207" [mapcar car mpc-songs-selection mpc-cmd-add message "Appended %d songs"] 4 (#$ . 54975) nil])
#@46 Remove the selected songs from the playlist.
(defalias 'mpc-playlist-delete #[0 "\204\301\302!\210\303\304\305 \"\306\"\210\307 \210\310\311G\"\207" [mpc-songs-playlist error "The selected songs aren't part of a playlist" mapcar cdr mpc-songs-selection mpc-cmd-delete mpc-songs-refresh message "Deleted %d songs"] 4 (#$ . 55194) nil])
(defvar mpc-volume-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\305#\210\301\307\303#\210\301\310\305#\210\301\311\303#\210\211\207" [make-sparse-keymap define-key [down-mouse-1] ignore [mouse-1] mpc-volume-mouse-set [header-line mouse-1] [header-line down-mouse-1] [mode-line mouse-1] [mode-line down-mouse-1]] 5))
(defvar mpc-volume nil)
(put 'mpc-volume 'risky-local-variable t)
(defalias 'mpc-volume-refresh #[0 "\302\303\304\236A!!\305\306 \307\"\310!\205r\211q\210\311 )\207" [mpc-status mpc-volume mpc-volume-widget string-to-number volume mpc-proc-buffer mpc-proc status buffer-live-p force-mode-line-update] 4])
(defvar mpc-volume-step 5)
#@46 Change volume setting.

(fn &optional EVENT)
(defalias 'mpc-volume-mouse-set #[256 "\302!\211\211\3038\262\206\304!\262\242;\203;\211\211\3038\262\206$\304!\262@\211\3038\262\2064\304!\262AH\202Jr\305\211@\262!q\210\306!f)\307>\203T[\202U\310\311	\236A!\312\313\\^]\211U\203r\314\315\"\210\316 \202}\317\320D\321\"\210\314\322\"\207" [mpc-volume-step mpc-status event-start 7 posn-string window-buffer posn-point (9665 60) string-to-number volume 0 100 message "MPD volume already at %s%%" ding mpc-proc-cmd "setvol" mpc-status-refresh "Set MPD volume to %s%%"] 8 (#$ . 56219) (list last-nonmenu-event)])
#@27 

(fn VOL &optional SIZE)
(defalias 'mpc-volume-widget #[513 "\211\204\301\262\302\245_\303\304\305\306\307\310\311&\312\303\313\314\315\316E\306\317%\303\313\314\315\316		ZE\306\320%\312\303\321\305\306\322\310\323&\257\207" [mpc-volume-map 12.5 100.0 propertize "<" keymap face (:box (:line-width -2 :style pressed-button)) mouse-face (:box (:line-width -2 :style released-button)) " " "a" display space :width (:inverse-video t :box (:line-width -2 :style released-button)) (:box (:line-width -2 :style released-button)) ">" (:box (:line-width -2 :style pressed-button)) (:box (:line-width -2 :style released-button))] 16 (#$ . 56865)])
(defvar mpc-current-song nil)
(put 'mpc-current-song 'risky-local-variable t)
(defvar mpc-current-updating nil)
(put 'mpc-current-updating 'risky-local-variable t)
(defvar mpc-songs-format-description nil)
(put 'mpc-songs-format-description 'risky-local-variable t)
(defvar mpc-previous-window-config nil)
(defvar mpc-songs-mode-map (byte-code "\300 \301\302\303#\210\211\207" [make-sparse-keymap define-key [remap mpc-select] mpc-songs-jump-to] 5))
(defvar mpc-songpointer-set-visible nil)
#@148 Make song file name objects unique via hash consing.
This is used so that they can be compared with `eq', which is needed for
`text-property-any'.
(defvar mpc-songs-hashcons (make-hash-table :test 'equal :weakness t) (#$ . 58018))
#@13 

(fn NAME)
(defalias 'mpc-songs-hashcons #[257 "\301\"\206\f\302\211#\207" [mpc-songs-hashcons gethash puthash] 5 (#$ . 58255)])
(byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable mpc-songs-format funcall function #[0 "\300\207" [#1="%2{Disc--}%3{Track} %-5{Time} %25{Title} %20{Album} %20{Artist} %5{Date}"] 1 #1#] "Format used to display each song in the list of songs." :type string] 6)
(defalias 'mpc-songs-refresh #[0 "\306\307 \310\"\311!\203\200r\211q\210\312p!\313\314\315\316e\317 \"\317 \320 {B\313\313\2048\314\262\314\321\322\323!!\262\202\237\211\203\236\211@\211@\324=\203R\211AG\325U\203R\211A@\326\327\330\331\332\333\334\335!\336\"\337\340%A\"\"\204x@\324=\203t\314\262\211\202\224\204\204@\324=\204\214\341\342#\202\224\314\262\341\343#\262\210A\266\202\2029\210\344 \345\317 \320 \"iB\346 \210\203\265\202\273\347\350!\351\"\211\203\211@\352\353\236A\206\314\354!\\\262\355\n\"\210\356\357\313x[!\210\360c\210\361\317\315!\317 \362\363\364\236A!$\210\365\236\211\203\361\317\315!\317 \366\352A!$\210\210A\266\202\202\273\210\367!\210eb\210\370\371\372@!\373Q\374!\205$\375!\314#\203.\376A!\210\377p\315\"\211\203=\201@`\"\210\266eb\210@y\210\201AA\313\314#\204\\\201BA\313\314#\203d\201C \210\202geb\210\201D\304!\210\315U?\205{\357\201E!D)\266)\210\314\201F )\207" [inhibit-read-only mpc-songs-playlist mpc-songs-format mpc-separator-ol mpc-songs-totaltime mpc-songpointer-set-visible mpc-proc-buffer mpc-proc songs buffer-live-p mpc-constraints-get-current nil t 0 count-lines line-beginning-position line-end-position mpc-proc-buf-to-alists mpc-proc-cmd "playlistinfo" Playlist 1 apply mpc-union mapcar make-byte-code 257 "\301\300@\"\207" vconcat vector [mpc-cmd-find] 4 "\n\n(fn VAL)" mpc-intersection #[257 "\300\236\207" [file] 3 "\n\n(fn X)"] #[257 "\300\236\207" [file] 3 "\n\n(fn X)"] mpc-select-get-selection buffer-substring-no-properties erase-buffer sort copy-sequence #[514 "\300\301\236A\301\236A\"\211\250\205\211\302W\207" [mpc-compare-strings file 0] 6 "\n\n(fn SONG1 SONG2)"] string-to-number Time "0" mpc-format delete-char " " "\n" put-text-property mpc-file mpc-songs-hashcons file Pos mpc-file-pos mpc-select-restore re-search-forward "^" regexp-quote "$" overlayp overlay-end move-to-column get-buffer-window set-window-point search-forward search-backward beginning-of-line make-local-variable mpc-secs-to-time mpc-songpointer-refresh] 18])
#@74 Filter songs to those who include STRING in their metadata.

(fn STRING)
(defalias 'mpc-songs-search #[257 "\211G\302U?\205	\211\303	\205>\304\305\306 \307\"\211\2037\211@\211A\262\310\311\"\2030r\211q\210\312 \210)A\266\202\202\210\313 \210\202\f)\207" [mpc--song-search mpc--changed-selection 0 t nil process-get mpc-proc buffers buffer-local-value mpc-tag mpc-reorder mpc-songs-refresh] 6 (#$ . 60777) "sSearch for: "])
#@42 Turn off the current search restriction.
(defalias 'mpc-songs-kill-search #[0 "\300\301!\207" [mpc-songs-search nil] 2 (#$ . 61219) nil])
#@46 Return the list of songs currently selected.
(defalias 'mpc-songs-selection #[0 "\301\302 \303\"\304!\205Wr\211q\210\212\305\2038\211\2034\211@\306\307!\310\"\306\307!\311\"BB\262A\266\202\202\210\202Reb\210m\204R\306`\310\"\306`\311\"BB\262\312y\210\202;\211\237\262*\207" [mpc-select mpc-proc-buffer mpc-proc songs buffer-live-p nil get-text-property overlay-start mpc-file mpc-file-pos 1] 8 (#$ . 61363)])
#@98 Jump to song SONG-FILE; interactively, this is the song at point.

(fn SONG-FILE &optional POSN)
(defalias 'mpc-songs-jump-to #[513 "\302\303!\205
\304\305!\306Qrq\210eb\210\211\205#\307\310\311#\205#\312\313!)\204.\314!\202\211\2048\315\316!\202rq\210\307\310\311#)\204M\302\317D!\202\320\211@\262!r\321\322\323\324\325!\326\"\327$\216\330@\331\"\210\332!\205p\333!\212\334!b\210\335 )\205\216W\203\210\313\202\211\336\337\"_rq\210eb\210\340\341	\236A\206\237\342!y\210\211\203\251\211y\210\212\307\310\311#\205\270`\312\313!B)\212\343\310\311#\205\310`\312\313!B)\203\345\211\203\345@`Z`@ZW\203\341\202\352\211\202\352\206\352\211A\211\204\363\344\345!\210\302\346P!\266\203)\266\203*\262\207" [overlay-arrow-position mpc-status mpc-proc-cmd "playlist" "^\\([0-9]+\\):\\(?:file: \\)?" regexp-quote "$" re-search-forward nil t match-string 1 posn-set-point user-error "This song is not in the playlist" "play" internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord markerp marker-position posn-point line-beginning-position -1 count-lines string-to-number song "0" re-search-backward cl--assertion-failed sn "play "] 15 (#$ . 61797) (byte-code "\301!\302\211@\262!r\303\304\305\306\307!\310\"\311$\216\312@\313\"\210\314!b\210\315`\316\"*D\262\207" [last-nonmenu-event event-end internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord posn-point get-text-property mpc-file] 9)])
(defvar mpc-songs-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [mpc-songs-mode-hook variable-documentation put "Hook run after entering MPC-song mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp mpc-songs-mode-map definition-name mpc-songs-mode] 4)
(defvar mpc-songs-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [mpc-songs-mode-abbrev-table mpc-songs-mode-map variable-documentation put purecopy "Keymap for `mpc-songs-mode'." boundp mpc-songs-mode-syntax-table definition-name mpc-songs-mode (lambda (#1=#:def-tmp-var) (defvar mpc-songs-mode-syntax-table #1#)) make-syntax-table "Syntax table for `mpc-songs-mode'." (lambda (#1#) (defvar mpc-songs-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `mpc-songs-mode'." derived-mode-parent mpc-mode] 5)
#@494 Major mode derived from `mpc-mode' by `define-derived-mode'.
It inherits all of the parent's attributes, but has its own keymap,
abbrev table and syntax table:

  `mpc-songs-mode-map', `mpc-songs-mode-abbrev-table' and `mpc-songs-mode-syntax-table'

which more-or-less shadow mpc-mode's corresponding tables.

In addition to any hooks its parent mode might have run,
this mode runs the hook `mpc-songs-mode-hook', as the final or penultimate step
during initialization.

\{mpc-songs-mode-map}
(defalias 'mpc-songs-mode #[0 "\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\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
/=\204R\326
\325/C#\210\327!\210\330\f!\210
/\331\332!r\211q\210\333\334\335\336\337!\340\"\341$\216\3420\343\"\210\344 *\2621\306\345!\210\346\347\350\351#\352D%\306\353!\210\354+)\355\356!\207" [delay-mode-hooks major-mode mode-name mpc-songs-mode-map mpc-songs-mode-syntax-table mpc-songs-mode-abbrev-table make-local-variable t mpc-mode mpc-songs-mode "MPC-song" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 mpc-format self buffer-string header-line-format propertize " " display (space :align-to 0) (:eval (let ((hscroll (window-hscroll))) (with-temp-buffer (mpc-format mpc-songs-format 'self hscroll) (buffer-string)))) mode-line-format ("%e" mode-line-frame-identification mode-line-buffer-identification #("   " 0 3 (help-echo "mouse-1: Select (drag to resize)\nmouse-2: Make current window occupy the whole frame\nmouse-3: Remove current window from display")) mode-line-position #("  " 0 2 (help-echo "mouse-1: Select (drag to resize)\nmouse-2: Make current window occupy the whole frame\nmouse-3: Remove current window from display")) mpc-songs-totaltime mpc-current-updating #("   " 0 2 (help-echo "mouse-1: Select (drag to resize)\nmouse-2: Make current window occupy the whole frame\nmouse-3: Remove current window from display")) (mpc--song-search (:propertize ("Search=\"" mpc--song-search "\"") help-echo "mouse-2: kill this search" follow-link t mouse-face mode-line-highlight keymap (keymap (mode-line keymap (mouse-2 . mpc-songs-kill-search)))) (:propertize "NoSearch" help-echo "mouse-2: set a search restriction" follow-link t mouse-face mode-line-highlight keymap (keymap (mode-line keymap (mouse-2 . mpc-songs-search)))))) run-mode-hooks mpc-songs-mode-hook local-abbrev-table mpc-songs-format mpc-songs-format-description] 7 (#$ . 64625) nil])
#@12 

(fn POS)
(defalias 'mpc-songpointer-set #[257 "\302p\303\"\211\205'\206'\304	!\205'\305	!p=\205'\306!	X\205'	\307!W\310\301!\2044\311\301!\210\312 	\313\223\210\211\205V\205V\306!V\204R\307\303\"Y\205V\314\"\207" [mpc-songpointer-set-visible overlay-arrow-position get-buffer-window t markerp marker-buffer window-start window-end local-variable-p make-local-variable make-marker nil set-window-point] 7 (#$ . 67403)])
(defalias 'mpc-songpointer-refresh #[0 "\301\302 \303\"\304!\205Ar\211q\210\305ed\306\307\310\236A!$\211\2050\212\211b\210\305\311\312!d\306\307\310\236A!$)\211\203;\313\314\315\"\202>\316!\266\202)\207" [mpc-status mpc-proc-buffer mpc-proc songs buffer-live-p text-property-any mpc-file mpc-songs-hashcons file line-beginning-position 2 mpc-proc-cmd "playlist" mpc-songpointer-refresh-hairy mpc-songpointer-set] 9])
#@19 

(fn SIZE PLBUF)
(defalias 'mpc-songpointer-context #[514 "r\211q\210eb\210\301\302\236A\206\303!y\210\304\211\212\305\211W\2038\211\306\307\304\310#\2030\311\312\313!!B\262\210\211T\262\202\266)\313y\210\305\211W\203`\211\314\307\304\310#\203X\311\312\313!!B\262\210\211T\262\202@\266GW\205m\211GW?\205v\237\237B\266\202)\207" [mpc-status string-to-number song "0" nil 0 re-search-backward "^[0-9]+:\\(.*\\)" t mpc-songs-hashcons match-string 1 re-search-forward] 11 (#$ . 68277)])
#@20 

(fn CONTEXT POS)
(defalias 'mpc-songpointer-score #[514 "\300b\210@\211\203'\211@\301y\300U\203 \302`\303\"=\203 T\262A\266\202\202\210b\210A\211\203N\211@\304y\300U\203G\302`\303\"=\203GT\262A\266\202\202-\210\211\207" [0 -1 get-text-property mpc-file 1] 8 (#$ . 68796)])
(defalias 'mpc-songpointer-refresh-hairy #[0 "p\301\302 \303\"\304!\205\215r\211q\210\305\306\307ed\310\311\312\236A!$\305\212\211b\210\307\313\314!d\310\311\312\236A!$)\211\262\203\207\315\"\211W\204\203\211V\203P\262\211\262\202\203W\204\203T\262\316	\"\211\204mS\262\202\202\211\262\315\"\262\212b\210\313\305!\262)\210\210\202\317!\266\205)\207" [mpc-status mpc-proc-buffer mpc-proc songs buffer-live-p 0 (nil) text-property-any mpc-file mpc-songs-hashcons file line-beginning-position 2 mpc-songpointer-score mpc-songpointer-context mpc-songpointer-set] 14])
(defalias 'mpc-current-refresh #[0 "\303 \210\304\236\205\n\305\30614\307\236\205.\310\311\312\236A!\310\313\236A\314\315\236A\316\317\236A\320\260	\2110\2028\210\2029\210\321\322!\207" [mpc-status mpc-current-updating mpc-current-song mpc-status-buffer-refresh updating_db " Updating-DB" (error) file " " mpc-secs-to-time time Title " (" Artist " / " Album ")" force-mode-line-update t] 9])
(defalias 'mpc-songs-buf #[0 "\300\301 \302\"\303!\203\211\202$r\304\305!\211\262q\210\300\301 \302#\210\306 \210)\211\207" [mpc-proc-buffer mpc-proc songs buffer-live-p get-buffer-create "*MPC-Songs*" mpc-songs-mode] 5])
#@35 Tell MPD to refresh its database.
(defalias 'mpc-update #[0 "\300 \207" [mpc-cmd-update] 1 (#$ . 70337) nil])
#@27 Quit Music Player Daemon.
(defalias 'mpc-quit #[0 "\302\303\205\304\305\"\"\302\306\"\307 \310\211\2034\211@\211\203-\311!>\204-\311!B\262A\266\202\202\210\211\203W\203Wrq\210	)\203W\312@!\210\313rq\210	)!\210\202\231\211\211\203\230\211@\314\315!\211\203{\211@\316!	>\204t\310\262A\266\202\202b\210\211\203\220\3171\213\320!0\202\217\210\202\220\210\210A\266\202\202X\210\321\322\"\210\323 \210\205\250\324!\207" [mpc-proc mpc-previous-window-config mapcar cdr process-get buffers #[257 "\300\301\"\207" [get-buffer-window 0] 4 "\n\n(fn BUF)"] mpc-songs-buf nil window-frame select-frame set-window-configuration t window-list window-buffer (error) delete-frame mapc kill-buffer mpc-status-stop delete-process] 12 (#$ . 70453) nil])
#@63 Toggle consume mode: removing played songs from the playlist.
(defalias 'mpc-toggle-consume #[0 "\300\301\302 \236A\303\230\203\304\202\303!\207" [mpc-cmd-consume consume mpc-cmd-status "0" "1"] 3 (#$ . 71240) nil])
#@21 Toggle repeat mode.
(defalias 'mpc-toggle-repeat #[0 "\300\301\302 \236A\303\230\203\304\202\303!\207" [mpc-cmd-repeat repeat mpc-cmd-status "0" "1"] 3 (#$ . 71466) nil])
#@21 Toggle single mode.
(defalias 'mpc-toggle-single #[0 "\300\301\302 \236A\303\230\203\304\202\303!\207" [mpc-cmd-single single mpc-cmd-status "0" "1"] 3 (#$ . 71647) nil])
#@49 Toggle shuffling of the playlist (random mode).
(defalias 'mpc-toggle-shuffle #[0 "\300\301\302 \236A\303\230\203\304\202\303!\207" [mpc-cmd-random random mpc-cmd-status "0" "1"] 3 (#$ . 71828) nil])
#@42 Stop playing the current queue of songs.
(defalias 'mpc-stop #[0 "\300 \210\301 \210\302 \207" [mpc-cmd-stop mpc-cmd-clear mpc-status-refresh] 1 (#$ . 72038) nil])
#@16 Pause playing.
(defalias 'mpc-pause #[0 "\300\301!\207" [mpc-cmd-pause "1"] 2 (#$ . 72208) nil])
#@17 Resume playing.
(defalias 'mpc-resume #[0 "\300\301!\207" [mpc-cmd-pause "0"] 2 (#$ . 72311) nil])
#@94 Read a seek time.
Returns a string suitable for MPD "seekcur" protocol command.

(fn PROMPT)
(defalias 'mpc-read-seek #[257 "\301\302\211\211\211\211\303&\304\305\306Q\307\310Q\302\211\302\211\311\206 \312\313Q\302\303\314#)\266\203\211\203:\315\316#\202;\262\266\202\314\317\206G\312\320Q\"\203V\315\316\225\"\202W\266\202\266\203\262\321!\322>\203u\323\321!!\262\315\324\"\262\314\325\326Q\"\203\246\327\330\331\332\333\n\"!_\334\331\332\335\"\206\225\336!_\331\332\324\"\206\241\336!#\202\336\314\325\326Q\"\203\305\334\331\332\335	\"!_\331\332\324	\"!\\\202\336\314\325\326Q\"\203\333\331\332\324\"!\202\336\337\340!\262\341!\262\211\204\355\202\360\211P\207" [inhibit-changing-match-data read-from-minibuffer nil t "\\(?1:[[:digit:]]+\\(?:\\.[[:digit:]]*\\)?\\)" "\\(?2:[[:digit:]]+\\):" "?" "\\(?3:[[:digit:]]+\\):\\(?:" "?\\|:\\)" "\\(?:" "[ 	\n
]+" "\\)\\'" string-match substring 0 "\\`\\(?:" "\\)" string-to-char (43 45) string 1 "^" "$" + 3600 string-to-number match-string 3 60 2 "" user-error "Invalid time" number-to-string] 19 (#$ . 72416)])
#@38 Seek within current track.

(fn POS)
(defalias 'mpc-seek-current #[257 "\300!\207" [mpc-cmd-seekcur] 3 (#$ . 73551) (byte-code "\300\301!C\207" [mpc-read-seek "Position to go ([+-][[H:]M:]seconds): "] 2)])
#@60 Toggle between play and pause.
If stopped, start playback.
(defalias 'mpc-toggle-play #[0 "\300\301 \236A\302\235\203
\303 \207\300\301 \236A\304\235\203\305 \207\306 \207" [state mpc-cmd-status ("stop") mpc-cmd-play ("pause") mpc-resume mpc-pause] 2 (#$ . 73764) nil])
#@37 Start playing whatever is selected.
(defalias 'mpc-play #[0 "\300\301 \236A\302\235\203
\303 \207\304 \210\305 \203\"\300\301 \236A\306\235\205%\307 \207\310\311!\207" [state mpc-cmd-status ("pause") mpc-resume mpc-cmd-clear mpc-playlist-add ("stop") mpc-cmd-play user-error "Don't know what to play"] 2 (#$ . 74043) nil])
#@37 Jump to the next song in the queue.
(defalias 'mpc-next #[0 "\300\301!\210\302 \207" [mpc-proc-cmd "next" mpc-status-refresh] 2 (#$ . 74375) nil])
#@69 Jump to the beginning of the current song, or to the previous song.
(defalias 'mpc-prev #[0 "\301\236A\211\203\302!\303V\203\304\305\306\236A\303E!\210\202!\304\307!\210\310 \207" [mpc-status time string-to-number 0 mpc-proc-cmd "seekid" songid "previous" mpc-status-refresh] 5 (#$ . 74528) nil])
(defvar mpc-last-seek-time '(0 . 0))
#@40 Fast forward.

(fn EVENT SPEEDUP STEP)
(defalias 'mpc--faster #[771 "\302\303!!\245\304\305!>\204[\306 \211@Z\211\307_W?\205V\211\310W\203(	\202*\311 \312\236A\211\205C\313W\203=A\202C\314\315\236A!\\\211\262B\316\317E\320\"\266\203\266\202\202\231\311 \312\236A\211\205k\314\315\236A!C\321\322\323\324\325\326\327\f\n\n#\330\"\331$#\332\333 \211\262\n!\211\242\334=\262\204\200\335!\262\266\202\262\207" [mpc-last-seek-time mpc-status abs float down event-modifiers float-time 0.9 1.0 mpc-cmd-status songid 1.0 string-to-number time mpc-proc-cmd "seekid" mpc-status-refresh run-with-timer t make-byte-code 0 "\303\304\301\302\211\242\300\\\240E\305\"\207" vconcat vector [mpc-proc-cmd "seekid" mpc-status-refresh] 6 event-basic-type read-event mouse-movement cancel-timer] 18 (#$ . 74876) (list last-nonmenu-event)])
(defvar mpc--faster-toggle-timer nil)
(defalias 'mpc--faster-stop #[0 "\205\301!\210\302\211\207" [mpc--faster-toggle-timer cancel-timer nil] 2])
(defalias 'mpc--faster-toggle-refresh #[0 "\301\236A\302\232\205\303 \207" [mpc-status state "stop" mpc--faster-stop] 2])
(defalias 'mpc--songduration #[0 "\301\302\236A\303\304\"\204\305\306\"\202\307\310\225\"\262!\207" [mpc-status string-to-number time string-match ":" error "Unexpected time format %S" substring 0] 5])
(defvar mpc--faster-toggle-forward nil)
(defvar mpc--faster-acceleration 0.5)
#@21 

(fn SPEEDUP STEP)
(defalias 'mpc--faster-toggle #[514 "C\203\302 \202E\303 \210\304 \210\305C\305C\305C\305C\305C\306\307\310\311\312\n\n\n\n\n\n&\313\"\314$\307V\211 \210\315\316\317#\211\262\266\205\207" [mpc--faster-toggle-timer mpc--faster-toggle-forward mpc--faster-stop mpc-status-refresh mpc-proc-sync nil make-byte-code 0 "\306 \236A\305\242\232\203\305\242\301\242\232\204\301\242\262\211\204!\307 \202\337\301\242\232\204B\301\240\210\303\310\311 \236A!\240\210\302\312 \240\210\304\313 \240\202\337\303\242\302\242Y\203a!\203a\314 \236A\315\232?\205\337\316\317\320\"\202\337\303\242\321X\203\206!\204\206\305\301\242\240\210\316\322\323\321\324\325\326\301\302\303\304$\327\"\330$\"\202\337\300\211\242\"\\\240\210\331\300\242\332\333\304\242!!_!\211\334X\203\242\334\262\304\335\304\242\300\242\245\"\240\210!\204\266\211[\262\303\302\242\303\242\\^\240\210\303\242\302\242Y?\205\335\3361\332\316\337\301\242\303\242E\320\"0\202\335\210\320 \262\207" vconcat vector [songid mpc--faster-stop string-to-number time mpc--songduration current-time state "play" mpc-proc-cmd "next" mpc-status-refresh 0 "previous" make-byte-code "\304\305\306\307\310\311\300\301\302\303$\312\"\313$!\207" vconcat vector [mpc-status-refresh make-byte-code 0 "\300\305\f\236A\240\210\302\301\306 \240\240\210\303\307 \240\210\310\311\300\242\302\242E!\207" vconcat vector [mpc-status songid mpc--songduration current-time mpc-proc-cmd "seekid"] 4] 10 truncate float-time time-since 1 time-add (mpc-proc-error) "seekid" mpc-status mpc--faster-toggle-forward mpc--faster-acceleration] 12 run-with-timer t 0.3] 19 (#$ . 76302)])
(defvar mpc-faster-speedup 8)
#@27 Fast forward.

(fn EVENT)
(defalias 'mpc-ffwd #[257 "\301\302\"\207" [mpc-faster-speedup mpc--faster-toggle 1] 4 (#$ . 78010) (list last-nonmenu-event)])
#@26 Fast rewind.

(fn EVENT)
(defalias 'mpc-rewind #[257 "\301\302\"\207" [mpc-faster-speedup mpc--faster-toggle -1] 4 (#$ . 78171) (list last-nonmenu-event)])
#@24 

(fn &optional EVENT)
(defalias 'mpc-play-at-point #[256 "\300!\210\301 \207" [mpc-select mpc-play] 3 (#$ . 78334) (list last-nonmenu-event)])
#@36 DWIM for a drag EVENT.

(fn EVENT)
(defalias 'mpc-drag-n-drop #[257 "\302!\303!\304\211@\262!\304\211@\262!rq\210\305!b\210\306`\307\"\203)\310 \202]\311\312!\203C\306`\313\"\203C\306`\313\"\306`\314\"BC\202]\203Z\315 \204Z\316\317\320\321 \322 {\"\"\202]\323\324!)rq\210\305!b\210\325=\203\245\315 \204zn\203\200l\203\200\323\326!\202\205\321 \322 {\327\316\330\"\"\210\331\332G#\210\211\325\333 \236A\235\205\240\334 \262\202$\311\312!\203!	\204\266\323\335!\210\202=\203\323\306`\314\"\336\316\337\"	#\210\331\340G\"\266\202\306`\314\"	;\203\343\320\325	\"\202\346\341\342!\327\316\330\"	\"\210\336\343G\344\211W\203\211\211G\\B\262\210\211T\262\202\363\266\211\237\262	#\210\331\345G\"\266\334 \202$\323\346!)\207" [mpc-tag mpc-songs-playlist event-start event-end window-buffer posn-point get-text-property mpc-select mpc-songs-selection derived-mode-p mpc-songs-mode mpc-file mpc-file-pos mpc-tagbrowser-all-p mapcar #[257 "\300\236AC\207" [file] 3 "\n\n(fn SONG)"] mpc-cmd-find line-beginning-position line-end-position error "Unsupported starting position for drag'n'drop gesture" Playlist "Not a playlist" mpc-cmd-add car message "Added %d songs to %s" mpc-constraints-get-current mpc-songs-refresh "The songs shown do not belong to a playlist" mpc-cmd-move cdr "Moved %d songs" mpc-proc-cmd-to-alist "playlist" nil 0 "Added %d songs" "Unsupported drag'n'drop gesture"] 15 (#$ . 78485) "e"])
(byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable mpc-frame-alist funcall function #[0 "\300\207" [((name . "MPC") (tool-bar-lines . 1) (font . "Sans"))] 1] "Alist of frame parameters for the MPC frame." :type alist] 6)
#@27 Main entry point for MPC.
(defalias 'mpc #[0 "\303 \304\305\"\211\203\306!\210\202x\307 \204\310 \2030\3111(\312\313!!0\202,\210\202<\210\202<rq\210\314\301!\210\315 )\316 \317 \n\211\204I\320\321!\210\322\"\210\323\324\"\210\325 \210\322\326\211A\262\242!\"\210\323\324\"\210\211\203v\317\327\330#\262\202W\266\331 \266\332 \210\333 \207" [mpc-frame-alist mpc-previous-window-config mpc-browser-tags mpc-songs-buf get-buffer-window 0 select-window window-dedicated-p window-minibuffer-p (error) select-frame make-frame make-local-variable current-window-configuration selected-window split-window error "Need at least one entry in `mpc-browser-tags'" set-window-buffer set-window-dedicated-p soft mpc-status-buffer-show mpc-tagbrowser-buf nil horiz balance-windows-area mpc-songs-refresh mpc-status-refresh] 10 (#$ . 80206) (byte-code "\203\302\303\304\211	$\304\207" [current-prefix-arg mpc-host read-string "MPD host and port: " nil] 5)])
(provide 'mpc)

Youez - 2016 - github.com/yon3zu
LinuXploit