package Distribution::Packager::eMusic;

use strict;
use Data::Dumper;
use File::Basename;

use Common::Assert;

use lib '/app/tools/distribution/lib';
use base 'Distribution::PackagerNew';

#sub _serviceCountries {
#    qw( US CA GB BE BG CZ DK DE EE IE ES FR IT CY LV LT
#        LU HU MT NL AT PL PT RO SI SK FI SE );
#}

sub _templateFile { 'emusic.tt' }

sub _xsdFile { 'emusic-remote_ingest_2.0.xsd' }

sub _requireMappedGenres { 1 }

sub _requireMappedArtistRoles { 1 }

sub _createDistributionPackageName {
    return shift->SUPER::_createDistributionPackageName( format => "%d%02d%02d%02d%02d%02d" );
}

###
#   Album Art
###
sub _imageFormat {
    {
        geometry => '1425x1425',
        density  => 72,
    };
}

sub _albumImageName {
    my $self = shift;
    my $album = shift || die "album required";

    assert( $album->{upc} );

    return $album->{upc} . "_1425x1425.jpg";
}

###
#   Album Audio
###
sub _audioConverter { 'MediaServe::Audio::Converter::MP3' }
sub _audioConverterOptions { { variable => 1 } }

sub _albumAudioFileName {
    shift->SUPER::_albumAudioFileName( @_, format => "%s_%02d_%03d.%s" );
}

1;
