]> git.rm.cloudns.org Git - xonotic/xonotic.git/commitdiff
midichannels: support multiple inputs
authorRudolf Polzer <divverent@xonotic.org>
Wed, 17 Oct 2012 13:46:34 +0000 (15:46 +0200)
committerRudolf Polzer <divverent@xonotic.org>
Wed, 17 Oct 2012 13:46:34 +0000 (15:46 +0200)
misc/tools/midi2cfg/tuba-record.cfg
misc/tools/midichannels.pl

index 6bd27b9433f68a1fba16543b472e86846ad57aba..81275e4fe1a74224be5ac55a7196b1fc3c581fbd 100644 (file)
@@ -3,9 +3,9 @@ menu_vid_height 720
 vid_width 1280
 vid_height 720
 
-cl_capturevideo_framestep 4
+cl_capturevideo_framestep 1
 cl_capturevideo_fps 25
-r_motionblur 2
+r_motionblur 0
 
 bind x "toggle cl_capturevideo"
 exec effects-normal.cfg
index dcc7812b9913eb8496b2a1248d2e884f71bf7ff1..bcfe626512a3d63e0c2728f335af206fffa13542 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 use MIDI;
 use MIDI::Opus;
 
-my ($filename) = @ARGV;
+my ($filename, @others) = @ARGV;
 my $opus = MIDI::Opus->new({from_file => $filename});
 
 my %chanpos = (
@@ -42,6 +42,20 @@ sub clean(@)
        return reltime grep { ($isclean{$_->[0]} // sub { 0; })->(@$_) } abstime @_;
 }
 
+for(@others)
+{
+       my $opus2 = MIDI::Opus->new({from_file => $_});
+       if($opus2->ticks() != $opus->ticks())
+       {
+               my $tickfactor = $opus->ticks() / $opus2->ticks();
+               for($opus2->tracks())
+               {
+                       $_->events(reltime map { $_->[1] = int($_->[1] * $tickfactor + 0.5); $_; } abstime $_->events());
+               }
+       }
+       $opus->tracks($opus->tracks(), $opus2->tracks());
+}
+
 while(<STDIN>)
 {
        chomp;