Two Different Version of DXMCI.DLL!?
Moderator: TTDPatch Moderators
Two Different Version of DXMCI.DLL!?
Their is a newer DLL found here http://home.amis.net/lkslavi/ , and an older one found on the TTDPatch homepage: http://www.ttdpatch.net/dxmci.zip. Is the one found on our homepage an older version of the first one, or are they two different DLLs?
well...newer...I'd rather classify it as different . As I explained in the readme, the name dxmci came to me when I was developing a library to translate MCI to DShow for Wing Commander 4 - only later I found out that dxmci already exists. But, it was fairly trivial to add TTD support in as well so I did it. But, I belive it has some problems. For some reason it's loosing notes on my system and the loading problem you mentioned - but I am not sure this is the problem with my library. I haven't checked it, but it might be that since Load function is a hack as well it somehow "forgets" to reset the music system. In any case...unfortunately I did not use my library while playing the game this summer - I ended up modifying Patchman's (your, right? dxmci to use a different DirectMusic Port so that I could load my soundfonts to the soundcard.
I'd like to know more about that. Using the MS synth never sounded very good in my ears, I'd like to use my SBLive soundfonts if I can.gulikoza wrote:In any case...unfortunately I did not use my library while playing the game this summer - I ended up modifying Patchman's (your, right? dxmci to use a different DirectMusic Port so that I could load my soundfonts to the soundcard.
But since I don't know anything about DirectMusic, I think you'll have to tell me what to change...
Exactly why I tried my DirectShow approach...
Here's a diff file, it's not nice, but it works for me . The DirectMusic pointers should probably be made global and released at the end. I also can't remember why I modified the volume function...perhaps it didn't work with other ports. The configuration program will enumerate all DMusic ports, then it will simply dump the GUID structure of the selected port to the cfg file which is read by dxmci at startup. Again, this is not the best way to do it but I wanted to do something simple to try if it works and didn't feel like modifying it later
Here's a diff file, it's not nice, but it works for me . The DirectMusic pointers should probably be made global and released at the end. I also can't remember why I modified the volume function...perhaps it didn't work with other ports. The configuration program will enumerate all DMusic ports, then it will simply dump the GUID structure of the selected port to the cfg file which is read by dxmci at startup. Again, this is not the best way to do it but I wanted to do something simple to try if it works and didn't feel like modifying it later
- Attachments
-
- DPortSelect.zip
- (93.89 KiB) Downloaded 192 times
-
- dxmci.diff
- (2.42 KiB) Downloaded 214 times
Thanks. I had some unspecified trouble installing the diff (all hunks failed with no indication why), but got it in nonetheless.
Then I found out that my compiler must be broken, no matter what I try, all compiled dlls hang TTD when loading. Bah.
In any case, I was going to try to have it always go through the Midi Mapper port, then people can choose the midi port simply in the control panel. That way there's no need to have a port setup app (which 15 times larger than the dll itself
[edit] Found the problem, gcc is setting the DLL entry point to the middle of some ASCII string, not DllMain@12, don't ask me why
Then I found out that my compiler must be broken, no matter what I try, all compiled dlls hang TTD when loading. Bah.
In any case, I was going to try to have it always go through the Midi Mapper port, then people can choose the midi port simply in the control panel. That way there's no need to have a port setup app (which 15 times larger than the dll itself
[edit] Found the problem, gcc is setting the DLL entry point to the middle of some ASCII string, not DllMain@12, don't ask me why
Here's a dxmci.dll version which will pick the Midi Mapper if it can, and use the software synthesizer otherwise. I'd be interested in hearing especially whether the volume control works, whether you get any music at all, and any other comments.
- Attachments
-
- dxmci_new.zip
- (2.95 KiB) Downloaded 249 times
tried it, seems to work with my standard midi thing installed, I'll try to download a synthesiser thingy tomorrow and check it with that too.
Creator of the Openttd Challenge Spinoff, Town Demand patch
After action reports: The path to riches, A dream of skyscrapers
After action reports: The path to riches, A dream of skyscrapers
Is this new DXMCI.DLL the new standard file, or an experimental version?
Development Projects Site:
http://www.as-st.com/ttd
Japan, American Transition, Planeset, and Project Generic Stations available there
http://www.as-st.com/ttd
Japan, American Transition, Planeset, and Project Generic Stations available there
Which output devices are selected in your midi mapper? (Not sure how to check that in XP; in 98 it's Control Panel->Multimedia->Midi)leroq wrote:This works fine on my SB Live with current KX driver and 140mb Fluid R3 soundfont. No MCI pauses between songs, but the TTD volume slider and levelmeter don't work (doesn't really matter though)
Control Panel -> Sound -> Audio
Creator of the Openttd Challenge Spinoff, Town Demand patch
After action reports: The path to riches, A dream of skyscrapers
After action reports: The path to riches, A dream of skyscrapers
Who is online
Users browsing this forum: No registered users and 15 guests