File-Sticker

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

    "File::Basename" => 0,
    "File::ExtAttr" => 0,
    "File::LibMagic" => 0,
    "File::Spec" => 0,
    "Getopt::ArgvFile" => 0,
    "Getopt::Long" => 0,
    "Hash::Merge" => 0,
    "Image::ExifTool" => 0,
    "Image::ExifTool::XMP" => 0,
    "List::MoreUtils" => 0,
    "MP3::Tag" => 0,
    "Module::Pluggable" => 0,
    "POSIX" => 0,
    "Path::Tiny" => 0,
    "Pod::Usage" => 0,
    "Search::Query" => 0,
    "String::CamelCase" => 0,
    "YAML::Any" => 0,
    "common::sense" => 0,
    "parent" => 0,
    "perl" => "v5.10.0"

META.yml  view on Meta::CPAN

  File::Basename: '0'
  File::ExtAttr: '0'
  File::LibMagic: '0'
  File::Spec: '0'
  Getopt::ArgvFile: '0'
  Getopt::Long: '0'
  Hash::Merge: '0'
  Image::ExifTool: '0'
  Image::ExifTool::XMP: '0'
  List::MoreUtils: '0'
  MP3::Tag: '0'
  Module::Pluggable: '0'
  POSIX: '0'
  Path::Tiny: '0'
  Pod::Usage: '0'
  Search::Query: '0'
  String::CamelCase: '0'
  YAML::Any: '0'
  common::sense: '0'
  parent: '0'
  perl: v5.10.0

lib/File/Sticker/Scribe/Mp3.pm  view on Meta::CPAN


=head1 DESCRIPTION

This will write meta-data from MP3 files, and standardize it to a common
nomenclature, such as "tags" for things called tags, or Keywords or Subject etc.

=cut

use common::sense;
use File::LibMagic;
use MP3::Tag;

use parent qw(File::Sticker::Scribe);

# FOR DEBUGGING
=head1 DEBUGGING

=head2 whoami

Used for debugging info

lib/File/Sticker/Scribe/Mp3.pm  view on Meta::CPAN


    my $meta = $obj->read_meta($filename);

=cut

sub read_meta {
    my $self = shift;
    my $filename = shift;
    say STDERR whoami() if $self->{verbose} > 2;

    my $mp3 = MP3::Tag->new($filename);
    my %meta = ();

    my $known_fields = $self->known_fields();
    foreach my $field (sort keys %{$known_fields})
    {
        if ($field eq 'title')
        {
            $meta{'title'} = $mp3->album();
        }
        elsif ($field eq 'song')

lib/File/Sticker/Scribe/Mp3.pm  view on Meta::CPAN


sub replace_one_field {
    my $self = shift;
    my %args = @_;
    say STDERR whoami() if $self->{verbose} > 2;

    my $filename = $args{filename};
    my $field = $args{field};
    my $value = $args{value};

    my $mp3 = MP3::Tag->new($filename);
    $mp3->config(write_v24=>1);

    if ($field eq 'title')
    {
        $mp3->album_set($value);
    }
    elsif ($field eq 'song')
    {
        $mp3->title_set($value);
    }

lib/File/Sticker/Scribe/Mp3.pm  view on Meta::CPAN

=cut

sub delete_field_from_file {
    my $self = shift;
    my %args = @_;
    say STDERR whoami() if $self->{verbose} > 2;

    my $filename = $args{filename};
    my $field = $args{field};

    my $mp3 = MP3::Tag->new($filename);
    $mp3->config(write_v24=>1);

    if ($field eq 'title')
    {
        $mp3->album_set('');
    }
    elsif ($field eq 'song')
    {
        $mp3->title_set('');
    }

t/00-report-prereqs.dd  view on Meta::CPAN

                                      'File::Basename' => '0',
                                      'File::ExtAttr' => '0',
                                      'File::LibMagic' => '0',
                                      'File::Spec' => '0',
                                      'Getopt::ArgvFile' => '0',
                                      'Getopt::Long' => '0',
                                      'Hash::Merge' => '0',
                                      'Image::ExifTool' => '0',
                                      'Image::ExifTool::XMP' => '0',
                                      'List::MoreUtils' => '0',
                                      'MP3::Tag' => '0',
                                      'Module::Pluggable' => '0',
                                      'POSIX' => '0',
                                      'Path::Tiny' => '0',
                                      'Pod::Usage' => '0',
                                      'Search::Query' => '0',
                                      'String::CamelCase' => '0',
                                      'YAML::Any' => '0',
                                      'common::sense' => '0',
                                      'parent' => '0',
                                      'perl' => 'v5.10.0'



( run in 0.782 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )