Редактор тегов, который можно направить на десять тысяч файлов
Mp3tag — это то, что имеют в виду, когда говорят «редактор тегов», и сборки под Linux у него нет. В rox есть полноценный редактор внутри и путь записи, сделанный на случай, когда пакет достаточно велик, чтобы «обычно работает» было мало.
Начнём с того, чем это не является
rox — это музыкальный плеер, внутри которого серьёзный редактор тегов. Mp3tag — это специализированный теггер, и как специализированный теггер он лучше: скрипты, действия, форматные строки, которые можно собирать, и двадцать лет сточенных острых углов. Если вам нужен отдельный инструмент, чтобы прогнать по папке и закрыть, на Windows, это он.
Довод в пользу того, чтобы делать это в rox, в том, что тегирование коллекции обычно не та задача, которую заканчивают. Это то, что делают по ходу прослушивания, с файлом, который только что заметили как неправильный, а значит редактор, приделанный к плееру и медиатеке, — это смысл, а не компромисс.
Путь записи
Это та часть, которую стоит прочесть, даже если вы никогда не поставите rox. Большинство тег-редакторов правят ваш файл на месте: открывают оригинал, переписывают область метаданных и надеются. Это нормально десятки тысяч раз и катастрофа один раз, потому что падение, полный диск или выдернутый накопитель на середине оставляют файл, который больше не разбирается, с вашим звуком внутри.
rox никогда не пишет в оригинал. Каждая правка копирует файл, применяет изменение к копии, проверяет результат, читая метаданные обратно и хешируя звуковой поток, чтобы убедиться, что он байт в байт совпадает с исходным, и только затем атомарно переименовывает копию поверх оригинала. Если хоть один шаг не удался, копия удаляется, а ваш файл нетронут, ведь его вообще не открывали на запись.
Каждый файл ещё и изолирован, так что один патологический файл в пакете из четырёх тысяч падает сам по себе, а не утаскивает за собой весь прогон.
Правка пакета без его уплощения
Выделите сколько угодно треков, и редактор откроется одной общей формой. Поле, в котором все файлы сходятся, показывает своё значение; поля, где они расходятся, показывают пустоту под заполнителем «несколько значений». Записывается только то, что вы действительно тронули, так что нетронутое поле никогда не переписывает файл, а те поля, которые бессмысленно штамповать по всему выделению, название, номер трека и номер диска, в пакете запираются сами.
Когда один файл внутри пакета неправильный, форма меняется на таблицу: строка на трек, столбец на поле, запертые потрековые поля правятся прямо на месте. Это вид для импорта, где каждое название и номер неправильны по-своему, и он бьёт хождение по полям по одному. Оба вида отправляются одним пакетом через один и тот же путь записи, а результат попадает в медиатеку без пересканирования.
Что он читает и пишет
- Форматы. ID3v2, комментарии Vorbis и атомы MP4 за одним редактором, так что MP3, FLAC и M4A — это один и тот же экран.
- Оценки. Пишутся в сами файлы через FMPS и POPM, а не в базу, которую вы не унесёте с собой.
- Многозначные жанры. Настоящие списки, а объединения держатся как мнение медиатеки, а не как переписывание ваших тегов.
- Обложки. Многокартиночные обложки альбома, добавляются и заменяются тем же атомарным путём.
- Поиск. Теги и обложки из MusicBrainz, iTunes и Deezer, применяются через тот же дифф, так что вы видите изменения до записи.
- Починка. Проход для файлов, чьи теги повреждены определённым известным образом, а не просто неверны, из-за которых другие теггеры показывают трек именем файла и нулевой длительностью.
- Шаблоны в обе стороны. Форматная строка вроде
%artist% - %title%читает теги из имени файла, а тот же шаблон в обратную сторону переименовывает файлы по их тегам. Оба показывают предпросмотр каждого трека до того, как что-то будет записано. - Поиск и замена. Любое поле, чьи значения расходятся внутри пакета, принимает что искать и на что менять, буквально или regex с
$1, а предпросмотр считает, сколько треков изменится, прежде чем что-то будет записано. - Имена для сортировки и чтения. Теги сортировки в ваших файлах решают, где стоит имя. Где их нет, MusicBrainz заполняет имена для сортировки исполнителей, а японские, корейские и китайские имена получают латинское чтение, которое питает поиск и буквенные указатели. И то и другое лежит в базе rox, файлы остаются нетронутыми.
- Состояние библиотеки. Окно плиток, по одной на тег, каждая открывает медиатеку, отфильтрованную по трекам, где его нет: жанр, год, оценка, имена для сортировки, ReplayGain, плюс обложки, дубликаты и пропуски в номерах треков.
Кому стоит остаться с Mp3tag
Если у вас Windows и вы опираетесь на действия, скрипты или более сложную работу с форматными строками, у rox эквивалента нет, и это был бы шаг назад. Если вам нужен теггер, который не является ещё и плеером, это совсем не та форма.
Если у вас Linux или Mac или если тегирование у вас происходит по ходу прослушивания, а не отдельной повинностью, вот та дыра, которую это закрывает.
Путь записи — это та часть, которой не с чем сравниваться. Проверять хеш звукового потока перед переименованием поверх оригинала не станет теггер, который не ждёт, что его направят на всё, что у вас есть. Если вам нужна именно такая осторожность между правкой и вашими файлами, вот она.
Направьте его на ту папку, которую вы обходили стороной
Свободно и с открытым исходным кодом, без аккаунта, без установщика. О стороне медиатеки написано отдельно, а если вы уходите со сборки под Windows, есть ещё сравнения с MusicBee и Foobar2000.