Контакты

Скачать плагины для winamp. Пишем плагин к Winamp

Краткое описание основных принципов разработки плагинов для популярного проигрывателя WinAmp на примере плагина SimpleKeys — простой программы для управления WinAmp с помощью произвольных комбинаций клавиш.

Постановка задачи

Изначально я поставил перед собой простую задачу: управлять WinAmp с помощью стандартных multimedia-клавиш, которые сейчас встречаются на клавиатурах весьма часто. Эти клавиши имеют встроенную поддержку в Windows (им присвоены свои скан-коды, правда, начиная с Win2k), их умеет поддерживать стандартный Media Player, а вот для того, чтобы управлять ими WinAmp"ом нужен дополнительный софт.

В поиска софта я отправился в Сеть. Я сразу наметил для себя основные критерии: во-первых, исключил из рассмотрения самостоятельные программы. Они занимают место в трее, висят в памяти даже когда проигрыватель не работает, грузятся при запуске системы, растягивая этот и так небыстрый процесс. Значит, остаются плагины к самому WinAmp. Искал двумя способами: на сайте WinAmp через его собственный поиск плагинов и в Google. Потратив около часа и скачав несколько плагинов (описания там не грешат многословностью, так что понять, подойдет софт или нет, его нужно скачать), ничего подходящего я не обнаружил. Наиболее близким был плагин KeyControl v1.0 beta, но он отказался работать с мультимедиа-клавишами, а по ссылке на сайт производителя я не нашел никакого упоминания не только о новых версиях, но и о программах вообще. Один песок. Остальные и того хуже - множество навороченных плагинов с непонятными возможностями управления мышью, джойстиком и чуть ли не телепатически, но в основном реализованные через внешние программы, а вот простого плагина для управления от клавиатуры нет...

Решив больше не тратить время на поиски, а переформулировал начальную задачу: попробовать написать плагин, который будет "управлять WinAmp с помощью стандартных multimedia-клавиш" (формулировка из предыдущей версии задачи:)). В конце концов, после написания своего плагина, помимо решения основной задачи, будут приобретены определенные новый знания и навыки, чего нельзя достичь, скачивая чужие программы.

SDK и интерфейс

Чтобы писать свои плагины, сказано на сайте WinAmp, нужно иметь три вещи (в моем вольном переводе): знание языка С++ (чтобы было на чем писать), компилятор с этого языка (чтобы было чем компилировать) и Windows (чтобы было на чем запускать). Вроде бы все есть, поэтому вперед.

Сначала нужно скачать WinAmp SDK. SDK, на мой взгляд, слишком громкое название для этого архива, хотя... Там есть примеры, которые представляю собой заготовки для всех возможных типов плагинов, а также набор H-файлов, описывающих структуры и константы для сборки плагинов. Вот с документацией туговато, только комментарии в исходниках. Будем разбираться.

Нас интересует так называемый "generic plugin" - т.к. мы не собираемся заниматься ни вводом (т.е. чтением музыки из файлов разных форматов), ни выводом (проигрыванием на различных устройствах), ни обработкой звука, ни визуализацией. Сразу отмечу одну интересную особенность, которая очень простая, но может заставить потерять много времени, если не знать, в чем тут дело: WinAmp определяет тип плагина по его имени. В частности, для плагина общего назначения имя DLL-ки должно начинаться с gen_. Если плагин называется не так, то загружаться в качестве "generic plugin" он не будет.

Интерфейс плагинов этого типа (может и других тоже, я не смотрел) достаточно простой: это динамически загружаемая библиотека (DLL), у которой есть экспортируемая функция winampGetGeneralPurposePlugin. Эта функция не принимает никаких аргументов, а возвращает указатель на частично заполненую структуру типа winampGeneralPurposePlugin, который объявлен следующим образом

Typedef struct { int version; // Версия структуры (значение 0x10) char *description; // Описание плагина int (*init)(); // Указатель на функцию инициализации void (*config)(); // Указатель на функцию настройки void (*quit)(); // Указатель на функцию финализации HWND hwndParent; // Хэндл главного окна программы WinAmp HINSTANCE hDllInstance; // Хэндл загруженной DLL плагина } winampGeneralPurposePlugin;

Взаимодействие плагина с программой WinAmp (далее, для краткости, "программа") происходит следующим образом: программа загружает плагин и вызывает у него функцию winampGetGeneralPurposePlugin. Плагин должен создать структуру типа winampGeneralPurposePlugin, запомнить указатель на нее для будущего использования, заполнить поля version (фиксированное значение 0x10), description, init, config, quit и вернуть указатель.

Следующий раз плагин получит управление, когда программа вызовет его функцию init (указатель на нее мы сохранили в структуре). К этому моменту программа заполнит оставшиеся два поля в структуре: hwndParent и hDllInstance. В функции init плагин должен выполнить всю необходимую для своей работы инициализацию и вернуть 0 в случае успеха.

При завершении работы программы будет вызвана функция quit, где, логично предположить, нужно освободить все, что было занято при init"е и выполнить все прочие действия по корректной финализации.

Третья функция, config, вызывается, когда пользователь выбрал плагин в диалоге свойств программы и нажал кнопку "Configure...".

Интерфейс пользователя

Чтобы быть последовательным в описании процесса разработки софта, нужно перед тем, как рассказывать про внутреннюю реализацию, упомянуть про интерфейс пользователя. Я не стал придумывать для такого простого плагина сложный интерфейс, он сделан максимально простым без особого ущерба для функциональности.

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

Настройки плагина хранятся в реестре, в ветке HKEY_CURRENT_USER\Software\Winamp\Plugins\DenVo\Simple_Keys . Они представляют собой DWORD-значения с кодами клавиш и модификаторов, их имена соответствуют выполняемым функциям. Сейчас поддерживаются следующие имена/функции: "Stop", "Play", "Pause", "PlayPause", "PrevTrack", "NextTrack". Каждому имени соответствует функция (из названия понятно какая). Код клавиши, записанный в реестре, представляет собой двойное слово (4 байта) состоит из двух частей: в старших двух байтах хранится модификатор нажатия (флаги MOD_ALT, MOD_CTRL, MOD_SHIFT, MOD_WIN), а сам виртуальный код клавиши записан в двух младших байтах. Плагин читает список кодов клавиш при загрузке, а также после нажатия кнопки "Да" в окне настроек. Само это окно представляет собой простой MessageBox с краткой информацией о плагине.

Скачать готовый плагин

Здесь настал логичный момент, чтобы те, кого не интересуют тонкости внутренней реализации плагина могли его просто скачать, установить и использовать. Это можно сделать на . Там же находится подробная инструкция пользователя с описанием процедуры настройки.

Метод реализации

Первая версия программы использовала установку глобального фильтра (hook) на систему. Она неплохо работала, но клавиатурный фильтр почему-то не предотвращал передачу обработанной клавиши дальше приложению, что для алфавитных клавиш было неприятно:) Потом я нашел, что для таких вещей предлагают еще использовать фильтр на системные сообщения, но это решение мне показалось еще более загрузным для системы. В той версии ничего особенно интересного не было: при загрузке DLL создаем общую область памяти для параметров (т.к. DLL фильтра выполняется в адресных пространствах различных процессов), устновка фильтра во время выполнения init, функция фильтра проверяет приходящие клавиши и вызывает выполнение команд программы, при выполнении quit снимается фильтр, при выгрузке библиотеки освобождается общая память. Поскольку специфичные для плагина вещи остались и в новой версии плагина, код старой я приводить не буду. Если будет интерес к фильтрам, напишу про них отдельную статью, пишите комментарии.

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

Алгоритмы и реализация

Блок-схема получившегося плагина приведена на рисунке.

Краткое описание простых функций:

  • Инициализация - вызывает установку фильтра
  • Финализация - снимает снятие фильтра
  • Настройка - выводит диалог "О программе", где по нажатию одной из кнопок можно снять и заново установить фильтр (при этом перечитывается конфигурация, это единственный способ поменять ее, не перезапуская программу)

Теперь подробно о содержательных функциях.

Функция регистрации плагина , возвращающая указатель на структуру типа winampGeneralPurposePlugin , имеет одну особенность: она должна быть экспортируемой из DLL, а также объявлена в "С"-стиле, чтобы компилятор не добавлял в имя информации об аргументах. Конкретные "заклинания", которые нужно написать в объявлении такой функции, зависят от вашего компилятора. Для Visual C++ это extern "C" __declspec(dllexport) , для Borland C++ Builder extern "C" winampGeneralPurposePlugin * __stdcall __declspec(dllexport) (обратите внимание на тип возвращаемого значения, который вставлен между двумя частями "заклинания").

Установка фильтра состоит из трех этапов: чтение конфигурации из реестра, подмена функции окна программы, регистрация "горячих клавиш".

Чтение конфигурации ничего хитрого не содержит: открываем нужный ключ реестра и последовательно пытаемся читать из него значения. Если открыть не удалось, загружаем значения по умолчанию. Если удалось - последовательно читаем значения кодов клавиш для каждого действия. Закрываем ключ, чтобы не занимать память.

HKEY registryKey; if(ERROR_SUCCESS != RegOpenKeyEx(HKEY_CURRENT_USER, SETTINGS_REG_KEY, 0, KEY_READ, ®istryKey)) { for(unsigned n = 0; n < ActionCount; ++ n) ActionList[n].KeyCode = ActionList[n].DefKeyCode; MessageBox(KeyControlPlugin.hwndParent, TEXT_NO_REGISTRY_KEYS, TEXT_PLUGIN_TITLE, MB_ICONEXCLAMATION); return true; } for(unsigned n = 0; n < ActionCount; ++ n) { DWORD value; DWORD valueSize = sizeof value; if(ERROR_SUCCESS == RegQueryValueEx(registryKey, ActionList[n].RegName, NULL, NULL, (char *)&value, &valueSize)) ActionList[n].KeyCode = value; else ActionList[n].KeyCode = 0; } RegCloseKey(registryKey);

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

OriginalWndProc = (WNDPROC)SetWindowLong(KeyControlPlugin.hwndParent, GWL_WNDPROC, (LONG)HookWndProc);

Регистрация "горячих клавиш" производится вызовом функции RegisterHotKey: ей передается хэндл окна, которое будет получать сообщение WM_HOTKEY , уникальный в рамках приложения идентификатор "горячей клавиши" (он будет указываться в сообщении, здесь в качестве идентификатора "горячей клавиши" используем идентификатор команды), модификатор клавиши (флаги, определяющие, нажимается клавиша одна или с Ctrl, Alt, Shift, Win) и собственно виртуальный код клавиши. Сама функция подробно описана в MSDN , так что примера из моего кода будет достаточно. Чтобы не заводить отдельные ключи в реестре под настройки модификаторов клавиш, я храню их в старших двух байтах кода клавиши, а сам виртуальный код клавиши - в двух младших.

Bool IsOk = true; for(unsigned n = 0; n < ActionCount; ++ n) { if(ActionList[n].KeyCode) { IsOk &= (RegisterHotKey(KeyControlPlugin.hwndParent, ActionList[n].Id, ActionList[n].KeyCode >> 16, ActionList[n].KeyCode & 0xFFFF) != 0); } }

Снятие фильтра состоит из двух этапов: восстановление функции окна и отмена регистрации "горячих клавиш".

Восстановление функции окна осуществляется так же, как и установка, только функции SetWindowLong передается сохраненный ранее указатель на оригинальную функцию окна.

SetWindowLong(KeyControlPlugin.hwndParent, GWL_WNDPROC, (LONG)OriginalWndProc);

Отмена регистрации "горячих клавиш" выполняется вызовом UnregisterHotKey для всех возможных идентификаторов, чтобы не думать, какие были установлены, а какие нет. Параметры опять же интуитивно понятны: хэндл окна, для которого ранее регистрировали клавиши, и идентификатор "горячей клавиши". Описание функции в MSDN .

For(unsigned n = 0; n < ActionCount; ++ n) UnregisterHotKey(KeyControlPlugin.hwndParent, ActionList[n].Id);

Рассмотрим функцию окна . Ее задача: обрабатывать сообщения WM_HOTKEY с "нашими" идентификаторами "горячих клавиш" и вызывать оригинальную функцию окна для всех остальных сообщений. Решается достаточно просто: мы посылаем функции окна программы сообщения WM_COMMAND о нажатии той или иной кнопки. Константы WINAMP_BUTTON1 .. WINAMP_BUTTON5 - идентификаторы кнопок ровно в том порядке, как они находятся на панели WinAmp, от "предыдущий трек" до "следующий трек".

LRESULT CALLBACK HookWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { if(message == WM_HOTKEY) { HWND winAmpWnd = KeyControlPlugin.hwndParent; switch(wParam) { case WA_ACTION_STOP: PostMessage(winAmpWnd, WM_COMMAND, WINAMP_BUTTON4, 0); break; case WA_ACTION_PLAY: PostMessage(winAmpWnd, WM_COMMAND, WINAMP_BUTTON2, 0); break; case WA_ACTION_PAUSE: PostMessage(winAmpWnd, WM_COMMAND, WINAMP_BUTTON3, 0); break; case WA_ACTION_PLAY_PAUSE: PostMessage(winAmpWnd, WM_COMMAND, (SendMessage(winAmpWnd, WM_WA_IPC, 0, IPC_ISPLAYING) == 1) ? WINAMP_BUTTON3: WINAMP_BUTTON2, 0); break; case WA_ACTION_PREV_TRACK: PostMessage(winAmpWnd, WM_COMMAND, WINAMP_BUTTON1, 0); break; case WA_ACTION_NEXT_TRACK: PostMessage(winAmpWnd, WM_COMMAND, WINAMP_BUTTON5, 0); break; default: return CallWindowProc(OriginalWndProc, hwnd, message, wParam, lParam); } return 1; } return CallWindowProc(OriginalWndProc, hwnd, message, wParam, lParam); }

Обратите внимание на обработку "горячей клавиши" с идентификатором WA_ACTION_PLAY_PAUSE . Сначала вызывается SendMessage(winAmpWnd, WM_WA_IPC, 0, IPC_ISPLAYING) - это запрос состояния проигрывателя. Функция вернет 1, если сейчас играет музыка, 3 - если стоит на "паузе", 0 - если воспроизведение совсем остановлено. Если вернули 1, ставим на паузу, если что-то другое - запускаем воспроизведение.

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


Русская/Английская версия c корректным запуском!

FxSound Enhancer (бывший DFX Audio Enhancer) - звуковой плагин для улучшения звучания плееров AIMP3, Winamp. Качество звучания значительно улучшается за счет совершенствования частотных характеристик, для чего и предназначен этот плагин. С помощью FxSound Enhancer устраняются два главных недостатка - срез высоких частот и недостаточное разделение стереобазы и ее глубины, а также добавляются режимы объемного звучания и супербаса.
При помощи этого инструмента вы получите высочайшее качество звука и сможете услышать музыку такой чистоты, как будто вы сидите в концертном зале или рядом с музыкантом. Стоит отметить, что все настройки FxSound Enhancer располагаются в одном окне интерфейса инструмента. Плагин обладает приятным и нетрудным в настройках и использовании пользовательский интерфейс. FxSound работает на своем драйвере как виртуальная звуковая карта (устройство воспроизвдения).

Системные требования:
Windows Vista | 7 | 8 | 8.1 | 10

Торрент Звуковой плагин для AIMP3, Winamp - FxSound Enhancer 13.007 RePack by KpoJIuK подробно:
DFX улучшает проигрываемый звук по следующим направлениям:
·Harmonic Fidelity Restoration - компенсация высоких частот, обрезанных в процессе кодирования ради сокращения размеров файла;
·Ambience Processing - компенсирует глубину звучания и реализует т.н. "эффект окружения" при проигрывании музыкальной композиции;
·3D Surround Processing - функция по характеру модифицирования проигрываемых композиций сходная с предыдущей, но "делает акцент" именно на создании псевдотрехмерного звука хорошего качества даже на двухколоночных аудио-системах;
·Dynamic Gain Boosting - компенсация "зажатости" проигрываемого звука, придание ему "динамической" составляюшей и усиление интенсивности звучания; с точки зрения ведущего файловой секции 3DNews этот функциональный модуль DFX менее всего влияет на проигрывание звука;
·HyperBass Boost - с функциональной точки зрения, это антипод Harmonic Fidelity Restoration, компенсирует нижние частоты и отвечает за добавление в проигрываемую композицию глубокого и богатого баса;
·Headphones Output Optimization - используется, если пользователь прослушивает музыку в наушниках, модуль модифицирует звук таким образом, что у человека создается иллюзия, что источник звука не "сидит" прямо в ушах, а находится спереди, благодаря чему субъективно звук становится более приятным, естественным и менее напрягающим.

Новые возможности и улучшения:
·Автоматический выбор пресета в ассоциитируемыми песнями
·Бэкап и восстановление собственных пресетов
·10-полосный аудио спектр-анализатор
·Улучшенный пользовательский контроль
·Новый пользовательский интерфейс
·Поддержка 64-битных Windows

Особенности сборки:
·Тип: установка
·Языки: русский, english
·Активация: SiCaril

Параметры командной строки:
·Тихая установка русской версии: /S /RU
·Тихая установка английской версии: /S /EN
·Выбор места установки: /D=ПУТЬ

Параметр /D=PATH следует указывать самым последним
Например: FxSound.Enhancer.v13.007.exe /S /RU /D=C:\MyProgram

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

Установка плагинов для Winamp

Установка модулей для Winamp.
Основная информация

Winamp поддерживает модули (plug-in), которые представляют собой библиотеку DLL с сопутствующими ему файлами. Чаще всего весь модуль состоит всего из одного файла. Приняты следующие обозначения: in_ - приставка означающая модуль ввода. Именно эти модули позволяют распаковывать MP3 и выводить их в модуль вывода. out_ - модуль вывода. Выводить можно через различные устройства. Например, через Direct Sound, или вообще писать в файл. gen_ - эти модули предназначены для управления проигрывателем. Пример такого модуля это "Центр управления winamp". vis_ - это визуальные модули. Они показывают красивую (или не очень) картинку во время воспроизведения песни. К сожалению эти модули работают не со всеми проигрываемыми типами файлов. Это связано с трудностью анализа волны. Множество визуальных модулей вы сможете найти с соответствующем разделе. dsp_ - модули обработки звука. Все выше сказанное не обязательно должно выполнятся разработчиками.

Установка
Перед установкой модулей рекомендуется закрыть Winamp. Если вы скачали файл EXE, проверьте его на вирусы и запустите. Чаще всего модули сделаны с помощью специальной программы PIMP производства Nullsoft (winamp тоже ими написан). Этот инсталлятор специально написан для Winamp и попробует найти путь до плеера. Если в строке пути установки указан неправильный путь, то укажите его в ручную. Нажмите кнопку "Next". Если вы скачали файл zip, то просто распакуйте все содержимое в папку ~\winamp\plugins. Теперь можете запускать winamp. Нажмите Ctrl+P, после чего откроется окно настройки проигрывателя. Выберите необходимую закладку (ввода, вывода, визуализации, ...). Там вы сможете найти модуль который только что установили.

Ввод
Input plug-in. В модулях ввода прописано какие расширения файлов они поддерживают и при запуске соответствующего файла активизируется необходимый plug-in. Например, при запуске mp3 активизируется in_mp3.dll (Nullsoft MPEG audio Decoder vXX).

Вывод
Output plug-in. Здесь нужно выбирать через что вы будете слушать. Автор этого текста всегда использует out_wave.dll.

Модули визуализации
Visualization plug-in. Выберите необходимый модуль и нажмите кнопку "Пуск". Если у вас играет музыка, то вы увидите картинку. Очень многие модули можно настраивать. Для этого нажмите кнопку "Настройка".

Аудио
DSP plug-in. Здесь выбираются модули для обработки звука. Наиболее часто встречаемые это эхо, реверберации, 3d звук. Одновременно можно использовать только один модуль обработки, хотя это ограничение можно обойти также как и в случае с визуализацией.

Другие
General purpose plug-in. Загружаются сразу все при запуске winamp.

Каким программным аудиоплейером вы пользуетесь? Наверняка подавляющее большинство наших читателей не задумываясь ответят: "Winamp’ом". Удобный интерфейс, "вылизанный" за годы совершенствования программы, высокое качество звучания, интеграция с Web и абсолютная бесплатность сделали его популярным во всем мире. Но немалую роль в этом сыграла и его расширяемость. Преимущество расширяе мости в том, что пользователь может дополнить Winamp необходимыми ему функциями — достаточно лишь загрузить из Internet соответствующий plug-in (представляющий собой файл с расширением.dll) и поместить его в папку plugins в каталоге плейера (по умолчанию c:program fileswinamp). А если они поставляются с автоматическим инсталлятором, то процедура установки оказывается еще проще. Таким образом, подключение плагина не озадачит даже начинающего пользователя — проблема, скорее, будет в их поиске и отборе действительно необходимых. Именно поэтому в данной статье мы попробуем дать описание ряда интересных plug-ins, разделив их на группы, как это сделано в окне настроек самого плейера. Если какой-нибуть из них придется вам по душе, достаточно просто открыть страничку с плагинами на сайте Winamp и набрать его название в поле поиска.

Input

Winamp Goes 3D — пожалуй, один из лучших визуализационных плагинов, использующих трехмерную графику. Как говорится, простенько и со вкусом
К сожалению, статичные скриншоты не могут передать всю красоту разворачивающихся на экране картин — это надо видеть в движении
Для Winamp существуют даже мини-игры — например, трехмерная гонка Speedway, запускаемая в окне броузера

Плагины этой группы отвечают за поддержку различных аудиоформатов (заметим, что сейчас можно найти plug-in практически для любого существующего формата). Если не помогут поиски на www.winamp.com (для облегчения задачи мы рекомендовали бы воспользоваться услугами поискового механизма сайта, поскольку в их каталоге разобраться подчас бывает очень и очень непросто), то стоит посмотреть на сайте разработчика формата. Не является исключением и музыка из популярных компьютерных игр. Помните потрясающий саундтрек из Unreal и Unreal Tournament? С помощью UMX-плагина его можно будет послушать в Winamp. Не забыты программистами и гораздо более старые игры, например серии Dune и Command & Conquer, музыка в которых записана в формате AUD, — в этом случае поможет плагин под названием AUD-Player. Более того, даже древние платформы пользуются заслуженным вниманием — плагины SidAmp и Oldsk00l MOD player позволяют воспроизводить звук для систем Commodore 64 и Amiga.

У внутреннего плагина Nullsoft CD/LineIn стоит настроить службу CDDB, с помощью которой Winamp автоматически будет загружать с заданного сайта названия треков проигрываемого в текущий момент аудиодиска.

Но, на наш взгляд, для прослушивания Audio CD лучше воспользоваться альтернативой — плагином CD Reader, который позволяет считывать с привода музыку "в цифре", даже если он не имеет выхода S/PDIF (через интерфейс IDE). Кроме того, он поддерживает службу CDDB. Здесь проявится еще одно преимущество плагина — он способен хранить информацию об аудиотреках в локальной базе данных (в файле cdplayer.ini, общем со стандартным CD-плейером Windows). Эти данные также можно редактировать в специальном окне, вызываемом комбинацией клавиш Alt+3 . Кстати, если собственно CDDB у вас "не подает признаков жизни", советуем переключиться на FreeDB (в настройках плагина следует ввести адрес, скажем, freedb. freedb.org:8880 ). Дело в том, что некоторое время назад была изменена схема лицензирования доступа к службе CDDB, причем далеко не в лучшую сторону, из-за чего многие плейеры (и, похоже, что в их числе и Winamp) перестали ее поддерживать. Да, чтобы заставить Winamp использовать именно CD Reader, следует удалить (или переименовать) "родной" плагин in_cdda.dll.

Но не только звук может воспроизводить Winamp, с помощью плагина VidAmp он становится полноценным видеоплейером. Такой вариант, конечно, далек от идеала, но он расширяет и без того большой диапазон поддерживаемых форматов форматами AVI и MPEG.

Output

Стандартные плагины DirectSound и waveOut позволяют выбирать устройство вывода, если у вас их несколько — в современном компьютере, кроме звуковой карты (PCI Audio), вполне может быть еще и встроенное в материнскую плату аудио. Кстати, в таком случае ПК легко превратить в два музыкальных центра: включив в разделе Options окна настроек Winamp опцию Allow multiple instances, запустив два плейера и указав для каждого из них свое устройство, можно слушать разные композиции через два комплекта колонок, расположенных в разных комнатах.

Галерея Plug-ins

Позволяет Winamp проигрывать файлы в формате Unreal Game Package.

Модуль для воспроизведения множества из популярных видеоформатов.

BASS module player

Возможность воспроизведения большинства трекерных файлов.

Управляет цветомузыкальной схемой, подключаемой к LPT-порту. На сайте разработчика приведены несколько примеров таких схем.

A3D Output Plug-in

Эффект пространственного звука на аудиокартах с поддержкой A3D.

Потрясающие трехмерные эффекты, синхронизируемые с музыкой.

Официальный плагин фильма Knight’s Tale.

Spectragon

Зрелищный, но ресурсоемкий модуль, использующий bumpmapping и динамический OpenGL свет.

HF — VII — Weekend Bliss

Эффектный набор пресетов для AVS.

Pig Pen

Игровой модуль для Winamp.

Frohmage

Набор резонансных фильтров для "психоделической" обработки звука.

Модуль, позволяющий регулировать многие параметры звука и изменять его тембральную окраску.

Playtime Winamp Plugin

Дополнение, собирающее статистику о каждом запуске Winamp и воспроизведенных треках, с возможностью публикации ее в Internet.

Center of management Winamp

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

Стандартные плагины оснащены лишь самыми необходимыми функциями, поэтому не помешает установить Nullsoft Crossfade Output, который позволит композициям плавно "перетекать" одна в другую — это не просто приятно, это именно то, что нужно домашней дискотеке. Настройка такого плагина не отличается от настройки стандартных, и в общем случае она не требуется, чего не скажешь об SqrSoft Advanced Crossfade Plug-in. Всем он был бы хорош (обрабатывает начало и остановку воспроизведения, позволяет задавать пропорции композиций при их смешении), если бы не замедленная реакция на нажатия кнопок. Ее можно ускорить, задав меньший размер буфера и, соответственно, увеличив вероятность сбоев, так что применение этого плагина зависит от вкуса пользователя.

Из стандартных плагинов особый интерес представляет Disk Writer. Он преобразовывает звук в произвольном формате в привычный WAV-файл, доступный потом для редактирования в любом звуковом редакторе. В окне его настроек можно указать путь к папке, где должны быть сохранены полученные в результате файлы, имена которых будут иметь такой же вид, как и записи в playlist, но с расширением.wav.

Visualization

С помощью визуализационных плагинов Winamp сделает композиции развлечением не только для слуха, но и для зрения. В комплекте поставляется Advanced Visualization Plug-in — красивейшая вещь, позволяющая настраивать вид отображения, открывая таким образом просторы для творчества. Каждый отдельный вариант настроек может быть сохранен и использован позже — на сайте Winamp имеется множество примеров. Все возможности этого плагина лучше всего опишут скриншоты, потому что слов просто не хватит. Правда, гибкость сделала AVS требовательным к ресурсам, поэтому лучше применять более быстрые и порой даже более красивые плагины сторонних производителей, например Geiss, Jet, G-Force. Все они позволяют отображать различные виды спектров, обрабатывая их разнообразными эффектами и достигая просто неописуемого результата.

Необычно выглядит Keyboard Lights 2, использующий для визуализации звука… лампочки на клавиатуре. Не менее оригинальны и MouseVU, визуализирующий курсор мыши, и различные плагины, размещающие возле главного окна Winamp пару колонок, динамики которых реагируют на изменение звука, как настоящие. Примерами могут быть GCO621 speaker и различные варианты плагина Winamp Speakers. Еще более похожим на домашнюю аудиотехнику плейер сделает Homeboy Software Analog VU Meters, демонстрирующий аналоговые стрелочные индикаторы уровня записи.

Но все же наибольший интерес представляют plug-ins с трехмерной графикой. Здесь выделяются плагины от WildTangent: оригинальные сюжеты, качественное исполнение, приличное быстродействие не оставят равнодушным никого. Для тех, кто все же предпочитает более традиционный подход, основанный на гармонии цвета и музыки, но реализованный в полном 3D, подойдет Winamp Goes 3D, который также может быть настроен по вкусу пользователя. Единственный его недостаток — он условно-бесплатный, хотя без регистрации его функциональность не ограничивается. Если же вам не понравилась ни одна из описанных визуализаций, то можно подобрать подходящую на сайте Winamp.

Что же делать, если нравится сразу несколько плагинов и хочется включить их все и сразу? Тогда поможет Visualization Mux — он позволяет запускать одновременно несколько файлов.dll, отвечающих за визуализацию. Указать их нужно в окне настроек VisMux, посмотрев соответствующие имена библиотек в окне выбора визуализации. Но, к сожалению, такой подход не сработает для всех видов полноэкранных плагинов, а также для тех, которые используют API OpenGL и Glide.

DSP/effects

Эти плагины отвечают за цифровую обработку звука (DSP — Digital Signal Processing), позволяя улучшить его качество и исправить погрешности, внесенные алгоритмами сжатия с потерей качества. Для этого, например, предназначен плагин DFX. Он обрабатывает звук, обогащая его высокими частотами, которые "срезаются" кодированием в MP3 или WMA. Кроме того, он может добавлять пространственные эффекты, эффекты помещения, динамически корректировать громкость и усиливать басы. Полезность первой функции плагина не вызывает сомнений, она реально улучшает качество звука, тщательно вычисляя высокочастотные гармоники, "потерянные" сжатием. Использование остальных опций — дело вкуса, благо уровень их влияния можно изменять, а при желании даже исключить. Мы уверены, что путем экспериментов вы сумеете подобрать наиболее приятную для слуха настройку или даже несколько — поддержка пресетов позволит сохранить их все. К сожалению, данный плагин платный, но это и неудивительно, учитывая сложность алгоритмов.

Некоторые из возможностей DFX доступны в виде отдельных бесплатных модулей. Так, Channel DSP effects позволяет расширять стереобазу, что равнозначно эффекту 3D Surround, или добавлять эхо (ambience). Желаемый эффект нужно выбрать в выпадающем меню на закладке DSP/effects окна настройки Winamp.

Плагин AudioStocker PRO нормализует звук — уравнивает громкость разных композиций и их частей, заменяя собой Dynamic Boost. В его окне настроек можно указать желаемый результирующий уровень звука, диапазон усиления и уровень корректировки частотной характеристики, т. е. установить, в какой степени будут усиливаться "слабые" части спектра.

Еще один плагин из этой группы — PaceMaker tempo controller. Он позволяет контролировать темп и высоту звука абсолютно независимо друг от друга. Например, можно ускорить композицию и одновременно "утяжелить" ее или наоборот. Практического интереса это не представляет, но забавно иногда "подправить" темп надоевшей композиции или голос певца. Разобраться в управлении проблем не составит, но не следует забывать, что обработка звука этим плагином связана с потерями качества, и не всегда результат изменения высоты звучит естественно.

Как и в случае с визуализационными плагинами, может возникнуть потребность в использовании нескольких DSP одновременно. Но выход тоже существует — плагин MuchFX, который позволяет указать в своем окне необходимые эффекты. Очередность их следования в списке соответствует порядку передачи звука между плагинами (опыт показывает, что плагины, отвечающие за изменение темпа и высоты звука, следует применять первыми). MuchFX также позволяет сохранять выбранные комбинации эффектов, чтобы сделать доступными их в будущем.

General Purpose

Плагины общего назначения (так переводится название класса) отвечают за удобство управления плейером. Например, Winamp title bar control помещает в заголовок активного окна кнопки контроля воспроизведения, название композиции и время проигрывания, причем, какие именно кнопки будут отображаться и нужно ли показывать текст, решает пользователь. Подобные функции обеспечивают плагины: Nullsoft Windowshade Docker, помещающий в заголовок текущего окна весь Winamp, если он свернут в полосу, называемую Windowshade, и Nullsoft Tray Control, добавляющий в System Tray кнопки управления плейером, которые выбрал пользователь в окне настроек. Для тех, кто привык обходиться лишь горячими клавишами, предназначен Reproduction Control. Он позволяет определить соответствующие hot keys для всех основных функций, а также "заставить" Winamp автоматически начинать воспроизведение при запуске и загружаться при старте Windows, что вместе с корпусом в формфакторе ATX делает его отличным будильником. К сожалению, функции автоматического поиска треков и перехода к треку по его номеру в списке композиций оказались невостребованными.

Также интересен Resumer Plug-In, сохраняющий состояние плейера через заданные промежутки времени и восстанавливающий проигрывание при следующем запуске с той секунды, на которой было выполнено последнее сохранение. Winamp Alarm Plug-In сделает плейер этаким "напоминателем", позволяя создавать несколько записей с указанием композиции, которую нужно воспроизвести в определенное время в определенный день недели.

Вы еще не запутались в обилии музыкальных альбомов на своем жестком диске? Если да, то вам просто необходим плагин Album List. Он создает список альбомов, подобный стандартному списку треков, рассматривая отдельные каталоги как альбомы. Можно задать директории, в поддиректориях которых следует искать музыку, нужные форматы и способ отображения информации в окне. Приятно, что это окно, кроме всего прочего, поддерживает все скины к Winamp, т. е. меняется вместе с остальными.

Итого

В общей сложности в этой статье описано 39 плагинов. На первый взгляд — немало, однако на самом деле доступных на сегодня расширений Winamp на порядок больше. Кроме того, регулярно появляются новые plug-ins, да и разработчики уже существующих не стоят на месте, поэтому мы бы советовали регулярно заглядывать на winamp.com или, еще лучше, — на официальный сайт интересующего вас плагина, так как там, вполне вероятно, можно найти более свежую версию, чем на сайте плейера.

Winamp may seem to have to gone by the wayside in terms of technical advancement as a media player but this is not the case at all. Although it’s 21 years old it still commands a well-regarded fanbase and a big reason for this is the huge range of free and paid for plug-ins that are available. The 3rd party plug-ins architecture enables you to extend Winamp’s flexibility to do what you require with Input, Output, Visualization, Digital signal processing/effects, Media library, mobile and general purpose and are quick and easy to download. The majority of plug-ins work on a local cache rather than live queries against the Icecast, SHOUTcast and Tunein services.

The general purpose plug-ins catalogue even includes everyday features which you can run, like an alarm clock, and the User Interface can be customized to your individual tastes and preferences. You can change your UI as often as you choose and save them as different installs. This comes on handy when you have you have more than one user. Some other examples of fun plug-ins are the CDG karaoke Plugin which is a free and safe plug-in you can use to play CDG files (mp3+g) in sync with MP3. SoftAmp Virtual Sound Winamp plug-in for 3D sound produces a three dimensional sound with four independent virtual speakers and enjoy the sound coming from above or from above and the reverberation effect is provided. You can even download the Pac-man game for free and relieve your youth!

The more serious and practical plug-ins such as the multiple DSP stacker allow you to stack as many plug-ins inside Winamp as you want, allowing you to manage everything from one place. Also available is the Waveform Seeker Plug-in v2.3.1 which defines the waveform output of a selected file which you can then use to search or seek within the file and allows you to maximize the potential within that file.

The Winamp software development kit even allows you, as a user, to create your own plug-ins across the 7 different categories such as output and input for specific projects to determine the outcomes you want to achieve. They also allow you to remove certain features that you don’t need or want, so you’re not stuck with built in facilities that take up valuable storage space. You manage your media player software, it doesn’t manage you. There are numerous forums available on the net to discuss which plug-in will work best for what you want to do. Being a member of the forums is a great way to talk to like-minded people with a passion for the software and to continually grow your Winamp capabilities. It’s also your chance to change Winamp along the way and keep it fresh, relevant and in development.

If you haven’t had a look at the catalogue and range of plug-ins available in a while, then why not start downloading today and start experimenting today. Happy fine tuning!

This is an archive plugins for the best Winamp media player. You may find the most recent Winamp plugins. The archive contains over 1000 best and popular Winamp plugins. Have fun with your favorite media player.

Date: 2018-1999
License: Free version

Понравилась статья? Поделитесь ей