Суббота, 28.06.2025, 14:15


Главная
Регистрация
Вход
Мой сайт Приветствую Вас Гость | RSS  
Меню сайта

Мини-чат

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Главная » 2013 » Март » 2 » Сделай сам на delphi: визуализационный плагин к winamp
14:21
 

Сделай сам на delphi: визуализационный плагин к winamp

30.03.2008 от Иван Ширко

waveformNch: Integer;
spectrumData: array[0..1, 0..575] of byte;
waveformData: array[0..1, 0..575] of byte;
//процедура, которая будет вызываться при нажатии на кнопку "Конфигурация"
Config: procedure( thismod: PwinampVisModule ); cdecl;
//функция, вызываемая при инициализации плагина, должна возвратить 0, если всё в порядке
Init: function( thismod: PwinampVisModule ): integer; cdecl;
//функция, вызываемая при получении очередной порции данных
//от Winamp'a, именно здесь нужно реагировать на изменение
//музыкальных данных, должна возвратить 0, если всё в порядке,
// или 1, если плагин завершает свою работу
Render: function( thismod: PwinampVisModule ): Integer; cdecl;
//процедура, вызываемая при завершении работы плагина
Quit: procedure( thismod: PwinampVisModule ); cdecl;
//здесь можно хранить указатель на свои данные
userData: pointer;
end;

Ну а теперь сделаем простой и абсолютно бесполезный визуализационный плагин, маленький анализатор спектра. Создайте в Delphi DLL. После этого создайте форму и положите на неё шесть компонентов TProgressBar, для которых свойство Orientation установите в положение pbVertical, а Max – в 300. Пример расположения компонент можете посмотреть на рис.1.

Плагин к Winamp

Всё, форму можно больше не трогать, займёмся теперь DLL. Вот код библиотеки:

library vis_MyFirstPlug;
uses
Windows, forms,
Unit1 in 'Unit1.pas' {Form1};
const
//версия
VIS_HDRVER = $101;
//класс окна
szAppName = 'OurPlug';
//описание плагина
descr = 'Мой первый VIS плагин';
//описание модуля
mod1_descr = 'А это единственный модуль моего плагина';
type
//типы заголовка и тела плагина
PwinampVisModule = ^winampVisModule;
winampVisModule = packed record
description: PChar;
hwndParent: HWND;
hDllInstance: HWND;
sRate: integer;
nCh: integer;
latencyMs: integer;
delayMs: integer;
spectrumNch: integer;
waveformNch: integer;
spectrumData: array[0..1,0..575] of byte;
waveformData: array[0..1,0..575] of byte;
Config: procedure(thismod: PwinampVisModule);cdecl;
Init: function(thismod: PwinampVisModule): integer;cdecl;
Render: function(thismod: PwinampVisModule): integer;cdecl;

Просмотров: 246 | Добавил: gborldnoth | Рейтинг: 0.0/0
Всего комментариев: 0
Поиск

Календарь
«  Март 2013  »
Пн Вт Ср Чт Пт Сб Вс
    123
45678910
11121314151617
18192021222324
25262728293031

Архив записей

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Copyright MyCorp © 2025Бесплатный хостинг uCoz