Witam!
Jestem właśnie w trakcie pisania pluginu do Winampa i mam malutki problem. Nie wiem skąd pobrać częstotliwość aktualnie odtwarzanego dźwięku :-/ Wie ktoś może skąd to "wytrzasnąć" ?
TIA,
bdz
Witam!
Jestem właśnie w trakcie pisania pluginu do Winampa i mam malutki problem. Nie wiem skąd pobrać częstotliwość aktualnie odtwarzanego dźwięku :-/ Wie ktoś może skąd to "wytrzasnąć" ?
TIA,
bdz
Sprecyzuj, jaki plugin chcesz napisać. Jeśli chodzi o wizualizację, to dane, które przekazuje winamp, wyglądają tak:
type
PWinampVisModule = ^TwinampVisModule;
TwinampVisModule = record
description : PChar; // description of module
hwndParent : HWND; // parent window (filled in by calling app)
hDllInstance : HINST; // instance handle to this DLL (filled in by calling app)
sRate : Cardinal; // sample rate (filled in by calling app)
nCh : Cardinal; // number of channels (filled in...)
latencyMs : Cardinal; // latency from call to Render to actual drawing
delayMs : Cardinal; // delay between calls to Render (in ms)
// the data is filled in according to the respective Nch entry
spectrumNCh : Cardinal; // Number of channels
waveformNCh : Cardinal; // Number of channels
spectrumData : Array [0..1, 0..575] of Byte; // waveform data (values from 0-255)
waveformData : Array [0..1, 0..575] of Byte; // spectrum data (values from 0-255)
// functions that winamp calls to configure the plugin, initialise ...
Config : procedure(const PVisModule : PwinampVisModule); cdecl;
Init : function (const PVisModule : PwinampVisModule) : Integer; cdecl;
Render : function (const PVisModule : PwinampVisModule) : Integer; cdecl;
Quit : procedure(const PVisModule : PwinampVisModule); cdecl;
userData : procedure; cdecl; // user data, optional
end;
I chyba w sRate powinieneś mieć częstotliwość.
To ma być plugin który w zależności od częstotliwości dźwięku zapali którąś z 8 diód podłączonych do LPT. Mam już coś w stulu VU Meter'a i chciałem się teraz czestotliwościami pobawić (zrobić coś w stylu kolorofonu).
a sRate to częstotliwość próbkowania i to chyba nie to...
Więc potrzebujesz widma, czyli spectrumData.