Check if pipewire-pulse is installed, installs pulse otherwise
==== Fixed Issues ====
Partial fix: #2980
==== Tech Notes ====
pipewire-pulse is a compat layer, providing a pulseaudio API
* Fix Shellcheck: Add -r flag to read
read will mangle backslashes without it. These are not expected
characters so not explicitly necessary, but also won't hurt.
* Fix Shellcheck SC2086: Double quote variables
* Fix Shellcheck SC2004: dollar sign unnecessary on arithmetic vars
* Fix Shellcheck SC2129: use curly braces to >> file
* Disable shellcheck on sourced venv/bin/activate
* Fix Shellcheck SC1004
Simplify sed-expression to be a single line only removing the need for
the offending / and linefeed
* Fix Shellcheck SC2046 when finding repo root
Splits the check into to files to be able to quote the expressions
in a good way.
* Fix Shellcheck SC2086 Unquoted apt packagaes
This converts the variable APT_PACKAGE_LIST from a string to an array.
This is a safer way to handle arguments according to BashFAQ
(http://mywiki.wooledge.org/BashFAQ/050)
* Fix Shellcheck SC2230 by changing which to command -v
* CICD: Activate shellcheck job for dev_setup.sh
* Shellcheck start-mycroft.sh
This fixes the following shellcheck issues:
- https://www.shellcheck.net/wiki/SC2164 -- Use 'cd ... || exit' or 'cd ... |...
- https://www.shellcheck.net/wiki/SC2206 -- Quote to prevent word splitting/g...
- https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ...
- https://www.shellcheck.net/wiki/SC2124 -- Assigning an array to a string! A...
The command is added to the CICD run of shellcheck
* Shellcheck stop-mycroft.sh
Fixes the following issues:
- https://www.shellcheck.net/wiki/SC2164 -- Use 'cd ... || exit' or 'cd ... |...
- https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ...
The file is now automatically checked by the CICD job
* Shellcheck venv-activate.sh
Fix the following shellcheck issues:
- https://www.shellcheck.net/wiki/SC2068 -- Double quote array expansions to ...
- https://www.shellcheck.net/wiki/SC2145 -- Argument mixes string and array. ...
- https://www.shellcheck.net/wiki/SC2128 -- Expanding an array without an ind...
- https://www.shellcheck.net/wiki/SC2139 -- This expands when defined, not wh...
- https://www.shellcheck.net/wiki/SC2155 -- Declare and assign separately to ...
The help for invalid arg now works when the faulty argument isn't the
first argument
Co-authored-by: Kris Gesling <kris.gesling@mycroft.ai>
* Separate tests of LocalConf into new test class
* Do not overwrite configs with malformed json
If a config file is loaded and is invalid saves to that file will not be
possible until it's manually restored. The store accepts a force flag to
override this protection.
The method returns True if the store succeeded so call sites can
verbally report the issue as well.
* fix issues when remote excepts out
* Remove explicit clear_cache from MimicTTS
* Updates for using singleton TTS playback thread
- Cache is called on all tts's registered as using the thread
- Begin audio and end audio is handled by the playback thread
- Further changes from self.playback to TTS.playback for consistency
* Remove redundant try/except
* Consolidate general and TTS-specific sentence splitting
This performs all sentence-splitting at the same stage. This fixes a
subtle issue where a TTS splits a sentence into chunks and throws an
error on only one of those chunks. The fallback would generate a
sentence for the original un-chunked sentence. possibly saying the same
parts twice.
This also pre-compiles the regexes used to speed things up a bit.
Co-authored-by: Ken <ken.smith@mycroft.ai>
* Add `supported_languages` parameter to STT and TTS base classes
* Refactor `supported_languages` to `available_languages` and updated docstring to be more precise
* Remove unused scripts
install-pocketsphinx and install-pygtk is no longer used by the
dev-setup.
* Fix shellcheck issues in scripts
* Remove space in cores argument
* Update my-info.sh script
- Make it use the new method to activate venv if needed
- Improve requirements.txt parsing
- Update process detection from old "screen" setup
- Update log-files paths
- Fix finding mycroft-core folder
* Fix shellcheck issues in mycroft-use.sh
Mainly quoting but also unpacking of arguments and improving some if
statements
* Update shellcheck test to include scripts folder
* fix show text delegate as per autofit label refactor
* Make rectangle containing text transparent
For different background colors, the background on the card should be set.
Co-authored-by: Kris Gesling <kris.gesling@mycroft.ai>
This uses the existing dialog renderer and the standard format library
to in two steps create a regex where the {elements} in a dialog is
replaced with ".*" to match the given sentence.
This replaces save_*_path with usage of the xdg_*_home when handling
config files. This means the config folders will not be created unless
actually written to.
The check for whether a directory needs to be created is handled behind
a lock to avoid race conditions
* Check if GUI is connected rather than maintain list of platforms
There are already many Mycroft platforms that have GUIs
and this will only grow. We want to know if the device
has a GUI connected rather than if it is in a pre-defined
list of platforms.
* Create a mock GUI with a settable connected attribute