Im working with Delphi 6. I want to make something like dsppluginviewer example you provide with the api; i read the source code of the example and i notice that you call getSpectrum(spectrum…); where spectrum is a float array. In FMOD.pas this argument is just a simple single value an i use the function like this :
getSpectrum(system, spectrum, 0, 0, FMOD_DSP_FFT_WINDOW_RECT); but the result is INVALID_PARAMETER. If i put numvalues >=1 then an exception occurs. How can i get a spectrum analisis from FMOD.pas.
- Vlad answered 12 years ago
The Delphi files, needed to use FMOD are not yet checked completely I think. I have been making some small tests in Delphi with FMOD Ex and ran into some mistakes in fmod.pas. I think Brett too doesn’t want to spent to much time on the Delphi files until FMOD is almost 1.0.
What exactly isn’t working, maybe I can answer your question, or if you prefer write a very small demo which just plays files, but that will take about a week (very busy at the moment).
Hi SpaceNuts, thanks for the answer.
[quote="SpaceNuts":3gtf9t6i]… or if you prefer write a very small demo which just plays files, but that will take about a week (very busy at the moment).[/quote:3gtf9t6i]
Yes, this is what I’m searching. I want an example like that in fmod 3.x. Thanks in advance.
This is a small program I converted from C example.
Windows, Classes, SysUtils,Fmod,FmodErrors,FModTypes;
if (result <> FMOD_OK) then begin
writeln(’FMOD error! (’,ord(result),’) ‘,FMOD_ErrorString(result));
result := FMOD_System_Create(xsystem);
result := FMOD_System_GetVersion(xsystem, version);
if (version < FMOD_VERSION) then begin
writeln(Format(’Error! You are using an old version of FMOD %.8x. This program requires %.8x’, [version, FMOD_VERSION]));
result := FMOD_System_Init(xsystem, 32, 0, FMOD_INIT_NORMAL,nil);
result := FMOD_System_CreateStream(xsystem, ‘test.oxm’, FMOD_NORMAL, nil, sound);
result := FMOD_System_PlaySound(xsystem, FMOD_CHANNEL_FREE, sound, false, channel);
until not playing;
result := FMOD_Sound_Release(sound);
result := FMOD_System_Close(xsystem);
result := FMOD_System_Release(xsystem);
[b:28d8pjmt]If you want to use FMOD_CREATESOUNDEXINFO structure defined in FMODTYPES.PAS watch out! There is a mistake and you have to switch fileoffset and filelength members.[/b:28d8pjmt]
- Mr.D answered 12 years ago
Please login first to submit.