Hi folks !

I've just converted the DSOUND8 and DMUSIC8 includes, but I still need to test them with examples ...

But there is a little problem ...

Many of the declared interface-methods needs WORD / BYTE / INT64 (QWORD) / DOUBLE (REAL8) parameters. But the COINVOKE-MACRO will only support DWORD-Values ... so I need to update this one ...

My serious problem is how are those parameters needed here ?

Should I put always DWORD-Value for WORD / BYTE and two DWORD-VALUES for QWORD / REAL8 ?

The 2-DWORD solution needs a change to the parameter-count which I don't want to change ..!

I hope anyone can help me to avoid spending hours / days on disassembling .exe-files !

Thanx, CALEB !
Posted on 2002-01-05 18:23:17 by Caleb
Afternoon, Caleb.

I'm only a third of the way through dsound.h :(.

Can you post what you've done on this file? It'll be quicker/easier for me to modify the last 2/3s of your file for mcall usage, than to duplicate the work you've done.:grin:

With regards to the dmusic stuff:
Maybe the programmers at M$ stuffed up? I can't find where those *problem* methods are used, so maybe they're errors?
All of the other include files for DX8 (that I've seen) only use dwords in the methods. That's why I'm suspicious about the dmusic files.

As a temporary solution:
Use dwords for those problem methods, and make a note at the top of the file which methods may be incorrect.


Cheers,
Scronty
Posted on 2002-01-06 01:12:07 by Scronty
Hi Scronty !

I'will post them here perhabs tomorrow, some basic stuff still need to be done. So I do not know what to do with all the GUIDS ...


Well, the examples don't need them, but if you wanna do a right job I think you must take care of them ....

I don't think that this is a mistake of M$-coders. Those methods need following types as parameters:

SAMPLE_POSITION
SAMPLE_TIME
REFERENCE_TIME
.
:

and they are defined as LONGLONG (= INT64). Also some interfaces in DSOUND needs them !

Sometimes only pointers to them are needed and sometimes the direct values !



Why do you still use mcall ?

The interfaces declared by oaidl.inc are much easier to use ...



Greetings, CALEB !
Posted on 2002-01-06 06:44:28 by Caleb
OK - I've included them in my DX8.1-Includes.

Some Includes have changed since the last version. Also Objbase.DEF was replaced for better include-handling.
Please read the README !

The problems with DMusic and DSound still resists

Greetings, CALEB

Download !
Posted on 2002-01-06 17:14:05 by Caleb
YEP - I've found something !

COINVOKE and then INVOKE, too, is able to put QWORD-types as parameter, so I have to correct some interface-methods (I can't use comethod in those cases !). I will do this the next days !

I wonder noone has replied this fact ... there are many invoke-specialists here, aren't ? ;)

Greetings, CALEB
Posted on 2002-01-07 03:07:55 by Caleb
Just wondering... how easy is it to use DirectMusic, just to play a
normal midi file? I don't want any code samples, I can probably dig
that up myself, just wondering if I'd need to invest multiple hours
to get something simple done :).
Posted on 2002-01-07 04:57:14 by f0dder
Afternoon, f0dder.

heh. Have a look at the PlayAudio.cpp file in samples\Multimedia\DirectMusic\PlayAudio in the SDK.

It's looks pretty straight forward, once the "include" files are complete;) . Most of the file is just for menu adjustments. The DMusic stuff is pretty simple/short/sweet.:alright:

Cheers,
Scronty
Posted on 2002-01-07 05:45:28 by Scronty
OK its done ! The above file is updated.

One more thing I've discovered is that with invoke BYTE and WORD parameters are loaded into AL / AX and then pushed as EAX onto the stack without clearing the higher unused bits ... we have to wait for examples to check out if its ok or not.

I hope the conversions are allright. It wasn't magic at all that I need just a week for conversion but UltraEdit has a very fine MACRO-language implemented which makes this possible. (The best macro I've ever done is to tell UEdit how to increase numbers, so I am able to count parameters :grin: )

I wish all those coders of alternate IDE's will try to implement a macro-language :)

There are still some files left (DInput, DShow, DMO ...) but I am optimistic to manage them in the next time !


Greetings, CALEB
Posted on 2002-01-07 08:13:45 by Caleb