I’m using it inside a twisted app, mostly for all the batteries it includes. I have a UDP server class that inherits from this class, but implements its own send_to_sign method. This layout made reusing the code for different connection media a breeze. Basic usage then looks something like this:
self.test_reset()
self.pause()
self.time_sync()
self.set_frame_count(3)
self.set_text(0, '{y}OH HAI')
self.set_text(1, 'I AM {f}THE{/f} SIGN')
self.set_text(2, '{0}{ma} {dd} {12}')
self.resume()To dumb down the interface, a frame count of n actually creates a playlist containing n two-letter filenames, 'AA’…’ZZ’. Calling set_text with a frame ID then sets the text of the corresponding file. The set_text method has a dead simple markup language it can use to set text colors and stuff.
More to come, probably…

def time_sync(self):loc = localtime()
self.send_message((5, 2, 2), data=
[int(str(loc[0] % 1000), 16), 32, int(str(loc[1]), 16),
int(str(loc[2]), 16), int(str(loc[3]), 16), int(str(loc[4]), 16),
2, 6])
It took me a couple tries to figure this out because it all looked completely sane in the hex dumps of packets.