def send_midi_data(self, data, midi_time, recovery=1, timestamp=1): """ Sends MIDI data through the RTP session. """ if DEBUG: print("Sending data", data) #Witness self.sending_data = 1 #midi Cmd List midi_list = data #Saving packet packet = OldPacket(self.seq, midi_list, 0) chunk = "" recovery_journal = "" if recovery: #Recovery Journal (can be empty) #TODO customize it for each member of the feed if self.recovery_journal_system is not None: recovery_journal = self.recovery_journal_system.content if recovery_journal == "": recovery = 0 #Packing All #Testing length of midi list ( in nb notes ) if len(midi_list) < 1: return #Formating commands for network midi_list_formated, length = \ MidiCommand().encode_midi_commands(midi_list) #Creating Header header = MidiCommand().header(0, recovery, 0, 0, length) #Building Chunk chunk = header + midi_list_formated + recovery_journal #Timestamp care (TS == temps midi ecouler depuis la creation de rtp) ts = midi_time - self.last_midi_time_sent self.last_midi_time_sent = midi_time #sending data to rtp session RTPSession.send_data(self, chunk, ts) self.sending_data = 0 #Updating Recovery Journal if self.recovery: self.recovery_journal_system.update(packet)
def send_midi_data(self, data, midi_time, recovery=1, timestamp=1): """ Sends MIDI data through the RTP session. """ if DEBUG: print "Sending data", data #Witness self.sending_data = 1 #midi Cmd List midi_list = data #Saving packet packet = OldPacket(self.seq, midi_list, 0) chunk = "" recovery_journal = "" if recovery: #Recovery Journal (can be empty) #TODO customize it for each member of the feed if self.recovery_journal_system is not None: recovery_journal = self.recovery_journal_system.content if recovery_journal == "": recovery = 0 #Packing All #Testing length of midi list ( in nb notes ) if len(midi_list) < 1: return #Formating commands for network midi_list_formated, length = \ MidiCommand().encode_midi_commands(midi_list) #Creating Header header = MidiCommand().header(0, recovery, 0, 0, length) #Building Chunk chunk = header + midi_list_formated + recovery_journal #Timestamp care (TS == temps midi ecouler depuis la creation de rtp) ts = midi_time - self.last_midi_time_sent self.last_midi_time_sent = midi_time #sending data to rtp session RTPSession.send_data(self, chunk, ts) self.sending_data = 0 #Updating Recovery Journal if self.recovery: self.recovery_journal_system.update(packet)