Browse Source

pause snowboy after detection

nico 8 years ago
parent
commit
b1cea68f17
3 changed files with 16 additions and 6 deletions
  1. 5 2
      core/JarvisTrigger.py
  2. 5 2
      core/MainController.py
  3. 6 2
      core/OrderAnalyser.py

+ 5 - 2
core/JarvisTrigger.py

@@ -40,9 +40,12 @@ class JarvisTrigger:
         # we wait that a callback
         detector.terminate()
 
-    def stop(self):
+    def pause(self):
         """
         Stop the Snowboy main thread
         :return:
         """
-        self.interrupted = True
+        self.interrupted = True
+
+    def unpause(self):
+        self.interrupted = False

+ 5 - 2
core/MainController.py

@@ -22,7 +22,10 @@ class MainController:
         The hotwork to wake up jarvis has been detected, we pause the snowboy process
         :return:
         """
-        pass
+        self.jarvis_triger.pause()
+
+    def unpause_jarvis_trigger(self):
+        self.jarvis_triger.unpause()
 
     def hotword_detected(self):
         """
@@ -41,5 +44,5 @@ class MainController:
         Receive an order, try to retreive it in the brain.yml to launch to attached plugins
         :return:
         """
-        order_analyser = OrderAnalyser(order)
+        order_analyser = OrderAnalyser(self, order)
         order_analyser.start()

+ 6 - 2
core/OrderAnalyser.py

@@ -3,11 +3,13 @@ import re
 
 
 class OrderAnalyser:
-    def __init__(self, order):
+    def __init__(self, main_controller, order):
         """
         Class used to load
-        :param order:
+        :param order: spelt order
+        :param main_controller
         """
+        self.main_controller = main_controller
         self.order = order
         self.brain = get_brain()
         print "Receiver order: %s" % self.order
@@ -37,6 +39,8 @@ class OrderAnalyser:
                                 klass()
                             else:
                                 klass(parameter)
+                            # once we ran all plugin, we can start back jarvis triger
+                            self.main_controller.unpause_jarvis_trigger()
 
     def _spelt_order_match_brain_order(self, order_to_test):
         """