Фасетоподобные фильтры папок в пользовательском интерфейсе столбцов - показывать только первый уровень подпапок

1095
Kyub

Из того, что я знаю, фасеты (используя стандартный пользовательский интерфейс) и пользовательский интерфейс столбцов являются взаимоисключающими. Я хотел бы использовать пользовательский интерфейс столбцов для дополнительной настройки, но отсутствует важная функция: фильтрация папок ТОЛЬКО в определенном каталоге. Те, кто использовал фасеты, будут знать, что все первичные каталоги добавлены в

Настройки Медиатека-> Музыкальные папки

будет хорошо отображаться в разделе фасетов, без вложенных папок.

Например, допустим, что мой путь к библиотеке мультимедиа: « C:\Users\Me\mymusicВ папке с именем mymusic, у меня есть 3 подпапки с именами a, bи cсоответственно. Внутри есть много других подпапок разных художников.

То, что я хочу, это столбец папок в моей библиотеке, но только корневые папки, в C:\Users\Me\mymusic\которых в этом примере есть только a, bи c.

C: \ Users \ Me \ mymusic \ a (показан)
C: \ Users \ Me \ mymusic \ a \ ed sheeran (не показан)
C: \ Users \ Me \ mymusic \ b \ adele (не показан)

По сути, мне нужен код поля, который будет делать то же самое, что и фасеты, в пользовательском интерфейсе Columns

picture here

1

1 ответ на вопрос

1
nixda

Ты смотришь не на то место. Возможно, вам нужен автоплейлист с правильным поисковым запросом. И это странно :)


Чтобы создать автоплейлист, предварительно отфильтрованный в определенной папке

  1. Автоплейлисты автоматически добавляют и удаляют музыкальные файлы. Но только если Foobar контролирует эти папки. Поэтому убедитесь, что вы добавили все корневые папки в медиатеку

  2. Откройте окно поиска медиа библиотеки через Menu Bar » Library » Search

  3. Введите поисковую фразу "$sub($len(%PATH%),$len($replace(%PATH%,\,)))" IS 4

    • Что я в основном делаю: получаю полный путь к файлу и вычисляю длину строки, т.е. C:\Users\Me\mymusic\aсоставляет 21 символ.

    • Затем я вычисляю длину во второй раз, но заменяю все \символы ничем. Наш пример пути содержит четыре обратных слеша, \которые будут удалены. Поэтому наша вторая длина 21 - 4 = 17.

    • Теперь я вычитаю второе (меньшее) значение из первого (более длинного) значения и сравниваю результат с x, где x обозначает желаемый уровень папки (на самом деле еще один, потому что я ленивый и использовал, %PATH%а не $directory(%PATH%)для более короткой формулы запроса)

    • В конце концов, вы просто должны посчитать свои слэши.
      C:\Users\Me\mymusic\aимеет 3 папки и 4 обратной косой черты » Diff IS 4» показано C:\Users\Me\mymusic\a\ed sheeran4 папки и 5 обратной косой черты » Diff IS NOT 4» не показано

    • Прочитайте справочник по синтаксису запроса и форматированию заголовков . Это все там. Единственное, что не было явно упомянуто: использовать двойные кавычки вокруг комбинаций функции и параметра поля, например "$directory_path(%PATH%)". В противном случае вы не сможете объединить синтаксис запроса и форматирование заголовка без них.

  4. Создайте новый автоплейлист и вуаля. Вы видите только музыку с третьего уровня папки