Audio-Metadata
view release on metacpan or search on metacpan
lib/Audio/Metadata/TextProcessor.pm view on Meta::CPAN
open my $fh, $mode eq 'input' ? '<' : '>', $init_params->{$mode}
or die "Couldn't open $mode stream \"$init_params->{$mode}\": $!";
$new_args{"${mode}_fh"} = $fh;
}
return \%new_args;
}
sub update_from_cue {
## Reads track info from a cue file and saves to tracks, based on track numbers.
my $self = shift;
my @metadatas = $self->_input_cue;
my @file_names = grep /^\d+[_ ]?-[_ ]?.+\.(flac|ogg|mp3)$/i, glob('*.*');
die @metadatas . ' tracks parsed, but ' . @file_names . ' files found'
unless @metadatas == @file_names;
for (my $i = 0; $i < @file_names; $i++) {
lib/Audio/Metadata/TextProcessor.pm view on Meta::CPAN
foreach my $var (keys %$metadata) {
$self->_log(" $var => $metadata->{$var}");
$metadata_writer->set_var($var => $metadata->{$var});
}
$metadata_writer->save;
}
}
sub update {
## Reads metadata from specified file handle and saves to media files.
my $self = shift;
my $fh = $self->input_fh;
my %curr_item;
while (my $line = <$fh>) {
chomp $line;
my ($var, $value) = $line =~ /^(\S+) *(.*)$/;
if ($var) {
( run in 0.258 second using v1.01-cache-2.11-cpan-95122f20152 )