mirror of
https://gitlab.com/xonotic/xonotic
synced 2024-12-16 03:45:06 +00:00
handle MIDI files with "late start"
This commit is contained in:
parent
271e93c1f4
commit
9486a7b3e2
@ -800,8 +800,20 @@ sub ConvertMIDI($$)
|
||||
}
|
||||
}
|
||||
|
||||
# sort events
|
||||
@allmidievents = sort { $a->[1] <=> $b->[1] or $a->[2] <=> $b->[2] } @allmidievents;
|
||||
|
||||
# find the first interesting event
|
||||
my $shift = [grep { $_->[0] eq 'note_on' } @allmidievents]->[0][1];
|
||||
die "No notes!"
|
||||
unless defined $shift;
|
||||
|
||||
# shift times by first event, no boring waiting
|
||||
$_->[0] = ($_->[0] < $shift ? 0 : $_->[0] - $shift) for @tempi;
|
||||
$_->[1] = ($_->[1] < $shift ? 0 : $_->[1] - $shift) for @allmidievents;
|
||||
|
||||
# fix event list
|
||||
|
||||
my %midinotes = ();
|
||||
my $notes_stuck = 0;
|
||||
my %notes_seen = ();
|
||||
|
Loading…
Reference in New Issue
Block a user