Witam. Od razu zaznaczam, że pomoże mi tylko osoba, która zna się na komponentach z paczki DSPack. Chodzi o zrobienie Korektora graficznego (Equalizera) dźwięku. Używam do tego komponentów z paczki DC-DSPFilter - DspackDCDSPFilter i DCEqualizer. Wydaje mi się, że zrobiłem wszystko co trzeba, ale nic sie nie dzieje podczas zmian wartości equalizera. Oto co dałem do zdarzeń DspackDCDSPFilter (DSPDCFilter się nazywa w programie):
//...
procedure TMainForm.DSPDCFilterFlush(Sender: TObject);
begin
DSPEqualizer.Flush;
end;
//...
procedure TMainForm.DSPDCFilterMediaTypeChanged(Sender: TObject;
Stream: PDSStream);
begin
DSPDCFilterFlush(Self);
end;
//...
procedure TMainForm.DSPDCFilterPCMData(Sender: TObject; Buffer: Pointer;
Size: Integer; out NewSize: Integer; Stream: PDSStream);
begin
NewSize := Size;
end;
//...
A to kod który wpisałem podczas zmiany wartości jednego ze scrollbarów:
MainForm.DSPEqualizer.Band[0,Numer zmianianego scrollbara (Liczba od 0 do 9)] := 0 - Pozycja Zmienionego scrollbara
Każdy sówak ma Min -100 i Max 100.
Po tym wszystkim nie widać żadnego efektu podczas zmiany wartości. Co mam źle? Aha i jeszcze jedna prośba. Gdyby coś było zbędne w tym kodzie, to chętnie się tego pozbędę. Tylko muszę wiedzieć co. :d