Hogyan csatlakoztassunk vizuális plugint a winamptól?

hogyan lehet csatlakoztatni a vizuális plugineket a Winamp-tól?

Nos, mondja meg, Che, nincs gond (((((
én is

1) Keressen egy példát a vizuális plug-in forrásairól (most nem adom meg a linket, de van néhány).
2) Megnézni, hogy milyen funkciókat exportálnak (hogy a plug-in dll, remélem, egy tanfolyamon?).
3) A programban töltsd be a dll - plugint, és hívd meg ezeket a függvényeket az elemi logika (inicializálás, frissítés, befejezés) szerint. A frissítés során csúsztassa el a plugint, mint egy hang (vagy legalább véletlenszerű) adat.


> Frissítésként csatlakoztassa a plugint, mint egy hang (vagy legalábbis
> véletlenszerűen).

kb.
Szeretném használni magával a winamp-ot, játszik, és a vizualizálást a formámon.
Nos, a herceg tiszta, amíg meg nem próbálok legalább csatlakozni.

Hmm, mi a lényeg? Mutassa be mindenkinek, hogy "itt írtam egy plugint." )
Az AVS plug-in segítségével a "kimenet az űrlapra" egyszerű: engedélyezze a overlay módot, válasszon néhány ritka színt, töltse ki ezt az űrlapot saját színével - és boldog lesz :)


Hmm, mi a lényeg? Mutassa le mindazt, ami "itt írt egy plugint"?
> # xA0; :)

A jelentés teljesen más.


> AVS plug-in segítségével a "kimenet létrehozása" egyszerű: enable
> átfedés mód, válasszon néhány ritka színt, töltse ki
> ez a szín az űrlapodat - és boldog leszel :)

De ez egy igazi tipp, nagyon köszönöm)))

Íme egy példa.

Mondja meg, hogyan kell felhívni Legalább "A programról"

Már mindent írok a post [2], 3. pontjában.
Majdnem találgatás, kivéve, hogy közvetlenül a dll-ből csak a winampVisGetHeader-t hívják, és minden mást a struktúrán keresztül visszaküld.
Nem világos, hogyan hívhat egy funkciót a dll-ből? Azt jelenti, hogy valamit meg kell becsülnöd erről a témáról (konkrétan a dinamikus terhelés dll-ről van szó).

Erre tekintettel van

LoadLibrary
GetProcAddress
winampVisGetHeader
getModule
config (init, render, quit.) De nagy plug-inekhez, például az AVS-hez, először init, majd config).

Egyelőre nem tisztázott ez a pillanat


> hogy közvetlenül a dll-ből csak winampVisGetHeader okozza,
> # xA0, és minden mást a szerkezeten keresztül visszaküld.>

Nos, meg kell próbálnunk.

eljárás TForm1.Button1Kattintson (Feladó: TObject);
var LibHandle: THandle;
# xA0; # xA0; render: eljárás;
kezdődik
# xA0; # xA0; LibHandle: = LoadLibrary ("From: \. \ Vis_avs.dll");
# xA0; # xA0; @render: = GetProcAddress (LibHandle, "winampVisGetHeader");
# xA0; # xA0;
Mennyire tovább?
?
?
?
?
# xA0; # xA0;
# xA0; # xA0; FreeLibrary (LibHandle); // A DLL számára rendelkezésre álló szabad memória


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

brbrbr

Honnan származnak ezek a típusok: PWinampVisHeader; PWinampVisModule;

egyre inkább összezavarodok.
A nagy kérés - ha nem nehéz, csak példát adjon a valós kódra, amelyben a vis_avs.dll meghívást kapott a könyvtárból, például a beállításokat tartalmazó ablak és az ALL, a téma lezárásra kerül.

egyre inkább összezavarodok.
A nagy kérés - ha nem nehéz, csak példát adjon a valós kódra, amelyben a vis_avs.dll meghívást kapott a könyvtárból, például a beállításokat tartalmazó ablak és az ALL, a téma lezárásra kerül.

Hol származtak ezek a típusok:

Innen:
ka1n # xA0; (14.12.06 15:52) [6]

Egyébként a winampVisGetHeader típusát is be kell vinni. Ie nem csak egy eljárás, hanem
Var winampVisGetHeader: funkció. PWinampVisHeader; cdecl;

Talán nem pontosan a Ka1n témában, de van # xA0; Bassplayer v1.81 a
vannak plug-inek Winamp a demóban és kódjában.
Tehát ha érdekes, el tudom dobni az e-mailre (nem tudom, hol töltötte le).

És ha ez megtörténik, láthatja a kódot.