Як підключити візуальні плагіни від winamp

як підключити візуальні плагіни від Winamp?

ну скажіть, че ніяких думок ((((
у мене теж

1) Знайти приклад початкових кодів візуального плагіна (посилання зараз не дам, але їх є).
2) Подивитися, які там експортуються функції (те, що плагін - це dll, сподіваюся, в курсі?).
3) У своїй програмі завантажити dll - плагін і викликати ці функції відповідно до елементарною логікою (ініціалізація, update, завершення). У update підсунути плагіну схожі на звук (або хоча б випадкові) дані.


> В update підсунути плагіну схожі на звук (або хоча б
> Випадкові) дані.

ок.
я його хочу використовувати разом з самим вінампа, він грає, а візулізація на моїй формі.
ну прінцепе ясний, поки спробую хоча б підключити.

Хм, а сенс? Хвалитися всім, що "ось я плагін написав". )
З плагіном AVS зробити "висновок на форму" просто: включити overlay mode, вибрати там який-небудь рідкісний колір, залити цим кольором свою форму - і буде тобі Щастя :)


> Хм, а сенс? Хвалитися всім, що "ось я плагін написав"?
> # XA0; :)

Сенс абсолютно інший.


> З плагіном AVS зробити "висновок на форму" просто: включити
> Overlay mode, вибрати там який-небудь рідкісний колір, залити
> Цим кольором свою форму - і буде тобі Щастя :)

А ось це реальний рада велике спасибі)))

Ось знайшов приклад.

Полскажіте як хочаб викликати "Про програму"

Я вже все написав в пості [2] пункт 3.
Майже вгадав, за винятком того, що безпосередньо з dll викликається тільки winampVisGetHeader, а все інше через структуру, яку вона повертає.
Незрозуміло, як викликати функцію з dll? Значить, потрібно почитати щось на цю тему (конкретно про динамічне завантаження dll).

Є це на увазі

LoadLibrary
GetProcAddress
winampVisGetHeader
getModule
config (init, render, quit. Хоч, можливо, для великих полігонів на кшталт AVS потрібно спочатку init, потім config).

Незрозумілий просто цей момент


> Що безпосередньо з dll викликається тільки winampVisGetHeader,
> # XA0; а все інше через структуру, яку вона повертає.>

ну треба спробувати.

procedure TForm1.Button1Click (Sender: TObject);
var LibHandle: THandle;
# XA0; # XA0; render: procedure;
begin
# XA0; # XA0; LibHandle: = LoadLibrary ( "З: \. \ Vis_avs.dll");
# XA0; # XA0; @render: = GetProcAddress (LibHandle, "winampVisGetHeader");
# XA0; # XA0;
як далі?
?
?
?
?
# XA0; # XA0;
# XA0; # XA0; FreeLibrary (LibHandle); // Free Memory Allocated for the DLL


> Var Hdr. # XA0; PWinampVisHeader;
> # XA0; # XA0; Mod. PWinampVisModule;

брбрбр

Від куди взялися ці типи: PWinampVisHeader; PWinampVisModule;

все більше заплутується.
Велике прохання - якщо не важко, просто наведіть приклад реально працюючого коду, в якому з бібліотеки vis_avs.dll викликається, наприклад вікно з настройками і ВСЕ, тема буде закрита.

все більше заплутується.
Велике прохання - якщо не важко, просто наведіть приклад реально працюючого коду, в якому з бібліотеки vis_avs.dll викликається, наприклад вікно з настройками і ВСЕ, тема буде закрита.

Від куди взялися ці типи:

Звідси:
ka1n # XA0; (14.12.06 15:52) [6]

До речі, звідти ж слід брати і тип winampVisGetHeader. Тобто не просто procedure, а
Var winampVisGetHeader: function. PWinampVisHeader; cdecl;

Може не зовсім в тему Ka1n, але у мене є # XA0; Bassplayer v1.81 а
там в демо весіі підключені плагіни Winamp і є її код.
Так що якщо цікаво то можу скинути на пошту (не пам'ятаю де я його скачав).

І якщо че небудь вийде даси подивитися код.