Skip to main content
Topic: Is there a way to play/convert directmusic sgt/dls files? (Read 11573 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Is there a way to play/convert directmusic sgt/dls files?

Reply #25
Oh, wait. There are no builds of dmrender/dmplay.
Could you provide some executables that one could try?
Hi mzso :) You can find prebuilt binaries up to date with the current master commit at https://ci.appveyor.com/project/frabert/libdmusic/build/artifacts

Also, you could use dmrender in a batch file and render the files sequentially, but you should be aware that the library is - right now - more geared towards being integrated in game engines and the like, so sgt files are meant to be looped, not rendered as a single file. As a result, you have to specify the length of the rendered section.

I am afraid I am not familiar with NOLF...
Thanks. I gave dmplay a try, by attempting to play the extracted audio files from said game. But I only got a crash at first. It seems like dmplay can't handle either spaces or non-ascii characters in the path. (which is quite sad in this day and age.)

Anyway. After I worked around that bug I got:
Code: [Select]
Loading segment... done.
Start playback...  done.
Begin rendering... Rendering started. Insert the next segment to be played, or 'exit' to end playback.
And it stays like this.
But I don't get any sound. Not looped or anything, nothing at all.

Re: Is there a way to play/convert directmusic sgt/dls files?

Reply #26
Could you elaborate on the issue with non-ascii characters? I am actually quite interested in supporting non-ascii paths on multiple platforms, so this is definitely a bug. Also, could you contact me via eMail (it's on my profile) in case you are interested in helping me with rendering those files? I am going to need the files for tests, but I do not have a game copy handy

Re: Is there a way to play/convert directmusic sgt/dls files?

Reply #27
Could you elaborate on the issue with non-ascii characters? I am actually quite interested in supporting non-ascii paths on multiple platforms, so this is definitely a bug. Also, could you contact me via eMail (it's on my profile) in case you are interested in helping me with rendering those files? I am going to need the files for tests, but I do not have a game copy handy
Hmm... At first I couldn't reproduce it, so it doesn't happen in all instances, but here's how I got a crash:


Re: Is there a way to play/convert directmusic sgt/dls files?

Reply #28
Update:
I sent an e-mail

Re: Is there a way to play/convert directmusic sgt/dls files?

Reply #29
Oh, wait. There are no builds of dmrender/dmplay.
Could you provide some executables that one could try?
Hi mzso :) You can find prebuilt binaries up to date with the current master commit at https://ci.appveyor.com/project/frabert/libdmusic/build/artifacts

Also, you could use dmrender in a batch file and render the files sequentially, but you should be aware that the library is - right now - more geared towards being integrated in game engines and the like, so sgt files are meant to be looped, not rendered as a single file. As a result, you have to specify the length of the rendered section.

I am afraid I am not familiar with NOLF...

frabert, How do you get this libdmusic software of yours to run? There are no executables?


Re: Is there a way to play/convert directmusic sgt/dls files?

Reply #31
Looks like we got a mention, and maybe I can add some more helpful information about that Winamp plugin I mentioned before.

https://www.youtube.com/watch?v=gVPxPBcVDzI

@Peter, who is also the author of foobar2000, made the MIDI plugin for Winamp under contract, and also cracked several obscure MIDI formats from old games back in the day.

He also made a DirectMusic plugin for Winamp. This DirectMusic plugin either played the audio without touching Winamp's output plugins or DSPs or visualization, or it used a really dirty hack that only worked for real-time playback. Basically, DirectMusic also let you pass it your own DirectSound object(s) for output instead of letting it create its own output devices, and he crafted a fake DirectSound output device that just passed sample data to the plugin and eventually to the player, and passed an instance of this device to DirectMusic. Dirty hack. Apparently it was also prone to crashes? But I'm not sure.

This new libdmusic thing is probably way closer to working on anything recent, or on anything other than Windows. It's also a likely step toward Wine supporting the DirectMusic APIs, and maybe writing a shim for running old games on newer Windows systems.

 
SimplePortal 1.0.0 RC1 © 2008-2019