AIMP Forum

Разное => Предложения (архив) / Suggestions (archive) => Архив / Archive => Реализовано в AIMP v5.40 / Implemented in AIMP v5.40 => Topic started by: MCW on September 17, 2024, 11:57:03

Title: Отображение имени файла из потока при отсутствии тегов
Post by: MCW on September 17, 2024, 11:57:03
Пробовал на aimp_5.40.2623_Beta_2_w32 и ранних версиях, не могу заставить отображаться в плейлисте имена файлов потока, а не всего пути / URL, при отсутствии тегов в передаваемом потоке.

Например, есть ссылка, в плейлисте будет отображаться полностью
Code: [Select]
https://nightride.fm/streamsafe/vod_contact/The Abdukted/The Abdukted - Foo Fighter.mp3
хотя более информативно было бы
The Abdukted - Foo Fighter

(https://www.aimp.ru/forum/index.php?action=dlattach;topic=73440.0;attach=72436)

(https://i124.fastpic.org/big/2024/0917/8b/e65dc7afcc7740a6fdc68da984681f8b.png)
Title: Re: Отображение имени файла из потока при отсутствии тегов
Post by: CkopoxoD on September 17, 2024, 19:38:04
Для начала скажу, что конструкцию %IF(%Title,%Title,%FileName) не имеет смысла писать, достаточно просто %Title, при отсутствии заголовка плеер сам подставляет туда имя файла (вроде бы недокументированная фича).

Т.к. URL идёт целиком в %FileName, красивого решения задачи я не нашёл, но в лоб накостылил:
Code: [Select]
%IFEqual(%FileDir,Radio,%StrRight(%StrRight(%StrRight(%StrRight(%StrRight(%StrRight(%IFEqual(%StrRight(%FileName,1),/,%StrLeft(%FileName,%Dec(%Length(%FileName),1)),%RemoveFileExt(%FileName)),//),/),/),/),/),/),%IF(%Artist,%Up(%Artist) - ,)%Title)Ссылку определяем по %FileDir == "Radio". Если она заканчивается на слеш: %StrRight(%FileName,1) == "/" , то отсекаем его %StrLeft(%FileName,%Dec(%Length(%FileName),1)) , иначе убираем расширение %RemoveFileExt(%FileName) . А дальше костыль: повторяющееся отсечение пути слева по неизвестному количеству слешей, нужно делать с запасом. Было бы проще с возможностью найти последнее вхождение подстроки.
Title: Re: Отображение имени файла из потока при отсутствии тегов
Post by: MCW on September 17, 2024, 20:28:36
Для начала скажу, что конструкцию %IF(%Title,%Title,%FileName) не имеет смысла писать, достаточно просто %Title, при отсутствии заголовка плеер сам подставляет туда имя файла (вроде бы недокументированная фича).
Так должно быть, в другом плеере это и происходит - выводит имя файла без расширения, а не путь.

(https://i124.fastpic.org/big/2024/0917/17/3b9507cdca4881df73ea9987f289d717.png)

При помощи выше указанного форматирования пытался обойти не работающий вариант по имени файла в ссылках.

И CkopoxoD, спасибо за попытку помочь, но тут необходимо более кардинальное  решение.
Title: Re: Отображение имени файла из потока при отсутствии тегов
Post by: Artem on September 17, 2024, 21:14:57
В общем случае у ссылок нет никакого имени файла, там может быть произвольный абракадабра-токен. Если форматтер его отрежет где-то по середине - толку будет мало. Посему ссылки AIMP всегда показывает как есть.

Title: Re: Отображение имени файла из потока при отсутствии тегов
Post by: Artem on September 17, 2024, 21:16:03
В данном случае, могу лишь предложить сделать отдельную макрос-функцию, которая будет принудительно вырезать из URL-а FileName.
Title: Re: Отображение имени файла из потока при отсутствии тегов
Post by: MCW on September 17, 2024, 22:34:32
В общем случае у ссылок нет никакого имени файла, там может быть произвольный абракадабра-токен.
В принципе речь в данном случае идёт как раз о файле, а не абстрактном потоке (имя файла, расширение и длина).
Не думал, что это проблема, пока сам не столкнулся с этим. В фубаре работает, думал и в AIMP также, оказалось нет, вот и пытался найти пути обхода...
Title: Re: Отображение имени файла из потока при отсутствии тегов
Post by: Artem on September 22, 2024, 21:23:41
В принципе речь в данном случае идёт как раз о файле, а не абстрактном потоке (имя файла, расширение и длина)

Это сугубо частный случай. Предлагаю сделать отдельный макрос-функцию
Title: Re: Отображение имени файла из потока при отсутствии тегов
Post by: MCW on September 22, 2024, 23:01:09
Предлагаю сделать отдельный макрос-функцию

Не важно, как это будет реализовано - главное результат.

Что заметил:

Т.е. после проделанных манипуляций получаем то что хотели, а почему не сразу.
Title: Re: Отображение имени файла из потока при отсутствии тегов
Post by: Artem on September 22, 2024, 23:59:05
а почему не сразу

сравните содержимое файлов и ответ будет очевиден
Title: Re: Отображение имени файла из потока при отсутствии тегов
Post by: MCW on September 23, 2024, 00:19:33
сравните содержимое файлов и ответ будет очевиден
Думаете я не в курсе, чем они отличаются?
Поэтому и дал для сравнения загрузку одинаковых *.m3u в два разных проигрывателя.

В общем случае у ссылок нет никакого имени файла
Как тогда получается, при создании *.m3u8 плейлиста AIMP их находит и вставляет в создаваемый плейлист, а при загрузке *.m3u только полный путь.
Title: Re: Отображение имени файла из потока при отсутствии тегов
Post by: Artem on September 24, 2024, 21:37:44
Поэтому и дал для сравнения загрузку одинаковых *.m3u в два разных проигрывателя

Если Title в плейлисте явно не указан - проигрыватели действуют по-разному, в этом нет ничего плохого.

Как тогда получается, при создании *.m3u8 плейлиста AIMP их находит и вставляет в создаваемый плейлист, а при загрузке *.m3u только полный путь

Фубар прописывает в экспортируемый плейлист метаданные, там не только ссылки. Эти мета-данные AIMP и подхватывает.

P.S. Решил не делать отдельных функций - ввел не обязательный аргумент для макроса %FileName
Title: Re: Отображение имени файла из потока при отсутствии тегов
Post by: CkopoxoD on September 25, 2024, 11:31:08
Фубар прописывает в экспортируемый плейлист метаданные, там не только ссылки. Эти мета-данные AIMP и подхватывает.

P.S. Решил не делать отдельных функций - ввел не обязательный аргумент для макроса %FileName

Речь про то, что сам АИМП при экспорте прописывает метаданные, извлекая "имя файла" из url. Работает для .m3u и .m3u8 (#EXTINF), .pls (Title).
Т.е. сценарий был такой: накидываем ссылки в АИМП, экспортируем, импортируем и получаем желаемое MCW отображение плейлиста.
Теперь это можно будет сделать сразу макросом.
Title: Re: Отображение имени файла из потока при отсутствии тегов
Post by: MCW on September 25, 2024, 15:42:58
Что заметил:
Берем плейлист *.m3u с ссылками радиостанций и загружаем в foobar
Подробнее...
Берем плейлист *.m3u с ссылками радиостанций и загружаем в AIMP
Подробнее...
Сохраняем этот плейлист в *.m3u8 и снова загружаем в AIMP
Подробнее...

Фубар прописывает в экспортируемый плейлист метаданные, там не только ссылки. Эти мета-данные AIMP и подхватывает.
Фубар был дан для сравнения первоначальной загрузки *.m3u, такая же загрузка *.m3u и его экспорт в *.m3u8 проводились в AIMP.

Для сравнения прикладываю *.m3u, закиньте в Фубар и AIMP, что бы была понятнее разница.
Title: Re: Отображение имени файла из потока при отсутствии тегов
Post by: Artem on September 25, 2024, 19:27:30
Речь про то, что сам АИМП при экспорте прописывает метаданные, извлекая "имя файла" из url

Это странно, проверю.
В любом случае, макрос я доработал.