freebsd-ports/audio/pacpl/files/patch-pacpl
Pav Lucistnik a77f9c4cf5 - Update to 4.0.3
PR:		ports/131779
Submitted by:	hideo <hideo@lastamericanempire.com> (maintainer)
2009-03-26 13:41:45 +00:00

101 lines
3.1 KiB
Text

--- pacpl.orig 2008-08-16 21:31:57.000000000 -0600
+++ pacpl 2009-02-15 09:21:16.000000000 -0700
@@ -25,18 +25,6 @@
use File::Find;
use File::Spec::Functions qw(rel2abs);
-# Tagging modules
-use Ogg::Vorbis::Header;
-use MP3::Tag;
-use Audio::FLAC::Header;
-use MP4::Info;
-use Audio::WMA;
-use Audio::Musepack;
-use Audio::APETags;
-
-# CDDB module
-use CDDB_get qw(get_cddb);
-
# non-encoder/decoder related options
my
(
@@ -202,8 +190,8 @@
# load po file and store in %lang hash
sub load_lang {
-
- my $po = "$po_dir/$ENV{LANG}.po";
+ my $lang = $ENV{LANG} || 'en_US';
+ my $po = "$po_dir/$lang.po";
$po =~ s/\.UTF-8//i if $po =~ /UTF-8/i;
$po =~ s/\.utf8//i if $po =~ /utf8/i;
$po =~ s/_\w+// if not -e $po;
@@ -1541,6 +1529,17 @@
# load codecs.conf file
load_codecs() if -e $codecs_conf;
+# Now that %run is populated, verify tagging modules
+for my $format (keys %run){
+ if(defined $run{$format}{TAGS}{MODULE}){
+ eval "require $run{$format}{TAGS}{MODULE}";
+ @{$run{$format}{TAGS}}{qw(READ WRITE)} = (0,0) if $@;
+ }
+}
+
+eval "require CDDB_get";
+$nocddb = 1 if $@;
+
my $out_name = $outfile;
my $out_dir = $outdir;
@@ -2177,7 +2176,7 @@
}
case 'wma' {
- my $wma_tag = Audio::WMA->new($in_file)->tags();
+ my $wma_tag = $tag_module->new($in_file)->tags();
$tag_name{title} = $wma_tag->{TITLE} if $wma_tag->{TITLE};
$tag_name{track} = $wma_tag->{TRACKNUMBER} if $wma_tag->{TRACKNUMBER};
@@ -2198,12 +2197,13 @@
sub write_tags {
my ($out_file, $out_format) = @_;
+ my $tag_module = $run{$out_format}{TAGS}{MODULE};
my $tag_m;
switch ($out_format) {
case 'mp3' {
- $tag_m = MP3::Tag->new("$out_file");
+ $tag_m = $tag_module->new("$out_file");
# ID3v2 Tags
unless(exists($tag_m->{ID3v2})) { $tag_m->new_tag("ID3v2"); }
@@ -2236,7 +2236,7 @@
}
case 'ogg' {
- $tag_m = Ogg::Vorbis::Header->new("$out_file");
+ $tag_m = $tag_module->new("$out_file");
# this prevents duplicate tags =)
$tag_m->clear_comments();
@@ -2257,7 +2257,7 @@
}
case /fla|flac/ {
- $tag_m = Audio::FLAC::Header->new("$out_file");
+ $tag_m = $tag_module->new("$out_file");
my $tag_i = $tag_m->tags();
$tag_i->{TITLE} = "$tag_name{title}" if $tag_name{title};
@@ -2446,7 +2446,7 @@
$ripconfig{DEVICE} = $device;
$ripconfig{CDDB_INPUT} = $config{CDDB_INPUT};
- %cd = get_cddb(\%ripconfig);
+ %cd = CDDB_get::get_cddb(\%ripconfig);
if (not $cd{title}) {
pnotice("no_cddb","",2);