Hmm seems that the input message from mido is already in error. Setting a logline for msg in the function:
def on_midi_in(self, msg):
message = ZynthianWebSocketMessage(‘MidiLogMessageHandler’, msg)
self.websocket.write_message(jsonpickle.encode(message))
…results in:
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 0}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 1}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 2}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 3}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}
INFO:root:{“py/object”: “mido.messages.messages.Message”, “type”: “control_change”, “time”: 0, “control”: 64, “value”: 0, “channel”: 4}