Я так понял, если %Title пустой, то тогда выводит просто имя файла?
это только для %Title или для всех данных логика "Если не указано, то выводить имя файла"?
Как составить шаблон, который будет работать так:
Если Исполнитель И Название указано, то выводить "Исполнитель - Название", иначе просто имя файла.
Да
Только для Title (оно же название композиции), было бы странным видеть имя файла, скажем, в качестве альбома или жанра...
Он у вас уже и есть: %IF(%Artist,%Artist - %Title,%Title)
Ведь мы только что выяснили, что Title никогда не будет пустым
Никак не получится, т.к. там будет в этом случае имя файла
если так уж принципиально, то позвольте я подкину дров - есть такой макросик как %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,)