[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/greader 3090adb51b 03/17: First draft of `greader-piper
From: |
ELPA Syncer |
Subject: |
[elpa] externals/greader 3090adb51b 03/17: First draft of `greader-piper' back-end. |
Date: |
Wed, 18 Dec 2024 18:59:10 -0500 (EST) |
branch: externals/greader
commit 3090adb51bba57bc51f19aa6d6800067e0f35bb6
Author: Michelangelo Rodriguez <michelangelo.rodriguez@gmail.com>
Commit: Michelangelo Rodriguez <michelangelo.rodriguez@gmail.com>
First draft of `greader-piper' back-end.
---
greader-piper.el | 44 ++++++++++++++++++++++++++++++++++++++++++--
greader.el | 2 +-
2 files changed, 43 insertions(+), 3 deletions(-)
diff --git a/greader-piper.el b/greader-piper.el
index 4c436a61b1..3f6b0b9db3 100644
--- a/greader-piper.el
+++ b/greader-piper.el
@@ -20,11 +20,51 @@
;; It uses a shell script to call piper.
;;; code:
+(require 'package)
(defgroup greader-piper
nil
"piper back-end."
:group 'greader)
-(defcustom greader-piper-binary-path ""
- "Path of the piper binary."
+(defcustom greader-piper-script-path
+ (concat (package-desc-dir (package-get-descriptor 'greader)) "/piper.sh")
+ "Piper script path."
:type 'string)
+
+(defcustom greader-piper-script-url
+ "https://gitlab.com/michelangelo-rodriguez/greader/-/raw/master/piper.sh"
+ "Url of the script `piper.sh'."
+ :type 'string)
+(defun greader-piper-find-script ()
+ "Check if the piper script is really present.
+If the script is not present, propose to download it from gitlab.
+if the script is present or downloaded, then return the path.
+If the script is nor present neither downloaded, then generate an
+Error."
+ (if (file-exists-p greader-piper-script-path)
+ greader-piper-script-path
+ (let* ((default-directory (package-desc-dir
+ (package-get-descriptor 'greader)))
+ (answer (yes-or-no-p "Do you want to download the script
+ \"piper.sh\" from gitlab?")))
+ (if answer
+ (progn
+ (setq answer (call-process "curl" nil "*piper-script download*"
+ nil greader-piper-script-url))
+ (unless (file-exists-p greader-piper-script-path)
+ (Error "Error while downloading %s\nPlease try later or
+open an issue" greader-piper-script-url)))
+ nil))))
+
+;;;###autoload
+(defun greader-piper (command &optional arg)
+ "Entry point for greader-piper."
+ (pcase command
+ ('executable
+ (greader-piper-find-script))
+ (_
+ 'not-implemented)
+ ))
+(put 'greader-piper 'greader-backend-name "greader-piper")
+
+(provide 'greader-piper)
diff --git a/greader.el b/greader.el
index f29d7f7f32..e68fec7c56 100644
--- a/greader.el
+++ b/greader.el
@@ -124,7 +124,7 @@ If all the functions in the hook return nil, this function
return nil."
(defcustom
greader-backends
- '(greader-espeak greader-speechd)
+ '(greader-espeak greader-speechd greader-mac greader-piper)
"A list of functions that are back-ends for greader."
:tag "greader back-ends"
:type '(repeat function))
- [elpa] externals/greader updated (91bbed50dd -> a24a0a5efe), ELPA Syncer, 2024/12/18
- [elpa] externals/greader 345f3f527b 06/17: Function `greader-read-asynchronous' fixed to work even on scripts., ELPA Syncer, 2024/12/18
- [elpa] externals/greader b417250e0d 02/17: First draft of the script that controls piper and aplay., ELPA Syncer, 2024/12/18
- [elpa] externals/greader b3233f4483 12/17: More fixes 4., ELPA Syncer, 2024/12/18
- [elpa] externals/greader 0f0362c507 08/17: Variable `greader-piper-script-path' fixed., ELPA Syncer, 2024/12/18
- [elpa] externals/greader e0abb03f47 04/17: Merge branch 'master' into 2-support-for-the-piper-synthesizer, ELPA Syncer, 2024/12/18
- [elpa] externals/greader 230b753158 05/17: ; ; greader-build-args function fixed, now should work even if the back-end does'nt provide features., ELPA Syncer, 2024/12/18
- [elpa] externals/greader f77876a34c 09/17: More fixes., ELPA Syncer, 2024/12/18
- [elpa] externals/greader f3cb6848e6 10/17: More fixes 2., ELPA Syncer, 2024/12/18
- [elpa] externals/greader 3090adb51b 03/17: First draft of `greader-piper' back-end.,
ELPA Syncer <=
- [elpa] externals/greader c654d388ca 11/17: More fixes 3., ELPA Syncer, 2024/12/18
- [elpa] externals/greader 3379adb8b8 16/17: Warnings pacified., ELPA Syncer, 2024/12/18
- [elpa] externals/greader 4de4d2d403 14/17: Document better `greader-backends' variable., ELPA Syncer, 2024/12/18
- [elpa] externals/greader eb01e0b902 13/17: - Piper shell script updated and improved, (thanks to @ra1nb0w)., ELPA Syncer, 2024/12/18
- [elpa] externals/greader a24a0a5efe 17/17: Greader version 0.12.0, ELPA Syncer, 2024/12/18
- [elpa] externals/greader a214cc2412 15/17: Documentation of `greader-piper' updated., ELPA Syncer, 2024/12/18
- [elpa] externals/greader 341ef2fba5 01/17: Copyright notice added., ELPA Syncer, 2024/12/18
- [elpa] externals/greader eb3f98d7f5 07/17: New variable `greader-process-directory'., ELPA Syncer, 2024/12/18