Compare commits
2 commits
19238c755c
...
75e22e0166
Author | SHA1 | Date | |
---|---|---|---|
75e22e0166 | |||
43c4a5e50c |
1 changed files with 17 additions and 25 deletions
42
mixer.py
42
mixer.py
|
@ -19,6 +19,14 @@ class Mixer:
|
||||||
SYSEX_HEADER = ALLEN_HEATH_ID + QU_MIXER + MAJOR_MINOR
|
SYSEX_HEADER = ALLEN_HEATH_ID + QU_MIXER + MAJOR_MINOR
|
||||||
SYSEX_ALL_CALL = SYSEX_HEADER + ALL_CALL_MIDI_CHANNEL
|
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):
|
def recv(self):
|
||||||
p = mido.Parser()
|
p = mido.Parser()
|
||||||
|
|
||||||
|
@ -42,7 +50,7 @@ class Mixer:
|
||||||
return msg
|
return msg
|
||||||
|
|
||||||
def get_system_state(self):
|
def get_system_state(self):
|
||||||
msg_id = 0x10
|
msg_id = self.SysExMessageId.GET_SYSTEM_STATE_REQUEST
|
||||||
i_pad_flag = 0x01
|
i_pad_flag = 0x01
|
||||||
|
|
||||||
data = self.SYSEX_ALL_CALL + [msg_id, i_pad_flag]
|
data = self.SYSEX_ALL_CALL + [msg_id, i_pad_flag]
|
||||||
|
@ -87,7 +95,7 @@ class Mixer:
|
||||||
print(f"Firmware Version: {major_ver}.{minor_ver}")
|
print(f"Firmware Version: {major_ver}.{minor_ver}")
|
||||||
|
|
||||||
def get_name_from_qu(self, channel_no, name_to_set):
|
def get_name_from_qu(self, channel_no, name_to_set):
|
||||||
msg_id = 0x01
|
msg_id = self.SysExMessageId.GET_NAME_FROM_QU_REQUEST
|
||||||
|
|
||||||
data = self.SYSEX_HEADER + [int(0), msg_id, int(channel_no)]
|
data = self.SYSEX_HEADER + [int(0), msg_id, int(channel_no)]
|
||||||
|
|
||||||
|
@ -173,35 +181,19 @@ def main():
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
print(f"IP: {args.ip}")
|
print(f"IP: {args.ip}")
|
||||||
|
mixer = Mixer(args.ip, MIXER_PORT)
|
||||||
|
|
||||||
if args.command:
|
if args.command:
|
||||||
print(f"Command: {args.command}")
|
print(f"Command: {args.command}")
|
||||||
print(f"Args: {vars(args)}")
|
print(f"Args: {vars(args)}")
|
||||||
|
|
||||||
match args.command:
|
match args.command:
|
||||||
case 'get_name_from_qu':
|
case 'get_name_from_qu': mixer.get_name_from_qu(args.channel_id, args.name)
|
||||||
mixer = Mixer(args.ip, MIXER_PORT)
|
case 'get_system_state': mixer.get_system_state()
|
||||||
mixer.get_name_from_qu(args.channel_id, args.name)
|
case 'shutdown': mixer.shutdown()
|
||||||
|
case 'scene_recall': mixer.scene_recall(args.scene_number)
|
||||||
case 'get_system_state':
|
case 'scene_recall_default': mixer.scene_recall(0)
|
||||||
mixer = Mixer(args.ip, MIXER_PORT)
|
case 'watch': mixer.watch()
|
||||||
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__':
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue