Введение

 Top Next

AmpView

Top Next

AmpView это Lister-плагин для Total Commander, позволяющий проигрывать файлы в форматах WAV, MP3, MP2, MP1, Ogg Vorbis, WMA, MIDI, MOD и MO3 (MO3, IT, XM, S3M, MTM, MOD, UMX). Он основан на звуковом движке BASS (bass.dll, basswma.dll, bassmidi.dll) и не требует наличия в системе каких-либо кодеков или библиотек. Исключением является воспроизведение MIDI - для поддержки этого формата необходимо наличие в системе установленных звуковых банков (sound-fonts). Также AmpView позволяет открывать списки треков в форматах m3u and pls.

Минимальные системные требования:

•

Процессор Pentium 2 (AMD K6-2) с частотой 266 МГц или более

•

32 Мбайт оперативной памяти

•

Операционная система Windows 9x/Me, Windows 2000/XP, Windows Vista/7. Windows 95 и Windows NT ОФИЦИАЛЬНО НЕ ПОДДЕРЖИВАЮТСЯ!

•

DirectX 8 или более поздний

•

Звуковые шрифты (sound-fonts). Необходимы для поддержки MIDI.

Все права на данный плагин принадлежат автору. Данный продукт абсолютно бесплатен и распространяется свободно. Вы можете использовать его как вам угодно, однако помните, что вы делаете это на свой страх и риск, а автор не несет никакой ответственности за возможный моральный или материальный ущерб, вызванный при использовании данного продукта.

© 2004-2009 Николай Петроченко

E-mail: nik_vr@mail.ru

Web: www.megabyte-web.ru


Благодарности

 Top Previous Next

Благодарности

Автор благодарит за активное участие в тестировании:

mramor

Bill_LP

DimON

Augomol

Игорь aka GALANT

А также тех, кто прислал мне переводы языковых файлов:

Чешский - Yarca <yarca@email.cz>

Немецкий - Kurt Lettmaier <k.lettmaier@onlinehome.de>

Нидерландский - BrainWave <brainwave036@gmail.com>

Французский - Ouistiti <Ouistiti@Gmail.com>

Итальянский - Debenedetti Emanuele <sanremoedaltro@libero.it>

Корейский - BlueSolvit <bluesolvit@hanmail.net>

Литовский - Aleksandr Balbatunov aka zux <zux.root@gmail.com>

Испанский - Vico//Koby <vicokoby7@hotmail.com>

Украинский - Сергей Грицюк <sergri@mail.lviv.ua>

Особая благодарность

Andrey Pyasetskiy <webmaster@wincmd.ru> - администратор Wincmd.ru

Christian Ghisler - автор Total Commander

Sergey Chernih aka SCHMaster, Dest - за помощь в реализации некоторых функций


Горячие клавиши

Горячие клавиши

По-умолчанию установлены следующие комбинации "горячих клавиш":

[Left] - Назад на 10 секунд

[Right] - Вперед на 10 секунд

[F1] - Информация о плагине / Справка

[Ctrl]+[P] - Опции

[Ctrl]+[T] - Режим таймера (прямой/обратный отсчет)

[Alt]+[E] - Показать/скрыть список треков

[Num +] - Увеличить громкость

[Num -] - Уменьшить громкость

[O] - Открыть файл

[Ctrl]+[O] - Открыть папку

[Z] - Открыть предыдущий трек

[X] - Воспроизведение

[C] - Пауза

[V] - Остановить

[B] - Открыть следующий трек (из списка)

[Ctrl]+[B] - Открыть следующий трек (из папки)

[Ctrl]+[1] - Упорядочить список по заголовкам треков

[Ctrl]+[2] - Упорядочить список по именам файлов

[Ctrl]+[3] - Упорядочить список по длине треков

[Esc] - Закрыть окно

Внимание! Некоторые "горячие клавиши" можно изменить в окне настройки.


Пожертвование

 Top Previous

Пожертвование

Top Previous

Данная программа является бесплатной, но если вы хотите, чтобы я продолжал работу над ней, вы можете перевести на мой счёт небольшую сумму (сколько не жалко).

WMR: R268907443492

WMZ: Z148045375153


Связь

Связь

Сообщения об ошибках, пожелания, предложения, ругательства, угрозы, переводы языковых файлов, новые скины, и прочее вы можете отправлять по адресу Nik_vr@mail.ru


Создание скинов

Создание скинов

Краткое руководство по созданию скинов

Последние изменения от 15 апреля 2006 года.

1. Общее описание

Скин для AmpView 3.x представляет собой zLib-архив, в котором содержатся файлы рисунков и файл описания skin.ini При этом файлы рисунков, необходимых для отрисовки окна списка треков, должны располагаться в подкаталоге PlayList, остальные файлы - в корневом каталоге скина. Для упаковки скина можно воспользоваться программой AVTools: укажите программе папку, в которой находится skin.ini и нажмите кнопку Pack.

Сам файл skin.ini представляет собой обычный ini-файл, содержащий несколько секций. Каждая секция отвечает за один из элементов скина.

Если вы используете стандартное значение какого-либо параметра, то его можно не указывать. Если какой-либо элемент вам не нужен, то его секцию можно удалить (что равносильно использованию visible=0).

Далее приводятся описания основных секций skin.ini. В качестве примера используется скин Winamp 5, так как он использует все допустимые элементы.

2. Видимость

Все секции, кроме [info] и [PlayList], содержат параметр visible, отвечающий за видимость элемента. Если этот параметр равен нулю (т.е. visible=0), то соответсвующий элемент скина загружаться не будет (что сокращает время загрузки).

3. Координаты и размеры

Практически все элементы скина (кроме окна списка и основного рисунка) имеют параметры Left и Top, отвечающие за положение элемента на форме. Обратите внимание, что отсчёт координат производится от левого верхнего угла. Значение этих параметров ограничено следующими рамками: от 0 до размера окна - размер элемента. В случае если координата выходит за эти рамки, её значение будут принято равным нулю.

Также для элементов [TrackCaption] и [Timer] необходимо указывать параметры width и height, отвечающие, соответсвенно, за ширину и высоту элемента. Для остальных элеменов эти параметры определяются автоматически.

4. Шрифты

В секциях тех элементов, которые содержат текст, может присутствовать строка, отвечающая за внешний вид шрифта. Строка должна иметь следующий формат:

Font=#FFFFFF|Arial|7|nnnn

При этом первая часть отвечает за цвет шрифта. Цвет указывается в HEX-формате, принятом в HTML. Символ решётки (#) можно не указывать. Вторая указывает имя шрифта. Обратите внимание, что это НЕ имя ФАЙЛА, а название шрифта в том виде, в каком оно доступно системе. Узнать такое название можно в любой программе, где допускается выбор шрифта (например, Блокнот). Третья часть указывает размер шрифта в пикселях. Четвёртая часть отвечает за стиль шрифта. Каждый из четырёх флагов может принимать значения y (да) или n (нет). Флаги отвечают за следующие стили (в порядке следования): Bold (жирный), Italic (куривный), Underline (подчеркнутый), Strikeout (зачеркнутый).

Для удобного формирования строки описания шрифта вы можете использовать программу AVTools.

Размеры шрифтов рекомендуется подбирать при нормальном размере системных шрифтов (100%), поскольку при других системных опциях (например, 120%) производится их автоматическая корректировка.

5. Тени

Для текстовых элементов доступен параметр shadow, отвечающий за отрисовку тени. Если его значение равно 0 (по-умолчанию), то тень отрисовываться не будет. Если shadow=1, то тень будет нарисована, если её отрисовка разрешена опцией AmpView "Разрешить отрисовку тени".

6. Цвета

Параметры, отвечающие за цвет, должны содержать значение в HEX-формате, принятом в HTML. Решётку (#) перед значением можно не указывать. По умолчанию используется значение #FFFFFF (чёрный цвет).

7. Рисунки

Описания графических элементов содержат ссылки на файлы рисунков. Файлы элементов основного окна должны находиться в одном каталоге с файлом skin.ini. Файлы для элементов окна списка должны находиться в подкаталоге PlayList.

Если вы используете стандартные имена файлов (как в этом примере), то имя файла можно не указывать (в целях экономии :) ).

Допускается использование графических файлов в форматах BMP и PNG.

8. Секция описания

Содержит параметры, отвечающие за название скина, имя его автора, краткое описание, а также и адрес электронной почты и URL автора. Вся эта информация отображается в окне опций AmpView.

[info]

name=Winamp 5

author=Nikolay Petrochenko

desc=Winamp5©-like skin

email=Nik_vr@mail.ru

homepage=www.wincmd.ru/plugring/AmpView

9. Текстовые элементы

В данном разделе описан формат текстовых элементов скина. Он одинаков для секций [SPS], [BitRate] и [ChannelMode]. Принципы описания параметров смотри выше.

[ChannelMode]

visible=1

Font=#FFFFFF|Arial|7|nnnn

left=100

top=32

shadow=0

При этом секция [SPS] отвечает за отображение частоты трека (SampleRate), секция [BitRate] за отображение битрейта, а секция [ChannelMode] - за режим каналов (моно, стерео и т.д.)

10. Таймер и строка заголовка

В данном разделе приводится пример описания элемента [Timer]. Аналогично для [TrackCaption]

[Timer]

visible=1

Font=#FFFFFF|Arial|14|nnnn

left=20

top=35

width=68

height=22

shadow=0

10. Основное окно

Это пример описания основного окна. Параметр pic отвечает за рисунок основного окна. Параметр Transparent отвечает за прозрачность окна. Если Transparent=1, то точки окна, окрашенные цветом TransparentColor будут прозрачны. Если Transparent=0, то прозрачность использоваться не будет.

[MainImage]

pic=main.png

Transparent=0

TransparentColor=#FF00FF

11. Кнопки с фиксируемым состоянием

К этой категории относятся кнопки, которые могут иметь два основных состояния ("Включено" и "Отлючено"):

[Play] - "Воспроизведение"

[Pause] - "Пауза/Продолжить"

[Stop] - "Остановить"

[MuteButton] - "Выключить звук"

[PlayListButton] - "Показать/скрыть список треков"

В описании данных кнопок, помимо основных параметров, присутствуют четыре параметра, отвечающие за рисунки, которыми отбражается кнопка. Параметр InactiveImage отвечает за рисунок в обычном состоянии (кнопка не нажата и действие, за которое она отвечает, не активно).

Параметр PushedImage отвечает за рисунок, которым кнопка отображается в нажатом состоянии (над ней нажата кнопка мыши).

Параметр UsedImage отвечает за изображение кнопки в "активном" состоянии. Т.е., например для кнопки Play этот рисунок будет применён, если в данный момент производится воспроизведение, для Pause - если пауза и т.п.

Для кнопки [MuteButton] рисунок UsedImage используется при выключенном звуке (режим Mute), а рисунок InactiveImage - при включенном звуке.

[PlayButton]

visible=1

left=34

top=111

InactiveImage=PlayBtnInactive.png

UsedImage=PlayBtnUsed.png

PushedImage=PlayBtnPushed.png

12. Кнопки без фиксируемого состояния

К этой категории относятся все остальные кнопки, у которых нет второго (фиксированного) положения:

[CloseButton] - "Закрыть окно"

[MinButton] - "Свернуть окно"

[OpenButton] - "Открыть файлы"

[InfoButton] - "Информация о файле"

[PrevButton] - "Предыдущий трек"

[NextButton] - "Следующий трек"

Описания этих кнопок в целом аналогичны, за одним исключением - для них не нужен параметр UsedImage.

[CloseButton]

visible=1

left=328

top=4

InactiveImage=CloseBtnInactive.png

PushedImage=CloseBtnPushed.png

ПРИМЕЧАНИЕ: кнопка "Закрыть", используемая в окне списка треков, не нуждается в отдельном описании. Её изображения и размеры берутся из описания кнопки [Close], а позиция высчитывается в ходе работы. При этом её видимость зависить только от высоты заголовка окна списка: если размер заголовка (фактически определяемый параметром [TopOffset] секции [PlayList]) больше либо равен высоте кнопки [Close] (т.е. кнопка умещается на заголовок), то она отображается. Иначе - кнопка не рисуется. Верхняя позиция для данной кнопки ([Top]) высчитывается таким образом, чтобы она находилась точно по центру заголовка (или на один пиксель выше центра).

13. Индикатор прогресса и регулятор громкости

Эти два элемента скина имеют одинаковое описание. Параметр RulerImage отвечает за фоновый рисунок индикатора (линейку).

Параметры ThumbNormal и ThumbPressed отвечают за внешний вид "бегунка" в обычном и нажатом состояниях соответственно. При этом высота бегунка не должна превышать высоту линейки, а ещё лучше, что бы они совпадали. Ширина бегунка должна быть как минимум в два раза больше длины линейки. При не соблюдении этих двух требований возможны проблемы при отрисовке данных элементов.

[Progress]

visible=1

left=8

top=93

ThumbNormal=ScrollThumbNormal.png

ThumbPressed=ScrollThumbPressed.png

RulerImage=ScrollRuler.png

14. Окно списка треков (PlayList)

Этот элемент - самый сложный из всех, используемых AmpView'ом. Окно списка отрисовывается из восьми (8) небольших фрагментов. Эти фрагменты описываются в следующих параметрах:

LeftTop - Левый верхний угол окна

LeftBottom - Левый нижний угол окна

RightTop - Правый верхний угол окна

RightBottom - Правый нижний угол окна

Left - Левая граница окна

Right - Правая граница окна

Top - Верхняя граница окна

Bottom - Нижняя граница окна

При этом следует помнить, что элементы, отвечающие за граница окна при отрисовке размножаются, поэтому чем меньше их размеры, тем медленнее рисуется окно. В общем случае их размеры должны быть не менее 15 пикселей.

После отрисовки окна произодится установка размеров и позиции самого списка. Для того, чтобы список не "наехал" на рамку окна, необходимо правильно указать значения параметров LeftOffset, RightOffset, TopOffset и BottomOffset. Эти параметры определяют соответственно отступы для списка от левой, правой, верхней и нижней рамок. В общем случае из значения должны совпадать с размерами рамок (в пикселах). Т.е. если ширина левой рамки составляет 6 пикселей, то значение LeftOffset также должно равняться 6.

Ещё один сложный момент - это указание цветов фона и текста для элементов списка. Далее указаны параметры, отвечающие за это и их назначение.

Font - основной шрифт списка. Используется для пункта, который в данный момент не воспроизводится и не выделен.

SelFont - шрифт, используемый для выделенного элемента списка (на котором установлен курсор).

PlayFont - шрифт, используемый для элемента, который воспроизводится в данный момент.

SelPlayFont - шрифт, используемый для элемента, который воспроизводится в данный момент и вдобавок выбран (на нем установлен курсор).

BackColor - основной цвет фона. Используется для пункта, который в данный момент не воспроизводится и не выбран.

BackColor2 - второй основной фоновый цвет. Если этот параметр указан, то чётные пункты списка будут закрашиваться BackColor2, а нечётные - BackColor (как в iTunes). Если этот параметр не указан, то все элементы будут закрашиваться цветом BackColor.

SelBackColor - фоновый цвет выбранного элемента списка.

SelPlayBackColor - фоновый цвет выбранного элемента списка, который воспроизводится в данный момент.

[PlayList]

LeftTop=LeftTop.bmp

Left=Left.bmp

LeftBottom=LeftBottom.bmp

RightTop=RightTop.bmp

Right=Right.bmp

RightBottom=RightBottom.bmp

Top=top.bmp

Bottom=Bottom.bmp

Font=#BBD2FF|Arial|8|nnnn

BackColor=#1C3D7D

SelFont=#BBD2FF|Arial|8|nnnn

PlayFont=#BBD2FF|Arial|8|ynnn

SelPlayFont=#BBD2FF|Arial|8|ynnn

SelBackColor=#6788C9

SelPlayBackColor=#6788C9

LeftOffset=6

RightOffset=6

TopOffset=6

BottomOffset=6

15. Кнопка закрытия окна списка треков (PLCloseButton)

Данная кнопка отличается от всех остальных тем, что у нее нет фиксированных координат - она перемещается при изменении размеров окна. По-этому, вместо параметров Top и Left при её описании используются пареметры RightOffset и TopOffset. Первый указывает, на сколько пикселей будет данная кнопка сдвинута относительно правого края окна. Второй - на сколько кнопка сдвинута относительно верхней гарницы.

Остальные параметры полностью аналогичны используемым другими кнопками без фиксируемого состояния.

[PLCloseButton]

visible=1

RightOffset=7

TopOffset=4

InactiveImage=CloseBtnInactive.png

PushedImage=CloseBtnPushed.png

16. Примечания

В качестве шаблонов для создания собственных скинов вы может использовать один из существующих. В скинах, сделаннх мной (Lister, Lister Lite, Winamp 5 и iTunes) демонстрируются все возможности, которые доступны при создании скинов. Внимательно изучите эти скины перед началом работы. Для облегчения работы вы можете использовать программу AVTools, которая умеет упаковывать и распаковывать скины, а также автоматически генерировать строки описания шрифтов и цвета.

По всем вопросам, связанным с созданием скинов, вы можете обращаться ко мне по адресу Nik_vr@mail.ru


Установка

Установка

1.

Распакуйте содержимое архива в отдельный каталог (например, C:\Total Commander\Plugins\wlx\AmpView)

2.

Подключите плагин (выберите пункт меню Конфигурация-Настройка, перейдите на страницу Правка/Просмотр, нажмите кнопку "Настройка внутренней программы", затем кнопку "LS-Plugins" и добавьте AmpView в список)


Форматирование заголовков

Форматирование заголовков

Строка форматирования может содержать следующие фрагменты:

1. Обычный текст. Например, "Трек №". Этот текст используется без каких-либо изменений.

2. Специальные константы, начинающиеся с символа '%' для подстановки значений тегов:

"%TITL" - заголовок трека;

"%ARTI" - имя исполнителя;

"%ALBM" - название альбома;

"%GNRE" - жанр трека;

"%YEAR" - год выхода трека/альбома;

"%CMNT" - комментарий;

"%TRCK" - номер трека;

3. Специальные выражения:

"%IFV1(x,a)" - если x не является пустой строкой, то %IFV1() будет содержать a, в противном случае - пустую строку;

"%IFV2(x,a,b)" - если x не является пустой строкой, то %IFV2() будет содержать a, иначе результатом будет b;

"%IUPC(x)" - переводит x в верхний регистр. Например, "%IUPC(foO)" вернет "FOO";

"%ILWC(x)" - переводит x в нижний регистр. Например, "%ILWC(fOO)" вернет "foo";

"%ICAP(x)" - переводит первую букву во всех слова в верхний регистр, а остальные буквы - в нижний. Например, "%ICAP(FoO bAR)" вернет "Foo Bar";

4. Игнорируемые символы:

"%%" - "%"

"%(" - "("

"%," - ","

"%)" - ")"

Пример. Предположим, что открываемый в AmpView трек содержит следующие теги:

Title: "ОПЕРА"

Artist: "ЛЮБЭ"

Album: "Альбом"

Track: "3"

Year: "2003"

Строка форматирования следующего вида: "%IFV1(%TRCK,%TRCK. )%IFV2(%ARTI,%ICAP(%ARTI),no artist) - %IFV2(%TITL,%ICAP(%TITL) -,no title -) %IFV1(%ALBM,%IUPC(%ALBM))%IFV1(%YEAR, %(%YEAR%))"

На выходе получим: "3.- Любэ - Опера - АЛЬБОМ (2003)"

Если поля 'Artist' и 'Title' пусты, то на выходе увидим следующее:

"3. - no artist - no title - АЛЬБОМ (2003)"

Если пусто только поле 'Track', то вывод будет следующим:

"Любэ - Опера - АЛЬБОМ (2003)"

Примечания.

1. Если в mp3-файле содержатся теги двух версий (ID3v1 и ID3v2), то теги ID3v2 будут иметь преимущество.

1. Строка "%IFV2(sometext ,a,b)" всегда возвратит a, поскольку пробел после "sometext" учитывается! Это сделанно специально.

2. Символы '%(,)' зарезервированы. Используйте их внимательно! Так, например, строка %YEAR будет проигнорирована, поскольку такой константы нет.

3. Будьте внимательны при составлении строки форматирования. Ее неправильное использование в отдельных случаях может вызвать сбои! Кроме того, выходная строка может выглядеть очень плачевно...