является оболочкой для mplayer, поддерживающей скины, что придает ей изящный, привлекательный вид.
Сейчас я опишу все возможности скина (элементы, параметры).
Скин для - это папка, в которой должны находиться конфигурационный файлы и файлы изображений.
Папка скина должна иметь уникальное название.
Текущий скин прописывается в конфигурационном файле программы settings.cfg:
[General]
skin = <имя_папки_скина>
например, skin = lime
Папки со скинами должны располагатьсяв папке Skins.
Каждый скин должен иметь 2 конфигурационных файла:
nowplaying.cfg - используется при отображении экрана "Сейчас играет"
playlist.cfg - используется при отображении экрана "Плейлист"
Элементы экрана "Сейчас играет"
На данном экране могут быть отображены:
$label - надписи
$image - изображения
$button - кнопки управления воспроизведением
$progress - прогресс-бар
$codec - иконка типа файла
$cover - обложка альбома
$volume - индикатор уровня громкости
Эти элементы могут размещаться в любом порядке и любое количество раз. Каждый элемент имеет несколько параметров, разделенных между собой следующими знаками - ||. Если параметр отсутсвует, то на его месте ставится знак "пробел".
Фоновая картинка для данного экрана нигде не прописывается и имеет постоянное имя Back.png
Подробнее о элементах...
Элемент $label используется для отображения произвольных надписей и имеет следующую структуру записи:
$label || left || top || width || height || string_format || font_size || font_color || font_attrs || align
left
отступ от левого края экрана
top
отступ от верхнего края экрана
width
длина надписи, необязательный параметр. Если параметр пропущен, то не возможно воспользоваться выравниванием текста
height
высота
надписи, необязательный параметр. Если параметр пропущен, то не
возможно воспользоваться выравниванием текста
string_format
текст форматирования для отображения на экране, может использовать переменные (о переменных см. далее)
font_size
размер шрифта
font_color
цвет шрифта, должен задаваться строкой следующего вида #RRGGBB, где
# - обязательный символ
RR - красный цвет в 16-ом виде
GG - зеленый цвет в 16-ом виде
BB - синий цвет в 16-ом виде
font_attrs
атрибуты шрифта, задаются строкой вида [BIUS], где
[ и ] обязательные символы начала и конца выражения
B - выделение жирным, если выделять не надо, то пишется знак '-'
I - выделение курсивом, если выделять не надо, то пишется знак '-'
U - подчеркивание, если подчеркивать не надо, то пишется знак '-'
S - зачеркивание, если зачеркивать не надо, то пишется знак '-'
Примеры, [BIUS] [----] [B---] [B-I-]
align
выравнивание текста
0001 - по левому краю
0002 - по правому краю
0004 - по центру по горизонтали
0008 - по верху
0010 - по низу
0020 - по центру по вертикали
0024 - по цетнру
это значения в 16м виде, значения можно комбинировать, ждя этого необходимо просуммировать необходимые значения
Элемент $button используется для отображения кнопок управления воспроизведением (play/pause/stop, next/fastfwd, prev/fastrev) и имеет следующую структуру записи:
$button || left || top || width || height || image1 || image2 || function
кнопки play/pause/stop желателько делать одинаково размера и с одинаковыми координатами, т.е. кнопки должны быть наложены друг на друга, потому что для одного состояния плеера (play/pause/stop) отображается ТОЛЬКО!!! одна кнока
кнопки forward и fastforward аналогично должны быть "наложены" друг на друга
кнопки rewind и fastrewind аналогично должны быть "наложены" друг на друга
Пример использования:$button || 158 || 268 || || || play.png || play_on.png || play
для отображения иконки типа файла и имеет следующую структуру записи:
$codec || left || top || width || height || img_unknown || ftype1::img_ftype1 || ftype2::img_ftype2 || ... || ftypeN::img_ftypeN
left
отступ от левого края экрана
top
отступ от верхнего края экрана
width
ширина иконки (необязательный параметр, может быть пустым)
height
высота иконки (необязательный параметр, может быть пустым)
img_unknown
изображение для неизвестного типа файла (не указанного далее)
далее через разделитель || задаются соответствия расширения файла и иконки (расширение файла указывается без знака '.', а между расширением файла и именем иконки должен быть разделитель ::)
ftype1::img_ftype1
задает первое соответствие расширения файла и соответствующей иконки
...
ftypeN::img_ftypeN
задает N-ое соответствие расширения файла и соответствующей иконки
Для того, чтобы выводить в скине через элемент $label различную информацию, поддерживает следующие переменные:
Общепринятые тэги (ID3v1):
%artist% - тэг "Исполнитель"
%album% - тэг "Альбом"
%title% - тэг "Название песни"
%genre% - жанр
%date% - дата
%track% - номер трека в альбоме
Помимо общепринятых тегов ID3v1 существуют теги ID3v2, которые также имеют вышеперечисленные теги, но информация в них обычно хранится в кодировке UTF-8, а так же поддерживаются "пользовательские тэги". Например, %ALBUM ARTIST%, %TOTALTRACKS% и т.д. Те, кто пользуется foobar2000 это знают. Таким образом в строке форматирования можно писать как общепринятые тэги, так и собственные (пользовательские) ID3v2 тэги. В том случае, если тэг не существует - выведется пробел вместо имени переменной.
В строку форматирования так же можно лобавлять обычные буквы, цифры и символы. Заменяться будет то, что заключено между %%.
Замечание:
файл должен быть сохранен в кодировке UTF-8 без BOM (например, текстовые редакторы Akelpad или Notepad++ для пользователей Windows).
Техническая информация:
%bitrate%
%samplerate%
%channels%
%ctime% - текущее время воспроизведения
%ttime% - полное время трека
%filename% - имя файла
%fullname% - полный путь с именем файла
%idx% - индекс трека в плейлисте
Самый первый скин для создал пользователь мало!BAR. Этот скин включен в программу как стандартный по-умолчанию.
мало!BAR обещал выложить исходники скина (psd-файлы) на , а так же описание того, как он делал самый первый скин для .