def laser_loop(q): import LaserDisplay from LaserDisplay.SvgProcessor import SvgProcessor LD = LaserDisplay.create() LD.set_scan_rate(30000) LD.set_blanking_delay(0) sp = SvgProcessor(LD) svg = None while True: if not q.empty(): svg = q.get() if not svg is None: sp.parseString(svg, 255.0/595.0) LD.show_frame() time.sleep(1.0/25.0)
def laser_loop(q): import LaserDisplay from LaserDisplay.SvgProcessor import SvgProcessor LD = LaserDisplay.create() LD.set_scan_rate(30000) LD.set_blanking_delay(0) sp = SvgProcessor(LD) svg = None while True: if not q.empty(): svg = q.get() if not svg is None: sp.parseString(svg, 255.0 / 595.0) LD.show_frame() time.sleep(1.0 / 25.0)
#!/usr/bin/env python import sys import LaserDisplay from LaserDisplay.SvgProcessor import SvgProcessor if len(sys.argv) < 2: print 'Usage: showsvg filename.svg' sys.exit(1) LD = LaserDisplay.create() LD.set_scan_rate(30000) LD.set_blanking_delay(0) sp = SvgProcessor(LD) while True: sp.parseFile(sys.argv[1]) LD.show_frame()
#!/usr/bin/env python DEVICE = 'alsa_output.pci-0000_00_1b.0.analog-stereo.monitor' import pygst pygst.require("0.10") import gst import struct import numpy.fft import LaserDisplay pipeline = gst.parse_launch('pulsesrc device=%s ! audio/x-raw-int ! appsink name=sink' % DEVICE) sink = pipeline.get_by_name('sink') pipeline.set_state(gst.STATE_PLAYING) LD = LaserDisplay.create() def setcolor(v): if v < 60: LD.set_color(LD.GREEN) elif v < 120: LD.set_color(LD.YELLOW) else: LD.set_color(LD.RED) while True: try: buf = sink.emit('pull-buffer') except: print 'err' break