In about two years i would like to get an audio production software done. Its main target is to be cross platform.
i’ve read through the forum and looked at the examples. A few questions ocured:
1. why do the examples not open any other audio driver then alsa by default. (eg if alsa is blocked by esd, it won’t try to open esd, and fails instead), and it seems not to support dmix.
2. why is the interface not cross platform? i tryed to compile the same example on different platforms and it seems the headers are different.
3. I saw fmod is mainly targeted to be used by games (what tend to eat giggabytes of memory and ghz of cpu), will it acualy have the power to give me a low latency audio backend costing no cpu? ( i saw the last version not even had latencys below 500ms)
4. what are the advantages over other librarys like portaudio/sdl
- aep asked 11 years ago
- There is about 2 or 3 lines of code to try different output modes, its not really that hard.
- the header is different? fmod.h/fmod.hpp is identical on [i:30eeab63]every[/i:30eeab63] single platform. There are -no- differences in the API.
- Your presumption is not correct, fmod is a low level interface used by all sorts of applications, and supports things like ASIO, recording, spectrum analysis etc. These are not things you normally use in games.
- FMOD has a very powerful dsp network dataflow engine for submixing/effects/chaining/synthesis/pan matrices, you can do virtually anything you want with it. It also supports about 20 file formats plus plugins, and a bunch of other features but this is already listed in the fmod feature list. Portaudio/SDL do nothing like this. Portaudio especially is nothing but a way to get a stream to the soundcard. FMOD is a full featured audio api.
thanks for the fast answer.
i recently found out how to read the documentation (I’m not very happy with a chm file but at least the content is good). so i will search for the functions you mentioned. after the weekend i will create a test application to see how fmod fits the current state of the project. i see it’s very powerfull, so it might replace some of my current parts, like dsp chaining.
the not cross compatible part was about channel muting i think (ocured as i tryed to compile the linux netstream example on windows), i will reproduce it as soon as i am at work. (after christmas propably 😉
You’re talking about input/output (keyboard) and display, fmod is not a display/keyboard etc library so it has [i:11uyl5j7]example[/i:11uyl5j7] code that runs and is specific to the platform it is on. This makes sense if you have to set an output mode that is specific to a platform, you can’t exactly go setting the output mode to DSOUND if it is linux.
A big bunch of ifdefs in every example also makes the code ugly and hard to understand.
of course i was not talking about anything else then fmod api itself.
it dosn’t make sense to talk about input/output and api headers the same time. the stdin/out code of the examples is quiet portable by the way as it only uses std afaik.
anyway, i will reproduce asap.
Please login first to submit.