AIMP Forum

AIMP for Android => Вопросы / Questions => Topic started by: Anton on September 14, 2023, 23:01:13

Title: Шаблоны строк
Post by: Anton on September 14, 2023, 23:01:13
Шаблон по умолчанию "%IF(%Artist,%Artist - %Title,%Title)", надеюсь этот, потому что я сначала поигрался с ними, потом передумал и забыл как там было и скопировал с ПК.
Шаблон хороший, потому что, если указан %Artist, то скорей всего указан и %Title.
Я скопировал себе один трек и поигрался с данными. Я так понял, если %Title пустой, то тогда выводит просто имя файла?

Второй маленький вопросик, это только для %Title или для всех данных логика "Если не указано, то выводить имя файла"?

Я у себя треки полистал быстренько и не нашел таких, но все же есть вероятность, что какой-нибудь трек будет иметь формат при таком шаблоне "Исполнитель - Имя Файла".

Как составить шаблон, который будет работать так:
Если Исполнитель И Название указано, то выводить "Исполнитель - Название", иначе просто имя файла.
Спасибо.
Title: Re: Шаблоны строк
Post by: Artem on September 15, 2023, 08:31:36
Я так понял, если %Title пустой, то тогда выводит просто имя файла?

Да

это только для %Title или для всех данных логика "Если не указано, то выводить имя файла"?

Только для Title (оно же название композиции), было бы странным видеть имя файла, скажем, в качестве альбома или жанра...

Как составить шаблон, который будет работать так:
Если Исполнитель И Название указано, то выводить "Исполнитель - Название", иначе просто имя файла.

Он у вас уже и есть: %IF(%Artist,%Artist - %Title,%Title)
Ведь мы только что выяснили, что Title никогда не будет пустым
Title: Re: Шаблоны строк
Post by: Anton on September 16, 2023, 16:12:00
Да

Только для Title (оно же название композиции), было бы странным видеть имя файла, скажем, в качестве альбома или жанра...

Он у вас уже и есть: %IF(%Artist,%Artist - %Title,%Title)
Ведь мы только что выяснили, что Title никогда не будет пустым

Но есть же вероятность, что может из-за каких-то там обстоятельств оказаться, что Ипсолнитель есть, а Название пустое. И вот хотелось бы, уже из принципа, явно задать проверку еще и на наличие Названия.
Спасибо.
Title: Re: Шаблоны строк
Post by: Artem on September 17, 2023, 10:36:15
Никак не получится, т.к. там будет в этом случае имя файла
Title: Re: Шаблоны строк
Post by: Anton on September 17, 2023, 13:19:40
Никак не получится, т.к. там будет в этом случае имя файла

Я думал там какая-то такая логика, что %Title при пустом названии будет именем файла, но на некий запрос куда-то о наличии этого %Title будет негативный ответ. Понял, благодарю.
Title: Re: Шаблоны строк
Post by: Xaker_Two on September 18, 2023, 00:15:10
если так уж принципиально, то позвольте я подкину дров - есть такой макросик как %FileName и для проверки пустоты %Title можно попробовать следующее

%IFEqual(%Title, %FileName, <%Title равен %FileName, т.е. пуст>, <%Title не равен %FileName т.е. содержит полезную инфу>) хрен там плавал - доступ к расширению файла отсутствует, а оно само в %FileName есть, а в %Title нет

%IFGreater(%Length(%Replace(%FileName,%Title%Char(46),)),4,<%Title не равен %FileName т.е. содержит полезную инфу>,<%Title равен %FileName, т.е. пуст>)

- %Title%Char(46) это имя файла без расширения из %Title плюс символ с кодом 46 - символ точки. т.е. если имя файла допустим "test_track.mp3", то %Title%Char(46) вернет "test_track." точка добавляется как дополнительный косвенный гарант что будет удалено(заменено на пустоту) только значение из %Title. Разумеется что это обходится именем файла равным тайтлу с точкой
- 4 это максимальная длинна поддерживаемых расширений(да они впринципе у муз файлов редко бывают длиннее)

Выражение которое возвращает значение именно %Title(если не пытаться его надурить)
%IFGreater(%Length(%Replace(%FileName,%Title%Char(46),)),4,%Title,)

ваш смартфон будет благодарить вас во все щели при каждом обновлении плейлиста, ведь это выражение не такое уж и легкое а выполняться будет столько раз, сколько в плейлисте файлов
Title: Re: Шаблоны строк
Post by: Anton on September 19, 2023, 20:53:51
если так уж принципиально, то позвольте я подкину дров - есть такой макросик как %FileName и для проверки пустоты %Title можно попробовать следующее

%IFEqual(%Title, %FileName, <%Title равен %FileName, т.е. пуст>, <%Title не равен %FileName т.е. содержит полезную инфу>) хрен там плавал - доступ к расширению файла отсутствует, а оно само в %FileName есть, а в %Title нет

%IFGreater(%Length(%Replace(%FileName,%Title%Char(46),)),4,<%Title не равен %FileName т.е. содержит полезную инфу>,<%Title равен %FileName, т.е. пуст>)

- %Title%Char(46) это имя файла без расширения из %Title плюс символ с кодом 46 - символ точки. т.е. если имя файла допустим "test_track.mp3", то %Title%Char(46) вернет "test_track." точка добавляется как дополнительный косвенный гарант что будет удалено(заменено на пустоту) только значение из %Title. Разумеется что это обходится именем файла равным тайтлу с точкой
- 4 это максимальная длинна поддерживаемых расширений(да они впринципе у муз файлов редко бывают длиннее)

Выражение которое возвращает значение именно %Title(если не пытаться его надурить)
%IFGreater(%Length(%Replace(%FileName,%Title%Char(46),)),4,%Title,)

ваш смартфон будет благодарить вас во все щели при каждом обновлении плейлиста, ведь это выражение не такое уж и легкое а выполняться будет столько раз, сколько в плейлисте файлов

Спасибо за ответ. Даже не знаю, что ответить, такой развернутый ответ.  Но я сдаюсь, ибо как написано довольно тяжелый шаблон, да и про принципиально, все еще можно сломать логику, если я правильно понял, но тут уже я уверен, нужно именно специально самому редактировать, чтобы надурить, вряд ли файл какой-нибудь может попастья сам по себе. Как-нибудь по приколу на пк поставлю, поиграюсь с ним. Все равно, спасибо.