;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\303\304\305\"\207" [require chess-game chess-message chess-message-catalog english ((queen . "queen") (king . "king") (bishop . "bishop") (knight . "knight") (rook . "rook") (pawn . "pawn") (short-castle . "short castle") (long-castle . "long castle") (check . "check") (checkmate . "checkmate") (stalemate . "stalemate") (en-passant . "on possont") (promote . "promote to %s") (piece-moves . "%s to %s") (piece-takes . "%s takes %s at %s"))] 3) (defvar chess-announce-names '((113 . queen) (107 . king) (98 . bishop) (110 . knight) (114 . rook) (112 . pawn))) (byte-code "\300\301\302\"\210\300\303\302\"\207" [autoload festival-start-process "festival" festival-kill-process] 3) #@236 These three functions are used to for announcing moves. The first is called one start of the announcer. The second is called with the string to announce each time. The third is called to shutdown the announcer process, if necessary. (defvar chess-announce-functions (byte-code "\300\301!\203\302\303!\204\304\305!\203\306\207\307\207\310\207" [executable-find "festival" featurep emacspeak fboundp festival-say-string (festival-start-process festival-say-string festival-kill-process) (ignore chess-announce-festival ignore) (ignore message ignore)] 2) (#$ . 808)) #@13 (fn CHAR) (defalias 'chess-piece-name #[257 "\301\227\236A!\207" [chess-announce-names chess-string] 4 (#$ . 1387)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put chess-piece-name speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@30 (fn GAME EVENT &rest ARGS) (defalias 'chess-announce-handler #[642 "\302\267\202\310@ \210\303\207\3048 \207\305\211\211\204\306\307!\210\211\211\204%\306\307!\210\3108\262GS\262S\"\211\211\211:\205E\211@\311!\205C\211G\312U\262\262\204R\313\314\315\316E\"\210\211@\262\317\320\"\211\311!\205f\211G\312U\262\204s\313\314\321\322E\"\210\211\323H\262=?\205\300\211\211:\205\222\211@\311!\205\220\211G\312U\262\262\204\237\313\314\315\316E\"\210\211\211\211:\205\264\211@\311!\205\262\211G\312U\262\262\204\301\313\314\315\316E\"\210\211A\262\211<\205\323\211@9?\205\323\211@\266\202\211\211:\205\352\211@\311!\205\350\211G\312U\262\262\204\367\313\314\315\316E\"\210\211\211\211:\205\f\211@\311!\205\n\211G\312U\262\262\204\313\314\315\316E\"\210\211A\262\211<\205,\211@9?\205,\211A@\266\202\205j\311!\205?\211G\312U\262\204L\313\314\321\322E\"\210\211\250\203]\211\324Y\203]\211\325X\204e\313\314\326\327E\"\210H\266\202\205\246\311!\205{\211G\312U\262\204\210\313\314\321\322E\"\210\211\250\203\231\211\324Y\203\231\211\325X\204\241\313\314\326\327E\"\210H\266\202\330\331\"\332\203\265\333!\262\330\334\"\203\305\335\336!\262\202]\330\337\"\203\325\335\340!\262\202]\203\230\203\230\341U\203\230\203\230\335\342\335\227 \236A!\262\211\250\203\211\324Y\203\211\325X\204\313\314\343\327E\"\210\344\211\250\203#\211\324Y\203#\211\325X\204+\313\314\345\327E\"\210\346\347\"\262\211\250\203B\211\324Y\203B\211\350X\204J\313\314\351\352E\"\210\211\353\\\262\211\250\203a\211\324Y\203a\211\325X\204i\313\314\354\327E\"\210\211\347\245\262\211\250\203\211\324Y\203\211\350X\204\207\313\314\355\356E\"\210\350Z\357\\\262\"\262#P\262\202]\203]\203]\203]\335\360\335\227 \236A!\262\335\227 \236A!\262 \211\250\203\320\211\324Y\203\320\211\325X\204\330\313\314\343\327E\"\210\344\211\250\203\353\211\324Y\203\353\211\325X\204\363\313\314\345\327E\"\210\346\347\"\262\211\250\203\n\211\324Y\203\n\211\350X\204\313\314\351\352E\"\210\211\353\\\262\211\250\203)\211\324Y\203)\211\325X\2041\313\314\354\327E\"\210\211\347\245\262\211\250\203G\211\324Y\203G\211\350X\204O\313\314\355\356E\"\210\350Z\357\\\262\"\262$P\262\330\361\"\211\203x\362\335\363\335\227 \236A!\262\"Q\262\210\330\364\"\203\211\211\362\335\365!Q\262\330\366\"\203\231\211\362\335\367!Q\262\330\370\"\203\251\211\362\335\371!Q\262\330\372\"\203\271\211\362\335\373!Q\262A@!\266\206\207A@@!\207\332\207" [chess-announce-functions chess-announce-names #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (initialize 6 destroy 12 move 17 kibitz 961)) t 2 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 0 63 (integer 0 63) index chess-ply-keyword :which nil char-to-string :castle chess-string short-castle :long-castle long-castle 32 piece-moves (integer 0 63) string (integer 0 63) mod 8 7 (integer 0 7) file 97 (integer 0 63) (integer 0 7) rank 49 piece-takes :promote ", " promote :en-passant en-passant :check check :checkmate checkmate :stalemate stalemate] 25 (#$ . 1656)]) #@201 Announce the given text using festival. This is less efficient than festival.el, which should be installed if possible. Debian installs it automatically when you apt-get install festival. (fn TEXT) (defalias 'chess-announce-festival #[257 "\300\301\302\303\304$\211\205\305!\306=\205\307\310P\"\210\311!\207" [start-process "announce" nil "/usr/bin/festival" "--tts" process-status run process-send-string "\n" process-send-eof] 6 (#$ . 4965)]) (provide 'chess-announce)