From fef13a4c43c906ff4b3a742f8377ca41016f91cb Mon Sep 17 00:00:00 2001
From: j1nx
Date: Sun, 24 May 2020 19:54:10 +0200
Subject: [PATCH] MycroftOS: GUI: Update enclosure and gui skills
---
.../mycroft/skills/mycroft-mark-2.mycroftai | 1 -
.../skills/mycroftos-enclosure-skill.j1nx | 1 +
.../mycroftos-enclosure-skill/.gitignore | 129 -------
.../skills/mycroftos-enclosure-skill/LICENSE | 201 ----------
.../mycroftos-enclosure-skill/README.md | 2 -
.../mycroftos-enclosure-skill/__init__.py | 355 ------------------
.../dialog/en-us/AlreadyStartedAirPlay.dialog | 1 -
.../en-us/AlreadyStartedBTspeaker.dialog | 1 -
.../dialog/en-us/AlreadyStartedMPD.dialog | 1 -
.../dialog/en-us/AlreadyStartedSSH.dialog | 1 -
.../en-us/AlreadyStartedSnapclient.dialog | 1 -
.../en-us/AlreadyStartedSnapserver.dialog | 1 -
.../dialog/en-us/AlreadyStartedSpotify.dialog | 1 -
.../dialog/en-us/AlreadyStoppedAirPlay.dialog | 1 -
.../en-us/AlreadyStoppedBTspeaker.dialog | 1 -
.../dialog/en-us/AlreadyStoppedMPD.dialog | 1 -
.../dialog/en-us/AlreadyStoppedSSH.dialog | 1 -
.../en-us/AlreadyStoppedSnapclient.dialog | 1 -
.../en-us/AlreadyStoppedSnapserver.dialog | 1 -
.../dialog/en-us/AlreadyStoppedSpotify.dialog | 1 -
.../dialog/en-us/DisabledAirPlay.dialog | 1 -
.../dialog/en-us/DisabledBTspeaker.dialog | 1 -
.../dialog/en-us/DisabledMPD.dialog | 1 -
.../dialog/en-us/DisabledSSH.dialog | 1 -
.../dialog/en-us/DisabledSnapclient.dialog | 1 -
.../dialog/en-us/DisabledSnapserver.dialog | 1 -
.../dialog/en-us/DisabledSpotify.dialog | 1 -
.../dialog/en-us/EnabledAirPlay.dialog | 1 -
.../dialog/en-us/EnabledBTspeaker.dialog | 1 -
.../dialog/en-us/EnabledMPD.dialog | 1 -
.../dialog/en-us/EnabledSSH.dialog | 1 -
.../dialog/en-us/EnabledSnapclient.dialog | 1 -
.../dialog/en-us/EnabledSnapserver.dialog | 1 -
.../dialog/en-us/EnabledSpotify.dialog | 1 -
.../dialog/en-us/StartedAirPlay.dialog | 1 -
.../dialog/en-us/StartedBTspeaker.dialog | 1 -
.../dialog/en-us/StartedMPD.dialog | 1 -
.../dialog/en-us/StartedSSH.dialog | 1 -
.../dialog/en-us/StartedSnapclient.dialog | 1 -
.../dialog/en-us/StartedSnapserver.dialog | 1 -
.../dialog/en-us/StartedSpotify.dialog | 1 -
.../dialog/en-us/StoppedAirPlay.dialog | 1 -
.../dialog/en-us/StoppedBTspeaker.dialog | 1 -
.../dialog/en-us/StoppedMPD.dialog | 1 -
.../dialog/en-us/StoppedSSH.dialog | 1 -
.../dialog/en-us/StoppedSnapclient.dialog | 1 -
.../dialog/en-us/StoppedSnapserver.dialog | 1 -
.../dialog/en-us/StoppedSpotify.dialog | 1 -
.../dialog/en-us/finished.booting.dialog | 4 -
.../requirements.txt | 0
.../settingsmeta.yaml | 52 ---
.../ui/background.png | Bin 181486 -> 0 bytes
.../mycroftos-enclosure-skill/ui/listen.png | Bin 213449 -> 0 bytes
.../mycroftos-enclosure-skill/ui/speaking.png | Bin 191564 -> 0 bytes
.../mycroftos-enclosure-skill/ui/thinking.png | Bin 197560 -> 0 bytes
.../opt/mycroft/skills/skill-mycroft-gui.j1nx | 1 +
56 files changed, 2 insertions(+), 786 deletions(-)
delete mode 160000 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroft-mark-2.mycroftai
create mode 160000 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill.j1nx
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/.gitignore
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/LICENSE
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/README.md
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/__init__.py
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedAirPlay.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedBTspeaker.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedMPD.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedSSH.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedSnapclient.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedSnapserver.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedSpotify.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedAirPlay.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedBTspeaker.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedMPD.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedSSH.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedSnapclient.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedSnapserver.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedSpotify.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledAirPlay.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledBTspeaker.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledMPD.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledSSH.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledSnapclient.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledSnapserver.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledSpotify.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledAirPlay.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledBTspeaker.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledMPD.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledSSH.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledSnapclient.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledSnapserver.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledSpotify.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedAirPlay.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedBTspeaker.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedMPD.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedSSH.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedSnapclient.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedSnapserver.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedSpotify.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedAirPlay.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedBTspeaker.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedMPD.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedSSH.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedSnapclient.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedSnapserver.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedSpotify.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/finished.booting.dialog
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/requirements.txt
delete mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/settingsmeta.yaml
delete mode 100755 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/ui/background.png
delete mode 100755 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/ui/listen.png
delete mode 100755 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/ui/speaking.png
delete mode 100755 buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/ui/thinking.png
create mode 160000 buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-mycroft-gui.j1nx
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroft-mark-2.mycroftai b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroft-mark-2.mycroftai
deleted file mode 160000
index 1e608db1..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroft-mark-2.mycroftai
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 1e608db1db4e241838ce8a5d44b35286d7e8b23b
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill.j1nx b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill.j1nx
new file mode 160000
index 00000000..c052c2d7
--- /dev/null
+++ b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill.j1nx
@@ -0,0 +1 @@
+Subproject commit c052c2d7070e3dfd03e3fefe57778e9cfbb8b1df
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/.gitignore b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/.gitignore
deleted file mode 100644
index b6e47617..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/.gitignore
+++ /dev/null
@@ -1,129 +0,0 @@
-# Byte-compiled / optimized / DLL files
-__pycache__/
-*.py[cod]
-*$py.class
-
-# C extensions
-*.so
-
-# Distribution / packaging
-.Python
-build/
-develop-eggs/
-dist/
-downloads/
-eggs/
-.eggs/
-lib/
-lib64/
-parts/
-sdist/
-var/
-wheels/
-pip-wheel-metadata/
-share/python-wheels/
-*.egg-info/
-.installed.cfg
-*.egg
-MANIFEST
-
-# PyInstaller
-# Usually these files are written by a python script from a template
-# before PyInstaller builds the exe, so as to inject date/other infos into it.
-*.manifest
-*.spec
-
-# Installer logs
-pip-log.txt
-pip-delete-this-directory.txt
-
-# Unit test / coverage reports
-htmlcov/
-.tox/
-.nox/
-.coverage
-.coverage.*
-.cache
-nosetests.xml
-coverage.xml
-*.cover
-*.py,cover
-.hypothesis/
-.pytest_cache/
-
-# Translations
-*.mo
-*.pot
-
-# Django stuff:
-*.log
-local_settings.py
-db.sqlite3
-db.sqlite3-journal
-
-# Flask stuff:
-instance/
-.webassets-cache
-
-# Scrapy stuff:
-.scrapy
-
-# Sphinx documentation
-docs/_build/
-
-# PyBuilder
-target/
-
-# Jupyter Notebook
-.ipynb_checkpoints
-
-# IPython
-profile_default/
-ipython_config.py
-
-# pyenv
-.python-version
-
-# pipenv
-# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
-# However, in case of collaboration, if having platform-specific dependencies or dependencies
-# having no cross-platform support, pipenv may install dependencies that don't work, or not
-# install all needed dependencies.
-#Pipfile.lock
-
-# PEP 582; used by e.g. github.com/David-OConnor/pyflow
-__pypackages__/
-
-# Celery stuff
-celerybeat-schedule
-celerybeat.pid
-
-# SageMath parsed files
-*.sage.py
-
-# Environments
-.env
-.venv
-env/
-venv/
-ENV/
-env.bak/
-venv.bak/
-
-# Spyder project settings
-.spyderproject
-.spyproject
-
-# Rope project settings
-.ropeproject
-
-# mkdocs documentation
-/site
-
-# mypy
-.mypy_cache/
-.dmypy.json
-dmypy.json
-
-# Pyre type checker
-.pyre/
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/LICENSE b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/LICENSE
deleted file mode 100644
index 261eeb9e..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/README.md b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/README.md
deleted file mode 100644
index a9c3d8ca..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/README.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# mycroftos-enclosure-skill
-Skill to take control of MycroftOS it's functions and tools .
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/__init__.py b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/__init__.py
deleted file mode 100644
index 3a00827e..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/__init__.py
+++ /dev/null
@@ -1,355 +0,0 @@
-# Copyright 2019 j1nx - http://www.j1nx.nl.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import subprocess
-import os
-import sys
-
-from mycroft.api import is_paired
-from mycroft.messagebus.message import Message
-from mycroft.skills.core import MycroftSkill
-from mycroft.util.log import LOG
-from mycroft.util.parse import normalize
-from mycroft.util import play_wav
-from mycroft import intent_file_handler
-
-class MycroftOS(MycroftSkill):
- """
- The MycroftOS skill handles much of the screen and audio activities
- related to Mycroft's core functionality.
- """
- def __init__(self):
- super().__init__('MycroftOS')
- self.skip_list = ('MycroftOS')
- self.loading = True
- self.airplay_enabled = False
- self.sshd_enabled = True
- self.spotify_enabled = False
- self.btspeaker_enabled = False
- self.snapclient_enabled = False
- self.snapserver_enabled = False
- self.mpd_enabled = False
- self.airplay_enabled = self.settings.get('airplay')
- self.sshd_enabled = self.settings.get('sshd')
- self.spotify_enabled = self.settings.get('spotifyd')
- self.btspeaker_enabled = self.settings.get('btspeaker')
- self.snapclient_enabled = self.settings.get('snapclient')
- self.snapserver_enabled = self.settings.get('snapserver')
- self.mpd_enabled = self.settings.get('mpd')
-
- def initialize(self):
- """ Perform initalization.
- Registers messagebus handlers.
- """
-
- # Handle settings change
- self.settings_change_callback = self.on_websettings_changed
-
- try:
-
- # Handle the 'waking' visual
- self.add_event('recognizer_loop:wakeword',
- self.handle_listener_started)
- self.add_event('recognizer_loop:record_end',
- self.handle_listener_ended)
- self.add_event('mycroft.speech.recognition.unknown',
- self.handle_failed_stt)
-
- # Handle Device Ready
- self.bus.on('mycroft.ready', self.reset_screen)
-
- # Handle the 'busy' visual
- self.bus.on('mycroft.skill.handler.start',
- self.on_handler_started)
- self.bus.on('mycroft.skill.handler.complete',
- self.on_handler_complete)
-
- # Handle the 'speaking' visual
- self.bus.on('recognizer_loop:audio_output_start',
- self.on_handler_audio_start)
- self.bus.on('recognizer_loop:audio_output_end',
- self.on_handler_audio_end)
-
- # Handle volume setting via PulseAudio
- #self.add_event('mycroft.volume.set', self.on_volume_set)
- #self.add_event('mycroft.volume.get', self.on_volume_get)
- #self.add_event('mycroft.volume.duck', self.on_volume_duck)
- #self.add_event('mycroft.volume.unduck', self.on_volume_unduck)
-
- # Administrative messages
- self.bus.on('system.shutdown', self.on_shutdown)
- self.bus.on('system.reboot', self.on_reboot)
-
- except Exception:
- LOG.exception('In MycroftOS Skill')
-
- def on_websettings_changed(self):
- if self.sshd_enabled != self.settings.get('sshd'):
- if self.settings.get('sshd') is True:
- self.enable_ssh()
- else:
- self.disable_ssh()
-
- if self.airplay_enabled != self.settings.get('airplay'):
- if self.settings.get('airplay') is True:
- self.enable_airplay()
- else:
- self.disable_airplay()
-
- if self.spotify_enabled != self.settings.get('spotifyd'):
- if self.settings.get('spotifyd') is True:
- self.enable_spotify()
- else:
- self.disable_spotify()
-
- if self.btspeaker_enabled != self.settings.get('btspeaker'):
- if self.settings.get('btspeaker') is True:
- self.enable_btspeaker()
- else:
- self.disable_btspeaker()
-
- if self.snapclient_enabled != self.settings.get('snapclient'):
- if self.settings.get('snapclient') is True:
- self.enable_snapclient()
- else:
- self.disable_snapclient()
-
- if self.snapserver_enabled != self.settings.get('snapserver'):
- if self.settings.get('snapserver') is True:
- self.enable_snapserver()
- else:
- self.disable_snapserver()
-
- if self.mpd_enabled != self.settings.get('mpd'):
- if self.settings.get('mpd') is True:
- self.enable_mpd()
- else:
- self.disable_mpd()
-
- # System volume
- #def on_volume_set(self, message):
- # self.muted = False
- # self.set_pulse_volume(vol)
-
- #def on_volume_get(self, message):
- # self.bus.emit(message.response(data={'percent': self.volume, 'muted': self.muted}))
-
- #def on_volume_duck(self, message):
- # self.muted = True
- # call(['pactl', 'set-sink-mute', '0', '1'])
-
- #def on_volume_unduck(self, message):
- # self.muted = False
- # call(['pactl', 'set-sink-mute', '0', '0'])
-
- # Cleanup
- def shutdown(self):
- # Gotta clean up manually since not using add_event()
- self.bus.remove('mycroft.skill.handler.start',
- self.on_handler_started)
- self.bus.remove('mycroft.skill.handler.complete',
- self.on_handler_complete)
- self.bus.remove('recognizer_loop:audio_output_start',
- self.on_handler_audio_start)
- self.bus.remove('recognizer_loop:audio_output_end',
- self.on_handler_audio_end)
-
- # Handlers
- def on_handler_audio_start(self, message):
- self.speaking = True
- #framebuffer speaking visual
- #os.system('fbv -f -d 1 /opt/mycroft/skills/mycroftos-enclosure-skill/ui/speaking.png > /dev/null 2>&1')
-
- def on_handler_audio_end(self, message):
- self.speaking = False
- #framebuffer background
- #os.system('fbv -f -d 1 /opt/mycroft/skills/mycroftos-enclosure-skill/ui/background.png > /dev/null 2>&1')
-
- def on_handler_started(self, message):
- handler = message.data.get('handler', '')
- if self._skip_handler(handler):
- return
- #framebuffer thinking visual
- #os.system('fbv -f -d 1 /opt/mycroft/skills/mycroftos-enclosure-skill/ui/thinking.png > /dev/null 2>&1')
-
- def on_handler_complete(self, message):
- handler = message.data.get('handler', '')
- if self._skip_handler(handler):
- return
-
- # If speaking has already begun, on_handler_audio_end will
- # turn off the framebuffer
- if not self.speaking:
- #framebuffer background
- #os.system('fbv -f -d 1 /opt/mycroft/skills/mycroftos-enclosure-skill/ui/background.png > /dev/null 2>&1')
-
- def _skip_handler(self, handler):
- #Ignoring handlers from this skill
- return any(skip in handler for skip in self.skip_list)
-
- def handle_listener_started(self, message):
- #framebuffer listen visual
- #os.system('fbv -f -d 1 /opt/mycroft/skills/mycroftos-enclosure-skill/ui/listen.png > /dev/null 2>&1')
-
- def handle_listener_ended(self, message):
- #framebuffer background
- #os.system('fbv -f -d 1 /opt/mycroft/skills/mycroftos-enclosure-skill/ui/background.png > /dev/null 2>&1')
-
- def handle_failed_stt(self, message):
- #framebuffer background
- #os.system('fbv -f -d 1 /opt/mycroft/skills/mycroftos-enclosure-skill/ui/background.png > /dev/null 2>&1')
-
-
- # Device is fully started
- def reset_screen(self, message):
- """Triggered after skills are initialized."""
- self.loading = False
- if is_paired():
- #os.system('fbv -f -d 1 /opt/mycroft/skills/mycroftos-enclosure-skill/ui/background.png > /dev/null 2>&1')
- self.speak_dialog('finished.booting')
-
-
- # System actions
- def on_shutdown(self):
- self.speak('Till next time')
- sleep(5)
- os.system('sudo halt')
-
- def on_reboot(self):
- self.speak('I will be right back')
- sleep(5)
- os.system('sudo reboot')
-
- # System services
- def enable_ssh(self):
- self.settings['sshd'] = True
- if !os.path.isfile('/etc/systemd/system/multi-user.target.wants/sshd.service'):
- # Service not yet enabled
- os.system('sudo systemctl enable sshd.service')
- self.speak_dialog('EnabledSSH')
- if os.system('sudo systemctl is-active --quiet sshd.service') != 0:
- # Service not currently running
- os.system('sudo systemctl start sshd.service')
-
- def disable_ssh(self):
- self.settings['sshd'] = False
- if os.path.isfile('/etc/systemd/system/multi-user.target.wants/sshd.service'):
- # Service is enabled
- os.system('sudo systemctl disable sshd.service')
- self.speak_dialog('DisabledSSH')
- os.system('sudo systemctl stop sshd.service')
-
- self.sshd_enabled = False
- self.sshd_started = True
-
-
- def enable_airplay(self):
- os.system('sudo systemctl enable shairport-sync.service')
- os.system('sudo systemctl start shairport-sync.service')
- self.settings['airplay'] = True
- self.airplay_enabled = True
- self.airplay_started = True
- self.speak_dialog('EnabledAirPlay')
-
- def disable_airplay(self):
- os.system('sudo systemctl disable shairport-sync.service')
- os.system('sudo systemctl stop shairport-sync.service')
- self.settings['airplay'] = False
- self.airplay_enabled = False
- self.airplay_started = False
- self.speak_dialog('DisabledAirPlay')
-
- def enable_spotify(self):
- os.system('sudo systemctl enable spotifyd.service')
- os.system('sudo systemctl start spotifyd.service')
- self.settings['spotifyd'] = True
- self.spotify_enabled = True
- self.spotify_started = True
- self.speak_dialog('EnabledSpotify')
-
- def disable_spotify(self):
- os.system('sudo systemctl disable spotifyd.service')
- os.system('sudo systemctl stop spotifyd.service')
- self.settings['spotifyd'] = False
- self.spotify_enabled = False
- self.spotify_started = False
- self.speak_dialog('DisabledSpotify')
-
- def enable_btspeaker(self):
- os.system('sudo systemctl enable btspeaker.service')
- os.system('sudo systemctl start btspeaker.service')
- self.settings['btspeaker'] = True
- self.btspeaker_enabled = True
- self.btspeaker_started = True
- self.speak_dialog('EnabledBTspeaker')
-
- def disable_btspeaker(self):
- os.system('sudo systemctl disable btspeaker.service')
- os.system('sudo systemctl stop btspeaker.service')
- self.settings['btspeaker'] = False
- self.btspeaker_enabled = False
- self.btspeaker_started = False
- self.speak_dialog('DisabledBTspeaker')
-
- def enable_snapclient(self):
- os.system('sudo systemctl enable snapclient.service')
- os.system('sudo systemctl start snapclient.service')
- self.settings['snapclient'] = True
- self.snapclient_enabled = True
- self.snapclient_started = True
- self.speak_dialog('EnabledSnapclient')
-
- def disable_snapclient(self):
- os.system('sudo systemctl disable snapclient.service')
- os.system('sudo systemctl stop snapclient.service')
- self.settings['snapclient'] = False
- self.snapclient_enabled = False
- self.snapclient_started = False
- self.speak_dialog('DisabledSnapclient')
-
- def enable_snapserver(self):
- os.system('sudo systemctl enable snapserver.service')
- os.system('sudo systemctl start snapserver.service')
- self.settings['snapserver'] = True
- self.snapserver_enabled = True
- self.snapserver_started = True
- self.speak_dialog('EnabledSnapserver')
-
- def disable_snapserver(self):
- os.system('sudo systemctl disable snapserver.service')
- os.system('sudo systemctl stop snapserver.service')
- self.settings['snapserver'] = False
- self.snapserver_enabled = False
- self.snapserver_started = False
- self.speak_dialog('DisabledSnapserver')
-
- def enable_mpd(self):
- os.system('sudo systemctl enable mpd.service')
- os.system('sudo systemctl start mpd.service')
- self.settings['mpd'] = True
- self.mpd_enabled = True
- self.mpd_started = True
- self.speak_dialog('EnabledMPD')
-
- def disable_mpd(self):
- os.system('sudo systemctl disable mpd.service')
- os.system('sudo systemctl stop mpd.service')
- self.settings['mpd'] = False
- self.mpd_enabled = False
- self.mpd_started = False
- self.speak_dialog('DisabledMPD')
-
-
-def create_skill():
- return MycroftOS()
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedAirPlay.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedAirPlay.dialog
deleted file mode 100644
index d545def3..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedAirPlay.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Airplay is already started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedBTspeaker.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedBTspeaker.dialog
deleted file mode 100644
index 87375749..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedBTspeaker.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Bluetooth speaker is already started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedMPD.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedMPD.dialog
deleted file mode 100644
index ba2da86b..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedMPD.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Media player daemon is already started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedSSH.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedSSH.dialog
deleted file mode 100644
index 98f98208..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedSSH.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Secure shell is already started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedSnapclient.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedSnapclient.dialog
deleted file mode 100644
index af99b19f..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedSnapclient.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Snapcast client is already started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedSnapserver.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedSnapserver.dialog
deleted file mode 100644
index 4404b88e..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedSnapserver.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Snapcast server is already started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedSpotify.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedSpotify.dialog
deleted file mode 100644
index 93b5ec48..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStartedSpotify.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Spotify connect is already started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedAirPlay.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedAirPlay.dialog
deleted file mode 100644
index fef2a8ef..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedAirPlay.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Airplay is already stopped
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedBTspeaker.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedBTspeaker.dialog
deleted file mode 100644
index 9a13870b..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedBTspeaker.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Bluetooth speaker is already stopped
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedMPD.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedMPD.dialog
deleted file mode 100644
index 0bb129cf..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedMPD.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Media player daemon is already stopped
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedSSH.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedSSH.dialog
deleted file mode 100644
index 94846ce3..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedSSH.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Secure shell is already stopped
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedSnapclient.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedSnapclient.dialog
deleted file mode 100644
index 2db76d7f..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedSnapclient.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Snapcast client is already stopped
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedSnapserver.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedSnapserver.dialog
deleted file mode 100644
index cba4c364..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedSnapserver.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Snapcast server is already stopped
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedSpotify.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedSpotify.dialog
deleted file mode 100644
index 9a7b4c57..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/AlreadyStoppedSpotify.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Spotify connect is already stopped
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledAirPlay.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledAirPlay.dialog
deleted file mode 100644
index 7ac82c02..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledAirPlay.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Airplay is stopped and disabled
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledBTspeaker.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledBTspeaker.dialog
deleted file mode 100644
index ab8148af..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledBTspeaker.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Bluetooth speaker is stopped and disabled
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledMPD.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledMPD.dialog
deleted file mode 100644
index fc8a2240..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledMPD.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Media player daemon is stopped and disabled
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledSSH.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledSSH.dialog
deleted file mode 100644
index be945f95..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledSSH.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Secure shell is stopped and disabled
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledSnapclient.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledSnapclient.dialog
deleted file mode 100644
index a10c66f5..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledSnapclient.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Snapcast client is stopped and disabled
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledSnapserver.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledSnapserver.dialog
deleted file mode 100644
index e5702e0a..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledSnapserver.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Snapcast server is stopped and disabled
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledSpotify.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledSpotify.dialog
deleted file mode 100644
index 8cdcb451..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/DisabledSpotify.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Spotify connect is stopped and disabled
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledAirPlay.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledAirPlay.dialog
deleted file mode 100644
index d6cb43c2..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledAirPlay.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Airplay is enabled and started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledBTspeaker.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledBTspeaker.dialog
deleted file mode 100644
index 72e334c7..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledBTspeaker.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Bluetooth speaker is enabled and started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledMPD.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledMPD.dialog
deleted file mode 100644
index fa2991b9..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledMPD.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Media Player Daemon is enabled and started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledSSH.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledSSH.dialog
deleted file mode 100644
index adb3394f..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledSSH.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Secure shell is enabled and started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledSnapclient.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledSnapclient.dialog
deleted file mode 100644
index 59f41e40..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledSnapclient.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Snapcast client is enabled and started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledSnapserver.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledSnapserver.dialog
deleted file mode 100644
index 61e4dcc7..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledSnapserver.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Snapcast server is enabled and started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledSpotify.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledSpotify.dialog
deleted file mode 100644
index de031765..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/EnabledSpotify.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Spotify connect is enabled and started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedAirPlay.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedAirPlay.dialog
deleted file mode 100644
index 14ccfe85..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedAirPlay.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Airplay is started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedBTspeaker.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedBTspeaker.dialog
deleted file mode 100644
index 1d49acd9..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedBTspeaker.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Bluetooth speaker is started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedMPD.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedMPD.dialog
deleted file mode 100644
index 94b55be6..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedMPD.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Media Player Daemon is started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedSSH.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedSSH.dialog
deleted file mode 100644
index 8ac73d28..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedSSH.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Secure shell is started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedSnapclient.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedSnapclient.dialog
deleted file mode 100644
index 4d9fccba..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedSnapclient.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Snapcast client is started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedSnapserver.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedSnapserver.dialog
deleted file mode 100644
index 7047363d..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedSnapserver.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Snapcast server is started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedSpotify.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedSpotify.dialog
deleted file mode 100644
index 62aa22d7..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StartedSpotify.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Spotify connect is started
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedAirPlay.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedAirPlay.dialog
deleted file mode 100644
index d1cb26af..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedAirPlay.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Airplay is stopped
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedBTspeaker.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedBTspeaker.dialog
deleted file mode 100644
index 61ae0245..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedBTspeaker.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Bluetooth speaker is stopped
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedMPD.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedMPD.dialog
deleted file mode 100644
index addd7af3..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedMPD.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Media player daemon is stopped
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedSSH.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedSSH.dialog
deleted file mode 100644
index 846ea2bf..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedSSH.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Secure shell is stopped
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedSnapclient.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedSnapclient.dialog
deleted file mode 100644
index ff5d015f..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedSnapclient.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Snapcast client is stopped
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedSnapserver.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedSnapserver.dialog
deleted file mode 100644
index 23172228..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedSnapserver.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Snapcast server is stopped
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedSpotify.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedSpotify.dialog
deleted file mode 100644
index faf297e6..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/StoppedSpotify.dialog
+++ /dev/null
@@ -1 +0,0 @@
-Spotify connect is stopped
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/finished.booting.dialog b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/finished.booting.dialog
deleted file mode 100644
index 02febb9d..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/dialog/en-us/finished.booting.dialog
+++ /dev/null
@@ -1,4 +0,0 @@
-I have now finished booting up.
-I am now ready.
-Hi, this is mycroft and I am ready to work.
-You can get started with mycroft.
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/requirements.txt b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/requirements.txt
deleted file mode 100644
index e69de29b..00000000
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/settingsmeta.yaml b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/settingsmeta.yaml
deleted file mode 100644
index 1756c328..00000000
--- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/settingsmeta.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-skillMetadata:
- sections:
- - name: Smart speaker functionality
- fields:
- - type: label
- label: You can enable or disable smart speaker services and functionality currently present on the MycroftOS system. As every user has different requirements and is using different hardware, devices and network protocols, all these services are disabled by default. You can easily enable or disable any of the below services here, by selecting the enabled checkbox (slightly delayed as you need to wait for settings synchronisation). If you only want to start the service now without enabling them, you can also use your voice command to your MycroftOS device (For example Hey Mycroft, start spotify).
- - type: label
- label:
Airplay audio player (v1)AirPlay is a proprietary protocol stack/suite developed by Apple Inc. that allows wireless streaming between devices of audio, video, device screens, and photos, together with related metadata.
- - name: airplay
- type: checkbox
- label: Enabled
- value: "false"
- - type: label
- label:
Spotify ConnectMake your Mycroft device available as Spotify Connect device so you can select it as possible output device from within the Spotify app. Be aware this only makes it available within the app, if you want to control spotify by voice you need to install the Spotify skill and configure it.
- - name: spotifyd
- type: checkbox
- label: Enabled
- value: "false"
- - type: label
- label:
Bluetooth speakerMake your Mycroft device available as bluetooth speaker. With this enabled you can pair your phone or other device and use your Mycroft as sound output. It should ask for a PIN, which is 0000.
- - name: btspeaker
- type: checkbox
- label: Enabled
- value: "false"
- - type: label
- label:
Snapcast clientMake your Mycroft device available as Snapcast client. With this enabled you can configure your device as multiroom audio playing device. Anything played on the network via Snapcast server will be played on the device. (NOTE This still needs to be configured on an OS level through SSH and configuration files)
- - name: snapclient
- type: checkbox
- label: Enabled
- value: "false"
- - name: MycroftOS system configuration
- fields:
- - type: label
- label: MycroftOS is based on a minimalistic linux OS called Buildroot. However, although small and minimalistic in size, MycroftOS comes with certain linux services and applications. This is for advanced users that would like to tinker with their box and or do more with it than only Mycroft related things.
- - type: label
- label:
Snapcast serverMake your Mycroft device available as Snapcast server. With this enabled you can configure your device as multiroom audio device. Anything played on the device will also be forwarded to configured Snapcast client devices. (NOTE This still needs to be configured on an OS level through SSH and configuration files)
- - name: snapserver
- type: checkbox
- label: Enabled
- value: "false"
- - type: label
- label:
Media Player Daemon (MPD)Make your Mycroft device available as MPD server. With this enabled you can configure your device as Media Player Daemon device. (NOTE This still needs to be configured on an OS level through SSH and configuration files)
- - name: mpd
- type: checkbox
- label: Enabled
- value: "false"
- - type: label
- label:
Secure Shell (SSH)Secure Shell (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network.[1] Typical applications include remote command-line, login, and remote command execution.
- - name: sshd
- type: checkbox
- label: Enabled
- value: "true"
\ No newline at end of file
diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/ui/background.png b/buildroot-external/rootfs-overlay/opt/mycroft/skills/mycroftos-enclosure-skill/ui/background.png
deleted file mode 100755
index 4df9960bc7c101f41d1eb2ac1efd49f489e7de8c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 181486
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