winamp analiza widma

0

witam! od paru dobrych dni próbuję napisać program wyświetlający widmo częstotliwościowe muzyki odtwarzanej w winampie. chce uzyskać w mojej aplikacji wartości poszczególnych prążków, a następnie poddać je dalszej obróbce. próbowałem już wielu rzeczy -> pisania własnej wtyczki dll do winampa, używania biblioteki bass. i nadal niestety nic... problem leży w tym, ze nie bardzo wiem jak przekazać strumień danych z winampa do mojego programu. Jeżeli ktoś z Was ma jakieś propozycje, pomysły, gotowe rozwiązania, to bardzo proszę o podzielenie się. Z góry dzięki

0

Wtyczka do Winampa tworzaca serwer na okreslonym porcie i rozsylajaca dane podlaczonym klientom (programy do dalszej obrobki).

0

Albo potoki - CreateNamedPipe().
Sposobów jest wiele.
http://msdn.microsoft.com/en-us/library/aa365574(VS.85).aspx

0

Dzieki za odpowiedź, po długich poszukiwaniach udało mi się znaleźć program po części odpowiadający moim oczekiwaniom. Zmodyfikowałem go troszke, tak że teraz jest wszystko tak jak powinno. Jest jeden problem program jest napisany w c++, a ja koniecznie muszę go przeniesć do delphi. Bardzo proszę o pomoc w zamianie kodu.

działający kod w c++

HANDLE hMapFile;
char *pBuf;
TCHAR szName[]=TEXT("LEDCOMBETAHE");
pBuf=NULL;

...
...

if(hMapFile==NULL) hMapFile = OpenFileMapping(FILE_MAP_ALL_ACCESS,FALSE,szName);
if(hMapFile!=NULL)pBuf = (char*)MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS,0, 0,128);  
if(hMapFile!=NULL && atoi(pBuf) > 0){ 

char str[10];
sprintf(str,"%d",atoi(pBuf));
MessageBox(0, str  , "Error", MB_OK | MB_ICONEXCLAMATION);
}

moje potyczki z delphi

hmapfile : THandle;
pbuf : ^char;

...
...


pBUf:=nil;
if hmapfile=null then hMapFile:= OpenFileMapping(FILE_MAP_ALL_ACCESS,FALSE,'LEDCOMBETAHE'); 

problem zaczyna sie dalej, dałem cos takiego, bo nie wiem jak robić rzutowanie (char*) w delphi, próbowałem różnych możliwosci, co kończyło się błędem kompilatora. finalnie dałem tak, ale nie działa, i w sumie to chyba nie dziwne.

if hmapfile<>null then pBuf:= MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS,0, 0,128);

na koniec zostało wyświetlenie wartości spod adresu tBuf w label1

każde rzutowanie, które chce wykorzystać nie działa:

delphi wyświetla info o niekompatybilnych typach:

system.char i unit1.char

albo

string i pointer

z góry dzięki za pomoc. pozdrawiam

0

bo nie wiem jak robić rzutowanie (char*) w delphi,

pchar(MapViewOfFile(...))
0

próbowałem tak. kompilator wyrzuca następujący błąd:

"incompatibile types 'system.char' and unit1.char"

//Edit

dzięki za pomoc, udało mi się rozwiązać problem. Temat do zamknięcia

1 użytkowników online, w tym zalogowanych: 0, gości: 1