IndexError: list index out of range
-------------------------------- DJ MEL Starts --------------------------------------
Mididump Command: python mididump.py Midi/mary.mid > midi_export.mid.dump
Traceback (most recent call last):
File "wbDev.py", line 6, in
@amchaney a small update to removeOverlaps() seems to fix this for me.
def removeOverlaps ( self ) :
trackName = 'melody'
trackName = 'other'
lastItem = len(self.Tracks[trackName][1].keys())
for item in range(len(self.Tracks[trackName][1].keys())):
if item in self.Tracks[trackName][1] :
s1 = self.Tracks[trackName][1][item]['Clk'][0]
e1 = self.Tracks[trackName][1][item]['Clk'][1]
for nextItem in range ( item+1, lastItem, 1 ) :
if nextItem in self.Tracks[trackName][1] :
s2 = self.Tracks[trackName][1][nextItem]['Clk'][0]
e2 = self.Tracks[trackName][1][nextItem]['Clk'][1]
if ( s1 < e2 and ( (e1-s2) > 100 ) ) :
print ( "Overlap found between: " ,item, nextItem, self.Tracks[trackName][1][item] , self.Tracks[trackName][1][nextItem] )
print()
del self.Tracks[trackName][1][nextItem]
The loop was putting a list's final item into the range function instead of the length of the list. I'll make a PR now.
There are some other issues in the same file though, which keep it from running correctly
Hello I am still experiencing this issue (attached)
When will this PR get merged?

@amchaney a small update to
removeOverlaps()seems to fix this for me.def removeOverlaps ( self ) : trackName = 'melody' trackName = 'other' lastItem = len(self.Tracks[trackName][1].keys()) for item in range(len(self.Tracks[trackName][1].keys())): if item in self.Tracks[trackName][1] : s1 = self.Tracks[trackName][1][item]['Clk'][0] e1 = self.Tracks[trackName][1][item]['Clk'][1] for nextItem in range ( item+1, lastItem, 1 ) : if nextItem in self.Tracks[trackName][1] : s2 = self.Tracks[trackName][1][nextItem]['Clk'][0] e2 = self.Tracks[trackName][1][nextItem]['Clk'][1] if ( s1 < e2 and ( (e1-s2) > 100 ) ) : print ( "Overlap found between: " ,item, nextItem, self.Tracks[trackName][1][item] , self.Tracks[trackName][1][nextItem] ) print() del self.Tracks[trackName][1][nextItem]
When I apply this change to BOTH files I receive a new error:
- src/Skeleton/ExtractMidiTrainingData.py (removeOverlaps)
- src/DevServer/ExtractMidiTrainingData.py (removeOverlaps)
Here is my current error:

My goal is simply to use a MIDI file outside of the given examples. It's proving way more difficult than expected with these errors.
Can anyone help me?