19.09.2020

Когда хочется странного или goMusicTagFixer by Zhbert

Вот бывало у вас такое, что давно уже зудит где-то на краю сознания идея утилитки, но руки все не доходят? У меня вот да — где-то примерно с 2012 года.

Представляю вашему вниманию эталонное ненужно (как скорее всего скажут тут многие): goMusicTagFixer — консольная утилита для быстрой правки тэгов в mp3 файлах на название директории, в которой они лежат. И да, она написана на Go.

Как я к этому пришел? Все просто. Когда-то в далеком-далеком 2012 году, когда у меня на работе поя… Хотя стоп. Это было еще раньше, где-то в 2010, когда я купил себе iPod Classc на 160Гб и впервые в жизни вляпался в iTunes.

Как и у многих, у меня помимо «полных» дискографий исполнителей в коллекции музыки есть каталоги, куда навалено кучей всего подряд в одном примерно стиле, и назвается это все «Разное» или «В машину», или «Для тренировки».. Ну и так далее. Поскольку файлы там набраны из совершенно различных источников, в тэгах творится абы что, а если даже и не абы что, то они все разные в плане исполнителя и названия альбома. Впервые я в это вляпался, когда залил в тунца свою любимую в тот момент директорию с файлами и обнаружил, что вместо одной «папки» в библиотеке создалось 300 исполнителей с одном альбомом и одной песней в нем. При заливке этого всего в плеер получилась такая же вакханалия, что не придало совершенно никакого удобства пользованию им.

//Да да, есть всякие комбайны для правки тэгов, но у меня тогда возникла идея именно простой утилиты с одной кнопкой «сделать зашибись». И вот я наконец дошел до того, чтобы ее сделать.

Итак, в утилите есть всего пара команд.

  • scandir — рекурсивно сканирует каталог, откуда была запущена (да, достаточно просто прийти туда в терминале и запустить утилиту из любого места прямой ссылкой) и показывает результаты в виде «дерева». Эдакое «tree» из DOS, о котором я до сих пор вспоминаю с теплотой. Писал скорее ради фана, а не из-за необходимости.
Starting program at 22:26:38 05-10-2020
Please enter the command:
scandir
Starting the folder scan at 22:26:41 05-10-2020
Temp
├─ 02 - Театр одного актера.mp3
├─ 03 - Последняя искра.mp3
├─ 04 - Шкатулка.mp3
├─ 05 - В последний раз.mp3
├─ 1983 - Rebel Yell
│  ├─ 01 - Rebel Yell.mp3
│  ├─ 02 - Daytime Drama.mp3
│  ├─ 03 - Eyes Without A Face.mp3
│  ├─ 04 - Blue Highway.mp3
│  ├─ 05 - Flesh For Fantasy.mp3
│  ├─ 06 - Catch My Fall.mp3
│  ├─ 07 - Crank Call.mp3
│  ├─ 08 - (Do Not) Stand In The Shadows.mp3
│  ├─ 09 - The Dead Next Door.mp3
│  ├─ Covers
├─ 1987 - Hot Track
│  ├─ 01 - Love Hurts.mp3
│  ├─ 02 - Shanghai'd in Shanghai.mp3
│  ├─ 03 - Carry Out Feelings.mp3
│  ├─ 04 - Razamanaz.mp3
│  ├─ 05 - Hair of the Dog.mp3
│  ├─ 06 - I Want to (Do Everything for You).mp3
│  ├─ 07 - This Flight Tonight.mp3
│  ├─ 08 - Broken Down Angel.mp3
│  ├─ 09 - Born to Love.mp3
│  ├─ 10 - My White Bicycle.mp3
│  ├─ 11 - Go Down Fighting.mp3
│  ├─ 12 - Vancouver Shakedown.mp3
│  ├─ Covers
├─ Космические Рейнджеры - Longway.mp3
├─ Космические Рейнджеры - Пробуждение.mp3
├─ Космические Рейнджеры 1 - Бой.mp3
├─ Космические рейнджеры 1 - Космический ветер.mp3
─────────────────────────────────────────
Scanning complete at  22:31:30 05-10-2020
Founded  49  mp3 files in  5  folders.
  • deepscan — аналогичная первой, только дополнена для каждого mp3 файла информацией о его тэгах: исполнитель, альбом, название. Освновная задача — посмотреть, что там есть из коробки, а потом убедиться, что все сработало как надо. Выхлоп цветной, тэги визуально отличаются от дерева.
Please enter the command:
deepscan
Deep scan started at  22:29:25 05-10-2020
Temp
├─ 1983 - Rebel Yell
│  ├─ 01 - Rebel Yell.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:   Rebel Yell 
│  ├─ 02 - Daytime Drama.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:    
│  ├─ 03 - Eyes Without A Face.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:    
│  ├─ 04 - Blue Highway.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:    
│  ├─ 05 - Flesh For Fantasy.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:    
│  ├─ 06 - Catch My Fall.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:    
│  ├─ 07 - Crank Call.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:   Crank Call 
│  ├─ 08 - (Do Not) Stand In The Shadows.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:   (Do Not) Stand In The Shadows 
│  ├─ 09 - The Dead Next Door.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:    
│  ├─ Covers
─────────────────────────────────────────
Scanning complete at  22:31:49 05-10-2020
Founded  49  mp3 files in  5  folders.

  • mp3settags — основная та самая команда «сделать зашибись». Рекурсивно пробегает по всем mp3-файлам в каталоге и прописывает им в «Исполнитель» и «Альбом» название каталога, в котором они лежат. Она же, кстати, на скриншоте.
Please enter the command:
mp3settags
Changing of mp3 tags started at  22:30:37 05-10-2020
Temp
 02 - Театр одного актера.mp3  setting  Temp  album and artist name
 03 - Последняя искра.mp3  setting  Temp  album and artist name
 04 - Шкатулка.mp3  setting  Temp  album and artist name
 05 - В последний раз.mp3  setting  Temp  album and artist name
 Rebel Yell
 01 - Rebel Yell.mp3  setting   Rebel Yell  album and artist name
 02 - Daytime Drama.mp3  setting   Rebel Yell  album and artist name
 03 - Eyes Without A Face.mp3  setting   Rebel Yell  album and artist name
 04 - Blue Highway.mp3  setting   Rebel Yell  album and artist name
 05 - Flesh For Fantasy.mp3  setting   Rebel Yell  album and artist name
 06 - Catch My Fall.mp3  setting   Rebel Yell  album and artist name
 07 - Crank Call.mp3  setting   Rebel Yell  album and artist name
 08 - (Do Not) Stand In The Shadows.mp3  setting   Rebel Yell  album and artist name
 09 - The Dead Next Door.mp3  setting   Rebel Yell  album and artist name
Covers
 Hot Track
 01 - Love Hurts.mp3  setting   Hot Track  album and artist name
 02 - Shanghai'd in Shanghai.mp3  setting   Hot Track  album and artist name
 03 - Carry Out Feelings.mp3  setting   Hot Track  album and artist name
 04 - Razamanaz.mp3  setting   Hot Track  album and artist name
 05 - Hair of the Dog.mp3  setting   Hot Track  album and artist name
 06 - I Want to (Do Everything for You).mp3  setting   Hot Track  album and artist name
 07 - This Flight Tonight.mp3  setting   Hot Track  album and artist name
 08 - Broken Down Angel.mp3  setting   Hot Track  album and artist name
 09 - Born to Love.mp3  setting   Hot Track  album and artist name
 10 - My White Bicycle.mp3  setting   Hot Track  album and artist name
 11 - Go Down Fighting.mp3  setting   Hot Track  album and artist name
 12 - Vancouver Shakedown.mp3  setting   Hot Track  album and artist name
Covers
 Космические Рейнджеры - Longway.mp3  setting  Temp  album and artist name
 Космические Рейнджеры - Пробуждение.mp3  setting  Temp  album and artist name
 Космические Рейнджеры 1 - Бой.mp3  setting  Temp  album and artist name
 Космические рейнджеры 1 - Космический ветер.mp3  setting  Temp  album and artist name
Разное
 01 - 2000 - Frozen Features - The solitude.mp3  setting  Разное  album and artist name
 01 - Мир стекла.mp3  setting  Разное  album and artist name
 02 - 2000 - Frozen Features - The cry of silence.mp3  setting  Разное  album and artist name
 02 - Театр одного актера.mp3  setting  Разное  album and artist name
 03 - Последняя искра.mp3  setting  Разное  album and artist name
 04 - Шкатулка.mp3  setting  Разное  album and artist name
 05 - В последний раз.mp3  setting  Разное  album and artist name
 05 - О ней.mp3  setting  Разное  album and artist name
 07 - Ангел.mp3  setting  Разное  album and artist name
 08 - Гредят новый век.mp3  setting  Разное  album and artist name
 Григорий Семенов - Музыка людей (Космические рейнджеры).mp3  setting  Разное  album and artist name
 Космические Рейнджеры - Longway.mp3  setting  Разное  album and artist name
 Космические Рейнджеры - Безграничный космос.mp3  setting  Разное  album and artist name
 Космические Рейнджеры - Гимн.mp3  setting  Разное  album and artist name
 Космические Рейнджеры - Пробуждение.mp3  setting  Разное  album and artist name
 Космические Рейнджеры 1 - Бой.mp3  setting  Разное  album and artist name
 Космические рейнджеры 1 - Космический ветер.mp3  setting  Разное  album and artist name
 Космические рейнджеры 1 - Полетная.mp3  setting  Разное  album and artist name
 Космические рейнджеры OST - Starflight(2).mp3  setting  Разное  album and artist name
 Спящий - Abyssphere.mp3  setting  Разное  album and artist name
─────────────────────────────────────────
Changing complete at  22:30:37 05-10-2020
Changed  49  mp3 files in  5  folders.
  • help — показывает окно справки.

О скриншоте: гента, кеды, дефолт, кроме значков — Memphis98, они идеальны.

>>> Сорцы

>>> Просмотр
(1600×900,
947 Kb
)

 , , ,

Добавить комментарий