AIMP Forum

AIMP for PC => Вопросы / Questions => Topic started by: Aliaksei on May 29, 2026, 18:30:58

Title: Форматирование
Post by: Aliaksei on May 29, 2026, 18:30:58
Я правильно понимаю, что %Title если не находит в тэгах заголовок, то берет название файла?

И можно ли как-то настроить, если первые два символа - это числа, то отбросить их?
Проверку на число не могу найти
Title: Re: Форматирование
Post by: Artem on May 29, 2026, 22:30:08
Можно скопировать первые два символа, а потом применить к ним Replace заменив все цифры на пустую строку.
Title: Re: Форматирование
Post by: Алексей Долматов on May 29, 2026, 23:42:19
Идём по жёсткому и убираем все неугодные символы из первых двух символов.
Code: [Select]
%ReplaceEx(%StrLeft(%Title,2),1,,2,,3,,4,,5,,6,,7,,8,,9,,0,)%StrCopy(%Title,3,50)! Ключевое, по две запятых согласно правилу замены, т.е. между двумя запятыми "ничто" вместо подменного символа.

если первые два символа - это числа, то отбросить их?
Недостаток, если первые символы относятся к имени исполнителя/заголовку. Например, 1 First, 10cc, 50 Cent и т.п.
Title: Re: Форматирование
Post by: Алексей Долматов on May 30, 2026, 00:19:17
Для примера из личных файлов, когда это может относится к заголовку и выдаст нежелательный результат.
"666 Способов Познать Будду" превращается в "6 Способов Познать Будду".

В таких случаях настраивать "исключения" через правила тегов может оказаться сложней.
В частности, если первые два символа цифры, а третий всегда пробел.
Code: [Select]
%IFEqual(%StrCopy(%Title,3,1), ,%ReplaceEx(%StrLeft(%Title,2),1,,2,,3,,4,,5,,6,,7,,8,,9,,0,)%StrCopy(%Title,4,50),%Title)С излишним "склеиванием" текста.
Code: [Select]
%IFEqual(%StrCopy(%Title,3,1), ,%ReplaceEx(%StrLeft(%Title,2),1,,2,,3,,4,,5,,6,,7,,8,,9,,0,)%StrCopy(%Title,4,50),%StrLeft(%Title,2)%StrCopy(%Title,3,50))
Code: [Select]
%IFEqual(%StrCopy(%Title,3,1), ,%ReplaceEx(%StrLeft(%Title,2),1,,2,,3,,4,,5,,6,,7,,8,,9,,0,),%StrLeft(%Title,2))%IFEqual(%StrCopy(%Title,3,1), ,%StrCopy(%Title,4,50),%StrCopy(%Title,3,50))Выполняется сверка третьего символа. Если пробел, то удаляем цифры с первых двух позиций и копируем с четвёртой (без пробела). Если пробела нет, то копируем "как есть".

Вариант использования имени файла, если сами теги (при наличии) не требуют форматирования.
Code: [Select]
%IFEqual(%StrCopy(%FileName(),3,1), ,%ReplaceEx(%StrLeft(%Title,2),1,,2,,3,,4,,5,,6,,7,,8,,9,,0,)%StrCopy(%Title,4,50),%Title)Однако, без ориентировки на теги изначально. Нужно проверять, чтобы не вылез косяк с обрезкой титлов на основе имени файла. Возможно, нужно доработать на проверку заголовка перед проверкой имени файла. Формула уже тяжелеет и её сложно форматировать, понимать.

Конечно, тоже могут попасться исключения, когда условие не сработает. Это уже нужно смотреть индивидуально.
Title: Re: Форматирование
Post by: Aliaksei on June 01, 2026, 10:32:04
Для примера из личных файлов, когда это может относится к заголовку и выдаст нежелательный результат.
"666 Способов Познать Будду" превращается в "6 Способов Познать Будду".

В таких случаях настраивать "исключения" через правила тегов может оказаться сложней.
В частности, если первые два символа цифры, а третий всегда пробел.
Code: [Select]
%IFEqual(%StrCopy(%Title,3,1), ,%ReplaceEx(%StrLeft(%Title,2),1,,2,,3,,4,,5,,6,,7,,8,,9,,0,)%StrCopy(%Title,4,50),%Title)С излишним "склеиванием" текста.
Code: [Select]
%IFEqual(%StrCopy(%Title,3,1), ,%ReplaceEx(%StrLeft(%Title,2),1,,2,,3,,4,,5,,6,,7,,8,,9,,0,)%StrCopy(%Title,4,50),%StrLeft(%Title,2)%StrCopy(%Title,3,50))
Code: [Select]
%IFEqual(%StrCopy(%Title,3,1), ,%ReplaceEx(%StrLeft(%Title,2),1,,2,,3,,4,,5,,6,,7,,8,,9,,0,),%StrLeft(%Title,2))%IFEqual(%StrCopy(%Title,3,1), ,%StrCopy(%Title,4,50),%StrCopy(%Title,3,50))Выполняется сверка третьего символа. Если пробел, то удаляем цифры с первых двух позиций и копируем с четвёртой (без пробела). Если пробела нет, то копируем "как есть".

Вариант использования имени файла, если сами теги (при наличии) не требуют форматирования.
Code: [Select]
%IFEqual(%StrCopy(%FileName(),3,1), ,%ReplaceEx(%StrLeft(%Title,2),1,,2,,3,,4,,5,,6,,7,,8,,9,,0,)%StrCopy(%Title,4,50),%Title)Однако, без ориентировки на теги изначально. Нужно проверять, чтобы не вылез косяк с обрезкой титлов на основе имени файла. Возможно, нужно доработать на проверку заголовка перед проверкой имени файла. Формула уже тяжелеет и её сложно форматировать, понимать.

Конечно, тоже могут попасться исключения, когда условие не сработает. Это уже нужно смотреть индивидуально.

Благодарю, взял кое-что себе на заметки