NAME

AtomicParsley::Command - Interface to the Atomic Parsley command

VERSION

version 1.153400

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 https://bitbucket.org/wez/atomicparsley.

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

UPDATING

If you are updating, ensure you use the latest version of AtomicParsley from https://bitbucket.org/wez/atomicparsley.

SEE ALSO

AUTHOR

Andrew Jones <andrew@arjones.co.uk>

CONTRIBUTORS

  • Andrew Jones <andrew@andrew-jones.com>

  • Andrew Jones <andrewjones86@googlemail.com>

  • Jim Graham <jim@jim-graham.net>

  • WATANABE Hiroaki <hwat@mac.com>

  • andrewrjones <andrewjones86@googlemail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2015 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.