Firelight Technologies FMOD Studio API
What's New in 1.03
This section describes the major features introduced in the 1.03 release. See the Detailed Revision History for information regarding each patch release.
Threading Changes
FMOD Studio has support for multi-threading in both low-level and Studio API. The Studio API supports issuing commands from any number of threads, and by default now does all execution in its own thread. The Low Level API now supports thread safety by default. FMOD Studio and Low Level threading and thread safety can be disabled with new initialization flags. See the Threads and Thread Safety section for more information.
Handle and Studio API Changes
As part of the threading changes, the Studio API handle system has been changed. The Studio C++ API now matches the Low level C++ API which has a pointer-based system. This means existing code will have to change from directly using Studio types to retrieving and calling API with a pointer style. The underlying handle system has been rewritten to be thread-safe and more efficient. This change also means that the C API now properly deals with invalid handles safely, and that the C API and C++ API types are equivalent and can be cast between each other. See the Handle System for more information.
Recording and Playback
All Studio API calls can be recorded to a file and played back at a later time. This is intended for debug functionality. See Studio::System::startRecordCommands, Studio::System::stopRecordCommands and Studio::System::playbackCommands for more details.
Studio Enumeration Functions
FMOD Studio enumeration functions have been changed to a getCount/getList style which is thread-safe and accessible by the C interface. More functions have been added to enumerate banks, events, and mixer strips. See Studio::System::getBankCount, Studio::System::getBankList, Studio::Bank::getEventCount, Studio::Bank::getEventList, Studio::Bank::getMixerStripCount, Studio::Bank::getMixerStripList, Studio::EventDescription::getInstanceCount, and Studio::EventDescription::getInstanceList.
Events in multiple banks
FMOD Studio now supports duplicate events in multiple banks. Studio resources are reference counted and loading will skip the event data that has already been loaded in an existing bank.
Error Callback
All Low Level API and Studio API errors can now be intercepted by registering a user callback. The callback includes the function that generated the error, the instance data, and the optional function parameter arguments. This is particularly useful for Studio API commands which have been deferred to run on the Studio asynchronous thread. See System::setCallback for more information.
PS Vita support
FMOD Studio now officially supports PS Vita.
Windows Store Applications support
FMOD Studio now officially supports Windows Store Applications for both x86 and ARM devices.
Additional Studio features
FMOD Studio now supports sounds placed on transition timelines, transition marker probability, and loop region probability.
Documentation
The Studio API documentation has now improved and extended.