Вчера изучал, как писать индивидуальные отображатели для списка альбомов из плеера Foobar2000 и
разобрался таки.
Ну, если вы не знаете, то Foobar2000 - это такой mp3-проигрыватель под Windows. Другие виды аудио он тоже играет, но через плагины. Он бесплатный, скачать можно здеся:
http://www.foobar2000.org/Специально для всех, кому руки девать некуда, этот проигрыватель имеет множество настроечек, которые можно покрутить.
В рамках этого поста нам будет интересен компонент "Media Library" (File -> Preferences -> Media Library), в этом компоненте можно задать набор папок, в которых будут искаться музыкальные файлы на диске. Все найденные файлы отображаются в виде дерева в окне "Album List".
Причём отображение можно настраивать - это может быть точная копия дерева папок на диске, а может быть что-то более экзотичное, например верхний уровень папок может быть ГОД записи музыкального альбома, а подпапки - ИСПОЛНИТЕЛЬ-АЛЬБОМ за этот год, а уже внутри - конкретные треки.
Меня в общем-то устраивал и обычный "by folder structure" просмотр, просто копия дерева папок с диска, благо там уже всё упорядочено по жанрам и предпочтениям, но одна деталь раздражала - встроенный просмотр сортировал не только альбомы по алфавиту, что нормально, но и треки внутри альбома. И при выборе альбома его содержимое переносилось в список воспроизведения тоже отсортированное по алфавиту, а хотелось - чтобы по номеру трека на альбоме.
Поэтому родился вот такой скрипт:
[$directory($replace(%path%,D:\Music\,),10)|]
[$directory($replace(%path%,D:\Music\,),9)|]
[$directory($replace(%path%,D:\Music\,),8)|]
[$directory($replace(%path%,D:\Music\,),7)|]
[$directory($replace(%path%,D:\Music\,),6)|]
[$directory($replace(%path%,D:\Music\,),5)|]
[$directory($replace(%path%,D:\Music\,),4)|]
[$directory($replace(%path%,D:\Music\,),3)|]
[$directory($replace(%path%,D:\Music\,),2)|]
[$directory($replace(%path%,D:\Music\,),1)|]
[%tracknumber%. ]%title%
Куды это совать: File -> Preferences -> Media Library -> Album List -> Views -> Add new
К сожалению, присутствуют недостатки, обусловленные слабостью скриптового языка, в частности скрипт прибит гвоздями к папке D:\Music, откуда и берутся все файлы, поменяйте эту часть на вашу папку с музыкой. Если у вас несколько папок-источников, то этот скрипт вам не подойдёт.