=================================================================== RCS file: /cvs/mp3/bin/mixer.pl,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- mp3/bin/mixer.pl 2006/08/12 01:14:53 1.2 +++ mp3/bin/mixer.pl 2007/02/08 20:04:03 1.3 @@ -1,5 +1,5 @@ #!/usr/bin/perl -Tw -# $RedRiver$ +# $RedRiver: mixer.pl,v 1.2 2006/08/12 00:14:53 andrew Exp $ ######################################################################## # Mixer.pl *** Changes volume on the MP3 player # @@ -61,12 +61,25 @@ print "Content-Type: text/html\n\n"; print "\n\n\t "; -my $New_Vol = "$Cur_Vol_Left&$Cur_Vol_Right"; -if ($ENV{'QUERY_STRING'}) { - print ""; - $New_Vol = $ENV{'QUERY_STRING'}; +my ($prefix, $New_Vol_Left, $New_Vol_Right) = split /\&/, $ENV{'QUERY_STRING'}; +if ($New_Vol_Left || $New_Vol_Right) { + $New_Vol_Left =~ s/%(..)/pack("c",hex($1))/ge; + $New_Vol_Right =~ s/%(..)/pack("c",hex($1))/ge; + print ""; } +$New_Vol_Left ||= $Cur_Vol_Left; +$New_Vol_Right ||= $Cur_Vol_Right; + +if ($New_Vol_Left =~ /(\d+)/) { $New_Vol_Left = $1; } +if ($New_Vol_Right =~ /(\d+)/) { $New_Vol_Right = $1; } + +if ($prefix) { + $prefix =~ s/%(..)/pack("c",hex($1))/ge; +} else { + $prefix =''; +} + print < @@ -88,22 +101,19 @@ Print_Nav(); +unless ($prefix) { print "Volume - "; +#print "New_Vol $New_Vol_Left:$New_Vol_Right
\n"; -#»print "New_Vol $New_Vol
\n"; -$New_Vol =~ /(\d+)&(\d+)/; -my $New_Vol_Left = $1; -my $New_Vol_Right = $2; - my @nav; foreach my $vol (@Vols) { if ($$vol[0] == $New_Vol_Left) { - push @nav, "$$vol[0]\n"; + push @nav, "$$vol[0]\n"; } elsif ($$vol[0] < $New_Vol_Left) { - push @nav, "}\n"; + push @nav, "}\n"; } elsif ($$vol[0] > $New_Vol_Left) { - push @nav, "]\n"; + push @nav, "]\n"; } #print "$vol - $$vol[0] - $$vol[1]
\n"; } @@ -111,6 +121,7 @@ #print "
\n"; Set_Vol($Cur_Vol_Left, $Cur_Vol_Right, $New_Vol_Left, $New_Vol_Right); +} print "\n\n\n"; @@ -133,14 +144,14 @@ $new_vol = $new_vol_left > $new_vol_right ? $new_vol_left : $new_vol_right; } - #»print "Old: $old_vol - New: $new_vol
\n"; + #print "Old: $old_vol - New: $new_vol
\n"; my $Set_Vol; foreach my $vol ($old_vol < $new_vol ? $old_vol..$new_vol : reverse $new_vol..$old_vol) { - #»print "$vol
\n"; + #print "$vol
\n"; $Set_Vol = `$mixerctl -w outputs.master=$vol,$vol`; - #»print $Set_Vol . "
\n"; + #print $Set_Vol . "
\n"; } return $Set_Vol; } @@ -178,6 +189,7 @@ { open FILE, 'nav.inc' or die "\n\ncouldn't open FILE nav.inc: $!"; while () { + s/%PREFIX%/$prefix/g; print; } close FILE;