Basic FMOD Ex support (patch included)

Discuss anything ZDoom-related that doesn't fall into one of the other categories.
User avatar
k0da
Posts: 54
Joined: Thu Jan 25, 2007 8:39 pm

Post by k0da »

Try applying it under src/sound/. This is the first patch I've ever created and was made using TortiseSVN, so I can't really give any more advice. Also keep in mind that at this stage my patches are experimental and really only intended for programmers. For instance, I haven't bothered patching the VC++ project and makefiles or even bothered to mention to remove fmodsound.cpp from the build process.

When I next put up some patches, I'll try and make them easier for non-programmers. I can't make any promises though. Neil has sent me his work on the Mac port, so that takes high priority.

Changes since last patch:
- 3D sound
- Fixes for Linux and Mac OS X
- Removal of internal FLAC loader in anticipation of new FMOD Ex release

Mini-todo for next patch:
- Examine 3D code for bugs
- Implement speaker selection for 3D software output
- Fix MUS playback on Mac OS X (hopefully this fix will stop music stuttering for Nash too)
- Test under Linux if I can be bothered installing it
- Update projects and makefiles if I have time
Lemonzest
Posts: 327
Joined: Tue Oct 12, 2004 3:19 pm
Location: On your boards, trolling your threads!!!

Post by Lemonzest »

could we get a new build of this then with the new changes (ed sound etc?) thanks.
User avatar
k0da
Posts: 54
Joined: Thu Jan 25, 2007 8:39 pm

Post by k0da »

Yes, but it will have to wait until the new version of FMOD Ex is out and I've finished the things I'm working at the moment. The FMOD guys make new releases every few weeks, so it shouldn't be too long.
User avatar
Hirogen2
Posts: 2033
Joined: Sat Jul 19, 2003 6:15 am
Operating System Version (Optional): Tumbleweed x64
Graphics Processor: Intel with Vulkan/Metal Support
Location: Central Germany
Contact:

Post by Hirogen2 »

I like the eawpats for timidity best :)
skadoomer
Posts: 1026
Joined: Fri Sep 05, 2003 12:49 pm

Post by skadoomer »

FMOD Ex 4.06.22 (STABLE). Released 22nd June 2007

Was this the version you where waiting for k0da? Oh, if your looking for mac testing there are several in our art department from imacs to mac book pros that i can use for testing on the mac side when ready.
User avatar
k0da
Posts: 54
Joined: Thu Jan 25, 2007 8:39 pm

Post by k0da »

No, because they haven't updated FLAC in the stable branch. I haven't tested the development branch on Windows yet, but they didn't appear to have updated FLAC on the Mac dev version I tried. I don't have a net connection at the moment, so I haven't got around to hassling the FMOD guys about this. I will download the newer dev releases and try them at home.

Testing on more Macs would be great, but I need to try and resolve some issues with the Mac version before I put up test builds. The PowerPC version is crashing and mouse looking is buggy for instance. My house mate has a G3 which I will use for PowerPC debugging once he's re-installed OS X on it.
earbenT
Posts: 16
Joined: Mon Jan 29, 2007 12:43 pm

Post by earbenT »

My primary machine is an iBook G4 in case you'd like me to test your builds as well.
User avatar
GuntherDW
Posts: 40
Joined: Tue Jul 13, 2004 11:17 pm
Location: Belgium, Antwerp

Post by GuntherDW »

hmm, i applied your patch to the latest SVN (r545) , (i had to do it all manually), and i get this error

Code: Select all

Compiling fmodexsound.cpp:                                            [ERROR]  
g++ -fno-rtti -pipe -Wall -Wno-unused -fno-strict-aliasing -O2 -fomit-frame-pointer -MMD -DHAVE_FILELENGTH -D__forceinline=inline -I/usr/local/include/fmodex/ -Izlib -IFLAC -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp -DNEED_STRUPR -Isrc/ -Isrc/g_doom/ -Isrc/g_heretic/ -Isrc/g_hexen/ -Isrc/g_raven/ -Isrc/g_shared/ -Isrc/g_strife/ -Isrc/oplsynth/ -Isrc/sound/ -Isrc/sdl/ -Isrc/textures/ -Isrc/thingdef/ -DUSEASM=1 -DNDEBUG -o releaseobj/fmodexsound.o -c src/sound/fmodexsound.cpp
================================================================================In file included from /usr/local/include/fmodex/fmod.hpp:11,
                 from src/sound/fmodexsound.h:5,
                 from src/sound/fmodexsound.cpp:38:
/usr/local/include/fmodex/fmod.h:40:1: warning: "__forceinline" redefined
<command line>:1:1: warning: this is the location of the previous definition
src/sound/fmodexsound.cpp: In constructor ‘FMODExSoundRenderer::FMODExSoundRenderer()’:
src/sound/fmodexsound.cpp:201: warning: cannot pass objects of non-POD type ‘class FString’ through ‘...’; call will abort at runtime
src/sound/fmodexsound.cpp:201: warning: format ‘%s’ expects type ‘char*’, but argument 2 has type ‘int’
src/sound/fmodexsound.cpp:253: error: ‘FMOD_INIT_DISABLESOFTWARE’ was not declared in this scope
src/sound/fmodexsound.cpp: In member function ‘virtual void FMODExSoundRenderer::UpdateSoundParams(long int, int, int, int)’:
src/sound/fmodexsound.cpp:515: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long int’
src/sound/fmodexsound.cpp: In member function ‘virtual void FMODExSoundRenderer::PrintStatus()’:
src/sound/fmodexsound.cpp:602: warning: cannot pass objects of non-POD type ‘class FString’ through ‘...’; call will abort at runtime
src/sound/fmodexsound.cpp:602: warning: format ‘%s’ expects type ‘char*’, but argument 2 has type ‘int’
src/sound/fmodexsound.cpp:603: warning: cannot pass objects of non-POD type ‘class FString’ through ‘...’; call will abort at runtime
src/sound/fmodexsound.cpp:603: warning: format ‘%s’ expects type ‘char*’, but argument 3 has type ‘int’
src/sound/fmodexsound.cpp: In member function ‘virtual void FMODExSoundRenderer::PrintDriversList()’:
src/sound/fmodexsound.cpp:640: warning: cannot pass objects of non-POD type ‘class FString’ through ‘...’; call will abort at runtime
src/sound/fmodexsound.cpp:640: warning: format ‘%s’ expects type ‘char*’, but argument 3 has type ‘int’
src/sound/fmodexsound.cpp: In member function ‘void FMODExSoundRenderer::DoLoad(void**, sfxinfo_t*)’:
src/sound/fmodexsound.cpp:707: warning: operation on ‘extraFlags’ may be undefined
make: *** [releaseobj/fmodexsound.o] Error 1


is this normal or should i wait for a newer patch?
User avatar
k0da
Posts: 54
Joined: Thu Jan 25, 2007 8:39 pm

Post by k0da »

I've fixed that, but I don't want to put any time frame on the release of the next patch as I have little free time ATM.
Lemonzest
Posts: 327
Joined: Tue Oct 12, 2004 3:19 pm
Location: On your boards, trolling your threads!!!

Re: Basic FMOD Ex support (patch included)

Post by Lemonzest »

any news on this? its been a while.
earbenT
Posts: 16
Joined: Mon Jan 29, 2007 12:43 pm

Re: Basic FMOD Ex support (patch included)

Post by earbenT »

More than likely not, but we can always hope! Keep us posted, k0da.
User avatar
k0da
Posts: 54
Joined: Thu Jan 25, 2007 8:39 pm

Re: Basic FMOD Ex support (patch included)

Post by k0da »

Lemonzest wrote:any news on this? its been a while.
Attachments
ReverbEd
ReverbEd
reverbed.png (9.86 KiB) Viewed 1009 times
User avatar
Xaser
 
 
Posts: 10774
Joined: Sun Jul 20, 2003 12:15 pm
Contact:

Re: Basic FMOD Ex support (patch included)

Post by Xaser »

Ooh, reverb settings? I like... ;P


Anyhow, I wonder how long until this has a chance of being imported into standard ZDoom. If anything I'd like to see resonant filters properly used... the most complex .IT modules fail in ZDoom currently and I'm a module freak so any improvement is a good thing, in my opinion.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49229
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Basic FMOD Ex support (patch included)

Post by Graf Zahl »

MOD playback in FMOD sucks really badly. Some time ago I found out that it was causing even worse problems on my system that went far beyond acceptable. So I investigated into alternatives, found ModPlug and for testing purposes added it to GZDoom. Imagine my surprise when I found that 3 songs I really liked but had shitty quality in ZDoom (due to FMOD) suddenly sounded much, much better! That's why I added this code to the GZDoom SVN as an alternative to play MODs.

I offered this code to Randy but he declined and instead suggested to contact the FMOD developers to have it fixed.
Post Reply

Return to “General”