Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--TurtleArt/tagplay.py18
-rw-r--r--TurtleArt/talogo.py24
-rw-r--r--plugins/audio_sensors/audio_sensors.py12
-rw-r--r--plugins/turtle_blocks_extras/turtle_blocks_extras.py21
4 files changed, 73 insertions, 2 deletions
diff --git a/TurtleArt/tagplay.py b/TurtleArt/tagplay.py
index 7acc249..c378c84 100644
--- a/TurtleArt/tagplay.py
+++ b/TurtleArt/tagplay.py
@@ -75,6 +75,24 @@ def stop_media(lc):
lc.gplay = None
+def pause_media(lc):
+ """ From pause media block """
+ if lc.gplay == None:
+ return False
+
+ if lc.gplay.player is not None:
+ lc.gplay.player.pause()
+
+
+def play_media(lc):
+ """ From play media block """
+ if lc.gplay == None:
+ return False
+
+ if lc.gplay.player is not None:
+ lc.gplay.player.play()
+
+
def media_playing(lc):
if lc.gplay == None:
return False
diff --git a/TurtleArt/talogo.py b/TurtleArt/talogo.py
index 03d4957..e935ea3 100644
--- a/TurtleArt/talogo.py
+++ b/TurtleArt/talogo.py
@@ -741,6 +741,30 @@ class LogoCode:
self.ireturn()
yield True
+ def media_stop(self):
+ """ Stop playing media"""
+ if self.tw.gst_available:
+ from tagplay import stop_media
+ stop_media(self)
+ self.ireturn()
+ yield True
+
+ def media_pause(self):
+ """ Pause media"""
+ if self.tw.gst_available:
+ from tagplay import pause_media
+ pause_media(self)
+ self.ireturn()
+ yield True
+
+ def media_play(self):
+ """ Play media"""
+ if self.tw.gst_available:
+ from tagplay import play_media
+ play_media(self)
+ self.ireturn()
+ yield True
+
def play_sound(self):
""" Sound file from Journal """
if self.tw.gst_available:
diff --git a/plugins/audio_sensors/audio_sensors.py b/plugins/audio_sensors/audio_sensors.py
index 978a17d..0662acb 100644
--- a/plugins/audio_sensors/audio_sensors.py
+++ b/plugins/audio_sensors/audio_sensors.py
@@ -354,13 +354,21 @@ class Audio_sensors(Plugin):
else:
resistance = 420000000
elif self.hw == XO175:
- return (180000000 / (30700 - avg_buf)) - 3150
+ if avg_buf < 30700:
+ return (180000000 / (30700 - avg_buf)) - 3150
+ else:
+ resistance = 999999999
else: # XO 3.0
- return (46000000 / (30514 - avg_buf)) - 1150
+ if avg_buf < 30514:
+ return (46000000 / (30514 - avg_buf)) - 1150
+ else:
+ resistance = 999999999
if channel == 0:
self._parent.lc.update_label_value('resistance', resistance)
else:
self._parent.lc.update_label_value('resistance2', resistance)
+ if resistance < 0:
+ resistance = 0
return resistance
else:
return 0
diff --git a/plugins/turtle_blocks_extras/turtle_blocks_extras.py b/plugins/turtle_blocks_extras/turtle_blocks_extras.py
index 4398fcc..8092e3d 100644
--- a/plugins/turtle_blocks_extras/turtle_blocks_extras.py
+++ b/plugins/turtle_blocks_extras/turtle_blocks_extras.py
@@ -265,6 +265,27 @@ in the Sugar Journal'))
complete'))
self.tw.lc.def_prim('mediawait', 0, self.tw.lc.media_wait, True)
+ palette.add_block('mediastop',
+ style='basic-style-extended-vertical',
+ label=_('media stop'),
+ prim_name='mediastop',
+ help_string=_('stop video or audio'))
+ self.tw.lc.def_prim('mediastop', 0, self.tw.lc.media_stop, True)
+
+ palette.add_block('mediapause',
+ style='basic-style-extended-vertical',
+ label=_('media pause'),
+ prim_name='mediapause',
+ help_string=_('pause video or audio'))
+ self.tw.lc.def_prim('mediapause', 0, self.tw.lc.media_pause, True)
+
+ palette.add_block('mediaplay',
+ style='basic-style-extended-vertical',
+ label=_('media resume'),
+ prim_name='mediaplay',
+ help_string=_('resume playing video or audio'))
+ self.tw.lc.def_prim('mediaplay', 0, self.tw.lc.media_play, True)
+
primitive_dictionary['speak'] = self._prim_speak
palette.add_block('speak',
style='basic-style-1arg',