#!/usr/bin/perl use strict; my $dir = "/usr/share/perl5/Slim"; my $patched; my $file; my $line; # Scanner $file = "Utils/Scanner.pm"; open(SRC, "$dir/$file"); open(SRC2, ">$dir/$file.new"); $patched = 0; while ($line = ) { if ($line =~ s/'newTrack'/'_newTrack'/) { $patched = 1; } print SRC2 $line; } close(SRC); close(SRC2); if ($patched) { system("\\cp $dir/$file $dir/$file.old"); system("\\cp $dir/$file.new $dir/$file"); print "File $dir/$file patched\n"; } # Artwork $file = "Music/Artwork.pm"; open(SRC, "$dir/$file"); open(SRC2, ">$dir/$file.new"); $patched = 0; while ($line = ) { if ($line =~ s/\s*=\s*\$findArtCache\{\$dirurl\}//) { $patched = 1; } print SRC2 $line; } close(SRC); close(SRC2); if ($patched) { system("\\cp $dir/$file $dir/$file.old"); system("\\cp $dir/$file.new $dir/$file"); print "File $dir/$file patched\n"; } # TitleFormatter $file = "Music/TitleFormatter.pm"; open(SRC, "$dir/$file"); open(SRC2, ">$dir/$file.new"); $patched = 0; while ($line = ) { if ($line =~ /return\s*\$\_\[0\]\-\>\{file\}/) { $line = ' if ($_[0]->{url} =~ /([^\/]+)\.\S+$/) {'."\n"; $line .= ' return $1;'."\n"; $line .= ' } else {'."\n"; $line .= ' return \'\';'."\n"; $line .= ' }'."\n"; $patched = 1; } print SRC2 $line; } close(SRC); close(SRC2); if ($patched) { system("\\cp $dir/$file $dir/$file.old"); system("\\cp $dir/$file.new $dir/$file"); print "File $dir/$file patched\n"; }