descriptionThis package is inspired from vscode-rainbow-fart and rainbow-fart.el.
ownernumbchild@gmail.com
last changeMon, 19 Jun 2023 05:15:50 +0000 (19 13:15 +0800)
content tags
add:
README.org
* Intro

[[logo.png]]

🌈 EMACS RAINBOW FART

This package is inspired from [[https://saekiraku.github.io/vscode-rainbow-fart/#/zh/][vscode-rainbow-fart]] and [[https://github.com/DogLooksGood/rainbow-fart.el][rainbow-fart.el]].

This is an interesting idea package.

An Emacs extension that keeps giving you compliment while you are coding, it
will checks the keywords of code to play suitable sounds.

Here is a screencast which is recorded by [[https://github.com/DogLooksGood][DogLooksGood]].

[[Emacs rainbow-fart demo.mp4][Emacs rainbow-fart demo.mp4]]

#+begin_export html
<video src="Emacs rainbow-fart demo.mp4" controls="controls">
  You'r web browser doesn't support video tag.
</video>
#+end_export

* Features

- auto play voice when you type keywords
- auto play voice when you put point/cursor on flycheck error
- auto play voice when in specific time quantum
- support and compatible with vscode-rainbow-fart voice pack spec through
  "manifest.json", "contributes.json" files.

* Install

** use-package + Quelpa

#+begin_src emacs-lisp
(use-package rainbow-fart
  :ensure t
  :hook (after-init . rainbow-fart-mode))
#+end_src

* Usage

Just like the screencast video shows, A voice played when you type some keywords.

* Customization

** choose voice model

- default built-in model voice pack "JustKowalski".

  #+begin_src emacs-lisp
  (setq rainbow-fart-voice-model "JustKowalski")
  #+end_src

- copied two model voice pack "糖糖", "千岛" from
  https://github.com/heixiaobai/rainbow-fart-voice-pack. Thanks @heixiaobai.

  #+begin_src emacs-lisp
  (setq rainbow-fart-voice-model "糖糖/PGG-Sharonring-JavaScript-Chinese")
  #+end_src

** control keyword voice

Not frequently play voice for every keywords:

#+begin_src emacs-lisp
(setq rainbow-fart-keyword-interval (* 60 10))
#+end_src

Play voice for every keywords:

#+begin_src emacs-lisp
(setq rainbow-fart-keyword-interval nil)
#+end_src

** control hourly reminder

Disable hourly reminder:

#+begin_src emacs-lisp
(setq rainbow-fart-time-interval nil)
#+end_src

* DONE Contribution                                                 :ARCHIVE:
  CLOSED: [2021-01-31 Sun 09:28]
  :LOGBOOK:
  - State "DONE"       from              [2021-01-31 Sun 09:28]
  :END:

- [X] Need an elegant solution to handle different model voices which have different voice files
- [X] Need more voice models
- [X] I will add contributors into list

* Contributors

- DogLooksGood
- lujun9972

* LICENSE

This package elisp code is published under GPL v3, the voice data is from
[[https://github.com/JustKowalski][GitHub@JustKowalski]] and project [[https://github.com/SaekiRaku/vscode-rainbow-fart][vscode-rainbow-fart]] which is released under [[https://github.com/SaekiRaku/vscode-rainbow-fart/blob/master/LICENSE][MIT license]].
shortlog
2023-06-19 stardivinerStart `rainbow-fart--timing-remind` timer only when... master
2023-06-19 stardivinerFix `rainbow-fart--timing` time range logic
2022-04-27 stardivinerFix rainbow-fart-mode is a global minor mode which...
2022-02-10 stardivinerUpdate library homepage
2021-11-14 stardivinerreset rainbow-fart playing status after toggled `rainbo...
2021-08-03 stardivinerUse the unused lexical-binding variable contributes...
2021-08-03 stardivinerUse mapc to replace mapcar for apply side-effect on...
2021-08-03 stardivinerExtend the "JustKowalski" model keywords to support...
2021-08-03 stardivinerUpdate option rainbow-fart-voice-model to use rainbow...
2021-08-03 stardivinerUse two ways to detect keyword
2021-08-03 stardivinerFix wrong memq logic return nil caused condition failed
2021-02-02 stardivinerremove not licensed voice media files
2021-02-02 stardivineradd license which should not be republished or include...
2021-01-31 stardivinerWrap HTML video element with Org Mode export
2021-01-31 stardivinerChange rainbow-fart-enable-modes to rainbow-fart-ignore...
2021-01-31 stardivinerAdd HTML5 video tag in README
...
heads
10 months ago master
3 years ago support-record-voice
3 years ago support-models
3 years ago add-time-interval