def merge_tracks(tracks): merged_events = [] time_passed = 0 while True: result = get_next_events(tracks) for item in result: merged_events.append(item) if item.type == 'DeltaTime': time_passed += item.time if len(tracks) == 0: break midi_track = MidiTrack(0) midi_track.events = merged_events midi_track.length = time_passed for item in midi_track.events: item.track = midi_track if item.channel is not None: item.channel = 1 return [midi_track]
def merge_tracks(tracks): # longest = 0 # for track in tracks: # if len(track.events) > longest: # longest = len(track.events) merged_events = [] time_passed = 0 while True: result = get_next_events(tracks) for item in result: merged_events.append(item) if item.type == 'DeltaTime': time_passed += item.time if len(tracks) == 0: break midi_track = MidiTrack(0) midi_track.events = merged_events #TODO check effects of this #midi_track.length = time_passed for item in midi_track.events: item.track = midi_track if item.channel is not None: item.channel = 1 return [midi_track]