;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\302\303\304\305\306\307%\210\310\311\312\313\314DD\315\316\317%\210\310\320\312\313\321DD\322\316\313%\210\310\323\312\313\324DD\325\316\326%\210\310\327\312\313\330DD\331\316\332%\210\310\333\312\313\334DD\335\316\336%\207" [require chess-game custom-declare-group chess-sound nil "Code to play specific sounds when announcing chess moves." :group chess custom-declare-variable chess-sound-directory funcall function #[0 "\302\303\304\206 !\"\207" [load-file-name buffer-file-name expand-file-name "sounds" file-name-directory] 4] "The directory where chess sounds can be found." :type directory chess-sound-play-function #[0 "\300\301!\203\301\207\302\207" [fboundp play-sound-file chess-sound-play] 2] "Non-nil if chess-sound should play sounds ." chess-sound-program #[0 "\300\301!\206 \300\302!\207" [executable-find "esdplay" "play"] 2] "Program used to play sounds, if `play-sound-file' does not exist." file chess-sound-args #[0 "\300\207" [nil] 1] "Additional args to pass to `chess-sound-program', before the .WAV file." (repeat string) chess-sound-my-moves #[0 "\300\207" [nil] 1] "If non-nil, plays the move.wav sound whenever you make a move." boolean] 6) #@13 (fn FILE) (defalias 'chess-sound #[257 "\3021\303\304P \"!0\207\210\305\207" [chess-sound-play-function chess-sound-directory (error) expand-file-name ".wav" nil] 5 (#$ . 1288)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put chess-sound speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@13 (fn FILE) (defalias 'chess-sound-play #[257 "\302\303\304\211\211\305 C\"&\207" [chess-sound-program chess-sound-args apply call-process nil append] 10 (#$ . 1616)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put chess-sound-play speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@30 (fn GAME EVENT &rest ARGS) (defalias 'chess-sound-handler #[642 "\304\267\202\343\305!\205\344\306\307\310\"!\205\344 \311=\206\"\n\205\"\312\n!\207\313\211\211\204.\314\315!\210\211\211\2047\314\315!\210\3168\262GS\262S\"\211\211\211:\205W\211@\317!\205U\211G\320U\262\262\204d\321\322\323\324E\"\210\211@\262\325\326\"\211\317!\205x\211G\320U\262\204\205\321\322\327\330E\"\210\211\331H\262=\203\244 \205\342\332\3331\241 \307\334P\"!0\207\210\335\207\211\211:\205\271\211@\317!\205\267\211G\320U\262\262\204\306\321\322\323\324E\"\210\211\211\211:\205\333\211@\317!\205\331\211G\320U\262\262\204\350\321\322\323\324E\"\210\211A\262\211<\205\372\211@9?\205\372\211@\266\202\211\211:\205\211@\317!\205\211G\320U\262\262\204\321\322\323\324E\"\210\211\211\211:\2053\211@\317!\2051\211G\320U\262\262\204@\321\322\323\324E\"\210\211A\262\211<\205S\211@9?\205S\211A@\266\202\205\221\317!\205f\211G\320U\262\204s\321\322\327\330E\"\210\211\250\203\204\211\336Y\203\204\211\337X\204\214\321\322\340\341E\"\210H\266\202\205\315\317!\205\242\211G\320U\262\204\257\321\322\327\330E\"\210\211\250\203\300\211\336Y\203\300\211\337X\204\310\321\322\340\341E\"\210H\266\202\342\343\"\342\344\"\203\364\345\3331\355 \307\334P\"!0\266\202;\210\335\266\202;\342\346\"\203\347\3331 \307\334P\"!0\266\202;\210\335\266\202;\203\203\350U\203\203\211\203E\351!\3331A \307\334P\"!0\266\202E\210\335\266\352\353\227\"\3331\\ \307\334P\"!0\266\202`\210\335\266\211\250\203r\211\336Y\203r\211\337X\204z\321\322\354\341E\"\210\355\211\250\203\215\211\336Y\203\215\211\337X\204\225\321\322\356\341E\"\210\357\360\"\262\211\250\203\254\211\336Y\203\254\211\361X\204\264\321\322\362\363E\"\210\211\364\\\262\211\250\203\313\211\336Y\203\313\211\337X\204\323\321\322\365\341E\"\210\211\360\245\262\211\250\203\351\211\336Y\203\351\211\361X\204\361\321\322\366\367E\"\210\361Z\370\\\262\"\262\3331  \307\334P\"!0\266\202;\210\335\266\202;\203;\203;\203;\211\203=\351!\33319 \307\334P\"!0\266\202=\210\335\266\352\353\227\"\3331T \307\334P\"!0\266\202X\210\335\266\371\3331k \307\334P\"!0\266\202o\210\335\266\352\353\227\"\3331\206 \307\334P\"!0\266\202\212\210\335\266\211\250\203\234\211\336Y\203\234\211\337X\204\244\321\322\354\341E\"\210\355\211\250\203\267\211\336Y\203\267\211\337X\204\277\321\322\356\341E\"\210\357\360\"\262\211\250\203\326\211\336Y\203\326\211\361X\204\336\321\322\362\363E\"\210\211\364\\\262\211\250\203\365\211\336Y\203\365\211\337X\204\375\321\322\365\341E\"\210\211\360\245\262\211\250\203\211\336Y\203\211\361X\204\321\322\366\367E\"\210\361Z\370\\\262\"\262\33317 \307\334P\"!0\266\202;\210\335\266\342\372\"\203b\352\353\342 \372\"\227\"\3331^ \307\334P\"!0\266\202b\210\335\266\342\373\"\203\201\374\3331} \307\334P\"!0\266\202\201\210\335\266\342\375\"\203\240\376\3331\234 \307\334P\"!0\266\202\240\210\335\266\342\377\"\203\301\201@\3331\275 \307\334P\"!0\266\202\301\210\335\266\342\201A\"\205\340\201B\3331\334 \307\334P\"!0\207\210\335\262\266\205\207\335\207" [chess-sound-directory chess-sound-play-function chess-sound-program chess-sound-my-moves #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (initialize 6 move 35)) file-directory-p file-readable-p expand-file-name "move.wav" play-sound-file file-executable-p chess-game-ply cl--assertion-failed game 3 vectorp 75 signal wrong-type-argument chess-ply ply chess-game-data my-color chess-pos position 70 "move" (error) ".wav" nil 0 63 (integer 0 63) index chess-ply-keyword :which :castle "O-O" :long-castle "O-O-O" 32 char-to-string format "%c_" (integer 0 63) string (integer 0 63) mod 8 7 (integer 0 7) file 97 (integer 0 63) (integer 0 7) rank 49 "x_" :promote :en-passant "enpassant" :check "+_" :checkmate "#_" :stalemate "smate"] 19 (#$ . 1936)]) (provide 'chess-sound)