News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

FIR Audio Spectrum Analyzer

Started by Siekmanski, September 03, 2014, 10:14:36 PM

Previous topic - Next topic

Siekmanski

Any version of DirectX9, it just needs "DSOUND.dll"
IDirectSound8 interfaces are the latest and part of Directx9.
Creative coders use backward thinking techniques as a strategy.

Biterider

Hi Siekmanski
On Win 8.1 64 the prog runs but the visuals don't. There os no signal drawing and the frequency indicators are not moving. Seems like frozen but sound is played correctly and no error/warning is displayed.

Regards, Biterider

Siekmanski

I'm running also win 8.1 64 bit.
So it must be the differences between graphic cards.
I did a minimum of renderstates that might not be enough for all graphic cards?
I've included another renderstate  D3DRS_FILLMODE,D3DFILL_SOLID

can you test this one,
And the next with a complete initialisation of the graphics card



Creative coders use backward thinking techniques as a strategy.

dedndave

both seem to work well under XP SP3, Marinus

Biterider

Hi again
The problem pesists using both versions.
I moved the whole folder to an XP SP3 system and all 3 exes (original included) work seamlessly (INTEL onboard video chip). If it helps, the Win 8.1 system has an GForce 660 video card with an up to date driver (340.52 version).

Regards, Biterider

Attached a pic of the running exe.

Siekmanski

Thanks Dave and Byterider,

I thought it may worked with a minimum of initialisation.
But not all graphic cards will accept it i think?

@ Byterider,

FIRtest2 is a full initialisation of the graphics card so it will be hard for me to see what's missing wy it doesn't work on your graphics card.
I'll have a look at it tomorrow.

Marinus
Creative coders use backward thinking techniques as a strategy.

Siekmanski

@ Byterider,

Just saw the picture, the sound is running and drawing to the screen happens but no interaction with the music.
That's strange........ :(
I'll have to think how this is possible and not on every PC ????
Creative coders use backward thinking techniques as a strategy.

Biterider

Hi
I tried to run the prog in the compatibility mode and after windows repaired somehow the application it ran like it did on the XP system.
The compatibility analysis dialog doesn't help to much. The diagnostic message said: "incompatible program repaired". I set the compatibily mode to Win7 and this did the trick.

Regards, Biterider

Zen

#23
Hi, SIEKMANSKI, again,
Now, I'm getting an error message box that says: "Entry Point Not Found"
"The procedure entry point OpenVxDHandle could not be founf in the dynamic link library KERNEL32.dll."

I checked all the asm files in your project (and the include files),...an could NOT find invoke OpenVxDHandle anywhere. It must be being called from within some other routine. I Googled OpenVxDHandle, and found this: Why OpenVxDHandle Is Not Contained in Kernel32.lib
I did find some information: Function: OpenVxDHandle       Applicable Versions: 4.0 (Windows) to 4.90
Apparently, a VxD is a Virtual Device Driver.

I suspect that this doesn't really make sense in terms of your FIR Audio Spectrum Analyzer. I've Googled extensively, and haven't found anything that relates to DirectSound. Weird.

The only thing I found that seems to make sense is this: The procedure entry point OpenVxDHandle could not be located in the dynamic link library KERNEL32.dll, Microsoft Community
Zen

Siekmanski

Thanks Biterider,
Sometimes the strangest things happen.... it runs on my windows 8.1 64bit and not on yours.  :idea:?
Did you get a message from windows before you did the compatibility repaire?
At first i thought maybe the message pump didn't call the RenderD3d9 routine on your PC........
I can't see anything in my source code that could cause this.

Hi Zen,
You can download "DirectX 9.0c End-User Runtime" from microsoft.com.
That should install all the libraries on your machine.
Creative coders use backward thinking techniques as a strategy.

Zen

Hi, SIEKMANSKI,
I opened both your FIR Audio Spectrum Analyzer application and the DirectX version 9 dsound.dll in IDA Pro.
The problem is NOT in your application (I'm fairly certain, at least).
The dsound.dll imports OpenVxDHandle from KERNEL.dll,...and weirdly, calls it in only ONE location. Without further checking,...I don't think that the routine that invokes it is even relevant to your application.
DAMN !!! (By the way, the dsound.dll File Version is: 4.9.0.904)
...But, I have to wonder why I'm the only one who has this EXTREMELY annoying problem,... :dazzled:
Zen

Siekmanski

Hi Zen,
Are you sure it's the right DirectX 9 Redistributable you downloaded.
If i were you i'll get the "DirectX 9.0c End-User Runtime" from microsoft.com
Creative coders use backward thinking techniques as a strategy.

Biterider

Hi Siekmanski
No, I didn't get any message. The strange thing is that the prog is running and only the animation doen't work, while you can see that at startup something was drawn (green and orange fat lines). I think i noticed is that the "screen refresh rate" indication and the progressbar are also frozen. Maybe some timer or thread is not working as expeced in win8.

Biterider

Siekmanski

Hi Biterider,

The only thread and timer in this application is used for the Sound Card routines and they work on your machine.
It looks like the "RenderD3d9" routine is blocked in some way.....
What i don't understand is we both have Windows 8.1 64-bit running and i have no problems???
It makes me wonder how this is possible and makes me curious what it could be.

Marinus
Creative coders use backward thinking techniques as a strategy.

Biterider

Hi Marinus
Maybe you can add to the UI some indication or flag to show where the problem is.
Looking into the code, I think that ShowPlayTime is not called on my system. That means that for some reason RenderD3D9 is not reaching the point where the invocation is done. At the beginning of the proc you are doing some checks on the D3D device and at the end for WAVdataPTR. Changing for example the caption on each code branch may help to find the problem.

Regards, Biterider