====== Columns UI: панель выбора плэйлистов (Playlist Switcher) ====== [[http://www.audiohq.de/index.php?showtopic=1695|Оригинал статьи (нем.)]] Панель Playlist switcher отображает список всех Ваших плейлистов, переключение между ними осуществляется однократным нажатием левой кнопки мыши. Данная панель представляет собой неплохую альтернативу вкладкам Playlist tabs. Ее настройка производится здесь: //File->Preferences->Columns UI->Playlist switcher//. {{:foobar2000:плагины:ui:columnsui:playlistswitcher1.png|рис. 1}} Добавить новый плэйлист можно либо при помощи пункта меню //File->New Playlist//, либо посредством двойного нажатия на левую или однократного нажатия на среднюю кнопку мыши на свободной области панели. Чтобы переименовать плейлист, нужно дважды нажать на левую кнопку мыши, а удаляется плейлист однократным нажатием на среднюю кнопку мыши. Вы также можете перемещать плейлисты, меняя их очерёдность в списке, используя функцию //Drag & Drop//. Все эти функции доступны так же и из контекстного меню, вызываемого опять же кликом правой кнопкой мыши на названии плейлиста. ===== Взаимодейcтвие посредством Drag & Drop ===== Playlist switcher позволяет добавлять копозиции из активного плейлиста в любой неактивный при помощи правой кнопки мыши. Настройки //Drag & Drop// находятся в одноимённой вкладке //Display->Columns UI->Playlist switcher->Drag & Drop//. Здесь Вы можете установить автоматическую активацию "целевого" плейлиста. При импорте из Windows Explorer группы файлов они будут добавлены в указанный Вами плейлист. Если Вы перетащите папку (группу файлов) на свободную область панели, Playlist switcher автоматически создаст отдельный плейлист. Название плейлиста по умолчанию определяется названием альбома/папки. Вы можете использовать коды foobar2000 для установки своей модели названия плейлиста. Но при этом у Вас должна быть установлена галочка //Compare following string and use output for name if identical for all files dropped// во вкладке //Drag & Drop//. В этом случае имя плейлиста будет создано с учётом этой модели. Например, строка ''%artist% - %album%'' устанавливает проверку по исполнителю и альбому. Если все композиции будут иметь одинаковые по содержанию поля ''ARTIST'' и ''ALBUM'', будет автоматически создан плейлист с таким именем. Есть возможность прописать несколько строк кода. Для этого используйте символ "\" в конце каждой строки. ===== Использование Titleformatting для названий плейлистов ===== По умолчанию названия плейлистов имеют простую структуру - на панели Playlist switcher отображаются только их имена. Опытные пользователи могут использовать всю мощь [[foobar2000:описание_синтаксиса|TAGZ]] для отображения такой полезной информации как количество композиций или общая продолжительность плейлиста в минутах. Для этого установите галочку //Use titleformatting for playlist title in panel//. Активировав эту опцию, Вы включите окно для ввода данных, расположенное ниже. Обратите внимание, что это не влияет на считывание тегов из аудиофайлов в самих плейлистах. То, что Вы введёте в этом окне будет отображаться только на панели Playlist switcher. Кромо того, Вы можете использовать и дополнительные (работающие только в этой панели) поля и фунции, приведённые ниже. ==== Доступные поля ==== * ''%title%'' - отображает имя плейлиста, т.е. то, что вы видете в названиях закладок * ''%is_locked%'' - выводит "1", если работа с плейлистом заблокирована, как в случае с автоплейлистами. Эту переменную следует использовать с функцией ''$if()''. См. пример ниже. * ''%lock_name%'' - выводит тип заблокированного плейлиста, т.е. применительно к автоплейлистам эта переменная будет выводить "//Autoplaylist//". * ''%size%'' - выводит количество композиций в данном плейлисте * ''%length%'' - возвращает общую продолжительность плейлиста в виде DD:HH:MM:SS * ''%is_active%'' - возвращает "1", если данный плейлист активен в настоящий момент. * ''%is_playing%'' - возвращает "1", если в настоящий момент проигрывается композиция из данного плейлиста. [[music>columns_ui:config:playlist_switcher_titleformatting|Источник (англ.)]] ==== Примеры: ==== Для начала приведём самый простой вариант. Этот пример выводит лишь название плейлиста: %title% Следующий код выводит название плейлиста и его общую продолжительность. Функция ''$tab()'' выравнивает вторую часть кода (общую продолжительность плейлиста) по правому краю. %title% $tab() %length% Идем дальше. Этот код выводит название плейлиста, количество композиций и общую продолжительность. Количество композиций отображается в скобках и окрашивается в серый цвет. Скобки являются элементами синтаксиса языка, поэтому они взяты в кавычки. Функция ''$tab()'' выравнивает данные об общей продолжительности плейлиста по правому краю и автоматически сбрасывает параметры цвета. Поэтому эти данные снова окрасятся в чёрный цвет. %title% $rgb(144,144,144) '('%size%')' $tab() %length% Следующий код, в том случае, если плейлист заблокирован (//locked//) будет ставить перед его названием букву "//х//". Вы, конечно, можете сменить её на любой другой символ. $if(%is_locked%,x, ) %title% Данный код окрашивает имя плейлиста, который содержит проигрываемую в данный момент композицию, в зелёный цвет. И опять же Вы можете поменять его параметры на свое усмотрение. $if(%is_playing%,$rgb(0,128,0,0,128,0)) %title% ==== Пустые строки, разделительные линии, заголовки ==== Тем пользователям, у которых очень много плейлистов, могут пригодиться пустые строки (отступы для разделения плэйлистов), горизонтальные разделители и категории. Всё это можно реализовать посредством умелого использования [[foobar2000:описание_синтаксиса|TAGZ]] в строке названия плейлиста. Я приведу несколько вариантов подобной работы. Мой первый пример позволяет создавать пустые строки. Вначале код проверяет, есть ли у плейлиста название. Если есть, то оно выводится вместе с общей продолжительностью. Если же названия нет, то остаётся пустая строка, использование которых позволит Вам представить в удобном виде список всех своих плейлистов. $if($greater($len(%title%),0), %title% $tab() %length%) Второй пример: если в названии плейлиста присутствует только один символ "-", то код автоматически проводит разделительную линию, в противном случае код выводит название плейлиста и его общую продолжительность. $if($strcmp($left(%title%,1),-), $rgb(144,144,144) $substr(%title%,2,$len(%title%)), %title% $tab() %length%) В последнем примере, я соединил два предыдущих: $if($greater($len(%title%),0), $if($strcmp(%title%,-), $rgb(232,232,232,178,181,190) $repeat($char(8212),100), $if($strcmp($left(%title%,1),-), $rgb(144,144,144) $substr(%title%,2,$len(%title%)), %title% $tab() $rgb(144,144,144) %length%))) И вот что у меня получилось: {{:foobar2000:плагины:ui:columnsui:playlistswitcher2.png|рис. 2}} Всё, что мы проделали касается только стиля отображения списка плейлистов. При этом, мы не затрагивали их содержимое, т.е. сами композиции. Вы можете создавать заблокированные пустые автоплейлисты, используя, к примеру, модель ''NOT %filename% HAS "."''. ~~DISCUSSION~~