[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/greader 5084a46 40/76: greader.el:
From: |
Stefan Monnier |
Subject: |
[elpa] externals/greader 5084a46 40/76: greader.el: |
Date: |
Fri, 8 Feb 2019 15:26:53 -0500 (EST) |
branch: externals/greader
commit 5084a468caaa4cafb9eb6adf6fb04a568b90d5e3
Author: Michelangelo Rodriguez <address@hidden>
Commit: Michelangelo Rodriguez <address@hidden>
greader.el:
Function greader-change-backend added.
---
greader.el | 35 +++++++++++++++++++++++++++++++++--
1 file changed, 33 insertions(+), 2 deletions(-)
diff --git a/greader.el b/greader.el
index ed71e65..078f60e 100644
--- a/greader.el
+++ b/greader.el
@@ -1,5 +1,5 @@
;;; greader.el --- gnamù reader, a reader with espeak tts -*-
lexical-binding: t; -*-
-;Copyright (C) 2019 by Michelangelo Rodriguez
+ ;Copyright (C) 2019 by Michelangelo
Rodriguez
;; Copyright (C) 2017 Michelangelo Rodriguez
;; package-requires: ((emacs "25"))
;; Author: Michelangelo Rodriguez <address@hidden>
@@ -56,6 +56,36 @@
(defun greader-load-backends ()
"loads backends taken from greader-backends."
(mapcar 'require greader-backends))
+(require 'seq)
+(defun greader-change-backend (&optional backend)
+ "changes back-end. if backend is specified, it changes to backend, else it
cycles throwgh available back-ends."
+ (interactive
+ (list
+ (if current-prefix-arg
+ (setq backend (read-from-minibuffer "backend: ")))))
+ (if (functionp backend)
+ (if (memq backend greader-backends)
+ (setq greader-actual-backend backend)
+ (error "%s" "The function you have specified is not a greader's
back-end.")))
+ (if (stringp backend)
+ (progn
+ (let ((result nil))
+ (dolist (elem greader-backends result)
+ (if
+ (equal
+ (get elem 'greader-backend-name) backend)
+ (setq result elem)))
+ (if result
+ (setq greader-actual-backend result)
+ (error "%s" "the function name you have specified is not a
greader's back-end.")))))
+ (if (not backend)
+ (let
+ ((index (seq-position greader-backends greader-actual-backend))
+ (len (length greader-backends)))
+ (if
+ (= (+ index 1) len)
+ (setq-local greader-actual-backend (elt greader-backends 0))
+ (setq greader-actual-backend (elt greader-backends (+ index 1)))))))
(defun greader-call-backend (command &optional arg &rest ignore)
(if arg
(funcall greader-actual-backend command arg)
@@ -197,6 +227,7 @@ For example, if you specify a function that gets a
sentence, you should specify
(define-key greader-reading-map (kbd "+") 'greader-inc-rate)
(define-key greader-reading-map (kbd "-") 'greader-dec-rate)
(define-key greader-map (kbd "C-r f") 'greader-get-attributes)
+(define-key greader-map (kbd "C-r b") 'greader-change-backend)
(define-minor-mode greader
nil
nil
@@ -210,7 +241,7 @@ For example, if you specify a function that gets a
sentence, you should specify
(progn
(cancel-timer greader-auto-tired-timer)
(greader-toggle-timer))))
-(greader-load-backends))
+ (greader-load-backends))
(defun greader-read-synchronous (txt)
"sends string to the tts."
- [elpa] externals/greader b984183 14/76: greader-espeak.el:, (continued)
- [elpa] externals/greader b984183 14/76: greader-espeak.el:, Stefan Monnier, 2019/02/08
- [elpa] externals/greader 2c81690 18/76: greader-speechd.el:, Stefan Monnier, 2019/02/08
- [elpa] externals/greader cf2681c 21/76: greader-speechd.el:, Stefan Monnier, 2019/02/08
- [elpa] externals/greader 08b0ebb 25/76: greader-speechd.el:, Stefan Monnier, 2019/02/08
- [elpa] externals/greader 4b5bfb6 33/76: greader.el:, Stefan Monnier, 2019/02/08
- [elpa] externals/greader cf490a5 31/76: function greader-speechd--find-executable not used for now, in any case we keep it in source for now., Stefan Monnier, 2019/02/08
- [elpa] externals/greader a79c95d 29/76: greader-speechd.el:, Stefan Monnier, 2019/02/08
- [elpa] externals/greader 7d01a11 30/76: Cleanup and bug corrections., Stefan Monnier, 2019/02/08
- [elpa] externals/greader 8076fb8 32/76: greader-espeak.el:, Stefan Monnier, 2019/02/08
- [elpa] externals/greader 365ecb6 41/76: greader-speechd.el:, Stefan Monnier, 2019/02/08
- [elpa] externals/greader 5084a46 40/76: greader.el:,
Stefan Monnier <=
- [elpa] externals/greader 0c06007 36/76: greader-speechd.el:, Stefan Monnier, 2019/02/08
- [elpa] externals/greader 081c7c4 34/76: greader-speechd.el:, Stefan Monnier, 2019/02/08
- [elpa] externals/greader 5af124e 37/76: greader-espeak.el:, Stefan Monnier, 2019/02/08
- [elpa] externals/greader 5964436 35/76: first functional version of greader with back-ends!, Stefan Monnier, 2019/02/08
- [elpa] externals/greader 5a4b548 39/76: greader-espeak.el: greader-backend-name property added to greader-espeak., Stefan Monnier, 2019/02/08
- [elpa] externals/greader 9dcdc83 38/76: bugfixes, Stefan Monnier, 2019/02/08
- [elpa] externals/greader b2cc418 42/76: greader-espeak.el:, Stefan Monnier, 2019/02/08
- [elpa] externals/greader c8f9e74 50/76: greader-pkg.el added., Stefan Monnier, 2019/02/08
- [elpa] externals/greader 43d18b9 47/76: backup files added to .gitignore., Stefan Monnier, 2019/02/08
- [elpa] externals/greader 3efc0a8 51/76: updated commentary., Stefan Monnier, 2019/02/08