NAME

AtomicParsley::Command - Interface to the Atomic Parsley command

VERSION

version 1.120620

SYNOPSIS

my $ap = AtomicParsley::Command->new({
  ap => '/path/to/AtomicParsley', # will die if not found
  verbose => 1,
});

# read tags from a file
my $tags = $ap->read_tags( '/path/to/mp4' );

# write tags to a file
my $path = $ap->write_tags( '/path/to/mp4', $tags, 1 );

DESCRIPTION

This is an interface to the AtomicParsley command.

AtomicParsley is a lightweight command line program for reading, parsing and setting metadata into MPEG-4 files. For more information see http://atomicparsley.sourceforge.net/.

METHODS

new ( %args )

Creates a new AtomicParsley::Command object. Takes the following arguments:

  • ap - the path to the AtomicParsley command. Defaults to 'AtomicParsley' (assumes its on your PATH).

  • verbose - runs verbosely. (TODO)

read_tags( $path )

Read the meta tags from a file and returns a AtomicParsley::Command::Tags object.

write_tags( $path, $tags, $replace )

Writes the tags to a mp4 file.

$tags is a AtomicParsley::Command::Tags object.

If $replace is true, the existing file will be replaced with the new, tagged file. Otherwise, the tagged file will be a temp file, with the existing file untouched.

Returns the path on success.

ISSUES

  • Doesn't run verbosely.

  • Doesn't load all the "advisory" values for an mp4 file.

  • The following tags have not been implemented:

    * artwork
    * compilation
    * podcastFlag
    * podcastURL
    * podcastGUID
    * purchaseDate
    * gapless

SEE ALSO

AUTHOR

Andrew Jones <andrew@arjones.co.uk>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Andrew Jones.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.