Addon Development for FMOD Studio

Hi everybody,
I am working on an addon to make use of X-Plane 11’s new feature to use FMOD with aircraft. What this addon is meant to do is to convert soundpacks designed for Microsoft Flight Simulator X and convert them into an FMOD Project. These soundpacks are a folder containing sound files and a .CFG file. To do that, the addon would have to read the .CFG file and import the audio files into the project.

I tried to find documentation and tutorials on script and plugin development for FMOD Studio, but all I saw was script development exclusive to connecting FMOD with Unity, and those specific to adding effects to sounds already added into the project. I also failed to find out how to add plugins to the overall project. For example, the only scripts I am able to load are a few examples provided by FMOD. I also got mixed results on what programming language to use (some state javascript while others allow C or C++ as well).

Is there a way I can learn to create and import an addon that can
1: work within FMOD Studio independent of Unity or any other game engine?
2: import folders and sort its respective audio files?
3: create events and add audio files to that particular event?

I just want to simplify the workflow in converting a series of audio files into a single project.

Hi Zachary,

The differing languages are for different aspects of FMOD.

• FMOD’s low-level API works with C/C# and C++. There is also Javascript for when using FMOD for HTML5 game development.
• FMOD Studio’s Unity integration uses C#
• FMOD Studio’s tool scripting API uses Javascript.

You will need to use the tool scripting API for what you wish to achieve. You will need a blank FMOD Studio project (create a new one and save) in order to copy before you run your addon scripts.

Things to take into consideration would be to use paths to create folders, creating events does not include tracks (only the master track will be included) so you will need to create (and name) tracks for each event created, and how you wish these audio files to be placed in the event (such as single instrument, multi instrument, etc.). Take a look into “studio.project.create()” in our tool scripting API documentation.

https://www.fmod.com/resources/documentation-studio?page=scripting-terminal-reference.html

This will all be in Javascript. You can run these scripts without launching the FMOD Studio tool through the command line:

https://www.fmod.com/resources/documentation-studio?page=advanced-topics.html#fmod-studio-command-line-tool

It might be a good idea to test your commands through the Console window in FMOD Studio. This can show information that will help you with your script creation, in particular for complex aspects of scripting such as relationships and owners for created entities.

You can also take a look in the “Scripts” folder in your installation folder for some examples to go off.

Thanks,
Richard

2 Likes

Hi Richard,
Thank you for your reply. I now understand the basic principles of scripting for FMOD Studio. While the link you posted discussed the basics of API scripting, is there any kind of documentation listing out all of the possible API scripts for FMOD Studio? For example, Blender 3D has documentation listing out all of the Python scripts for its program right here: Blender Documentation Contents — Blender 2.79.0 855d2955c49 - API documentation. Is there something similar for FMOD Studio?

Thanks,
Zachary

Hi Zachary,

We list all of the possible calls and function for our scripting API in the scripting & terminal reference linked above:

https://www.fmod.com/resources/documentation-studio?page=scripting-terminal-reference.html

If there’s anything missing or you’re not understanding, please let us know.

Thanks,
Richard

1 Like