Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2014-04-03 20:12:30 (GMT)
committer Walter Bender <walter@sugarlabs.org>2014-04-03 20:12:30 (GMT)
commit6dbb00de5d3fb96764a01ffc1f358a007ae9e648 (patch)
tree355db8460ad6b2128341ac39aeabb09f5112ce4e
parent0c2bb4763b68ae5aab7e522996e9469259afb950 (diff)
fix problem with starting plugins from Python export
-rw-r--r--plugins/audio_sensors/audio_sensors.py21
-rw-r--r--plugins/camera_sensor/camera_sensor.py5
2 files changed, 18 insertions, 8 deletions
diff --git a/plugins/audio_sensors/audio_sensors.py b/plugins/audio_sensors/audio_sensors.py
index d62ca65..22c8d6d 100644
--- a/plugins/audio_sensors/audio_sensors.py
+++ b/plugins/audio_sensors/audio_sensors.py
@@ -235,30 +235,39 @@ class Audio_sensors(Plugin):
''' Start grabbing audio if there is an audio block in use '''
if not self._status:
return
+
self._sound = [0, 0]
self._volume = [0, 0]
self._pitch = [0, 0]
self._resistance = [0, 0]
self._voltage = [0, 0]
+
if self.audio_started:
self.audiograb.stop_grabbing()
- if len(self._parent.block_list.get_similar_blocks(
- 'block', ['volume', 'sound', 'pitch'])) > 0:
+
+ volume_blocks = len(self._parent.block_list.get_similar_blocks(
+ 'block', ['volume', 'sound', 'pitch']))
+ resistance_blocks = len(self._parent.block_list.get_similar_blocks(
+ 'block', ['resistance', 'resistance2']))
+ voltage_blocks = len(self._parent.block_list.get_similar_blocks(
+ 'block', ['voltage', 'voltage2']))
+ # FIXME: assume Python code is using a volume block
+ if not self._parent.running_turtleart or volume_blocks > 0:
mode, bias, gain, boost = self.PARAMETERS[SENSOR_AC_BIAS]
- elif len(self._parent.block_list.get_similar_blocks(
- 'block', ['resistance', 'resistance2'])) > 0:
+ elif resistance_blocks > 0:
mode, bias, gain, boost = self.PARAMETERS[SENSOR_DC_BIAS]
- elif len(self._parent.block_list.get_similar_blocks(
- 'block', ['voltage', 'voltage2'])) > 0:
+ elif voltage_blocks > 0:
mode, bias, gain, boost = self.PARAMETERS[SENSOR_DC_NO_BIAS]
else:
return # No audio blocks in use.
+
self.audiograb = AudioGrab(self.new_buffer, self,
mode, bias, gain, boost)
self._channels = self.audiograb.channels
for i in range(self._channels):
self.ringbuffer.append(RingBuffer1d(self.max_samples,
dtype='int16'))
+
self.audiograb.start_grabbing()
self.audio_started = True
diff --git a/plugins/camera_sensor/camera_sensor.py b/plugins/camera_sensor/camera_sensor.py
index 5f79d15..7006ce2 100644
--- a/plugins/camera_sensor/camera_sensor.py
+++ b/plugins/camera_sensor/camera_sensor.py
@@ -188,8 +188,9 @@ is pushed to the stack'),
def start(self):
''' Initialize the camera if there is an camera block in use '''
- if len(self._parent.block_list.get_similar_blocks('block',
- ['camera', 'camera1', 'read_camera', 'luminance'])) > 0:
+ camera_blocks = len(self._parent.block_list.get_similar_blocks(
+ 'block', ['camera', 'camera1', 'read_camera', 'luminance']))
+ if not self._parent.running_turtleart or camera_blocks > 0:
if self._status and len(self.cameras) == 0:
for device in self.devices:
self.cameras.append(Camera(device))