Mercurial > hg > forks > pwpunix
view nykyaeka/musa.pl @ 62:0e2d7767c00d
convcalc_ascii()'s one argument is unused, remove it.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sat, 09 Jul 2011 11:57:54 +0300 |
parents | acb5694e93d9 |
children |
line wrap: on
line source
#!/usr/bin/perl sub comment { print "\n\n/*** $_[0] ***/\n\n"; } sub newline { print "\n"; $pos=0; } sub wr { $_=$_[0]; $pos+=length($_); print $_,","; if($pos>72) { newline(); } } $pat=0; sub newpat { comment("pattern $pat"); return $pat++; } sub music { $nct=0; $base=8; if($_[1]){ $base+=$_[1];} $_=$_[0]; $_=join('!',split('',$_)); s/\!\#/\#/g; foreach(split('!',$_)) { $note=""; if ($_ eq '<') { $base -= 12; } if ($_ eq '>') { $base += 12; } if ($_ eq '|') { $note = 253; } if ($_ eq '.') { $note = 254; } if ($_ eq ',') { $note = 255; } if ($_ eq 'c') { $note = 0; } if ($_ eq 'c#') { $note = 1; } if ($_ eq 'd') { $note = 2; } if ($_ eq 'd#') { $note = 3; } if ($_ eq 'e') { $note = 4; } if ($_ eq 'f') { $note = 5; } if ($_ eq 'f#') { $note = 6; } if ($_ eq 'g') { $note = 7; } if ($_ eq 'g#') { $note = 8; } if ($_ eq 'a') { $note = 9; } if ($_ eq 'a#') { $note = 10; } if ($_ eq 'b') { $note = 11; } if ($note ne "") { if ($note<128) { wr($base+$note); } else { wr($note); } $nct++; } } print "/* $nct */"; if($nct<64) { for(;$nct<64;$nct++) { wr(255); }} newline(); newline(); } ##################################################################################################### print "u8 pwpmusic[][3][64]={\n"; $taisto0=newpat(); music("c,,.c,d,d#,,.c,,.d,c,<a#,g#,g,,.>d,,.g,f,d#,d,g,f,d#,d,d#.,,c,,,,..",48); music("c..,c..,c..,c..,<a#..,a#..,a#..,a#..,>d#..,d#..,d#..,d#..,c..,c..,c..,c..,",24); music(""); $taisto1=newpat(); music("d,d#,f,g,d,d#,f,g,d#,d,d#,d,c,,.d#,,,d,d#,f,g,d,d#,f,g,d#...c,,,,..",48); music("d..,d..,d..,d..,d..,d..,c..,c..,d..,d..,d..,d..,c..,c..,c..,c..,",24); music(""); $taisto1b=newpat(); music("d,d#,f,g,d,d#,f,g,d#,d,d#,d,c,,.d#,,,d,d#,f,g,d,d#,f,g,c,,,,,,.|.|",48); music("d..,d..,d..,d..,d..,d..,c..,c..,d..,d..,d..,d..,c..,...,...,...,",24); music(""); $tiluli0=newpat(); music("c.c.d#,c,g,c,d#,c.,,c,d#,c,g,c,d#,c,d#.d#.g,d#,a#,d#,f,<a#.,,a#,>d,<a#,>f,<a#,>d,<a#,",48); music("c.c.d#.d#.g.g.d#.d#.c.c.d#.d#.g.g.d#.d#.d#.d#.f.f.a#.a#.f.f.d.d.f.f.a#.a#.f.f.",24); #music("c,,.d#,,.c,,.d#,,.c,,.d#,,.c,,.d#,,.d#,,.f,,.d#,,.f,,.d,,.f,,.a#fa#fa#fa#f",36); music(""); # c,,,c,,,d#,,,g,,,c,,,c,,,d#,,,g,,,d#,,,d#,,,f,,,a#,,,d,,,d,,,f,,,a#,,,",24); #music("c.d#cc.d#cc.d#cc.d#cd#.gd#<a#.>d<a#a#.>d<a#a#. $tiluli1=newpat(); music("c.c.d#,c,g,c,d#,c.,,c,d#,c,g,c,d#,c,d#.d#.g,d#,a#,d#,f,<a#.,,a#,>d,<a#,>f,<a#,>d,<a#,",48+5); music("c.c.d#.d#.g.g.d#.d#.c.c.d#.d#.g.g.d#.d#.d#.d#.f.f.a#.a#.f.f.d.d.f.f.a#.a#.f.f.",24+5); #music("c,,.d#,,.c,,.d#,,.c,,.d#,,.c,,.d#,,.d#,,.f,,.d#,,.f,,.d,,.f,,.a#fa#fa#fa#f",36+5); music(""); $tiluli2=newpat(); music("c.c.d#,c,g,c,d#,c.,,c,d#,c,g,c,d#,c,d#.d#.g,d#,a#,d#,f,<a#.,,a#,>d,<a#,>f,<a#,>d,<a#,",48+7); music("c.c.d#.d#.g.g.d#.d#.c.c.d#.d#.g.g.d#.d#.d#.d#.f.f.a#.a#.f.f.d.d.f.f.a#.a#.f.f.",24+7); #music("c,,.d#,,.c,,.d#,,.c,,.d#,,.c,,.d#,,.d#,,.f,,.d#,,.f,,.d,,.f,,.a#fa#fa#fa#f",36+7); music(""); $tyhja=newpat(); music(""); music(""); music(""); print "};\n\n"; ##################################################### print "u8 pwpmusic_order[]={\n"; print "$taisto0, $taisto0, $taisto1, $taisto1b,\n"; print "$tiluli0, $tiluli0, $tiluli1, $tiluli1,\n"; print "$tiluli0, $tiluli0, $tiluli1, $tiluli1,\n"; print "$tiluli0, $tiluli0, $tiluli1, $tiluli1,\n"; print "$tiluli0, $tiluli0, $tiluli1, $tiluli1,\n"; print "$tiluli0, $tiluli0, $tiluli1, $tiluli1,\n"; print "$tiluli0, $tiluli0, $tiluli1, $tiluli1, $taisto1b, $tyhja,\n"; print "$taisto0, $taisto0, $taisto1, $taisto1b, $tyhja,$tyhja,$tyhja\n"; print "};\n\n";