mixer.py: replace Mixer.set_bank_1() by Mixer.set_bank(bank_no)

This commit is contained in:
coon 2025-10-02 21:41:41 +02:00
parent 9f33bf3d8f
commit efd6281ebc

View file

@ -155,11 +155,17 @@ class Mixer:
def shutdown(self):
self.nrpn_parameter_control(midi_ch=0, mixer_ch=0, id=0x5F, va=0x00, vx=0x00)
def set_bank_1(self):
msb = mido.Message("control_change", channel=0, control=0x00, value=0x00)
lsb = mido.Message("control_change", channel=0, control=0x20, value=0x00)
def set_bank(self, bank_no):
if bank_no < 1 or bank_no > 16384:
raise ValueError(f"bank_no param must be between 0 and 16384, got {bank_no}")
msg_bytes = bytes(msb.bytes() + lsb.bytes())
msb_val = ((bank_no - 1) >> 7) & 0xFF
lsb_val = (bank_no - 1) & 0x7F
control_change_msb = mido.Message("control_change", channel=0, control=0x00, value=msb_val)
control_change_lsb = mido.Message("control_change", channel=0, control=0x20, value=lsb_val)
msg_bytes = bytes(control_change_msb.bytes() + control_change_lsb.bytes())
print(" ".join(f"{b:02X}" for b in msg_bytes))
self.sock.sendall(msg_bytes)
@ -167,7 +173,7 @@ class Mixer:
def scene_recall(self, scene_id):
print(f"scene_recall: scene_id={scene_id}")
self.set_bank_1()
self.set_bank(1)
msb = mido.Message("program_change", channel=0, program=scene_id)
msg_bytes = bytes(msb.bytes())