#!/usr/bin/env nix-shell #!nix-shell -i python -p python3 --pure import sys import time import random from socket import * fps = 3 pixels = 50 port = 4213 randomizeBrightness = False if len(sys.argv) > 1: hosts = sys.argv[1:] else: hosts = ['ringclockDOTmake', 'ringclockDOThack', 'ringclockDOTelab'] s = socket(AF_INET, SOCK_DGRAM) def cyan(): r = random.randint(0, 32) g = random.randint(64, 255) out = [r, g, int(g/6), 0] if randomizeBrightness: b = random.random() out = [ int(px * b) for px in out ] return out period = 1 / fps while True: # if fps >= 10: # data = [1] # else: # data = [int( 50 * period )] data = [int( 50 * period )] for _ in range(pixels): data += cyan() data = bytearray(b'fxbuffer') + bytearray(data) for host in hosts: try: s.sendto(data, (host, port)) except: pass time.sleep(period)