use strict;
use warnings;
-our $VERSION = '0.003003';
+our $VERSION = '0.004';
use Audio::FLAC::Header qw//;
use HTML::Template::Compiled qw//;
next unless defined $info;
my $basename = fileparse $file, '.flac', '.mp3', '.ogg', '.oga', '.mp4', '.aac', '.m4a';
$files{$basename} //= [];
- push $files{$basename}, $info;
+ push @{$files{$basename}}, $info;
}
my $ht=HTML::Template::Compiled->new(
my @versions = @$_;
my %entry = (%{$versions[0]}, formats => []);
for my $ver (@versions) {
- push $entry{formats}, {format => $ver->{format}, file => $ver->{file}};
- for my $key (keys $ver) {
+ push @{$entry{formats}}, {format => $ver->{format}, file => $ver->{file}};
+ for my $key (keys %$ver) {
$entry{$key} = $ver->{$key} if $ver->{$key} ne '?';
}
}
push @files, \%entry
}
+ @files = sort { $a->{title} cmp $b->{title} } @files;
my $json = JSON::MaybeXS->new(canonical => 1)->encode({files => \@files, prefix => $prefix});
$json =~ s/</</g;
$json =~ s/>/>/g;
- $ht->param(files=>[sort { $a->{title} cmp $b->{title} } @files], prefix => $prefix, json => $json);
+ $ht->param(files => \@files, prefix => $prefix, json => $json);
print $ht->output;
}
<title>Music</title>
<meta charset="utf-8">
<link rel="stylesheet" href="/music.css">
+<script async defer type="application/javascript" src="player.js"></script>
+
+<div id="player"></div>
<table border>
<thead>