package Distribution::Packager::247Entertainment;

use strict;

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

sub _worldWideTerritory { 'WW' }

sub _requireAllowed { 1 }

sub _templateFile { '247entertainment.tt' }

sub _xsdFile { '24_7_xsd_4_07.xsd' }

sub _imageFormat {
    {
        geometry => '300x300',
        density  => 72,
    };
}

sub _processTrack {
    my $self = shift;
    my ( $album, $volume, $track ) = @_;

    my $result = $self->SUPER::_processTrack(@_);

    $album->{'album-duration'} = 0 unless ( $album->{'album-duration'} );

    $album->{'album-duration'} += $track->{'audio-duration'}
      if ( $track->{'audio-duration'} );

    $album->{track_count} = $album->{track_count} ? $album->{track_count} + 1 : 1;

    return $result;
}

sub _albumImageName {
    my $self = shift;
    return shift->{upc} . "_COVER.JPG";
}

sub _audioConverter { 'MediaServe::Audio::Converter::FLAC' }

sub _albumAudioFileExtension { 'FLAC' }

sub _albumAudioFileName {
    my $self   = shift;
    my $album  = shift || die "album required";
    my $volume = shift || die "track required";
    my $track  = shift || die "track required";

    return sprintf( "%s_%02d_%03d_FULL.%s",
        $album->{upc}, $volume->{sequence}, $track->{sequence}, $self->_albumAudioFileExtension( $album, $volume, $track ) );
}

1;
