From: Guillaume Pellerin Date: Thu, 24 Oct 2013 17:20:17 +0000 (+0200) Subject: fix gpio parasite filter, goto 0.3 X-Git-Tag: 0.3.1~1 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=a6b31551d79a6b3dc09ac02fc903b09123a3c0fb;p=piplayer.git fix gpio parasite filter, goto 0.3 --- diff --git a/piplayer/__init__.py b/piplayer/__init__.py index 7e860d9..56d8ded 100644 --- a/piplayer/__init__.py +++ b/piplayer/__init__.py @@ -1,3 +1,3 @@ -__version__ = '0.2' +__version__ = '0.3' diff --git a/piplayer/player.py b/piplayer/player.py index 1e64f75..7fab497 100644 --- a/piplayer/player.py +++ b/piplayer/player.py @@ -32,6 +32,7 @@ import pygst pygst.require("0.10") import gst import os, sys +import time from piplayer.tools import * from piplayer.controller import * @@ -46,7 +47,7 @@ class PiPlayer(object): looping = False auto_next = False alsa_device = 'hw:0' - parasite_filter_time = 0.02 + gpio_parasite_filter_time = 0.02 def __init__(self, play_dir): # Playlist @@ -157,16 +158,14 @@ class PiPlayer(object): if DEBUG: print self.play_id, self.uri - def parasite_filter(self): - import RPi.GPIO as GPIO - time.sleep(self.parasite_filter_time) - return GPIO.input(self.gpio_channel_play): + def gpio_parasite_filter(self): + time.sleep(self.gpio_parasite_filter_time) + return self.gpio_controller.server.input(self.gpio_channel_play) def play(self): - if not self.playing: - if self.parasite_filter(): - self.pipeline.set_state(gst.STATE_PLAYING) - self.playing = True + if not self.playing: + self.pipeline.set_state(gst.STATE_PLAYING) + self.playing = True elif self.auto_next: self.next() @@ -183,10 +182,12 @@ class PiPlayer(object): self.stop() def gpio_play(self, channel): - self.play() + if self.gpio_parasite_filter(): + self.play() def gpio_stop(self, channel): - self.stop() + if self.gpio_parasite_filter(): + self.stop() def run(self): self.mainloop.run() diff --git a/setup.py b/setup.py index 15f2c27..fab5920 100644 --- a/setup.py +++ b/setup.py @@ -19,7 +19,7 @@ setup( long_description = open('README.md').read(), author = "Guillaume Pellerin", author_email = "yomguy@parisson.com", - version = '0.2', + version = '0.3', install_requires = [ 'setuptools', 'pyliblo',