FMOD Engine User Manual 2.03
FMOD is compiled using the following tools.
FMOD supports devices of the below architectures running Windows 10.
The provided libs are import libraries which require the corresponding DLL to be present at runtime. Substitute $ARCH your desired architecture from the 'Compatibility' list above.
Core API library
Studio API library (used in conjunction with the Core API library)
FMOD includes a media foundation plug-in codec that can optionally be included in your game.
This has been separated in order to support Windows N by default - the media foundation plug-in is NOT compatible with Windows N unless the user installs the appropriate Media Feature Pack for Windows.
If included, FMOD can use the codec to support WMA, ASF, WMV, M4A and MP4 files.
Some functionality inside of FMOD will require you set relevant capabilities in your manifest file.
All threads will default to FMOD_THREAD_AFFINITY_CORE_ALL, this is recommended due to the wide variety of PC hardware but can be customized with Thread_SetAttributes.
The relationship between FMOD platform agnostic thread priority and the platform specific values is as follows:
UWP supports the following port types when using FMOD_OUTPUTTYPE_WINSONIC:
The background music will bypass the operating system's virtual speaker processing.
Below is a usage demonstration with error checking omitted for brevity:
FMOD::ChannelGroup *bgm;
system->createChannelGroup("BGM", &bgm);
system->attachChannelGroupToPort(FMOD_PORT_TYPE_MUSIC, FMOD_PORT_INDEX_NONE, bgm);
FMOD::Channel* channel;
system->playSound(music, bgm, false, &channel);
Use this port to bypass the operating system's virtual speaker processing for non-diegetic sounds.
Below is a usage demonstration with error checking omitted for brevity:
FMOD::ChannelGroup *passthrough;
system->createChannelGroup("PASSTHROUGH", &passthrough);
system->attachChannelGroupToPort(FMOD_PORT_TYPE_PASSTHROUGH, FMOD_PORT_INDEX_NONE, passthrough);
FMOD::Channel *channel;
system->playSound(your_non_diegetic_sound, passthrough, false, &channel);
Even after adding support for audio recording to your application manifest, you must still make sure to call System::recordStart in the UI thread so the system can display a warning to the user. Calling from any other thread will return FMOD_ERR_OUTPUT_INIT.
FMOD Studio will not be able to connect to the engine if they are both running on the same machine. This is a restriction imposed by the Windows Universal Application environment.
This section is a companion for the CPU Performance white paper and serves as a quick reference of facts targeting this platform.
Each compression format provided in FMOD has a reason for being included, the below list will detail our recommendations for this platform. Formats listed as primary are considering the best choice, secondary formats should only be considered if the primary doesn't satisfy your requirements.
To give developers an idea about the costs of a particular format we provide synthetic benchmark results. These results are based on simple usage of the Studio API using recommended configuration settings.