Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/opt/local/bin/perl
- use warnings;
- use strict;
- use Music::Tag;
- use File::Slurp;
- my @FILES = ();
- my $tmpl = '{{track-number-pad}} - {{artist}} - {{track-name}}';
- if (defined $ARGV[0] && -f $ARGV[0] && $ARGV[0] =~ m/\.m3u$/gi) {
- @FILES = grep { /\.(mp3|ogg|m4a)$/i } grep { /^[^#]/ } read_file($ARGV[0]);
- if (defined $ARGV[1]) {
- $tmpl = $ARGV[1]
- }
- } else {
- while (my $lod = <STDIN>) {
- push @FILES, $lod;
- }
- if (defined $ARGV[0]) {
- $tmpl = $ARGV[0]
- }
- }
- chomp(@FILES);
- foreach my $f (@FILES) {
- my $info = Music::Tag->new($f, {quiet=>1});
- $info->get_tag();
- my $tmpl_i = $tmpl;
- my $md_track = int($info->track || 0);
- my $md_track_padded = sprintf('%02d', $md_track) || '00';
- my $md_title = $info->title || 'UNKNOWN';
- my $md_album = $info->album || 'UNKNOWN';
- my $md_artist = $info->artist || 'UNKNOWN';
- my $md_year = $info->year || 'UNKNOWN';
- my $md_file = $f;
- my $md_ext = $f;
- $md_ext =~ s/^.+?\.(mp3|ogg|m4a)$/$1/gi;
- $tmpl_i =~ s/{{track-number}}/$md_track/gi;
- $tmpl_i =~ s/{{track-number-pad}}/$md_track_padded/gi;
- $tmpl_i =~ s/{{track-name}}/$md_title/gi;
- $tmpl_i =~ s/{{album}}/$md_album/gi;
- $tmpl_i =~ s/{{artist}}/$md_artist/gi;
- $tmpl_i =~ s/{{year}}/$md_year/gi;
- $tmpl_i =~ s/{{file}}/$md_file/gi;
- $tmpl_i =~ s/{{ext}}/$md_ext/gi;
- print "$tmpl_i\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement