diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/audio_sensors/audiograb.py | 48 | ||||
-rw-r--r-- | plugins/camera_sensor/camera_sensor.py | 4 | ||||
-rw-r--r-- | plugins/camera_sensor/tacamera.py | 11 |
3 files changed, 31 insertions, 32 deletions
diff --git a/plugins/audio_sensors/audiograb.py b/plugins/audio_sensors/audiograb.py index 6072c61..21c92e9 100644 --- a/plugins/audio_sensors/audiograb.py +++ b/plugins/audio_sensors/audiograb.py @@ -16,9 +16,6 @@ # along with this library; if not, write to the Free Software # Foundation, 51 Franklin Street, Suite 500 Boston, MA 02110-1335 USA -import pygst -import gst -import gst.interfaces from numpy import fromstring import subprocess import traceback @@ -27,6 +24,7 @@ from threading import Timer from TurtleArt.taconstants import XO1 from TurtleArt.tautils import debug_output +from gi.repository import Gst # Initial device settings RATE = 48000 @@ -105,31 +103,31 @@ class AudioGrab(): self.pads = [] self.queue = [] self.fakesink = [] - self.pipeline = gst.Pipeline('pipeline') - self.alsasrc = gst.element_factory_make('alsasrc', 'alsa-source') + self.pipeline = Gst.Pipeline('pipeline') + self.alsasrc = Gst.ElementFactory.make('alsasrc', 'alsa-source') self.pipeline.add(self.alsasrc) - self.caps1 = gst.element_factory_make('capsfilter', 'caps1') + self.caps1 = Gst.ElementFactory.make('capsfilter', 'caps1') self.pipeline.add(self.caps1) caps_str = 'audio/x-raw-int,rate=%d,channels=%d,depth=16' % ( RATE, self.channels) - self.caps1.set_property('caps', gst.caps_from_string(caps_str)) + self.caps1.set_property('caps', Gst.caps_from_string(caps_str)) if self.channels == 1: - self.fakesink.append(gst.element_factory_make('fakesink', 'fsink')) + self.fakesink.append(Gst.ElementFactory.make('fakesink', 'fsink')) self.pipeline.add(self.fakesink[0]) self.fakesink[0].connect('handoff', self.on_buffer, 0) self.fakesink[0].set_property('signal-handoffs', True) - gst.element_link_many(self.alsasrc, self.caps1, self.fakesink[0]) + Gst.element_link_many(self.alsasrc, self.caps1, self.fakesink[0]) else: if not hasattr(self, 'splitter'): - self.splitter = gst.element_factory_make('deinterleave') + self.splitter = Gst.ElementFactory.make('deinterleave') self.pipeline.add(self.splitter) self.splitter.set_properties('keep-positions=true', 'name=d') self.splitter.connect('pad-added', self._splitter_pad_added) - gst.element_link_many(self.alsasrc, self.caps1, self.splitter) + Gst.element_link_many(self.alsasrc, self.caps1, self.splitter) for i in range(self.channels): - self.queue.append(gst.element_factory_make('queue')) + self.queue.append(Gst.ElementFactory.make('queue')) self.pipeline.add(self.queue[i]) - self.fakesink.append(gst.element_factory_make('fakesink')) + self.fakesink.append(Gst.ElementFactory.make('fakesink')) self.pipeline.add(self.fakesink[i]) self.fakesink[i].connect('handoff', self.on_buffer, i) self.fakesink[i].set_property('signal-handoffs', True) @@ -141,9 +139,9 @@ class AudioGrab(): self.capture_interval_sample = False def _query_mixer(self): - self._mixer = gst.element_factory_make('alsamixer') - rc = self._mixer.set_state(gst.STATE_PAUSED) - assert rc == gst.STATE_CHANGE_SUCCESS + self._mixer = Gst.ElementFactory.make('alsamixer') + rc = self._mixer.set_state(Gst.State.PAUSED) + assert rc == Gst.State.CHANGE_SUCCESS # Query the available controls tracks_list = self._mixer.list_tracks() @@ -186,9 +184,9 @@ class AudioGrab(): ''' self.pads.append(pad) if self._pad_count < self.channels: - pad.link(self.queue[self._pad_count].get_pad('sink')) - self.queue[self._pad_count].get_pad('src').link( - self.fakesink[self._pad_count].get_pad('sink')) + pad.link(self.queue[self._pad_count].get_static_pad('sink')) + self.queue[self._pad_count].get_static_pad('src').link( + self.fakesink[self._pad_count].get_static_pad('sink')) self._pad_count += 1 else: debug_output('ignoring channels > %d' % (self.channels), @@ -218,13 +216,13 @@ class AudioGrab(): def start_sound_device(self): '''Start or Restart grabbing data from the audio capture''' - gst.event_new_flush_start() - self.pipeline.set_state(gst.STATE_PLAYING) + Gst.event_new_flush_start() + self.pipeline.set_state(Gst.State.PLAYING) def stop_sound_device(self): '''Stop grabbing data from capture device''' - gst.event_new_flush_stop() - self.pipeline.set_state(gst.STATE_NULL) + Gst.event_new_flush_stop() + self.pipeline.set_state(Gst.State.NULL) def sample_now(self): ''' Log the current sample now. This method is called from the @@ -245,7 +243,7 @@ class AudioGrab(): self.pause_grabbing() caps_str = 'audio/x-raw-int,rate=%d,channels=%d,depth=16' % ( sr, self.channels) - self.caps1.set_property('caps', gst.caps_from_string(caps_str)) + self.caps1.set_property('caps', Gst.caps_from_string(caps_str)) self.resume_grabbing() def get_sampling_rate(self): @@ -342,7 +340,7 @@ class AudioGrab(): '''Get mute status of a control''' if not control: return default - return bool(control.flags & gst.interfaces.MIXER_TRACK_MUTE) + return bool(control.flags & Gst.interfaces.MIXER_TRACK_MUTE) def _set_mute(self, control, name, value): '''Mute a control''' diff --git a/plugins/camera_sensor/camera_sensor.py b/plugins/camera_sensor/camera_sensor.py index f694767..2f01045 100644 --- a/plugins/camera_sensor/camera_sensor.py +++ b/plugins/camera_sensor/camera_sensor.py @@ -15,7 +15,6 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -import gst from fcntl import ioctl import os from time import time @@ -28,6 +27,7 @@ from plugins.camera_sensor.v4l2 import v4l2_control, V4L2_CID_AUTOGAIN, \ from plugins.plugin import Plugin +from gi.repository import Gst from TurtleArt.tapalette import make_palette from TurtleArt.talogo import media_blocks_dictionary, primitive_dictionary from TurtleArt.tautils import get_path, debug_output @@ -44,7 +44,7 @@ class Camera_sensor(Plugin): self._ag_control = None self.camera = None - v4l2src = gst.element_factory_make('v4l2src') + v4l2src = Gst.ElementFactory.make('v4l2src') if v4l2src.props.device_name is not None: self._status = True diff --git a/plugins/camera_sensor/tacamera.py b/plugins/camera_sensor/tacamera.py index 40bd53d..ec43641 100644 --- a/plugins/camera_sensor/tacamera.py +++ b/plugins/camera_sensor/tacamera.py @@ -20,8 +20,9 @@ #OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN #THE SOFTWARE. -import gst, time +import time from gi.repository import GObject +from gi.repository import Gst from TurtleArt.tautils import debug_output @@ -34,7 +35,7 @@ class Camera(): def __init__(self): ''' Prepare camera pipeline to pixbuf and signal watch ''' - self.pipe = gst.parse_launch('!'.join(GST_PIPE)) + self.pipe = Gst.parse_launch('!'.join(GST_PIPE)) self.bus = self.pipe.get_bus() self.bus.add_signal_watch() self.bus.connect('message', self._on_message) @@ -51,11 +52,11 @@ class Camera(): ''' Start grabbing ''' self.pixbuf = None self.image_ready = False - self.pipe.set_state(gst.STATE_PLAYING) + self.pipe.set_state(Gst.State.PLAYING) while not self.image_ready: - self.bus.poll(gst.MESSAGE_ANY, -1) + self.bus.poll(Gst.MessageType.ANY, -1) # self.stop_camera_input() def stop_camera_input(self): ''' Stop grabbing ''' - self.pipe.set_state(gst.STATE_NULL) + self.pipe.set_state(Gst.State.NULL) |