Den Grigoriev написал(а) к Victor Sudakov в Jan 18 17:24:26 по местному времени:
Привет, Victor!
Кстати есть программка которая умеет ВСЁ :-)
http://forum.matuntu.org/index.php?topic=115.0
VS> А твой вариант с cuetag поддерживает разные версии и кодировки
VS> записываемых ID3 тэгов, как mp3splt?
Нет, у меня потом скрипт запускается по всем файлам
(и ещё я .cue в UTF-8 перекодирую сначала :-) ):
#!/usr/bin/perl
use utf8;
use strict;
use warnings;
use English;
use Encode;
use MP3::Tag;
use constant ENCODING => "utf-8";
if ($#ARGV < 0)
{
print STDERR "Usage: mp3fix_tag file.mp3\n";
exit;
}
binmode STDOUT, ":utf8";
my $mp3 = MP3::Tag->new($ARGV[0]);
my ($title, $track, $artist, $album) = $mp3->autoinfo();
eval
{
$title = decode(ENCODING, $title);
$track = decode(ENCODING, $track);
$artist = decode(ENCODING, $artist);
$album = decode(ENCODING, $album);
};
print "title: $title\n";
print "track: $track\n";
print "artist: $artist\n";
print "album: $album\n";
$mp3->get_tags;
$mp3->{ID3v1}->remove_tag if exists $mp3->{ID3v1};
$mp3->{ID3v2}->remove_tag if exists $mp3->{ID3v2};
$mp3->new_tag("ID3v2");
$mp3->{ID3v2}->add_frame("TIT2", $title);
$mp3->{ID3v2}->add_frame("TRCK", $track);
$mp3->{ID3v2}->add_frame("TPE1", $artist);
$mp3->{ID3v2}->add_frame("TALB", $album);
$mp3->{ID3v2}->write_tag;
$mp3->close;
$title =~ s/\// /g;
rename $ARGV[0], sprintf("%02d $title.mp3", $track);
С наилучшими пожеланиями, Den.
--- ---------------------------------------------