Introduction

 Top Next

AmpView

Top Next

AmpView is a Lister-plugin for Total Commander, which can play WAV, MP3, MP2, MP1, Ogg Vorbis, WMA and MIDI files, using BASS sound system (bass.dll, basswma.dll). It also supports MOD music and MO3 music(MO3, IT, XM, S3M, MTM, MOD, UMX formats) using BASS's native function. Also you can open PlayLists (m3u and pls).

System requirements

•

Pentium 2 (AMD K6-2) processor 266 MHz or above

•

32 Mb RAM

•

Windows 9x/Me, Windows 2000/XP, Windows Vista/7. Windows 95 and Windows NT NOT OFFICIAL SUPPORTED!

•

DirectX 8 or above

•

Sound-fonts (for MIDI support)

All the rights on AmpView belong to the author. The given product is absolutely free-of-charge and extends freely. You can use it as you wish, however remember, that you do it at own risk, and the author does not bear any responsibility for possible moral or the material damage caused at use of the given product.

© 2004-2009 Nikolay Petrochenko

E-mail: nik_vr@mail.ru

Web: www.megabyte-web.ru


Install

 Top Previous Next

Install

1.

Unpack archieve to a separate folder (for example, C:\Total Commander\Plugins\wlx\AmpView)

2.

Enable plugin (menu Configuration - Options - Edit/View - Configure internal viewer - LS-plugins - Add)


HotKeys

HotKeys

Default HotKeys:

[Left] - Rewind to 10 sec.

[Right] - Forward to 10 sec.

[F1] - About / Help

[Ctrl]+[P] - Options

[Ctrl]+[T] - Timer mode

[Alt]+[E] - Show/hide PlayList

[O] - Open file

[Ctrl]+[O] - Open folder

[Num +] - Volume Up

[Num -] - Volume Down

[Z] - Open previous track

[X] - Play

[C] - Pause

[V] - Stop

[B] - Open next track (from list)

[Ctrl]+[B] - Open next track (from folder)

[Ctrl]+[1] - Sort tracks by title

[Ctrl]+[2] - Sort tracks by filename

[Ctrl]+[3] - Sort tracks by length

[Esc] - Close


Format of caption

Format of caption

Format string can contain the following things:

1. Plain text like "Some song". This text is merely copied to the output.

2. Special identifier, beginning with '%' to substitute for the tag value:

"%TITL" - song title;

"%ARTI" - song artist;

"%ALBM" - album name;

"%GNRE" - song genre;

"%YEAR" - song/album year;

"%CMNT" - comment;

"%TRCK" - track number;

3. Expression:

"%IFV1(x,a)" - if x is not empty, then %IFV1() evaluates to a,

or to an empty string otherwise;

"%IFV2(x,a,b)" - if x is not empty, then %IFV2() evaluates to a,

else to b;

"%IUPC(x)" - brings x to uppercase, so "%IUPC(foO)" yields "FOO";

"%ILWC(x)" - brings x to lowercase, so "%ILWC(fOO)" yields "foo";

"%ICAP(x)" - capitalizes first letter in each word of x, so

"%ICAP(FoO bAR)" yields "Foo Bar";

- escaped symbols:

"%%" - "%"

"%(" - "("

"%," - ","

"%)" - ")"

Example. Assume we have the following information in the tag:

Title: "Nemo"

Artist: "nightwish"

Album: "Once"

Track: "3"

Year: "2004"

Format string: "%IFV1(%TRCK,%TRCK. )%IFV2(%ARTI,%ICAP(%ARTI),no artist) - %IFV2(%TITL,%ICAP(%TITL) -,no title -) %IFV1(%ALBM,%IUPC(%ALBM))%IFV1(%YEAR, %(%YEAR%))"

Output: "3.- Nightwish - Nemo - ONCE (2004)"

if 'Artist' and 'Title' are empty, the output will be: "3. - no artist - no title - ONCE (2004)"

if only 'Track' is empty, the output will be "Nightwish - Nemo - ONCE (2004)"

Notes:

1. "%IFV2(sometext ,a,b)" always evaluates to a, because a space after "sometext" causes the condition string to be not empty. This is intentional.

2. "symbols '%(,)' are reserved, that is, they must be escaped if they are inteded to appear in the output. See the above example: the parens around %YEAR are escaped with '%' to prevent misinterpretation.

3. Ill-formed string causes some error message to appear in the output, but don't count on it too much...

4. The output string is allocated by tags.dll, so deleting the pointer may crash the program. DON'T! In addition to this, the function is NOT THREAD SAFE. It is user's responsibility to serialize the execution (a critical section would suffice). The output string itself is valid till the next TAGS_Read() call.

5. If mp3 contains both ID3v1 and ID3v2 tags, ID3v2 data takes precedence.


Skins

Skins

Sorry, I can't translate this text. If you can translate it, please contact me (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


Contact

Contact

Bugs reports, new lang-files, skins, and other information you may send to Nik_vr@mail.ru


Credits

Credits

Thanks go testers:

mramor

Bill_LP

DimON

Augomol

GALANT

Many thanks go to the translators of the foreign language versions:

Czech - Yarca <yarca@email.cz>

German - Kurt Lettmaier <k.lettmaier@onlinehome.de>

Dutch - BrainWave <brainwave036@gmail.com>

French - Ouistiti <Ouistiti@Gmail.com>

Italian - Debenedetti Emanuele <sanremoedaltro@libero.it>

Korean - BlueSolvit <bluesolvit@hanmail.net>

Lithuanian - Aleksandr Balbatunov aka zux <zux.root@gmail.com>

Spanish - Vico//Koby <vicokoby7@hotmail.com>

Ukrainian - Сергей Грицюк <sergri@mail.lviv.ua>

Many thanks also to:

Andrey Pyasetskiy <webmaster@wincmd.ru> - webmaster of TotalCmd.net

Christian Ghisler - autor of the Total Commander

Sergey Chernih aka SCHMaster, Dest - for the help in realization of some functions


Payment

 Top Previous

Payment

Top Previous

If you like AmpView, you can support is development.

WebMoney:

R268907443492

Z148045375153