diff --git a/darkmute.py b/darkmute.py index f59668cb81ca53197e51289128ace14311ce65a8..dfaf3433b9acade00eae1307b9fdbf105d7a76ef 100644 --- a/darkmute.py +++ b/darkmute.py @@ -1,8 +1,31 @@ import RPi.GPIO as GPIO import time import snapcast.control +from snapcast import get_snapcast_client +from snapcast import add_server SENSOR_PIN = 7 +MUTE_BRIGHTNESS = 0.1 + + +def dark_mute(): + '''Runs measure_brightness and prints output''' + server = snapcast.control.Snapserver(add_server(), + snapcast.control.CONTROL_PORT) + client = get_snapcast_client(server) + GPIO.setmode(GPIO.BOARD) + try: + while True: + # TODO: track current state, don't send constant updates + brightness = measure_brightness(SENSOR_PIN) + if brightness < MUTE_BRIGHTNESS: + client.muted = True + else: + client.muted = False + except KeyboardInterrupt: + pass + finally: + GPIO.cleanup() def measure_brightness(pin_to_circuit): @@ -18,18 +41,7 @@ def measure_brightness(pin_to_circuit): while (GPIO.input(pin_to_circuit) == GPIO.LOW): charge_time += 1 - return 1/charge_time - - -def dark_mute(): - GPIO.setmode(GPIO.BOARD) - try: - while True: - print(measure_brightness(SENSOR_PIN)) - except KeyboardInterrupt: - pass - finally: - GPIO.cleanup() + return 1000/charge_time if __name__ == '__main__':