class PatternListener(liblo.ServerThread): def __init__(self, address=8765): liblo.ServerThread.__init__(self, address) self.pattern = Pattern() @liblo.make_method('/pattern/set', 'ii') def set_callback(self, path, args): track, step = args self.pattern.set_step(track, step) @liblo.make_method('/pattern/clear', 'ii') def clear_callback(self, path, args): track, step = args self.pattern.clear_step(track, step) @liblo.make_method('/pattern/mute', 'i') def mute_callback(self, path, track): self.pattern.mute(track) @liblo.make_method('/pattern/unmute', 'i') def unmute_callback(self, path, track): self.pattern.unmute(track)