diff --git a/buildroot-external/package/mycroft-skill-ovos-volume/0001-integrate-with-PHAL.patch b/buildroot-external/package/mycroft-skill-ovos-volume/0001-integrate-with-PHAL.patch deleted file mode 100644 index 7da16b7e..00000000 --- a/buildroot-external/package/mycroft-skill-ovos-volume/0001-integrate-with-PHAL.patch +++ /dev/null @@ -1,192 +0,0 @@ -From 79c82a85765730f3c719faa74e1ffd74b63c56ae Mon Sep 17 00:00:00 2001 -From: jarbasai -Date: Wed, 16 Mar 2022 15:03:33 +0000 -Subject: [PATCH] integrate with PHAL - -https://github.com/OpenVoiceOS/ovos-PHAL-plugin-alsa ---- - __init__.py | 125 +++++++++-------------------------------- - blop-mark-diangelo.wav | Bin 87676 -> 0 bytes - 2 files changed, 27 insertions(+), 98 deletions(-) - delete mode 100644 blop-mark-diangelo.wav - -diff --git a/__init__.py b/__init__.py -index e85793c..03bb87f 100644 ---- a/__init__.py -+++ b/__init__.py -@@ -1,86 +1,18 @@ --from os.path import dirname, join -- - from adapt.intent import IntentBuilder - from mycroft.skills.core import MycroftSkill, intent_handler, intent_file_handler --from mycroft.util import play_wav, normalize -+from mycroft.util import normalize - from mycroft.util.parse import extract_number --from ovos_utils.sound.alsa import AlsaControl --from mycroft_bus_client import Message - - - class VolumeSkill(MycroftSkill): -- def __init__(self): -- super(VolumeSkill, self).__init__("VolumeSkill") -- self.volume_sound = join(dirname(__file__), "blop-mark-diangelo.wav") -- -- # bus api -- def initialize(self): -- self.add_event("mycroft.volume.get", self.handle_volume_request) -- self.add_event("mycroft.volume.set", self.handle_volume_change) -- self.add_event("mycroft.volume.set.gui", -- self.handle_volume_change_gui) -- self.handle_volume_request(Message("mycroft.volume.get")) -- self.add_event("mycroft.volume.mute", -- self.handle_mute_intent) -- self.add_event("mycroft.volume.unmute", -- self.handle_unmute_intent) -- -- def handle_volume_request(self, message): -- percent = self.get_volume() / 100 -- self.bus.emit(message.response({"percent": percent})) -- -- def handle_volume_change(self, message): -- percent = message.data["percent"] * 100 -- self.set_volume(percent) -- -- def handle_volume_change_gui(self, message): -- percent = message.data["percent"] * 100 -- self.set_volume(percent, set_by_gui=True) -- -- # volume control -- def get_intro_message(self): -- # just pretend this method is called "on_first_boot" -- # will only run once when the skill is loaded for the first time -- self.set_volume(50) -- -- def get_volume(self): -- return AlsaControl().get_volume_percent() -- -- def set_volume(self, percent=None, set_by_gui=False): -- volume = int(percent) -- volume = min(100, volume) -- volume = max(0, volume) -- AlsaControl().set_volume_percent(volume) -- play_wav(self.volume_sound) -- -- # report change to GUI -- if not set_by_gui: -- percent = volume / 100 -- self.handle_volume_request( -- Message("mycroft.volume.get", {"percent": percent})) -- -- def increase_volume(self, volume_change=None): -- if not volume_change: -- volume_change = 15 -- AlsaControl().increase_volume(volume_change) -- play_wav(self.volume_sound) -- self.handle_volume_request(Message("mycroft.volume.get")) -- -- def decrease_volume(self, volume_change=None): -- if not volume_change: -- volume_change = -15 -- if volume_change > 0: -- volume_change = 0 - volume_change -- AlsaControl().increase_volume(volume_change) -- play_wav(self.volume_sound) -- self.handle_volume_request(Message("mycroft.volume.get")) - - # intents - @intent_handler(IntentBuilder("change_volume").require('change_volume')) - def handle_change_volume_intent(self, message): - utterance = message.data['utterance'] - volume_change = extract_number(normalize(utterance)) -- self.set_volume(volume_change) -+ self.bus.emit(message.forward("mycroft.volume.set", -+ {"percent": volume_change / 100})) - if volume_change >= 100: - self.speak_dialog('max.volume') - else: -@@ -91,61 +23,58 @@ def handle_change_volume_intent(self, message): - def handle_less_volume_intent(self, message): - utterance = message.data['utterance'] - volume_change = extract_number(normalize(utterance)) -- if volume_change > 0: -- volume_change = 0 - volume_change -- self.decrease_volume(volume_change) -+ self.bus.emit(message.forward("mycroft.volume.decrease", -+ {"percent": volume_change / 100})) - -- @intent_handler( -- IntentBuilder("increase_volume").require('increase_volume')) -+ @intent_handler(IntentBuilder("increase_volume").require('increase_volume')) - def handle_increase_volume_intent(self, message): - utterance = message.data['utterance'] - volume_change = extract_number(normalize(utterance)) -- self.increase_volume(volume_change) -+ self.bus.emit(message.forward("mycroft.volume.increase", -+ {"percent": volume_change / 100})) - - @intent_file_handler('max_volume.intent') - def handle_max_volume_intent(self, message): -- self.set_volume(100) -+ self.bus.emit(message.forward("mycroft.volume.set", -+ {"percent": 1.0})) - self.speak_dialog('max.volume') - - @intent_file_handler('high_volume.intent') - def handle_high_volume_intent(self, message): -- self.set_volume(85) -+ self.bus.emit(message.forward("mycroft.volume.set", -+ {"percent": 0.9})) - - @intent_file_handler('default_volume.intent') -- def handle_default_volume_ntent(self, message): -- self.set_volume(70) -+ def handle_default_volume_intent(self, message): -+ self.bus.emit(message.forward("mycroft.volume.set", -+ {"percent": 0.7})) - - @intent_file_handler('low_volume.intent') - def handle_low_volume_intent(self, message): -- self.set_volume(30) -+ self.bus.emit(message.forward("mycroft.volume.set", -+ {"percent": 0.3})) - - @intent_file_handler('mute.intent') - def handle_mute_intent(self, message): -- self.log.info("User muted audio.") -- AlsaControl().mute() -- self.bus.emit(Message("mycroft.volume.get").response({"percent" : 0})) -+ self.bus.emit(message.forward("mycroft.volume.mute")) - - @intent_file_handler('unmute.intent') - def handle_unmute_intent(self, message): -- alsa = AlsaControl() -- self.log.info("User unmuted audio.") -- alsa.unmute() -- volume = alsa.get_volume_percent() -- self.bus.emit(Message("mycroft.volume.get").response({"percent" : volume / 100})) -+ self.bus.emit(message.forward("mycroft.volume.unmute")) - - @intent_file_handler('toggle_mute.intent') - def handle_toggle_unmute_intent(self, message): -- alsa = AlsaControl() -- alsa.toggle_mute() -- muted = alsa.is_muted() -- self.log.info(f"User toggled mute. Result: {'muted' if muted else 'unmuted'}") -- self.bus.emit(Message("mycroft.volume.get").response( -- {"percent" : 0 if muted else (alsa.get_volume_percent() / 100)})) -+ self.bus.emit(message.forward("mycroft.volume.mute.toggle")) - - @intent_handler(IntentBuilder("current_volume").require('current_volume')) - def handle_query_volume(self, message): -- volume = AlsaControl().get_volume() -- self.speak_dialog('volume.is', data={'volume': volume}) -+ response = self.bus.wait_for_response(message.forward("volume.get")) -+ if response: -+ volume = response.data["percent"] * 100 -+ self.speak_dialog('volume.is', data={'volume': volume}) -+ else: -+ # TODO dedicated error dialog -+ raise TimeoutError("Failed to get volume") - - - def create_skill(): diff --git a/buildroot-external/package/mycroft-skill-ovos-volume/mycroft-skill-ovos-volume.mk b/buildroot-external/package/mycroft-skill-ovos-volume/mycroft-skill-ovos-volume.mk index 944edcf3..b2aa7f10 100644 --- a/buildroot-external/package/mycroft-skill-ovos-volume/mycroft-skill-ovos-volume.mk +++ b/buildroot-external/package/mycroft-skill-ovos-volume/mycroft-skill-ovos-volume.mk @@ -4,7 +4,7 @@ # ################################################################################ -MYCROFT_SKILL_OVOS_VOLUME_VERSION = c36d2e85654fd128821af57856e028700fd8255c +MYCROFT_SKILL_OVOS_VOLUME_VERSION = 9627e031e883f30bd7d64052e7d5d17b2d239ad8 MYCROFT_SKILL_OVOS_VOLUME_SITE = https://github.com/OpenVoiceOS/skill-ovos-volume MYCROFT_SKILL_OVOS_VOLUME_SITE_METHOD = git MYCROFT_SKILL_OVOS_VOLUME_DIRLOCATION = home/mycroft/.local/share/mycroft/skills