gitextract_oki6utj3/ ├── .clang-format ├── .gitattributes ├── .github/ │ ├── actions/ │ │ ├── create-android-plugin/ │ │ │ └── action.yaml │ │ └── create-native-build/ │ │ └── action.yaml │ └── workflows/ │ ├── check_pr.yml │ └── release.yml ├── .gitignore ├── .gitmodules ├── .readthedocs.yml ├── Android.mk ├── LICENSE ├── README.md ├── SConstruct ├── android-plugin/ │ ├── .gitignore │ ├── build.gradle.kts │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ ├── gradlew │ ├── gradlew.bat │ ├── library/ │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── kotlin/ │ │ │ └── com/ │ │ │ └── utopiarise/ │ │ │ └── godot/ │ │ │ └── fmod/ │ │ │ └── android/ │ │ │ └── plugin/ │ │ │ └── FmodPlugin.kt │ │ └── resources/ │ │ └── fmod-android-license.txt │ └── settings.gradle.kts ├── demo/ │ ├── .gitattributes │ ├── .gitignore │ ├── .gutconfig.json │ ├── addons/ │ │ ├── fmod/ │ │ │ ├── .gitignore │ │ │ ├── FmodAndroidExportPlugin.gd │ │ │ ├── FmodAndroidExportPlugin.gd.uid │ │ │ ├── FmodManager.gd │ │ │ ├── FmodManager.gd.uid │ │ │ ├── FmodPlugin.gd │ │ │ ├── FmodPlugin.gd.uid │ │ │ ├── fmod.gdextension │ │ │ ├── fmod.gdextension.uid │ │ │ ├── icons/ │ │ │ │ ├── bank_icon.svg.import │ │ │ │ ├── bus_icon.svg.import │ │ │ │ ├── c_parameter_icon.svg.import │ │ │ │ ├── d_parameter_icon.svg.import │ │ │ │ ├── event_icon.svg.import │ │ │ │ ├── fmod_emitter.png.import │ │ │ │ ├── fmod_icon.svg.import │ │ │ │ ├── snapshot_icon.svg.import │ │ │ │ └── vca_icon.svg.import │ │ │ ├── libs/ │ │ │ │ ├── android/ │ │ │ │ │ └── arm64/ │ │ │ │ │ └── CopyPast_Fmod_Libs_Here.txt │ │ │ │ ├── iOS/ │ │ │ │ │ └── CopyPast_Fmod_Libs_Here.txt │ │ │ │ ├── linux/ │ │ │ │ │ └── CopyPast_Fmod_Libs_Here.txt │ │ │ │ ├── macos/ │ │ │ │ │ ├── CopyPast_Fmod_Libs_Here.txt │ │ │ │ │ ├── libGodotFmod.macos.editor.framework/ │ │ │ │ │ │ └── Info.plist │ │ │ │ │ ├── libGodotFmod.macos.template_debug.framework/ │ │ │ │ │ │ └── Info.plist │ │ │ │ │ └── libGodotFmod.macos.template_release.framework/ │ │ │ │ │ └── Info.plist │ │ │ │ └── windows/ │ │ │ │ └── CopyPast_Fmod_Libs_Here.txt │ │ │ ├── plugin.cfg │ │ │ └── tool/ │ │ │ ├── FmodBankDatabase.gd │ │ │ ├── FmodBankDatabase.gd.uid │ │ │ ├── inspectors/ │ │ │ │ ├── FmodBankLoaderPropertyInspectorPlugin.gd │ │ │ │ ├── FmodBankLoaderPropertyInspectorPlugin.gd.uid │ │ │ │ ├── FmodEmitterPropertyInspectorPlugin.gd │ │ │ │ └── FmodEmitterPropertyInspectorPlugin.gd.uid │ │ │ ├── performances/ │ │ │ │ ├── PerformancesDisplay.gd │ │ │ │ └── PerformancesDisplay.gd.uid │ │ │ ├── property_editors/ │ │ │ │ ├── FmodBankPathEditorProperty.gd │ │ │ │ ├── FmodBankPathEditorProperty.gd.uid │ │ │ │ ├── FmodBankPathsPropertyEditorUi.tscn │ │ │ │ ├── FmodEventEditorProperty.gd │ │ │ │ ├── FmodEventEditorProperty.gd.uid │ │ │ │ ├── FmodEventEditorProperty.tscn │ │ │ │ ├── FmodGuidAndPathPropertyEditorUi.gd │ │ │ │ ├── FmodGuidAndPathPropertyEditorUi.gd.uid │ │ │ │ ├── FmodGuidAndPathPropertyEditorUi.tscn │ │ │ │ ├── FmodPathEditorProperty.gd │ │ │ │ ├── FmodPathEditorProperty.gd.uid │ │ │ │ └── FmodPathEditorProperty.tscn │ │ │ └── ui/ │ │ │ ├── EventParametersDisplay.gd │ │ │ ├── EventParametersDisplay.gd.uid │ │ │ ├── EventParametersDisplay.tscn │ │ │ ├── EventParametersWindow.tscn │ │ │ ├── EventPlayControls.gd │ │ │ ├── EventPlayControls.gd.uid │ │ │ ├── FmodBankExplorer.gd │ │ │ ├── FmodBankExplorer.gd.uid │ │ │ ├── FmodBankExplorer.tscn │ │ │ ├── ParameterDisplay.gd │ │ │ ├── ParameterDisplay.gd.uid │ │ │ ├── ParameterDisplay.tscn │ │ │ └── TestFmodBankExplorer.tscn │ │ └── gut/ │ │ ├── GutScene.gd │ │ ├── GutScene.gd.uid │ │ ├── GutScene.tscn │ │ ├── LICENSE.md │ │ ├── UserFileViewer.gd │ │ ├── UserFileViewer.gd.uid │ │ ├── UserFileViewer.tscn │ │ ├── autofree.gd │ │ ├── autofree.gd.uid │ │ ├── awaiter.gd │ │ ├── awaiter.gd.uid │ │ ├── cli/ │ │ │ ├── change_project_warnings.gd │ │ │ ├── change_project_warnings.gd.uid │ │ │ ├── gut_cli.gd │ │ │ ├── gut_cli.gd.uid │ │ │ ├── optparse.gd │ │ │ └── optparse.gd.uid │ │ ├── collected_script.gd │ │ ├── collected_script.gd.uid │ │ ├── collected_test.gd │ │ ├── collected_test.gd.uid │ │ ├── comparator.gd │ │ ├── comparator.gd.uid │ │ ├── compare_result.gd │ │ ├── compare_result.gd.uid │ │ ├── diff_formatter.gd │ │ ├── diff_formatter.gd.uid │ │ ├── diff_tool.gd │ │ ├── diff_tool.gd.uid │ │ ├── double_templates/ │ │ │ ├── function_template.txt │ │ │ ├── init_template.txt │ │ │ └── script_template.txt │ │ ├── double_tools.gd │ │ ├── double_tools.gd.uid │ │ ├── doubler.gd │ │ ├── doubler.gd.uid │ │ ├── dynamic_gdscript.gd │ │ ├── dynamic_gdscript.gd.uid │ │ ├── editor_caret_context_notifier.gd │ │ ├── editor_caret_context_notifier.gd.uid │ │ ├── error_tracker.gd │ │ ├── error_tracker.gd.uid │ │ ├── fonts/ │ │ │ └── OFL.txt │ │ ├── gui/ │ │ │ ├── EditorRadioButton.tres │ │ │ ├── GutBottomPanel.gd │ │ │ ├── GutBottomPanel.gd.uid │ │ │ ├── GutBottomPanel.tscn │ │ │ ├── GutControl.gd │ │ │ ├── GutControl.gd.uid │ │ │ ├── GutControl.tscn │ │ │ ├── GutEditorWindow.gd │ │ │ ├── GutEditorWindow.gd.uid │ │ │ ├── GutEditorWindow.tscn │ │ │ ├── GutLogo.tscn │ │ │ ├── GutRunner.gd │ │ │ ├── GutRunner.gd.uid │ │ │ ├── GutRunner.tscn │ │ │ ├── GutSceneTheme.tres │ │ │ ├── MinGui.tscn │ │ │ ├── NormalGui.tscn │ │ │ ├── OutputText.gd │ │ │ ├── OutputText.gd.uid │ │ │ ├── OutputText.tscn │ │ │ ├── ResizeHandle.gd │ │ │ ├── ResizeHandle.gd.uid │ │ │ ├── ResizeHandle.tscn │ │ │ ├── ResultsTree.gd │ │ │ ├── ResultsTree.gd.uid │ │ │ ├── ResultsTree.tscn │ │ │ ├── RunAtCursor.gd │ │ │ ├── RunAtCursor.gd.uid │ │ │ ├── RunAtCursor.tscn │ │ │ ├── RunExternally.gd │ │ │ ├── RunExternally.gd.uid │ │ │ ├── RunExternally.tscn │ │ │ ├── RunResults.gd │ │ │ ├── RunResults.gd.uid │ │ │ ├── RunResults.tscn │ │ │ ├── Settings.tscn │ │ │ ├── ShellOutOptions.gd │ │ │ ├── ShellOutOptions.gd.uid │ │ │ ├── ShellOutOptions.tscn │ │ │ ├── ShortcutButton.gd │ │ │ ├── ShortcutButton.gd.uid │ │ │ ├── ShortcutButton.tscn │ │ │ ├── ShortcutDialog.gd │ │ │ ├── ShortcutDialog.gd.uid │ │ │ ├── ShortcutDialog.tscn │ │ │ ├── about.gd │ │ │ ├── about.gd.uid │ │ │ ├── about.tscn │ │ │ ├── editor_globals.gd │ │ │ ├── editor_globals.gd.uid │ │ │ ├── gut_config_gui.gd │ │ │ ├── gut_config_gui.gd.uid │ │ │ ├── gut_gui.gd │ │ │ ├── gut_gui.gd.uid │ │ │ ├── gut_logo.gd │ │ │ ├── gut_logo.gd.uid │ │ │ ├── gut_user_preferences.gd │ │ │ ├── gut_user_preferences.gd.uid │ │ │ ├── option_maker.gd │ │ │ ├── option_maker.gd.uid │ │ │ ├── panel_controls.gd │ │ │ ├── panel_controls.gd.uid │ │ │ ├── run_from_editor.gd │ │ │ ├── run_from_editor.gd.uid │ │ │ └── run_from_editor.tscn │ │ ├── gut.gd │ │ ├── gut.gd.uid │ │ ├── gut_cmdln.gd │ │ ├── gut_cmdln.gd.uid │ │ ├── gut_config.gd │ │ ├── gut_config.gd.uid │ │ ├── gut_fonts.gd │ │ ├── gut_fonts.gd.uid │ │ ├── gut_loader.gd │ │ ├── gut_loader.gd.uid │ │ ├── gut_loader_the_scene.tscn │ │ ├── gut_menu.gd │ │ ├── gut_menu.gd.uid │ │ ├── gut_plugin.gd │ │ ├── gut_plugin.gd.uid │ │ ├── gut_to_move.gd │ │ ├── gut_to_move.gd.uid │ │ ├── gut_tracked_error.gd │ │ ├── gut_tracked_error.gd.uid │ │ ├── gut_vscode_debugger.gd │ │ ├── gut_vscode_debugger.gd.uid │ │ ├── hook_script.gd │ │ ├── hook_script.gd.uid │ │ ├── inner_class_registry.gd │ │ ├── inner_class_registry.gd.uid │ │ ├── input_factory.gd │ │ ├── input_factory.gd.uid │ │ ├── input_sender.gd │ │ ├── input_sender.gd.uid │ │ ├── junit_xml_export.gd │ │ ├── junit_xml_export.gd.uid │ │ ├── lazy_loader.gd │ │ ├── lazy_loader.gd.uid │ │ ├── logger.gd │ │ ├── logger.gd.uid │ │ ├── menu_manager.gd.uid │ │ ├── method_maker.gd │ │ ├── method_maker.gd.uid │ │ ├── one_to_many.gd │ │ ├── one_to_many.gd.uid │ │ ├── orphan_counter.gd │ │ ├── orphan_counter.gd.uid │ │ ├── parameter_factory.gd │ │ ├── parameter_factory.gd.uid │ │ ├── parameter_handler.gd │ │ ├── parameter_handler.gd.uid │ │ ├── plugin.cfg │ │ ├── printers.gd │ │ ├── printers.gd.uid │ │ ├── result_exporter.gd │ │ ├── result_exporter.gd.uid │ │ ├── script_parser.gd │ │ ├── script_parser.gd.uid │ │ ├── signal_watcher.gd │ │ ├── signal_watcher.gd.uid │ │ ├── source_code_pro.fnt │ │ ├── spy.gd │ │ ├── spy.gd.uid │ │ ├── strutils.gd │ │ ├── strutils.gd.uid │ │ ├── stub_params.gd │ │ ├── stub_params.gd.uid │ │ ├── stubber.gd │ │ ├── stubber.gd.uid │ │ ├── summary.gd │ │ ├── summary.gd.uid │ │ ├── test.gd │ │ ├── test.gd.uid │ │ ├── test_collector.gd │ │ ├── test_collector.gd.uid │ │ ├── thing_counter.gd │ │ ├── thing_counter.gd.uid │ │ ├── utils.gd │ │ ├── utils.gd.uid │ │ ├── version_conversion.gd │ │ ├── version_conversion.gd.uid │ │ ├── version_numbers.gd │ │ ├── version_numbers.gd.uid │ │ ├── warnings_manager.gd │ │ └── warnings_manager.gd.uid │ ├── appstore.png.import │ ├── assets/ │ │ ├── Banks/ │ │ │ ├── Dialogue_CN.bank │ │ │ ├── Dialogue_EN.bank │ │ │ ├── Dialogue_JP.bank │ │ │ ├── Master.bank │ │ │ ├── Master.strings.bank │ │ │ ├── Music.bank │ │ │ ├── SFX.bank │ │ │ └── Vehicles.bank │ │ ├── Music/ │ │ │ ├── License.txt │ │ │ ├── jingles_SAX07.ogg │ │ │ └── jingles_SAX07.ogg.import │ │ └── Sounds/ │ │ ├── beltHandle1.ogg │ │ ├── beltHandle1.ogg.import │ │ ├── beltHandle2.ogg │ │ ├── beltHandle2.ogg.import │ │ ├── bookClose.ogg │ │ ├── bookClose.ogg.import │ │ ├── bookFlip1.ogg │ │ ├── bookFlip1.ogg.import │ │ ├── bookFlip2.ogg │ │ ├── bookFlip2.ogg.import │ │ ├── bookFlip3.ogg │ │ ├── bookFlip3.ogg.import │ │ ├── bookOpen.ogg │ │ ├── bookOpen.ogg.import │ │ ├── bookPlace1.ogg │ │ ├── bookPlace1.ogg.import │ │ ├── bookPlace2.ogg │ │ ├── bookPlace2.ogg.import │ │ ├── bookPlace3.ogg │ │ ├── bookPlace3.ogg.import │ │ ├── chop.ogg │ │ ├── chop.ogg.import │ │ ├── cloth1.ogg │ │ ├── cloth1.ogg.import │ │ ├── cloth2.ogg │ │ ├── cloth2.ogg.import │ │ ├── cloth3.ogg │ │ ├── cloth3.ogg.import │ │ ├── cloth4.ogg │ │ ├── cloth4.ogg.import │ │ ├── clothBelt.ogg │ │ ├── clothBelt.ogg.import │ │ ├── clothBelt2.ogg │ │ ├── clothBelt2.ogg.import │ │ ├── creak1.ogg │ │ ├── creak1.ogg.import │ │ ├── creak2.ogg │ │ ├── creak2.ogg.import │ │ ├── creak3.ogg │ │ ├── creak3.ogg.import │ │ ├── doorClose_1.ogg │ │ ├── doorClose_1.ogg.import │ │ ├── doorClose_2.ogg │ │ ├── doorClose_2.ogg.import │ │ ├── doorClose_3.ogg │ │ ├── doorClose_3.ogg.import │ │ ├── doorClose_4.ogg │ │ ├── doorClose_4.ogg.import │ │ ├── doorOpen_1.ogg │ │ ├── doorOpen_1.ogg.import │ │ ├── doorOpen_2.ogg │ │ ├── doorOpen_2.ogg.import │ │ ├── drawKnife1.ogg │ │ ├── drawKnife1.ogg.import │ │ ├── drawKnife2.ogg │ │ ├── drawKnife2.ogg.import │ │ ├── drawKnife3.ogg │ │ ├── drawKnife3.ogg.import │ │ ├── dropLeather.ogg │ │ ├── dropLeather.ogg.import │ │ ├── footstep00.ogg │ │ ├── footstep00.ogg.import │ │ ├── footstep01.ogg │ │ ├── footstep01.ogg.import │ │ ├── footstep02.ogg │ │ ├── footstep02.ogg.import │ │ ├── footstep03.ogg │ │ ├── footstep03.ogg.import │ │ ├── footstep04.ogg │ │ ├── footstep04.ogg.import │ │ ├── footstep05.ogg │ │ ├── footstep05.ogg.import │ │ ├── footstep06.ogg │ │ ├── footstep06.ogg.import │ │ ├── footstep07.ogg │ │ ├── footstep07.ogg.import │ │ ├── footstep08.ogg │ │ ├── footstep08.ogg.import │ │ ├── footstep09.ogg │ │ ├── footstep09.ogg.import │ │ ├── handleCoins.ogg │ │ ├── handleCoins.ogg.import │ │ ├── handleCoins2.ogg │ │ ├── handleCoins2.ogg.import │ │ ├── handleSmallLeather.ogg │ │ ├── handleSmallLeather.ogg.import │ │ ├── handleSmallLeather2.ogg │ │ ├── handleSmallLeather2.ogg.import │ │ ├── knifeSlice.ogg │ │ ├── knifeSlice.ogg.import │ │ ├── knifeSlice2.ogg │ │ ├── knifeSlice2.ogg.import │ │ ├── licence.txt │ │ ├── metalClick.ogg │ │ ├── metalClick.ogg.import │ │ ├── metalLatch.ogg │ │ ├── metalLatch.ogg.import │ │ ├── metalPot1.ogg │ │ ├── metalPot1.ogg.import │ │ ├── metalPot2.ogg │ │ ├── metalPot2.ogg.import │ │ ├── metalPot3.ogg │ │ └── metalPot3.ogg.import │ ├── default_env.tres │ ├── export_presets.cfg │ ├── high_level_2D/ │ │ ├── ChangeColor.gd │ │ ├── ChangeColor.gd.uid │ │ ├── ChooseLanguageButton.gd │ │ ├── ChooseLanguageButton.gd.uid │ │ ├── Emitter.gd │ │ ├── Emitter.gd.uid │ │ ├── FmodNodesTest.tscn │ │ ├── Kinematic.gd │ │ ├── Kinematic.gd.uid │ │ ├── SayWelcomeButton.gd │ │ ├── SayWelcomeButton.gd.uid │ │ ├── footstep.tscn │ │ ├── sin_move.gd │ │ └── sin_move.gd.uid │ ├── high_level_3D/ │ │ ├── FPSCounter.gd │ │ ├── FPSCounter.gd.uid │ │ ├── World.tscn │ │ ├── environment/ │ │ │ ├── 1x1.png.import │ │ │ ├── Ball.tscn │ │ │ ├── Floor.tscn │ │ │ ├── Wall.tscn │ │ │ ├── ball_material.tres │ │ │ ├── box.tscn │ │ │ ├── sin_move.gd │ │ │ ├── sin_move.gd.uid │ │ │ ├── soundcollider.gd │ │ │ ├── soundcollider.gd.uid │ │ │ └── wall_material.tres │ │ ├── player/ │ │ │ ├── Camera.gd │ │ │ ├── Camera.gd.uid │ │ │ ├── Player.gd │ │ │ ├── Player.gd.uid │ │ │ └── Player.tscn │ │ ├── rollingball.gd │ │ ├── rollingball.gd.uid │ │ ├── selfdestroy.gd │ │ └── selfdestroy.gd.uid │ ├── icon.png.import │ ├── icon.svg.import │ ├── low_level_2D/ │ │ ├── ChangeColor.gd │ │ ├── ChangeColor.gd.uid │ │ ├── Emitter.gd │ │ ├── Emitter.gd.uid │ │ ├── EnterAndLeave.gd │ │ ├── EnterAndLeave.gd.uid │ │ ├── EnterandLeave2.gd │ │ ├── EnterandLeave2.gd.uid │ │ ├── FmodScriptTest.tscn │ │ ├── FmodTest.gd │ │ ├── FmodTest.gd.uid │ │ ├── LangChooseButton.gd │ │ ├── LangChooseButton.gd.uid │ │ ├── Listener.gd │ │ ├── Listener.gd.uid │ │ ├── Listener2.gd │ │ ├── Listener2.gd.uid │ │ ├── WelcomeButton.gd │ │ └── WelcomeButton.gd.uid │ ├── project.godot │ ├── run_tests.sh │ └── test/ │ ├── integration/ │ │ └── init │ ├── tests.tscn │ └── unit/ │ ├── test_bank.gd │ ├── test_bank.gd.uid │ ├── test_bus.gd │ ├── test_bus.gd.uid │ ├── test_callbacks.gd │ ├── test_callbacks.gd.uid │ ├── test_desc_event.gd │ ├── test_desc_event.gd.uid │ ├── test_event.gd │ ├── test_event.gd.uid │ ├── test_global.gd │ ├── test_global.gd.uid │ ├── test_listener.gd │ ├── test_listener.gd.uid │ ├── test_sound.gd │ ├── test_sound.gd.uid │ ├── test_vca.gd │ └── test_vca.gd.uid ├── docs/ │ ├── .gitignore │ ├── build.sh │ ├── mkdocs.yml │ ├── requirements.txt │ ├── run.sh │ └── src/ │ └── doc/ │ ├── advanced/ │ │ └── 1-compiling.md │ ├── index.md │ └── user-guide/ │ ├── 1-install.md │ ├── 2-initialization.md │ ├── 3-using-fmod-plugin.md │ ├── 4-loading-banks.md │ ├── 5-playing-events.md │ ├── 6-listeners.md │ ├── 7-playing-sounds.md │ ├── 8-other-low-level-examples.md │ └── 9-plugins.md ├── get_fmod.py ├── jni/ │ └── Application.mk └── src/ ├── callback/ │ ├── event_callbacks.cpp │ ├── event_callbacks.h │ ├── file_callbacks.cpp │ └── file_callbacks.h ├── constants.h ├── core/ │ ├── fmod_file.cpp │ ├── fmod_file.h │ ├── fmod_sound.cpp │ └── fmod_sound.h ├── data/ │ ├── performance_data.cpp │ └── performance_data.h ├── fmod_cache.cpp ├── fmod_cache.h ├── fmod_logging.cpp ├── fmod_logging.h ├── fmod_server.cpp ├── fmod_server.h ├── fmod_string_names.cpp ├── fmod_string_names.h ├── helpers/ │ ├── common.h │ ├── constants.h │ ├── current_function.h │ ├── files.h │ └── maths.h ├── nodes/ │ ├── fmod_bank_loader.cpp │ ├── fmod_bank_loader.h │ ├── fmod_event_emitter.h │ ├── fmod_event_emitter_2d.cpp │ ├── fmod_event_emitter_2d.h │ ├── fmod_event_emitter_3d.cpp │ ├── fmod_event_emitter_3d.h │ ├── fmod_listener.h │ ├── fmod_listener_2d.cpp │ ├── fmod_listener_2d.h │ ├── fmod_listener_3d.cpp │ └── fmod_listener_3d.h ├── plugins/ │ ├── ios_plugins_loader.h │ └── plugins_helper.h ├── register_types.cpp ├── register_types.h ├── resources/ │ ├── fmod_dsp_settings.cpp │ ├── fmod_dsp_settings.h │ ├── fmod_logging_settings.cpp │ ├── fmod_logging_settings.h │ ├── fmod_plugins_settings.cpp │ ├── fmod_plugins_settings.h │ ├── fmod_settings.cpp │ ├── fmod_settings.h │ ├── fmod_software_format_settings.cpp │ ├── fmod_software_format_settings.h │ ├── fmod_sound_3d_settings.cpp │ └── fmod_sound_3d_settings.h ├── studio/ │ ├── fmod_bank.cpp │ ├── fmod_bank.h │ ├── fmod_bus.cpp │ ├── fmod_bus.h │ ├── fmod_event.cpp │ ├── fmod_event.h │ ├── fmod_event_description.cpp │ ├── fmod_event_description.h │ ├── fmod_parameter_description.cpp │ ├── fmod_parameter_description.h │ ├── fmod_vca.cpp │ └── fmod_vca.h └── tools/ ├── fmod_editor_export_plugin.cpp ├── fmod_editor_export_plugin.h ├── fmod_editor_plugin.cpp └── fmod_editor_plugin.h