def __init__(self, channel=-1, param=-1, value=-1, seq_event=None): MidiEvent.__init__(self, self.EVENT_TYPE, seq_event) self.channel = channel self.param = param self.value = value if seq_event: seq_event_data = seq_event.get_data() value = seq_event_data.get(self.PARAM_KEY) if value: self.param = value value = seq_event_data.get(self.CHANNEL_KEY) if value: self.channel = value value = seq_event_data.get(self.VALUE_KEY) if value: self.value = value if self.param == -1 and self.channel == -1 and self.value == -1: self.has_error = True else: self.fill_seq_event()
def fill_seq_event(self): MidiEvent.fill_seq_event(self) if self.channel >= 0: event_data = dict() if self.param >= 0: event_data[self.PARAM_KEY] = self.param event_data[self.CHANNEL_KEY] = self.channel if self.value >= 0: event_data[self.VALUE_KEY] = self.value self.seq_event.set_data(event_data)
def __init__(self, seq_event=None, sysex_buffer=None): MidiEvent.__init__(self, self.EVENT_TYPE, seq_event) self.sysex_buffer = sysex_buffer if not seq_event is None: sysex_data = \ seq_event.get_data().get(SysexMidiEvent.SYSEX_DATA_KEY) if not sysex_data is None: self.sysex_buffer = SysexBuffer(sysex_data) else: self.has_error = True print('No data in sysex event') if seq_event or sysex_buffer: if self.is_valid(): self.parse_sysex_buffer() else: self.has_error = True print('Invalid sysex buffer => didn\'t parse it') else: self.fill_seq_event()
def is_valid(self): result = MidiEvent.is_valid(self) if not self.sysex_buffer is None: result &= self.sysex_buffer.is_valid return result
def fill_seq_event(self): self.build_sysex_buffer() if self.is_valid(): MidiEvent.fill_seq_event(self) self.seq_event.set_data( {self.SYSEX_DATA_KEY: self.sysex_buffer.sysex_data})
def is_valid(self): result = MidiEvent.is_valid(self) if self.sysex_buffer: result &= self.sysex_buffer.is_valid return result