diff --git a/mixer.py b/mixer.py index 0bccd66..1ca6602 100755 --- a/mixer.py +++ b/mixer.py @@ -19,14 +19,6 @@ class Mixer: SYSEX_HEADER = ALLEN_HEATH_ID + QU_MIXER + MAJOR_MINOR SYSEX_ALL_CALL = SYSEX_HEADER + ALL_CALL_MIDI_CHANNEL - class SysExMessageId(Enum): - GET_NAME_FROM_QU_REQUEST = 0x01, - GET_NAME_FROM_QU_RESPONSE = 0x02, - GET_SYSTEM_STATE_REQUEST = 0x10, - GET_SYSTEM_STATE_RESPONSE = 0x11, - GET_METER_DATA_REQUEST = 0x12, - GET_METER_DATA_RESPONSE = 0x13 - def recv(self): p = mido.Parser() @@ -50,7 +42,7 @@ class Mixer: return msg def get_system_state(self): - msg_id = self.SysExMessageId.GET_SYSTEM_STATE_REQUEST + msg_id = 0x10 i_pad_flag = 0x01 data = self.SYSEX_ALL_CALL + [msg_id, i_pad_flag] @@ -95,7 +87,7 @@ class Mixer: print(f"Firmware Version: {major_ver}.{minor_ver}") def get_name_from_qu(self, channel_no, name_to_set): - msg_id = self.SysExMessageId.GET_NAME_FROM_QU_REQUEST + msg_id = 0x01 data = self.SYSEX_HEADER + [int(0), msg_id, int(channel_no)] @@ -181,19 +173,35 @@ def main(): args = parser.parse_args() print(f"IP: {args.ip}") - mixer = Mixer(args.ip, MIXER_PORT) if args.command: print(f"Command: {args.command}") print(f"Args: {vars(args)}") match args.command: - case 'get_name_from_qu': mixer.get_name_from_qu(args.channel_id, args.name) - case 'get_system_state': mixer.get_system_state() - case 'shutdown': mixer.shutdown() - case 'scene_recall': mixer.scene_recall(args.scene_number) - case 'scene_recall_default': mixer.scene_recall(0) - case 'watch': mixer.watch() + case 'get_name_from_qu': + mixer = Mixer(args.ip, MIXER_PORT) + mixer.get_name_from_qu(args.channel_id, args.name) + + case 'get_system_state': + mixer = Mixer(args.ip, MIXER_PORT) + mixer.get_system_state() + + case 'shutdown': + mixer = Mixer(args.ip, MIXER_PORT) + mixer.shutdown() + + case 'scene_recall': + mixer = Mixer(args.ip, MIXER_PORT) + mixer.scene_recall(args.scene_number) + + case 'scene_recall_default': + mixer = Mixer(args.ip, MIXER_PORT) + mixer.scene_recall(0) + + case 'watch': + mixer = Mixer(args.ip, MIXER_PORT) + mixer.watch() if __name__ == '__main__': main()