-git: checkout: +--ignore-other-worktrees
[nethome.git] / bin / engine-di.fm
index 45a9968..8cefb64 100755 (executable)
@@ -1,6 +1,6 @@
 #! /usr/bin/perl
 #
-# $Id$
+# $Id: engine-di.fm,v 1.7 2008/05/08 09:08:23 lace Exp $
 
 use strict;
 use warnings;
@@ -84,14 +84,15 @@ if ("build" eq ($ARGV[0]||"")) {
                my($site,$page)=@_;
 
                my @newdashed;
-               while ($page=~m{"((?:http://www.'$site')?([^":]*(?<!_low)[.](?:pls|asx)))"}g) {
+               while ($page=~m{"(?:http://listen.$site)?([^":]*(?<!_low)[.](?:pls|asx)(?:[?]\w+)?)"}g) {
                        local $_=$1;
                        next if m{^/aacplus/};
                        next if m{/(?:32|56|64|128)k[.]};
                        tr{/}{-};
+                       tr{?}{%};
                        push @newdashed,$_;
                }
-               @newdashed or die "No URLs found";
+               @newdashed or die $page."\nNo URLs found";
                for (@symlink) {
                        unlink or die "unlink \"$_\": $!";
                }
@@ -117,6 +118,7 @@ if ("build" eq ($ARGV[0]||"")) {
 my $pathslashed=$0;
 $pathslashed=~s{^.*/}{};
 $pathslashed=~tr{-}{/};
+$pathslashed=~tr{%}{?};
 my $streamlisturl="http://$pathslashed";
 my $tried;
 do {
@@ -162,14 +164,13 @@ do {
                }
                my $mplayer="mplayer";
                my @list=($mplayer);
-               if ($pathslashed=~m{/(\d+)k}) {
-                       push @list,"-cache",60*$1/8,"-cache-min",45;
-               }
+               push @list,qw(-volume 40);
+               push @list,"-cache",30*192/8,"-cache-min",45;
                push @list,@ARGV;
                push @list,$stream;
                warn Dumper(\@list);
                #system $mplayer @list;
-               do { die "[$&] <$_>" if m{[^-a-zA-Z 0-9/:.@=]}; } for @list;
+               do { die "[$&] <$_>" if m{[^-a-zA-Z 0-9/:.@=_?]}; } for @list;
                system {"bash"} "bash","-c",join(" ",@list);
                exit 0 if $?;
        }