-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi rok ;)
As I've mentioned, we'll need a function for loading chunks from dmusic files. I tried to write one, and here's result; it's not very nice, but it works (sort of). At the time being, it only "loads" and displays data (--debugmsg=+dmfile for debug and --debugmsg=+dmfiledat for the display of data). I couldn't make it load data into IDirectMusic*Impl interfaces, because whatever I did, exception occured (maybe someone more familiar with this could do this (Raphael?)). Also, if someone has more robust and simpler function, please tell me. DMUSIC_FillSegmentFromFileHandle loads sample.sgt from DX SDK completely... however, i didn't try the other.
Impressive work ;)
Also "fixed" a problem I've encountered while running 3DAudio.exe (from SDK). One of the latest patches added this clause:
if (!ppDirectSound) IDirectSound_Release(*ppDirectSound);
well, seem another christian regression ;)
for what i understand, this code must be the correct one: if (!ppDirectSound) IDirectSound_Release(This->dsound);
I don't know why, but it causes exception (i've commented it).
well Releasing a NULL object ;)
ChangeLog:
- wine/dlls/dmusic/dmusic_private.h: added some new structs
- wine/dlls/dmusic/dmusic_loader.c: load file
- wine/dlls/dmusic/dmusic_preformance.c: minor fix
- wine/dlls/dmusic/helper.c: new file with file loading functions
Regards, Raphael
Raphaël Junqueira wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi rok ;)
As I've mentioned, we'll need a function for loading chunks from dmusic files. I tried to write one, and here's result; it's not very nice, but it works (sort of). At the time being, it only "loads" and displays data (--debugmsg=+dmfile for debug and --debugmsg=+dmfiledat for the display of data). I couldn't make it load data into IDirectMusic*Impl interfaces, because whatever I did, exception occured (maybe someone more familiar with this could do this (Raphael?)). Also, if someone has more robust and simpler function, please tell me. DMUSIC_FillSegmentFromFileHandle loads sample.sgt from DX SDK completely... however, i didn't try the other.
Impressive work ;)
Indeed, good job! ;-)
Also "fixed" a problem I've encountered while running 3DAudio.exe (from SDK). One of the latest patches added this clause:
if (!ppDirectSound) IDirectSound_Release(*ppDirectSound);
well, seem another christian regression ;)
;-) I suppose the first regression is the crash when DirectSoundCreate failed when no driver is selected in the config file... :-) In that case, I was thinking to myself if we should be able to create DirectPerformance or DirectMusic objects or not. If so, Init and InitAudio functions should failed with an error. The error value could be DSERR_NODRIVER, E_NOINTERFACE or DSERR_UNINITIALIZED. Any idea?
for what i understand, this code must be the correct one: if (!ppDirectSound) IDirectSound_Release(This->dsound);
This is right. :-)
I don't know why, but it causes exception (i've commented it).
well Releasing a NULL object ;)
ChangeLog:
- wine/dlls/dmusic/dmusic_private.h: added some new structs
- wine/dlls/dmusic/dmusic_loader.c: load file
- wine/dlls/dmusic/dmusic_preformance.c: minor fix
- wine/dlls/dmusic/helper.c: new file with file loading functions
Regards, Raphael -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQE+9ctCp7NA3AmQTU4RAnTBAJ9rsoPKZWAzvofqiK2ENFqi6Ja73gCfTICO thCaWwcK4Qcria2lDYb2AFU= =TGgh -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
Indeed, good job! ;-)
;)
Also "fixed" a problem I've encountered while running 3DAudio.exe (from SDK). One of the latest patches added this clause:
if (!ppDirectSound) IDirectSound_Release(*ppDirectSound);
well, seem another christian regression ;)
;-) I suppose the first regression is the crash when DirectSoundCreate failed when no driver is selected in the config file... :-) In that case, I was thinking to myself if we should be able to create DirectPerformance or DirectMusic objects or not. If so, Init and InitAudio functions should failed with an error. The error value could be DSERR_NODRIVER, E_NOINTERFACE or DSERR_UNINITIALIZED. Any idea?
Well i don't know the real behavior of dx (we need to test it on a real windows without a soundcard) but Unreal2 seems to need DMusic and DMmusicPerformance objects with and without sound support. For what i have tested it's only the DMmusicPerformance who can't return anything without dsound drivers (DSERR_NODRIVER).
Regards, Raphael