X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=misc%2Ftools%2Fmidichannels.pl;h=f86eae4db5e8212a15aa8d2ae0773a7512af4642;hb=918a908dc92113cb0d176f006ebfdd9f475bdd35;hp=cebf7ec959a2561343716fbadb758e5750bc4563;hpb=ad3995c957915b2b4c4c5febfa2c3c9767adb00f;p=xonotic%2Fxonotic.git diff --git a/misc/tools/midichannels.pl b/misc/tools/midichannels.pl index cebf7ec9..f86eae4d 100755 --- a/misc/tools/midichannels.pl +++ b/misc/tools/midichannels.pl @@ -250,6 +250,8 @@ while() my %notehash = (); my $t = 0; my $events = 0; + my $min = undef; + my $max = undef; for($tracks->[$_]->events()) { ++$events; @@ -269,6 +271,11 @@ while() $notehash{$_->[2]}{$_->[3]} = $t if $_->[0] eq 'note_on'; $notehash{$_->[2]}{$_->[3]} = undef if $_->[0] eq 'note_off'; $name = $_->[2] if $_->[0] eq 'track_name'; + if($_->[0] eq 'note_on') + { + $min = $_->[3] if !defined $min || $_->[3] < $min; + $max = $_->[3] if !defined $max || $_->[3] > $max; + } } my $channels = join " ", map { sprintf "%s(%s)", $_, join ",", sort { $a <=> $b } keys %{$channels{$_}} } sort { $a <=> $b } keys %channels; my @stuck = (); @@ -283,7 +290,7 @@ while() print " $name" if defined $name; print " (channel $channels)" if $channels ne ""; print " ($events events)" if $events; - print " ($notes notes)" if $notes; + print " ($notes notes [$min-$max])" if $notes; print " (notes @stuck stuck)" if @stuck; print "\n"; }