Commit Graph

3359 Commits (mark-ii/log-rotation)

Author SHA1 Message Date
Ken Smith 3e6a2a4aa4 companion to news skill branch fix_no_stop 2021-05-04 07:32:08 -04:00
Kris Gesling 784f166bc2 Raise TypeError rather than quietly fail 2021-05-03 20:13:21 +09:30
Kris Gesling 0fb90edd28 Rename to get_temp_path and add docstring 2021-04-30 16:49:59 +09:30
Kris Gesling d49ccc8b7a Fix typo and auto-format 2021-04-30 15:58:10 +09:30
dzekem christa 4547752c66 minor errors fixed 2021-04-30 14:48:15 +09:30
dzekem christa 7765d11224 ran autopep8 2021-04-30 14:48:15 +09:30
dzekem christa 3f745c52ad created temp path function 2021-04-30 14:47:49 +09:30
dzekem christa 304439ed4b minor fixes 2021-04-30 14:46:36 +09:30
dzekem christa d659179645 more fixes 2021-04-30 14:46:36 +09:30
dzekem christa 621b4ab650 spaces added and uniformity in code 2021-04-30 14:46:36 +09:30
dzekem christa 9252158829 rectified pep8 issues 2021-04-30 14:46:36 +09:30
dzekem christa 32f666edd4 Issue-2727 - fixing hard coded /tmp 2021-04-30 14:46:36 +09:30
dzekem christa a174c3c822 replaced hard coded /tmp 2021-04-30 14:46:36 +09:30
Åke Forslund d884da5b56 Be more defensive when loading mimic config
Default config will generally always have a mimic block but in
combination with newer Mycroft variants a more defensive approach is
probably good
2021-04-28 22:31:30 +02:00
Åke Forslund 5d68309523 Refactor mimic_tts to not load config when importing
Hitting the entire configuration fetching routine with call to the
backend is not polite to do when just importing the file. This moves the
config lookup out of the global scope and into special functions for
finding the mimic binary and looking up the data path for the subscriber
voices.
2021-04-28 22:31:10 +02:00
Ken Smith 74285be60b fix hardware-mycroft-mark-II/issues/62 2021-04-27 12:55:10 -04:00
Åke Forslund 344999d003 Remove option to save phonemes in string format
String format can't be loaded so it shouldn't be written either
2021-04-05 08:28:38 +02:00
Åke Forslund bea3bac2bf Make mimic get_tts() return phonemes pre-parsed
This makes the phonemes json de/encodable like mimic2
2021-04-05 08:28:38 +02:00
Kris Gesling 6f1e708f34 Merge branch 'dev' into feature/mark-2 2021-03-31 21:38:16 +09:30
Kris Gesling 356288a38f
Merge pull request #2863 from forslund/feature/mycroft-bus-client
Utilize the mycroft-messagebus-client module
2021-03-31 21:22:31 +09:30
Ken Smith cac46ad1d6 fix for jira skill-207 2021-03-29 14:49:33 -04:00
Åke Forslund 9acf5b7592 Utilize the mycroft-messagebus-client module
This utilizes the shared messagebus client implemented in the
mycroft-messagebus-client.
2021-03-22 06:31:50 +01:00
Åke Forslund 0b857e92f9 Sync tts cache dict of cached sentences on curate
This will make sure the dict of caches gets updated when curate_cache
removes files.
2021-03-21 13:33:08 +01:00
Åke Forslund 7bd27eb5df Make curate_cache() return removed files 2021-03-21 12:47:57 +01:00
Kris Gesling b1fb220858 Revert "update apt cache to allow Skill installation"
This reverts commit 9805fedd79.
2021-03-19 12:28:48 +09:30
Kris Gesling 7d3cb2d53e
Merge pull request #2869 from forslund/refactor/tts-cache-curation
Move TTS cache curation to TextToSpeechCache
2021-03-19 11:41:54 +09:30
Åke Forslund 9b4544dc7d Move cache curation to TextToSpeechCache 2021-03-18 23:02:26 +01:00
Åke Forslund 46a1de9b12 Remove unused import 2021-03-18 22:45:19 +01:00
Kris Gesling 80f65ac855
Merge pull request #2858 from MycroftAI/feature/voc_match_exact
Add exact optional param to voc_match
2021-03-18 16:43:01 +09:30
Chris Veilleux 9c864de866
Convert phoneme to a list before being passed on. (#2865)
* The phoneme needs to be converted to a list before being passed on.
2021-03-18 15:23:20 +09:30
Ken Smith 82d9030e4d fix for jira mk2-331 2021-03-16 15:17:36 -04:00
Kris Gesling cee879e7a4 Add exact optional param to voc_match
This adds the option to require an exact match of vocab. It sourced
from the Playback Control Skill.
2021-03-16 16:05:06 +09:30
Chris Veilleux 8453e79900 Merge remote-tracking branch 'origin/dev' into feature/mark-2
# Conflicts:
#	mycroft/tts/tts.py
2021-03-15 18:47:32 -05:00
Kris Gesling 0587c5d75e
Merge pull request #2856 from forslund/bugfix/stray-print
Remove stray print
2021-03-15 12:24:28 +09:30
Åke Forslund 29fd50324b Remove stray print 2021-03-14 09:32:45 +01:00
Chris Veilleux bf2670c890
Merge pull request #2853 from MycroftAI/feature/consolidate_tts_cache
Consolidate TTS cache logic
2021-03-11 16:25:19 -06:00
Kris Gesling a399b19fd6
Merge pull request #2849 from forslund/refactor/clean-intent-service
Remove intent-service backwards compatibilities
2021-03-11 15:26:26 +09:30
Kris Gesling ec00631c4b
Merge pull request #2813 from NeonAndrii/feature/issue-2812
Issue-2812 - Allow overridden converse methods to accept messages
2021-03-11 15:25:24 +09:30
Chris Veilleux ea013b26af Fixed failing unit test. 2021-03-10 21:16:34 -06:00
Chris Veilleux 62d277d612 Refactored to fix error where persistent cache directory was used when the temporary cache directory should have been. 2021-03-10 21:16:11 -06:00
Chris Veilleux 469b1d3458 Changed ordering of adding a file to cache to make more sense. 2021-03-10 15:55:21 -06:00
Chris Veilleux 86febca6a3 Fixed a bug passing None to an instance of Path 2021-03-10 15:35:38 -06:00
Chris Veilleux 5996fdbf08 Fixed a minor linting issue 2021-03-10 13:46:48 -06:00
Chris Veilleux 4d4f797c5d Add the stack trace to an error message to help with debugging. 2021-03-10 13:39:58 -06:00
Chris Veilleux 48e691a66f add deprecation warnings to the logic the new cache logic replaces. 2021-03-10 13:39:30 -06:00
Chris Veilleux 2f34df6603 enhance to use new cache logic 2021-03-10 13:39:01 -06:00
Chris Veilleux 5e90940896 new code to consolidate TTS cache handling into one module. 2021-03-10 13:38:17 -06:00
Kris Gesling 3679eb1355
Merge pull request #2838 from forslund/test/get_response-tests
get response tests
2021-03-10 23:44:48 +09:30
Kris Gesling f54300de38
Merge pull request #2844 from MycroftAI/bugfix/fake-blacklist
Remove example entries in blacklisted_skills config
2021-03-10 23:39:49 +09:30
Kris Gesling db79748faa
Merge pull request #2827 from MycroftAI/feature/converse-error-skill
add skill_id to converse error msg
2021-03-10 23:39:29 +09:30
Kris Gesling efee72549d auto-format 2021-03-09 22:04:18 +09:30
Kris Gesling 9805fedd79 update apt cache to allow Skill installation 2021-03-09 22:00:57 +09:30
Ken Smith 21c201c0f4 fix chase leds never stopping 2021-03-08 14:53:23 -05:00
Åke Forslund 203e1fc740 Remove intent-service backwards compatibility
- Remove unused ContextManager import from mycroft.skills.intent_service
- Remove Old 'intent_failure' -> fallback handler
- Remove handling of fallback messages without the fallback_range
parameter
2021-03-07 12:59:59 +01:00
Kris Gesling 17dbaa2b38
Merge pull request #2840 from DiegoAsterio/bugfix/issue-2750
Issue-2750 - Remove log pollution
2021-03-03 15:25:21 +09:30
Chris Veilleux f2ee89a3f0 promote debug messages to info messages to see how cache loading handles on boot. 2021-03-02 17:48:32 -06:00
Chris Veilleux efb7c3abb8 promote debug messages to info messages to see how cache loading handles on boot. 2021-03-02 17:39:43 -06:00
Åke 492bd22179
Merge pull request #2843 from OpenVoiceOS/fix/padatious_mess
Remove old Padatious class
2021-03-02 11:38:46 +01:00
Chris Veilleux 78da65b3b2 Merge remote-tracking branch 'origin/feature/mark-2' into feature/mark-2 2021-03-01 18:20:30 -06:00
Chris Veilleux d4d7340f3a changed the list of Raspberry Pi platforms to replace "mycroft_mark_2pi" with "mycroft_mark_2" 2021-03-01 18:20:19 -06:00
Ken Smith c8a44c206d comply with new gui requirements 2021-03-01 17:14:37 -05:00
Kris Gesling b29fe8aeed auto pep8 2021-03-01 12:59:26 +09:30
Kris Gesling 1f30fe7016 switch volume up and down buttons 2021-03-01 12:57:49 +09:30
Kris Gesling 0acc95113f nudge max volume up a little 2021-02-27 15:55:00 +09:30
Kris Gesling 7797dc855b Fix missing imports for ProcessStatus 2021-02-27 15:21:44 +09:30
Ken Smith 893dbe6080 fix volume display bug, try to use palette object rather than hard coded values, change red warning to burnt orange and make reserved led show one of four temperature ranges 2021-02-26 16:10:50 -05:00
Ken Smith f2f024e315 addresses jira mk2-249, make capabilities queryable via the msg bus 2021-02-26 15:09:39 -05:00
Ken Smith a1035cf3d2 fix mute mic led bring up bug and fix sync between buttons and volume skill and added an async volume update message so the gui can pick it up 2021-02-26 14:06:10 -05:00
Chris Veilleux 6ed674bd3e Merge remote-tracking branch 'origin/dev' into feature/mark-2
# Conflicts:
#	mycroft/audio/__main__.py
#	mycroft/client/speech/__main__.py
#	mycroft/skills/__main__.py
#	mycroft/util/process_utils.py
2021-02-26 11:49:30 -06:00
Chris Veilleux 450ba58acf remove spurious print statement 2021-02-24 10:39:33 -06:00
Chris Veilleux 9e3595cbdf Remove the newline character at the end of the pantacor device ID before sending it to Selene 2021-02-23 15:34:09 -06:00
neonandrii d69b61afb6 Issue-2812 - Allow overridden converse methods to accept messages - FIX: PEP8-line-too-long issue in MycroftSkill.converse - change required signature in MycroftSkill.converse(). 2021-02-23 14:44:12 +02:00
Kris Gesling 38839a1489
Merge pull request #1822 from forslund/feature/skill-api
Feature/skill api
2021-02-23 10:03:17 +09:30
Kris Gesling bed4c9fe28 Remove example entries in blacklisted_skills config
The default mycroft.conf included some arbitrary examples in the
actual blacklisted_skills configuration. If a user attempted to
use a Skill that matched, it would be prevented from loading.
2021-02-22 16:07:31 +09:30
Chris Veilleux 7df1f674ab Merge remote-tracking branch 'origin/feature/mark-2' into feature/mark-2 2021-02-21 20:10:05 -06:00
Chris Veilleux 8cda5b9c9c Change how pantacor device is identified to Selene 2021-02-21 20:09:08 -06:00
jarbasal 4200a38496 remove old padatious file 2021-02-18 17:19:28 +00:00
Ken Smith ba01f1d507 fix comments 2021-02-15 14:30:31 -05:00
Ken Smith b7a79f6634 add fan control 2021-02-15 14:07:06 -05:00
Diego Asterio 130d517f30 Issue-2750 - Remove log pollution
Add empty skill directories to a set and remove them whenever they are
no longer empty. Empty skill directories only appear once in the log.

==== Fixed Issues ====
log polution - #2750
2021-02-15 13:38:38 +01:00
Åke Forslund 3a6ca30b33 Fix selecting last opt by number in ask_selection()
Fix off by one issue preventing the last option to be selected by
number.
2021-02-14 17:19:31 +01:00
Ken Smith b94d5e5c58 fix audioservice bug and stop pulsing when stop detected 2021-02-11 16:09:38 -05:00
Ken Smith a22dd87dc1 scaffolding for led feedback around voice activity 2021-02-11 13:07:06 -05:00
devs-mycroft a976bd1094 Version bump from 20.8.0 to 20.8.1 2021-02-11 11:51:26 +00:00
Kris Gesling fa5576adf4
Merge pull request #2831 from MycroftAI/bugfix/google-voice
Upgrade gTTS to fix Google voice
2021-02-10 11:16:43 +09:30
Ken Smith a7873cc22f Generic hardware enclosure capabilities should work with any device like your laptop or the Mark2. Provides a view of the default input devices (keyboards and mice) and default output devices (screens). Should be safe to merge to master also. 2021-02-09 16:28:48 -05:00
Kris Gesling c8494932ac Remove deprecated Google TTS lang codes 2021-02-09 21:27:59 +09:30
Åke Forslund 9173e22460 Send correct conf to mimic when used as fallback
- Mimic is now sent the correct config when used as a fallback
- Tests updated to ensure this
2021-02-08 22:09:55 +01:00
Åke be2d3c9fb7
Merge pull request #2828 from MycroftAI/feature/mozilla-tts-validation
Add Mozilla TTS connection validation
2021-02-08 21:54:53 +01:00
Kris Gesling 5a19fc0716 Add Mozilla TTS connection validation
Replication of PR #2719
Original code from JarbasAl
2021-02-08 20:17:59 +09:30
Kris Gesling 5ca342621d add skill_id to error msg 2021-02-08 16:57:07 +09:30
Åke Forslund 1397659c77 Add skill api help to CLI 2021-02-06 17:57:38 +01:00
Åke Forslund 7f3b4e1795 Add skill_api_method decorator
The api methods are now much easier to use, almost transparent. The
current caveat is that only "standarad" python types are acceptable
(int, float, str, list, bool, None) due to the json serialization.

- api methods are now created with the skill_api_method decorator
- both arguments and keyword arguments are sent to the api method
instead of the message object
- api methods now uses a normal return statement instead of having to
handle creating response messages on the bus.

For example if the datetime skill wants to make the datetime string
fetchable simply add the skill_api_method decorator to the
get_display_date method.

    @skill_api_method
    def get_display_date(self, day=None, location=None):
        """Returns the date and time as a string."""
        [...]

The methods return value will be sent back to the caller and can be used
from a skill through

        datetime = SkillApi.get('mycroft-date-time.mycroftai')
        self.log.info(datetime.get_display_date())
2021-02-06 17:57:19 +01:00
Åke Forslund df02bf22b4 Add skill api.
The skill api allows skills to define a public api which can easily be
accessed by other skills over the message bus just as easy as working
with a normal object.

The skill api object is generated from the skill's public_api property. It's a dict where each key is turned into a method on the api object. The method is defined as
  "api_method": {
    "type": message type string
    "func": handler method
    "help": help string for cli
  }

Example skill:

class Test2(MycroftSkill):
    def __init__(self):
        MycroftSkill.__init__(self)
        self.public_api = {
            'speak': {
                'type': 't2.speak',
                'func': self.handle_speak,
                'help': 'speak the test sentence\nand another line\n\nlast'
            },
            'speak2': {
                'type': 't2.speak2',
                'func': self.handle_speak2,
                'help': 'speak the other sentence'
            }
        }

    def handle_speak(self, message):
        self.speak('This is a test')
        self.bus.emit(message.response(data=None))

    def handle_speak2(self, message):
        self.speak('This is another test')
        self.bus.emit(message.response(data=None))
2021-02-06 17:55:34 +01:00
Ken Smith 289f229630 synchronize volume between skill and switches, fix mute led bring up issue and fix color palette 2021-02-05 13:47:27 -05:00
Kris Gesling b1be522972
Merge pull request #2820 from MycroftAI/feature/gui-get
Feature/gui get
2021-02-05 14:41:03 +09:30
Kris Gesling f8f351e4da
Merge pull request #2823 from MycroftAI/bugfix/2822
Reorder operations to ensure removed Skills are first unloaded.
2021-02-05 07:43:16 +09:30
Kris Gesling bfe2b59f90 Add get method for accessing GUI values 2021-02-04 16:12:22 +09:30
Kris Gesling 688d1fe438 Reorder operations to ensure removed Skills are first unloaded.
Prevents SkillManager from attempting to reload a Skill that has
just been removed from the system which results in a
FileNotFoundError

Fixes #2822
2021-02-04 11:56:29 +09:30
Chris Veilleux 5fe7949bfd Added code to pass the packaging_type config to the pairing code endpoint. This was done to know if a device uses a Pantacor image. Selene will use this information to retrieve device information from Pantacor using their API. 2021-02-02 19:27:01 -06:00
Kris Gesling 3b4a3e709b fix missing MAX_VOL 2021-02-02 16:33:50 +09:30
Åke Forslund 3ede156c98 Only stop speaking if speaking is active
This also updates the relevant testcase
2021-02-01 20:26:44 +01:00
Åke Forslund 96bbd384ad Add proper docstring 2021-02-01 20:26:44 +01:00
Åke Forslund e3e52d63a0 Remove filesystem signal for stopping speech
The filesystem signal has not been used for quite some time and should
not be used.
2021-02-01 20:26:44 +01:00
Kris Gesling 8e51083882
Merge pull request #2815 from AIIX/Fix/SystemTextFrame
Bug Fix - Use the correct delegate, fix layouts, autofit text for System TextFrame
2021-02-01 11:57:00 +09:30
Kris Gesling e2fbda6701 auto pep8 2021-01-30 08:54:44 +09:30
Kris Gesling e645409837 reduce max volume 2021-01-30 08:53:45 +09:30
Kris Gesling f30adb85de
Merge pull request #2804 from forslund/bugfix/audioservice-issues
Bugfix/audioservice issues
2021-01-29 14:55:27 +09:30
Åke Forslund 5df15245c4 Add Todo / comment regarding startup order 2021-01-28 17:24:21 +01:00
Åke Forslund b595f6cdad Always use the plural "Skills" for the service
Change all strings referring to the service to use "Skills service"
2021-01-28 17:24:21 +01:00
Åke Forslund 94d5e34fd0 Add started and alive hooks to skills process 2021-01-28 17:24:21 +01:00
Kris Gesling 8a1ee0e106 Move ready check to enclosure; use ProcessStatus
Previously Mycroft reported mycroft.ready when Padatious had
finished it's first training run. This check has been shifted
to the enclosure service, and starts checking once the Padatious
training is complete.

Currently checks on readiness of audio, speech and skills services.
2021-01-28 17:24:21 +01:00
Kris Gesling 1273425799 add ProcessStatus to key services 2021-01-28 17:24:21 +01:00
Kris Gesling cc3bf5b45a Change names for consistency 2021-01-28 17:21:33 +01:00
Åke Forslund bea1f008c6 Add ProcessStatus class
ProcessStatus tracks the process status and allows callbacks on changes
and status queries over the messagebus.

StatusCallbackMap is used to setup the callbacks

ProcessState is an enum tracking the different states.
2021-01-28 17:21:33 +01:00
neonandrii fb84658e5d Issue-2812 - Allow overridden converse methods to accept messages - FIX: PEP8-line-too-long issue in MycroftSkill.converse 2021-01-26 19:27:33 +02:00
neonandrii 171b266ec1 Issue-2812 - Allow overridden converse methods to accept messages - modified the signature check in SkillManager.handle_converse_request and MycroftSkill.converse, and resolving PEP8 issues 2021-01-25 21:00:06 +02:00
neonandrii aca69203e6 Issue-2812 - Allow overridden converse methods to accept messages - modified the signature check in SkillManager.handle_converse_request and MycroftSkill.converse, and resolving PEP8 issues 2021-01-25 20:59:30 +02:00
Kris Gesling 73f0299cfa
Merge pull request #2722 from forslund/bugfix/latest-porcupine
Update for newer Porcupine engines
2021-01-25 16:29:48 +09:30
Åke Forslund aace28dfa3 Use lock around play and stop
Moves the stopping logic to separate method to be able to call from
locked contexts
2021-01-23 11:09:54 +01:00
neonandrii ba7b2795ec Issue-2812 - Allow overridden converse methods to accept messages - adding default message=None to MycroftSkill.converse and changing the signature check in the skill manager. 2021-01-22 17:20:48 +02:00
neonandrii 416eebfee7 Issue-2812 - Allow overridden converse methods to accept messages - adding default message=None to MycroftSkill.converse and changing the signature check in the skill manager. 2021-01-22 17:16:22 +02:00
Åke Forslund 082a2d481c Mark that audio has completed in dummy tts 2021-01-22 14:40:00 +01:00
Åke Forslund c00d37935a Simplify restore audio volume handler 2021-01-22 14:40:00 +01:00
Åke Forslund 8ce1615d75 Lock around tracklist access
Adds a lock and some logic to verify that the audio hasn't stopped
already.
2021-01-22 14:40:00 +01:00
Aditya Mehra 1d29ceca0a Use the correct delegate and fix layouts 2021-01-21 17:49:20 +05:30
Aditya Mehra 0cbf36cd8e do not clear the namespace on every page / data send 2021-01-21 17:33:53 +05:30
neonandrii 3dca3a488a Issue-2812 - Allow overridden converse methods to accept messages 2021-01-21 11:26:46 +02:00
Åke 1a179dacab
Merge pull request #2809 from PureTryOut/location-referenced-before-assignment-2
Stop location being referenced before assignment
2021-01-19 21:28:53 +01:00
Bart Ribbers eb8af7f87a Stop location being referenced before assignment
In cases where the location can't be determined by the device or a
config setting, the location variable wouldn't exist but it would still
be referenced.
This makes sure the variable always exists, but if not changed is equal
to None
2021-01-19 11:44:14 +01:00
Kris Gesling 5e6ba03695
Merge pull request #2805 from forslund/docs/filesystem
Docs/filesystem
2021-01-19 14:49:42 +09:30
Kris Gesling 303f6a3b95
Merge pull request #2792 from MycroftAI/feature/common-bus-connection
Refactor - common bus connection method
2021-01-18 15:58:37 +09:30
Åke Forslund c641325e48 Add filesystem documentation to api documentation 2021-01-17 09:51:58 +01:00
Åke Forslund 375adbbdf0 Make audioservice load backends without callback 2021-01-15 13:49:40 +01:00
Kris Gesling 824792dcdf improve mic error handling 2021-01-15 11:45:57 +09:30
Kris Gesling 5e9b1ac24b
Merge pull request #2801 from MycroftAI/bugfix/mimic2-cache-dir
Bugfix/mimic2 cache dir
2021-01-15 11:43:04 +09:30
Chris Veilleux 042a23879c Don't build the cache directory if it already exists. 2021-01-14 18:00:58 -06:00
Chris Veilleux a52d45ffff Re-added argument removed in previous commit to preserve backwards compatibility. 2021-01-14 14:29:44 -06:00
Chris Veilleux 91b1a9a15c Fixed an error that occurs when the pre-loaded cache directory already exists but the cache_text.txt file does not. 2021-01-13 21:47:09 -06:00
Ken Smith 0d765d61dc remove logging 2021-01-12 14:38:34 -05:00
Ken Smith 6ef24c0a09 hack to keep the rev5 board running 2021-01-12 14:26:37 -05:00
Kris Gesling 974be29c57
Merge pull request #2781 from AIIX/fix/network_remove_pages
Fix missing remove page implementation, show idle if all pages removed
2021-01-11 21:58:22 +09:30
Aditya Mehra 7c2ca269e2 use mycroft.device.show.idle 2021-01-11 15:11:16 +05:30
Kris Gesling 767d2d6912 add whitelist arg to docstring 2021-01-11 16:57:25 +09:30
Kris Gesling ad32a7a873 move bus connect method to process_utils 2021-01-11 16:57:25 +09:30
Kris Gesling f3c76fac44 Audio service to use common bus client method 2021-01-11 16:57:25 +09:30
Kris Gesling 960f650c88 Skills service to use common bus client method 2021-01-11 16:57:25 +09:30
Kris Gesling 0423daeb4c Voice service to use common bus cilent method 2021-01-11 16:57:25 +09:30
Kris Gesling 118c6f73c5 autopep8 2021-01-08 22:47:54 +09:30
Kris Gesling c25e51f0f3 trigger wifi or pairing once all services ready 2021-01-08 22:46:59 +09:30
Kris Gesling 652f3342bc
Merge pull request #2788 from MycroftAI/feature/no-precise-tarball
Do not download Precise if executable already exists
2021-01-08 12:02:53 +09:30
Kris Gesling 54eac52b11 merge dev into mark-2 branch 2021-01-06 22:17:25 +09:30
Aditya Mehra eea66b4376 remove platform check and make the idle emit general 2021-01-06 13:20:17 +05:30
Kris Gesling 81eae60b61
Merge pull request #2758 from MycroftAI/refactor/enclosure-startup
Ensure messagebus is connected before reporting that the service is ready
2021-01-05 20:55:59 +09:30
Åke 33ee6c141b
Merge pull request #2791 from JarbasAl/vlc
Make sure vlc doesn't use video by supplying --no-video
2021-01-05 08:28:40 +01:00
Kris Gesling 013726e5bc
Merge pull request #2785 from timgates42/bugfix_typo_returns
docs: fix simple typo, retruns -> returns
2021-01-05 12:07:15 +09:30
Kris Gesling c0dac56ace
Merge pull request #2790 from forslund/bugfix/pairing-complete-mic-unmute
Unshadow Message class in _handle_pairing_complete
2021-01-05 10:20:14 +09:30
Kris Gesling 81bd4f3468
Merge pull request #2707 from forslund/feature/remote-startup-on-change
Fix remote settings overwrite at startup
2021-01-05 10:10:40 +09:30
jarbasal 1338c4c949 no video 2021-01-04 22:36:36 +00:00
Åke Forslund 9d450b5890 Unshadow Message class in _handle_pairing_complete
Fixes a small typo making the unmute after first pairing call fail.
2021-01-04 21:38:05 +01:00
Kris Gesling 9ec66ccdd7 Increase timeout for slower hashing on squashfs
The current petact download system hashes the tarball to determine
if a download is required. This is particularly slow on first boot
of Pantacor container as it uses squashfs.
2021-01-04 22:25:23 +09:30
JarbasAI f1d7141bf2
fix/intent_api (#2786)
* fix/fix/intent_api

* get active skills

* fix/intent_api

* fix/intent_api

* typos

Co-authored-by: jarbasal <jarbasai@mailfence.com>
2020-12-31 12:56:44 +09:30
Kris Gesling a358bf672f Do not download Precise if exe already exists
This means that the Precise tarball will no longer need to be
stored on disk for the sake of petact.
2020-12-30 21:19:59 +09:30
Åke Forslund bd19d1673c Fix remote settings overwrite at startup
Mycroft always mangeled any local settings changes at startup.

This caches the last settings from home on disk and only updates skills
_if_ there is a change.

This means that as if a member is changed locally (manually edited or
changed by the skill itself) it will be kept until another change is made
to the skill on Home.
2020-12-29 23:03:21 +01:00
Kris Gesling fd5c8bb5e3 Merge branch 'dev' into feature/mark-2 2020-12-29 14:31:09 +09:30
Tim Gates 66270c3cd7
docs: fix simple typo, retruns -> returns
There is a small typo in mycroft/skills/skill_data.py.

Should read `returns` rather than `retruns`.
2020-12-24 08:18:14 +11:00
Aditya Mehra 9ed6baef22 fix case indentation 2020-12-18 14:03:08 +05:30
Aditya Mehra 89a07d05ab Add missing remove page implementation and show idle if all pages removed 2020-12-18 12:52:44 +05:30
dalgwen 4747dd0e59 Fix UnboundLocalError in AudioProducer
==== Fixed Issues ====

====  Tech Notes ====
The variable should be declared outside the loop.
2020-12-15 10:16:34 +01:00
Kris Gesling a54548f1b2 restore play cmd to default 2020-12-15 15:04:53 +09:30
Åke Forslund 4b1efc7db9 Add deprecation notice 2020-12-13 21:53:01 +01:00
Ken Smith 16f31b5283 testing potential fix 2020-12-12 13:39:50 -05:00
Ken Smith 59be2f69b8 handle bug in xmos bring up sequence 2020-12-11 22:54:41 -05:00
Ken Smith 8746172d57 fix xmos chip bring up issue 2020-12-11 14:17:17 -05:00
Ken Smith e85c9cdbcb first version of the sj201 rev4 board 2020-12-09 14:30:12 -05:00
Åke Forslund 23cf197eb0 Pylint cleanup of imports and Porcupine class 2020-12-09 12:38:54 +01:00
Åke Forslund cb8c3fe7de Switch to using the pvporcupine pip package
This is the same set of bindings as previously but packaged and
published on pypi

Picovoce library finder functions are used to determine the location of
libraries.
2020-12-09 12:37:31 +01:00
Åke Forslund 32279894f2 Update for latest Porcupine release
- Update the creation of Porcupine object
- Update the detection to accept >= 0 (index of detected hot word)
2020-12-09 12:37:31 +01:00
Kris Gesling 8ad4875f6d put vfctrl_usb on $PATH 2020-12-08 17:12:00 +09:30
Kris Gesling 6f8bae6ba1
Merge pull request #2736 from forslund/docs/plugin-apis
Add Plugin base classes APIs to readthedocs
2020-12-03 20:33:59 +09:30
Ken Smith 08bad71192 extend base enclosure to support new hardware 2020-12-03 21:55:42 +11:00
Kris Gesling b0884301a3
Merge pull request #2734 from MycroftAI/feat/skill_settings_sync
skill settings sync flag
2020-12-02 10:45:45 +09:30
Åke 259d24396b
Merge pull request #2769 from MycroftAI/feature/gui-clear-docstring
Clarify that gui.clear does not close a Skill
2020-12-01 20:41:43 +01:00
jarbasal 4c84f66e15 skill settings sync flag 2020-12-01 23:56:15 +11:00
Kris Gesling da280e360c
Merge pull request #2767 from forslund/bugfix/anonymous-AdaptIntent
Bugfix/anonymous adapt intent
2020-12-01 21:55:07 +09:30
Kris Gesling 35c1a90d73 Clarify that gui.clear does not close a Skill 2020-12-01 22:43:03 +11:00
Kris Gesling acd67537f1
Merge pull request #2766 from MycroftAI/feat/gui_release
self.gui.release()
2020-12-01 21:10:57 +09:30
Åke Forslund eb78d67ff7 Fix AdaptIntent without name. 2020-11-24 10:49:04 +01:00
jarbasal 778de9a8b3 self.gui.release() 2020-11-21 17:51:14 +00:00
Kris Gesling b9c974bc1b
Merge pull request #2718 from forslund/bugfix/mimic-missing-exceptions
Handle Mimic missing properly
2020-11-16 14:40:14 +09:30
Kris Gesling 12401b8b59
Merge pull request #2666 from MycroftAI/feat/extend_timeout
cps extend timeout
2020-11-15 10:52:16 +09:30
Åke Forslund 1ae6271051 Validate fallback TTS object
Verify that the fallback object can execute when creating it
2020-11-14 11:44:32 +01:00
Kris Gesling ce7331fbbb Ensure messagebus connected before reporting ready
Switch to new standard method to connect to bus client
Ensure exceptions during .run() are raised to the Enclosure service
Add missing .stop() method to base Enclosure Class
Shift call of .stop() to after exit signal
2020-11-12 16:41:37 +09:30
Kris Gesling d01b5e10ed add standard method for starting the bus client as a daemon 2020-11-12 16:35:45 +09:30
Kris Gesling f2b7b0251b
Merge pull request #2757 from forslund/feature/ready-check
Feature: add Process Status and ensure all services ready
2020-11-12 09:16:43 +09:30
Åke Forslund 731de16d1f Properly fix readthedocs issue with yaml 2020-11-06 07:29:12 +01:00
Åke Forslund 5bf2af861f Fix typo preventing STT plugins to load 2020-11-04 08:04:46 +01:00
Åke Forslund 50f049032b Add docstrings for Hotword base class 2020-11-04 08:03:15 +01:00
Åke Forslund de8803be34 Add docstring for STT base classes 2020-11-04 08:03:12 +01:00
Åke Forslund 5e633421c6 Improve docstrings for TTS 2020-11-04 08:03:08 +01:00
Åke Forslund c747b0487a Improve docstrings for audio service backend classes 2020-11-04 08:03:03 +01:00
Kris Gesling 0258009857
Merge pull request #2737 from MycroftAI/feat/appstore_warning
msm appstore warning
2020-10-28 16:13:18 +09:30
jarbasal 8b7a45d02f msm appstore warning 2020-10-26 16:44:52 +00:00
Åke 73e49949b0
Merge pull request #2735 from MycroftAI/bugfix/load-status
Ensure load_status is initialized on load failure
2020-10-26 08:47:54 +01:00
Kris Gesling 3ca15e9bb7 ensure load_status is initialized on load failure 2020-10-26 16:18:20 +09:30
Aditya Mehra 3a33284f62 add missing skill_id parameter for page interaction and focus events 2020-10-23 13:34:01 +05:30
Kris Gesling 23f8c3f5be
Merge pull request #2724 from forslund/feature/pyee-8.1.0
Update to pyee 8.1.0
2020-10-22 20:38:22 +09:30
Åke Forslund 0a9de0ab7c Update to pyee 8.1.0
pyee 8.1.0 adds a small change to make the once call to be more safe in
multithreaded environments.

This switches back from the now deprecated BaseEventEmitter to the
standard EventEmitter.
2020-10-22 11:43:06 +02:00
Kris Gesling 11062dbd9c
Merge pull request #2721 from Nihvel/patch-1
Update __init__.py
2020-10-21 16:26:16 +09:30
Kris Gesling 8a1b989935
Merge pull request #2594 from forslund/feature/plugin-system
Plugin system for stt, tts, audioservices and wake word engines
2020-10-19 15:41:35 +09:30
Juri Calleri 1795322035
Update __init__.py
trailing whitespace removed and double space after '.' dot restored
2020-10-15 15:13:17 +02:00
Juri Calleri 2a1b099390
Update __init__.py
fix for the issue #2630
2020-10-14 19:14:39 +02:00
jarbasal 02cb489f63 wake word plugins 2020-10-10 18:03:40 +01:00
Åke Forslund 112a983024 Fix pylint issues 2020-10-10 09:20:21 +02:00
Åke Forslund a2dc3482ef Fix logs when Mimic is not found
If Mimic was not found at all the LOG message would raise an exception,
this fixes that issue and cleans up Exception chain
2020-10-10 09:04:54 +02:00
Kris Gesling 6e058e48b5
Merge pull request #2713 from domcross/feature/mozilla_tts
Feature/mozilla tts
2020-10-07 11:39:54 +09:30
domcross 10ded43c65 Mozilla TTS
Clean up imports
2020-10-06 11:44:54 +02:00
domcross 99f534c1ad Mozilla TTS
remove custom cache code
improve url handling
2020-10-05 19:51:00 +02:00
Kris Gesling 7bd0e25466
Merge pull request #2706 from joshuajaharwood/feat/issue-2700
Issue-2700 - Allow for different Polly engines in config
2020-10-05 15:28:08 +09:30
domcross 12ec5cb9b7 Mozilla TTS
Cache handling
2020-10-02 21:48:55 +02:00
domcross d0fb378c56 Mozilla TTS
fix imports and example config
2020-10-02 14:10:41 +02:00
Åke b241f1de84
Merge pull request #2704 from MycroftAI/bugfix/settings-update-typeerror
Add optional message argument
2020-10-02 13:40:18 +02:00
domcross 65e30ba861 Mozilla TTS
fix codestyle
2020-10-01 21:03:52 +02:00
domcross 104c57a528 Mozilla TTS
fix missing import and codestyle
2020-10-01 20:35:08 +02:00
domcross 5be3b54b27 MozillaTTS
Implement TTS module that works with Mozilla-TTS server.

==== Environment Notes ====
Requires a Mozilla-TTS server running preferably in your local network.
2020-10-01 20:07:47 +02:00
Joshua J. A. Harwood 84a5fd8853 Issue-2700 - Allow for different Polly engines in config 2020-09-27 22:49:59 +00:00
Åke Forslund 241adfdda8 Add Todo / comment regarding startup order 2020-09-27 09:58:08 +02:00
Åke Forslund 6eeeefb0ac Always use the plural "Skills" for the service
Change all strings referring to the service to use "Skills service"
2020-09-27 09:58:08 +02:00
Åke Forslund 225ece7737 Add started and alive hooks to skills process 2020-09-27 09:58:08 +02:00
Kris Gesling 582faab843 Move ready check to enclosure; use ProcessStatus
Previously Mycroft reported mycroft.ready when Padatious had
finished it's first training run. This check has been shifted
to the enclosure service, and starts checking once the Padatious
training is complete.

Currently checks on readiness of audio, speech and skills services.
2020-09-27 09:58:02 +02:00
el-tocino 8d9930ac18 remove english-only error 2020-09-25 20:18:31 -05:00
Kris Gesling 5e8474cd72 Add optional message argument
When called over the messagebus the message is passed to the handler,
thereby throwing a TypeError as it wasn't expecting 2 positional args.
2020-09-25 15:55:42 +09:30
Kris Gesling 1c80eab76d
Merge pull request #2691 from forslund/bugfix/duration_stretch-update
Bugfix/duration stretch update
2020-09-25 15:06:17 +09:30
Kris Gesling e9add604fd add ProcessStatus to key services 2020-09-25 06:52:27 +02:00
Kris Gesling fa0b0dbd41 Change names for consistency 2020-09-25 06:52:25 +02:00
Åke Forslund 633dea1ac5 Add ProcessStatus class
ProcessStatus tracks the process status and allows callbacks on changes
and status queries over the messagebus.

StatusCallbackMap is used to setup the callbacks

ProcessState is an enum tracking the different states.
2020-09-25 06:51:20 +02:00
Åke Forslund d8ff26bbd9 Add plugin loading of audioservices
All modules registered under the entrypoint group "mycroft.plugin.audioservice"

These shall refer to a module with either an autodetect function or a
load_service function.
2020-09-23 07:46:13 +02:00
Åke Forslund 15fd22a258 Add plugin loading to stt
pip packages registering entrypoints under 'mycroft.plugin.stt' will be
detected.
2020-09-23 07:46:13 +02:00
Åke Forslund a54090eef2 Add plugin support for tts
Entrypoints registered under "mycroft.plugin.tts" will be detected and
able to run.
2020-09-23 07:46:13 +02:00
Åke Forslund caf834c728 Add plugin utils 2020-09-23 07:46:09 +02:00
Kris Gesling ae72ebd247
Merge pull request #2599 from forslund/refactor/intent-service
Refactor intent service
2020-09-23 10:24:16 +09:30
Kris Gesling 571e6d3e61
Merge pull request #2659 from forslund/feature/detect-bad-modification-times
Don't reload skill if a mod time is in the future
2020-09-22 20:55:35 +09:30
katridi 6e197d0138
Bugfix/issue 2563 (#2692)
* Issue-2563 Added fallback to english model
* Added test case for checking config set up
* Added more descriptive log message
2020-09-22 15:01:01 +09:30
jarbasal 7e1e3e4bc2 extend timeout 2020-09-20 21:38:33 +01:00
JarbasAI 4d3cd33d4a
Feat/self.gui.connected (#2682)
* expose gui connection status

* gui.status.request.response

Co-authored-by: jarbasal <jarbasai@mailfence.com>
2020-09-16 17:02:46 +09:30
katridi a185a9a4bf
Issue-2567 - Fixing not initialized dialog_render (#2685)
Fixes #2567
2020-09-15 22:10:39 +09:30
Kris Gesling 31fd9914ef
Merge pull request #2681 from forslund/bugfix/all_loaded-order
initialize status members before bus handlers
2020-09-14 17:02:16 +09:30
Åke Forslund 37e03589f3 Handle numeric duration stretch 2020-09-14 07:43:48 +02:00
Åke Forslund f40c9cc44f Make Global scope variables upper case 2020-09-12 18:18:38 +02:00
Åke Forslund 725b8a8d15 Fix update of duration stretch
Switch from global config to object config
2020-09-12 18:18:02 +02:00
Åke Forslund 1202417f86 Handle ntp syncs during precise Startup
Use MonotonicEvent instead of the builtin Event class
2020-09-10 13:27:21 +02:00
Åke Forslund 4e7809d732 Handle ntp sync in audioservice ready wait
Events (any python threading in general) don't use monotonic time and
can be affected by an ntp sync.

This replaces the normal event with the MonotonicEvent class handling jumps
into the future.
2020-09-10 13:26:25 +02:00
Åke Forslund fc3d8ce801 Add MontonicEvent class
This handles jumps forward in time correctly
2020-09-10 13:26:25 +02:00
Åke Forslund b71bedd471 initialize status members before bus handlers
self._loaded_status was accessed from a message handler, if a message is
received at the precisely wrong time an exception may occur. This fixes
the init order.

Also moves the skill_updater creation to be fore the handlers are
registered.
2020-09-07 06:34:07 +02:00
devs-mycroft 255ac428bd Version bump from 20.8.-1 to 20.8.0 2020-09-03 07:49:13 +00:00
Åke Forslund d704981613 Set a more specific module name for audioservices
The basic name caused collisions between the "vlc" audioservice and the
vlc module. This prepends an "audioservice_" to the service folder name.
2020-08-28 07:59:06 +02:00
Kris Gesling 891325e3f5
Merge pull request #2680 from forslund/bugfix/default-check
Don't run default update if autoupdate is disabled
2020-08-24 10:51:53 +00:00
Kris Gesling 3eee84f053
Merge pull request #2679 from forslund/refactor/remove-imp
Refactor/remove imp
2020-08-24 01:28:34 +00:00
Åke Forslund 70d9868f84 Don't update if autoupdate is disabled 2020-08-21 14:43:41 +02:00
Åke Forslund ba8c41486c Load audioservices using importlib instead of imp
imp has been deprecated for quite some time
2020-08-21 08:00:08 +02:00
Kris Gesling 6e9d6d3795 bump version numbers for 20.08 2020-08-21 10:43:58 +09:30
Kris Gesling 05e96935d4
Merge pull request #2673 from MycroftAI/remove/speaking-utils
remove deprecated speaking utils
2020-08-21 00:32:35 +00:00
Kris Gesling a3a869b883
Merge pull request #2672 from MycroftAI/remove/string-utils
Remove unnecessary string utils
2020-08-21 00:32:08 +00:00
Kris Gesling cb2531c81c
Merge pull request #2671 from MycroftAI/remove/dialog-loader
remove deprecated DialogLoader class
2020-08-21 00:31:45 +00:00
Kris Gesling d1ea9088fb
Merge pull request #2670 from MycroftAI/remove/startListening
remove deprecated startListening signal
2020-08-21 00:31:30 +00:00
Kris Gesling 1b64285bd0
Merge pull request #2669 from MycroftAI/remove/converse-error
remove previously deprecated error message
2020-08-21 00:31:17 +00:00
Kris Gesling 6e0d5a91ae
Merge pull request #2668 from MycroftAI/refactor/recording-timout
remove hardcoded timeouts - now in mycroft.conf
2020-08-21 00:31:04 +00:00
Kris Gesling 40139b9869
Merge pull request #2667 from MycroftAI/feature/deprecated-ee
Remove deprecated EventEmitter classes
2020-08-21 00:30:53 +00:00
Kris Gesling 519f7e19cd
Merge pull request #2674 from MycroftAI/feat/gui_cps_status
add GUI + PAUSED to track status
2020-08-20 21:28:14 +00:00
Åke Forslund 988b99b7fe Add missing watchdog argument
Fix retry call to _initialize_skill_manager() when Msm cache doesn't exist locally.
2020-08-20 21:22:55 +02:00
jarbasal a8e9af8505 add GUI, skill and enclosure to track status 2020-08-20 17:44:48 +09:30
Åke Forslund fe4daa2565 Update Query api methods 2020-08-19 18:24:59 +02:00
Kris Gesling d4d7d09e40 remove hardcoded timeouts; already moved to conf 2020-08-19 20:35:23 +09:30
Kris Gesling fac4744a30
Merge pull request #2657 from AIIX/feature/override-animations
Allow override for animations in platform skills
2020-08-19 06:53:59 +00:00
Kris Gesling b444d00ccf remove previously deprecated speaking utils 2020-08-18 23:31:07 +09:30
Kris Gesling 666178c483 remove unnecessary remove_last_slash method 2020-08-18 23:06:42 +09:30
Kris Gesling ed46311cd8 remove unnecessary get_http method 2020-08-18 23:04:53 +09:30
Kris Gesling 2643caadf8 remove previously deprecated DialogLoader class 2020-08-18 22:56:34 +09:30
Kris Gesling 23d1d35ea9 remove deprecated startListening signal 2020-08-18 22:21:38 +09:30
Kris Gesling 58a5cddbd6 remove previously deprecated error msg 2020-08-18 22:14:32 +09:30
Åke Forslund 10092c3a9e Don't reload skill if a mod time is in the future
This stops a skill from being reloaded repeatedly if a file gets a bad
modification time.

It also logs the offending files in the error message.
2020-08-18 09:52:59 +02:00
Kris Gesling 7f7c97d0f6
Merge pull request #2662 from MycroftAI/bugfix/empty-arg
Do not call max if files list is empty
2020-08-18 07:28:15 +00:00
Kris Gesling ac8e10898f remove deprecated ThreadedEventEmitter 2020-08-18 16:00:51 +09:30
Kris Gesling d70c425854 switch deprecated EventEmitter to other classes 2020-08-18 15:58:42 +09:30
devs-mycroft 9d00f71c5e Version bump from 20.2.4 to 20.2.5 2020-08-17 13:22:08 +00:00
Åke Forslund 81570f14e9 WIP fix pylint warnings in context manager 2020-08-14 13:40:16 +02:00
Kris Gesling 8065f5cbee do not call max if files list is empty 2020-08-14 21:05:32 +09:30
Åke Forslund 8089411d93 Fix warnings from pylint in intent_service.py
- Add missing docstrings
- fix short variable names
- restructure return code
2020-08-13 09:28:23 +02:00
Åke Forslund d9281d7795 Handle pylint warnings for padatious_service 2020-08-13 09:28:23 +02:00
Åke Forslund 841ed2dcfc Update for pylint conformity for adapt module
- imports
- All docstring
- AdaptService method warnings
2020-08-13 09:28:23 +02:00
Åke Forslund 618daac9a4 Pair utterances with normalized versions
- Move setting original utterance to the respective intent service
- Remove botch limiting the intent service to a single STT hypothesis
2020-08-13 09:28:18 +02:00
Kris Gesling 5dac7fe54c disable wakeword uploads before deprecating API 2020-08-13 16:49:54 +09:30
Kris Gesling 7aa80e2b7d remove duplicate and unused method 2020-08-13 16:46:08 +09:30
Åke Forslund 917127638b Remove workaround for adapt one_of intents
This issue was properly fixed in Adapt 0.3.5.
2020-08-13 08:18:55 +02:00
Åke Forslund 008ab372fd FallbackService encapsulating fallback calls 2020-08-13 08:18:51 +02:00
Åke Forslund bb8d4e3c1f Generalization of intent service Episode IV
Simplify the handle_utterance into a list of intent matching functions
run in order until a match is found.

The resolution order is

- Converse
- Padatious High Confidence
- Adapt
- Fallback High priority
- Padatious Medium Confidence
- Fallback Medium priority
- Padatious Last ditch effore
- Fallback Low priority

This collects the many parts of where intent is handled into a single
location handling the entire flow.

The idea is that, in the end, all the skill calling should be done from
this method. The main intent parsers does this but the converse and
fallback still calls directly.
2020-08-13 08:12:53 +02:00
Åke Forslund b52cc55f25 Add support for ranges of fallbacks
If no range is provided it defaults to 0-100 to be backwards compatible
2020-08-13 08:12:53 +02:00
Åke Forslund 4c87bc23d4 Move padatious service to within the IntentService 2020-08-13 08:12:53 +02:00
Åke Forslund e93d23f0df Split out adapt from the intent_service. 2020-08-13 08:12:53 +02:00
Aditya 4d8cd10b31 fix pep8 errors 2020-08-12 22:03:38 +05:30
Aditya 61611ea6e2 allow override for platform skill animations 2020-08-12 21:29:49 +05:30
Åke Forslund b24679a17c Amendments after comments PR comments
- Fix playlist_position description
- Make CPS_send_tracklist() require a playlist argument
- change docstring for the playlist type
2020-08-11 23:09:06 +02:00
Kris Gesling 55cd62470f
Merge pull request #2619 from forslund/feature/common-play-inform-gui
Add method for updating playback information from skills
2020-08-11 07:14:22 +00:00
Åke Forslund 8f4847ff77 Status and track list suggested by @Jarbasal
This commit adds the status, extended track info as well as a tracklist
information as proposed by Jarbasal.
2020-08-11 06:58:45 +02:00
Kris Gesling 69a1c1d082
Merge pull request #2644 from forslund/feature/install-defaults
Always install default skills before initial load
2020-08-11 01:53:50 +00:00
Kris Gesling 7d446b0222
Merge pull request #2650 from forslund/bugfix/stt-missing-lang
set active lang to configured if missing from STT and normalize
2020-08-10 06:36:46 +00:00
Kris Gesling 2270854692
Merge pull request #2649 from forslund/bugfix/extract_duration
Let lingua franca check extract_duration lang
2020-08-10 05:57:18 +00:00
Åke Forslund e9760cdce8 Normalize the lang code to lowercase only
This suites lingua franca better
2020-08-10 07:41:50 +02:00
Åke Forslund 6edaa58558 set active lang to configured if missing from STT
If the STT doesn't send a lang code fallback to configured language
instead of hardcoded en-us
2020-08-10 07:41:44 +02:00
Åke Forslund 6abfca67a6 Fix settings changed check after skill handler
Make self._initial_settings have an unique copy of the settings and not
a reference to the original ones.
2020-08-09 08:50:44 +02:00
Åke Forslund 2dde23467c Let lingua franca check extract_duration lang
Mycroft doesn't need to check for supported languages for
extract_duration, lingua_franca handles that internally.
2020-08-07 07:47:11 +02:00
Åke Forslund 49faadee03 Don't include blacklisted skills in defaults
Don't try do an install on startup if a blacklisted skill is uninstalled
2020-07-31 09:58:34 +02:00
Åke Forslund 0756da700a Always install default skills before initial load
This checks if all default skills are installed before continuing with
initial load.

For devices with no skills installed on first start this should ensure
that skills are installed before sending the mycroft.skills.initialized
to start precise training and generating the mycroft.ready message
2020-07-29 18:48:53 +02:00
Kris Gesling a5b7f55ae4
Merge pull request #2634 from forslund/bugfix/wait-for-response-timeout
Fix custom timeout for wait_for_response()
2020-07-29 07:03:15 +00:00
Kris Gesling 30177a01ed
Merge pull request #2643 from jmontane/dev
Add Festival TTS support
2020-07-28 04:59:59 +00:00
Joan Montané 594c838a00 Add Festival TTS 2020-07-27 18:04:27 +02:00
Åke Forslund 0a04efd88d Add system for checking audio service readiness
The new wait_for_loaded() method will wait until services has been
loaded. It has a 3 minute timeout (default)

This improves the audio service readiness indication to not trigger
until the services are loaded.
2020-07-24 22:12:54 +02:00
Åke Forslund 236a2ed594 Add hook for stopping 2020-07-22 11:06:47 +02:00
Åke Forslund a1fdae3415 Add support for watchdog in skills and speech client
If no watchdog is provided a dummy function will be called
2020-07-22 10:52:32 +02:00
Åke Forslund 09b1deb511 Add possibility for notification hooks for services
- skills
- audio
- speech client
- messagebus service
- enclosure

The main functions now accepts the arguments ready_hook and error_hook
allowing a service or runner script to catch these states and perform
actions accordingly.

This is useful for things like systemd or a desktop launcher.

Fix audio service startup
2020-07-22 10:52:27 +02:00
Åke Forslund 45cb8bec62 Add message for updating playback information from skills
This adds the function used by the npr-news-skill and spotify-skill to
communicate their info to the playback control showing the default
playback UI.

The function has the common parameters specified but is setup to be able
to add new functionallity without core changes.
2020-07-20 13:45:14 +02:00
jamesmf b94b07b35b revert iot dig_for_message 2020-07-14 23:11:10 -04:00
Åke Forslund cba284e4a0 Fix custom timeout for wait_for_response()
The method didn't forward the selected timeout and only the default wait
was ever used.
2020-07-10 09:11:35 +02:00
Kris Gesling b0c34cba97
Merge pull request #2507 from forslund/feature/pyee-7
Update pyee to v7.0.1
2020-07-09 16:10:00 +09:30
Åke Forslund 928e1a8b33 Mark ThreadedEventEmitter as depreciated 2020-07-07 08:36:57 +02:00
Åke Forslund 0fc1ba325a Update pyee to v7.0.1
pyee has added ThreadExecutor variant of the EventEmitter which can
replace the home-spun threadpool based emitter
2020-07-07 08:21:42 +02:00
Åke Forslund 2bb978362f Use bus.wait_for_message() method to wait for speak 2020-07-05 16:38:52 +02:00
Åke Forslund b7d709c3c8 Add wait_for_message() method to messagebus client
- Refactor message waiting into a MessageWaiter class to be able to use the
  same code in both wait_for_message and wait_for_response.
- Add some basic unittests
2020-07-05 09:28:17 +02:00
Åke Forslund 29f60e6d66 Clean up the wait_for_response method
- Use nonlocal instead of mutable object.
- Set default timeout in method argument
2020-07-05 09:28:17 +02:00
Kris Gesling aca6a18c5f
Merge pull request #2327 from MycroftAI/feature/importlib
Switch from the deprecated imp to importlib
2020-07-01 11:34:25 +09:30
Åke Forslund 58608e6458 Handle reloading of relative imports
Submodule reload is enforced by removing sys.modules reference. This
will make imports do the full uncached importing
2020-06-30 19:42:36 +02:00
Kris Gesling 072f409939
Merge pull request #2625 from MycroftAI/bugfix/audio-after-stop
remove messagebus argument
2020-06-30 08:53:59 +09:30
Kris Gesling bf6e6af3e3 remove messagebus argument 2020-06-29 21:38:12 +09:30
Kris Gesling 37a47915f7
Merge pull request #2621 from MycroftAI/bugfix/audio-after-stop
prevent audio playing between mic record and utt handling
2020-06-29 15:56:49 +09:30
Kris Gesling e39fe64ba4 minor cleanup for PR review 2020-06-29 14:30:39 +09:30
Kris Gesling c4478e82ad ensure volume restored after mic recording 2020-06-25 16:17:54 +09:30
Kris Gesling 83ece0e663
Merge pull request #2591 from forslund/bugfix/mint-skill-listing
Workaround issue with get_wch on older ncurses
2020-06-23 20:01:49 +09:30
Åke Forslund b968b06ccb Switch from the deprecated imp to importlib
Separate python 3.4 and 3.5+ implementation
2020-06-23 11:29:15 +02:00
Kris Gesling 4345011f7f prevent audio playing between mic record and handling 2020-06-19 15:27:48 +09:30
Kris Gesling c90a1a5bfe
Merge pull request #2616 from MycroftAI/feat/show_animated_image
self.gui.show_animated_image
2020-06-15 20:26:43 +09:30
jarbasal 6d3b9cda25 pep8 2020-06-14 22:55:33 +01:00
jarbasal 007f636946 self.gui.show_animated_image 2020-06-14 22:52:59 +01:00
Åke a0c7ea7caf
Merge pull request #2560 from forslund/refactor/settings-cleanup
Refactor settings cleanup
2020-05-31 13:37:34 +02:00
Åke 16145909a8
Merge pull request #2589 from forslund/refactor/speech-client
Refactor wake-word waiting and record phrase
2020-05-31 13:37:02 +02:00
devs-mycroft 5281f26187 Version bump from 20.2.3 to 20.2.4 2020-05-29 11:37:34 +00:00
Åke Forslund cdb04b1f3c Minor docstring update 2020-05-27 22:08:14 +02:00
Åke Forslund d494814ec0 Remove unused method 2020-05-27 22:08:14 +02:00
Åke Forslund 944cc416a5 Update SkillSettingsDownloader class
- Update docstrings
- Remove unused members
- Minor logic change to make download method more self-contained
2020-05-27 22:08:10 +02:00
Åke Forslund 86a978fadf Fix audio service startup without Internet
If started up without Network connection the audio service would crash
importing the google_tts module as it tried to fetch language list from
google.

This restructures it to be a just-in-time check. It also adds a cached
list of supported languages to use if an error occurs fetching language
codes.

A small fix allowing "en-US" to be matched to "en-us" instead of the
generic "en" is also included.
2020-05-27 21:28:26 +02:00
Åke Forslund 926d3ff1c1 Extract noise-tracking from _record_phrase
_record_phrase now uses a helper class to track the noise in a sentence
to determine when the user has stopped speaking.

The logic should be the same but the same but allow for easier testing
and manipulation.
2020-05-26 12:12:12 +02:00