From 0b69e46dc62cd6792fe3dfbd285e99d9f90dc933 Mon Sep 17 00:00:00 2001 From: jarbasai Date: Thu, 28 Jul 2022 20:08:58 +0100 Subject: [PATCH 1/3] feat/play_audio companion PR for https://github.com/OpenVoiceOS/ovos-core/pull/180 --- ovos_workshop/skills/__init__.py | 2 +- ovos_workshop/skills/ovos.py | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/ovos_workshop/skills/__init__.py b/ovos_workshop/skills/__init__.py index 470d0356..c9c6619e 100644 --- a/ovos_workshop/skills/__init__.py +++ b/ovos_workshop/skills/__init__.py @@ -1,5 +1,5 @@ try: - from ovos_workshop.skills.ovos import MycroftSkill, OVOSSkill, OVOSFallbackSkill + from ovos_workshop.skills.ovos import MycroftSkill, OVOSSkill, OVOSFallbackSkill from ovos_workshop.skills.idle_display_skill import IdleDisplaySkill except ImportError: pass diff --git a/ovos_workshop/skills/ovos.py b/ovos_workshop/skills/ovos.py index e7a33d9e..0f8eba9f 100644 --- a/ovos_workshop/skills/ovos.py +++ b/ovos_workshop/skills/ovos.py @@ -4,7 +4,7 @@ # ensure mycroft can be imported from ovos_utils import ensure_mycroft_import from ovos_utils.log import LOG -from ovos_utils.messagebus import Message +from ovos_utils.messagebus import Message, dig_for_message, get_message_lang from ovos_utils.skills.settings import PrivateSettings ensure_mycroft_import() @@ -13,11 +13,11 @@ from mycroft.skills.mycroft_skill.event_container import create_wrapper from ovos_utils.skills import get_non_properties from ovos_utils.intents import IntentBuilder, Intent, AdaptIntent +from ovos_utils.sound import play_audio from ovos_workshop.patches.base_skill import MycroftSkill, FallbackSkill from ovos_workshop.decorators.killable import killable_event, \ AbortEvent, AbortQuestion from ovos_workshop.skills.layers import IntentLayers -from ovos_utils.messagebus import dig_for_message, get_message_lang class OVOSSkill(MycroftSkill): @@ -43,6 +43,17 @@ def bind(self, bus): self.private_settings = PrivateSettings(self.skill_id) self.intent_layers.bind(self) + def play_audio(self, filename): + try: + from mycroft.version import OVOS_VERSION_BUILD, OVOS_VERSION_MINOR + if OVOS_VERSION_MINOR > 0 or OVOS_VERSION_BUILD >= 4: + self.bus.emit(Message("mycroft.audio.queue", + {"filename": filename})) + except: + pass + LOG.warning("self.play_audio requires ovos-core >= 0.0.4a44, falling back to local skill playback") + play_audio(filename).wait() + # lang support @property def lang(self): From e90d4bf342b724a9b5864f771ae6ce4c3af10c90 Mon Sep 17 00:00:00 2001 From: jarbasai Date: Thu, 28 Jul 2022 20:25:09 +0100 Subject: [PATCH 2/3] version --- ovos_workshop/skills/ovos.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ovos_workshop/skills/ovos.py b/ovos_workshop/skills/ovos.py index 0f8eba9f..36686769 100644 --- a/ovos_workshop/skills/ovos.py +++ b/ovos_workshop/skills/ovos.py @@ -45,8 +45,10 @@ def bind(self, bus): def play_audio(self, filename): try: - from mycroft.version import OVOS_VERSION_BUILD, OVOS_VERSION_MINOR - if OVOS_VERSION_MINOR > 0 or OVOS_VERSION_BUILD >= 4: + from mycroft.version import OVOS_VERSION_BUILD, OVOS_VERSION_MINOR, OVOS_VERSION_MAJOR + if OVOS_VERSION_MAJOR >= 1 or \ + OVOS_VERSION_MINOR > 0 or \ + OVOS_VERSION_BUILD >= 4: self.bus.emit(Message("mycroft.audio.queue", {"filename": filename})) except: From c41a194bd247ab98c8344b8d9d950c3763f8780f Mon Sep 17 00:00:00 2001 From: jarbasai Date: Thu, 28 Jul 2022 20:25:45 +0100 Subject: [PATCH 3/3] ovos-core >= 0.0.4a45 --- ovos_workshop/skills/ovos.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ovos_workshop/skills/ovos.py b/ovos_workshop/skills/ovos.py index 36686769..692c81f1 100644 --- a/ovos_workshop/skills/ovos.py +++ b/ovos_workshop/skills/ovos.py @@ -53,7 +53,7 @@ def play_audio(self, filename): {"filename": filename})) except: pass - LOG.warning("self.play_audio requires ovos-core >= 0.0.4a44, falling back to local skill playback") + LOG.warning("self.play_audio requires ovos-core >= 0.0.4a45, falling back to local skill playback") play_audio(filename).wait() # lang support