From 56605bd12e11a4817ead71792fc1ea09a3829d0e Mon Sep 17 00:00:00 2001 From: Lyss Date: Tue, 2 Jul 2019 01:53:47 +0200 Subject: [PATCH] Removed Plugins from repo It messed up my unreal engine --- .gitignore | 1 + .../Content/AnimNotify_FMODPlayEvent.uasset | Bin 40348 -> 0 bytes .../Docs/api-reference-FFMODStudioModule.html | 128 -- .../Docs/api-reference-FMODUtils.html | 50 - .../Docs/api-reference-afmodambientsound.html | 51 - .../Docs/api-reference-ffmodassettable.html | 53 - ...api-reference-ffmodbankupdatenotifier.html | 54 - ...ence-ffmodeventcontrolsectiontemplate.html | 43 - ...ce-ffmodeventparametersectiontemplate.html | 38 - .../api-reference-ffmodfilecallbacks.html | 41 - .../Docs/api-reference-ffmodlistener.html | 60 - ...reference-fmodplatformloaddll_generic.html | 36 - .../Docs/api-reference-ifmodstudiomodule.html | 63 - .../api-reference-ufmodanimnotifyplay.html | 108 -- .../Docs/api-reference-ufmodasset.html | 119 -- .../api-reference-ufmodaudiocomponent.html | 1346 --------------- .../Docs/api-reference-ufmodbank.html | 37 - .../api-reference-ufmodblueprintstatics.html | 956 ----------- .../Docs/api-reference-ufmodbus.html | 37 - .../Docs/api-reference-ufmodevent.html | 38 - ...pi-reference-ufmodeventcontrolsection.html | 47 - .../api-reference-ufmodeventcontroltrack.html | 51 - ...pi-reference-ufmodeventparametertrack.html | 51 - .../Docs/api-reference-ufmodsettings.html | 82 - .../Docs/api-reference-ufmodsnapshot.html | 36 - .../api-reference-ufmodsnapshotreverb.html | 42 - .../Docs/api-reference-ufmodvca.html | 37 - Plugins/FMODStudio/Docs/api-reference.html | 54 - .../FMODStudio/Docs/blueprint-reference.html | 32 - .../Docs/images/add-actor-button.png | Bin 953 -> 0 bytes .../Docs/images/add-parameter-button.png | Bin 734 -> 0 bytes .../Docs/images/add-track-button.png | Bin 587 -> 0 bytes .../Docs/images/ambient-setting.png | Bin 33654 -> 0 bytes .../FMODStudio/Docs/images/assign-to-bank.png | Bin 29464 -> 0 bytes .../FMODStudio/Docs/images/audio-table.png | Bin 105784 -> 0 bytes .../Docs/images/banks-blueprint.png | Bin 74794 -> 0 bytes .../Docs/images/blueprint-play-simple.png | Bin 87651 -> 0 bytes .../Docs/images/blueprint-sample.png | Bin 25345 -> 0 bytes Plugins/FMODStudio/Docs/images/build-menu.png | Bin 7438 -> 0 bytes .../FMODStudio/Docs/images/callback-bp.png | Bin 8574 -> 0 bytes .../Docs/images/callback-enable.png | Bin 2297 -> 0 bytes .../Docs/images/callback-example.png | Bin 69449 -> 0 bytes .../FMODStudio/Docs/images/content-view.png | Bin 48571 -> 0 bytes .../FMODStudio/Docs/images/control-track.png | Bin 18430 -> 0 bytes Plugins/FMODStudio/Docs/images/docs-menu.png | Bin 21127 -> 0 bytes .../FMODStudio/Docs/images/drag-ambient.png | Bin 523986 -> 0 bytes Plugins/FMODStudio/Docs/images/engine-mac.png | Bin 98182 -> 0 bytes .../FMODStudio/Docs/images/engine-tree.png | Bin 6755 -> 0 bytes .../FMODStudio/Docs/images/event-tracks.png | Bin 34452 -> 0 bytes .../FMODStudio/Docs/images/fmod-content.png | Bin 40249 -> 0 bytes .../Docs/images/load-locale-bank.png | Bin 29338 -> 0 bytes .../Docs/images/occlusion-props.png | Bin 3778 -> 0 bytes .../Docs/images/occlusion-props2.png | Bin 3254 -> 0 bytes .../Docs/images/occlusion-setting.png | Bin 33488 -> 0 bytes Plugins/FMODStudio/Docs/images/occlusion.png | Bin 6079 -> 0 bytes .../Docs/images/parameter-keyframe-curve.png | Bin 59472 -> 0 bytes .../Docs/images/parameter-track.png | Bin 12766 -> 0 bytes Plugins/FMODStudio/Docs/images/plugins.png | Bin 9089 -> 0 bytes .../FMODStudio/Docs/images/possess-actor.png | Bin 40263 -> 0 bytes .../Docs/images/programmer-asset-name.png | Bin 4276 -> 0 bytes .../FMODStudio/Docs/images/programmer-bp.png | Bin 20629 -> 0 bytes .../Docs/images/programmer-file-path.png | Bin 7216 -> 0 bytes .../FMODStudio/Docs/images/project-deploy.png | Bin 80821 -> 0 bytes .../Docs/images/project-settings.png | Bin 59828 -> 0 bytes .../FMODStudio/Docs/images/reverb-ambient.png | Bin 4466 -> 0 bytes .../FMODStudio/Docs/images/reverb-assets.png | Bin 18404 -> 0 bytes .../Docs/images/reverb-settings.png | Bin 5773 -> 0 bytes .../Docs/images/reverb-snapshot-intensity.png | Bin 6085 -> 0 bytes .../Docs/images/reverb-user-property.png | Bin 2562 -> 0 bytes .../FMODStudio/Docs/images/save-as-studio.png | Bin 61213 -> 0 bytes .../images/set-audio-listener-override.png | Bin 51491 -> 0 bytes .../Docs/images/studio-bank-layout.png | Bin 2656 -> 0 bytes .../Docs/images/studio-export-path.png | Bin 30517 -> 0 bytes .../Docs/images/studio-programmer.png | Bin 13098 -> 0 bytes .../FMODStudio/Docs/platform-specifics.html | 158 -- Plugins/FMODStudio/Docs/scripts/docs.js | 70 - Plugins/FMODStudio/Docs/settings.html | 32 - .../FMODStudio/Docs/style/DINWeb-Medium.woff | Bin 32712 -> 0 bytes Plugins/FMODStudio/Docs/style/DINWeb.woff | Bin 33268 -> 0 bytes .../FMODStudio/Docs/style/code_highlight.css | 69 - Plugins/FMODStudio/Docs/style/docs.css | 265 --- Plugins/FMODStudio/Docs/troubleshooting.html | 61 - Plugins/FMODStudio/Docs/user-guide.html | 482 ------ Plugins/FMODStudio/Docs/welcome.html | 55 - Plugins/FMODStudio/FMODStudio.uplugin | 33 - Plugins/FMODStudio/Resources/Icon128.png | Bin 4009 -> 0 bytes .../FMODStudio/Classes/FMODAmbientSound.h | 25 - .../FMODStudio/Classes/FMODAnimNotifyPlay.h | 31 - .../Source/FMODStudio/Classes/FMODAsset.h | 32 - .../FMODStudio/Classes/FMODAudioComponent.h | 362 ----- .../Source/FMODStudio/Classes/FMODBank.h | 21 - .../FMODStudio/Classes/FMODBlueprintStatics.h | 293 ---- .../Source/FMODStudio/Classes/FMODBus.h | 21 - .../Source/FMODStudio/Classes/FMODEvent.h | 26 - .../Source/FMODStudio/Classes/FMODSettings.h | 288 ---- .../Source/FMODStudio/Classes/FMODSnapshot.h | 18 - .../FMODStudio/Classes/FMODSnapshotReverb.h | 31 - .../Source/FMODStudio/Classes/FMODVCA.h | 21 - .../Source/FMODStudio/FMODStudio.Build.cs | 295 ---- .../Source/FMODStudio/FMODStudioL_APL.xml | 53 - .../Source/FMODStudio/FMODStudio_APL.xml | 53 - .../FMODStudio/Private/FMODAmbientSound.cpp | 69 - .../FMODStudio/Private/FMODAnimNotifyPlay.cpp | 44 - .../Source/FMODStudio/Private/FMODAsset.cpp | 19 - .../FMODStudio/Private/FMODAssetTable.cpp | 376 ----- .../FMODStudio/Private/FMODAssetTable.h | 48 - .../FMODStudio/Private/FMODAudioComponent.cpp | 859 ---------- .../Source/FMODStudio/Private/FMODBank.cpp | 20 - .../Private/FMODBankUpdateNotifier.cpp | 59 - .../Private/FMODBankUpdateNotifier.h | 28 - .../Private/FMODBlueprintStatics.cpp | 616 ------- .../Source/FMODStudio/Private/FMODBus.cpp | 20 - .../Source/FMODStudio/Private/FMODEvent.cpp | 58 - .../FMODStudio/Private/FMODFileCallbacks.cpp | 329 ---- .../FMODStudio/Private/FMODFileCallbacks.h | 12 - .../FMODStudio/Private/FMODListener.cpp | 85 - .../Source/FMODStudio/Private/FMODListener.h | 85 - .../Private/FMODPlatformLoadDll_Generic.h | 12 - .../Private/FMODPlatformLoadDll_Switch.h | 19 - .../FMODStudio/Private/FMODSettings.cpp | 106 -- .../FMODStudio/Private/FMODSnapshot.cpp | 14 - .../FMODStudio/Private/FMODSnapshotReverb.cpp | 14 - .../FMODStudio/Private/FMODStudioModule.cpp | 1440 ----------------- .../FMODStudio/Private/FMODStudioPrivatePCH.h | 9 - .../Source/FMODStudio/Private/FMODVCA.cpp | 20 - .../Sequencer/FMODEventControlSection.cpp | 49 - .../Sequencer/FMODEventControlSection.h | 90 -- .../FMODEventControlSectionTemplate.cpp | 139 -- .../FMODEventControlSectionTemplate.h | 26 - .../Sequencer/FMODEventControlTrack.cpp | 70 - .../Private/Sequencer/FMODEventControlTrack.h | 39 - .../FMODEventParameterSectionTemplate.cpp | 109 -- .../FMODEventParameterSectionTemplate.h | 24 - .../Sequencer/FMODEventParameterTrack.cpp | 77 - .../Sequencer/FMODEventParameterTrack.h | 41 - .../Source/FMODStudio/Public/FMOD/fmod.h | 665 -------- .../Source/FMODStudio/Public/FMOD/fmod.hpp | 604 ------- .../FMODStudio/Public/FMOD/fmod_codec.h | 93 -- .../FMODStudio/Public/FMOD/fmod_common.h | 750 --------- .../Source/FMODStudio/Public/FMOD/fmod_dsp.h | 414 ----- .../FMODStudio/Public/FMOD/fmod_dsp_effects.h | 537 ------ .../FMODStudio/Public/FMOD/fmod_errors.h | 110 -- .../FMODStudio/Public/FMOD/fmod_output.h | 124 -- .../FMODStudio/Public/FMOD/fmod_studio.h | 231 --- .../FMODStudio/Public/FMOD/fmod_studio.hpp | 377 ----- .../Public/FMOD/fmod_studio_common.h | 316 ---- .../FMODStudio/Public/FMODStudioModule.h | 160 -- .../Source/FMODStudio/Public/FMODUtils.h | 202 --- .../Classes/FMODAmbientSoundActorFactory.h | 21 - .../FMODStudioEditor.Build.cs | 61 - .../Private/AssetTypeActions_FMODEvent.cpp | 145 -- .../Private/AssetTypeActions_FMODEvent.h | 56 - .../Private/FMODAmbientSoundActorFactory.cpp | 67 - .../Private/FMODAssetBroker.h | 39 - .../Private/FMODAudioComponentDetails.cpp | 114 -- .../Private/FMODAudioComponentDetails.h | 24 - .../Private/FMODAudioComponentVisualizer.cpp | 55 - .../Private/FMODAudioComponentVisualizer.h | 13 - .../Private/FMODEventEditor.cpp | 188 --- .../Private/FMODEventEditor.h | 88 - .../Private/FMODStudioEditorModule.cpp | 1110 ------------- .../Private/FMODStudioEditorPrivatePCH.h | 19 - .../Private/FMODStudioStyle.cpp | 53 - .../Private/FMODStudioStyle.h | 22 - .../Private/SFMODEventEditorPanel.cpp | 287 ---- .../Private/SFMODEventEditorPanel.h | 42 - .../Private/Sequencer/FMODChannelEditors.cpp | 210 --- .../Private/Sequencer/FMODChannelEditors.h | 43 - .../Sequencer/FMODEventControlTrackEditor.cpp | 190 --- .../Sequencer/FMODEventControlTrackEditor.h | 59 - .../FMODEventParameterTrackEditor.cpp | 156 -- .../Sequencer/FMODEventParameterTrackEditor.h | 77 - .../Sequencer/FMODParameterSection.cpp | 25 - .../Private/Sequencer/FMODParameterSection.h | 21 - .../Public/FMODStudioEditorModule.h | 28 - 175 files changed, 1 insertion(+), 19306 deletions(-) delete mode 100644 Plugins/FMODStudio/Content/AnimNotify_FMODPlayEvent.uasset delete mode 100644 Plugins/FMODStudio/Docs/api-reference-FFMODStudioModule.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-FMODUtils.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-afmodambientsound.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ffmodassettable.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ffmodbankupdatenotifier.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ffmodeventcontrolsectiontemplate.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ffmodeventparametersectiontemplate.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ffmodfilecallbacks.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ffmodlistener.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-fmodplatformloaddll_generic.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ifmodstudiomodule.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ufmodanimnotifyplay.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ufmodasset.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ufmodaudiocomponent.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ufmodbank.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ufmodblueprintstatics.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ufmodbus.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ufmodevent.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ufmodeventcontrolsection.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ufmodeventcontroltrack.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ufmodeventparametertrack.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ufmodsettings.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ufmodsnapshot.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ufmodsnapshotreverb.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference-ufmodvca.html delete mode 100644 Plugins/FMODStudio/Docs/api-reference.html delete mode 100644 Plugins/FMODStudio/Docs/blueprint-reference.html delete mode 100644 Plugins/FMODStudio/Docs/images/add-actor-button.png delete mode 100644 Plugins/FMODStudio/Docs/images/add-parameter-button.png delete mode 100644 Plugins/FMODStudio/Docs/images/add-track-button.png delete mode 100644 Plugins/FMODStudio/Docs/images/ambient-setting.png delete mode 100644 Plugins/FMODStudio/Docs/images/assign-to-bank.png delete mode 100644 Plugins/FMODStudio/Docs/images/audio-table.png delete mode 100644 Plugins/FMODStudio/Docs/images/banks-blueprint.png delete mode 100644 Plugins/FMODStudio/Docs/images/blueprint-play-simple.png delete mode 100644 Plugins/FMODStudio/Docs/images/blueprint-sample.png delete mode 100644 Plugins/FMODStudio/Docs/images/build-menu.png delete mode 100644 Plugins/FMODStudio/Docs/images/callback-bp.png delete mode 100644 Plugins/FMODStudio/Docs/images/callback-enable.png delete mode 100644 Plugins/FMODStudio/Docs/images/callback-example.png delete mode 100644 Plugins/FMODStudio/Docs/images/content-view.png delete mode 100644 Plugins/FMODStudio/Docs/images/control-track.png delete mode 100644 Plugins/FMODStudio/Docs/images/docs-menu.png delete mode 100644 Plugins/FMODStudio/Docs/images/drag-ambient.png delete mode 100644 Plugins/FMODStudio/Docs/images/engine-mac.png delete mode 100644 Plugins/FMODStudio/Docs/images/engine-tree.png delete mode 100644 Plugins/FMODStudio/Docs/images/event-tracks.png delete mode 100644 Plugins/FMODStudio/Docs/images/fmod-content.png delete mode 100644 Plugins/FMODStudio/Docs/images/load-locale-bank.png delete mode 100644 Plugins/FMODStudio/Docs/images/occlusion-props.png delete mode 100644 Plugins/FMODStudio/Docs/images/occlusion-props2.png delete mode 100644 Plugins/FMODStudio/Docs/images/occlusion-setting.png delete mode 100644 Plugins/FMODStudio/Docs/images/occlusion.png delete mode 100644 Plugins/FMODStudio/Docs/images/parameter-keyframe-curve.png delete mode 100644 Plugins/FMODStudio/Docs/images/parameter-track.png delete mode 100644 Plugins/FMODStudio/Docs/images/plugins.png delete mode 100644 Plugins/FMODStudio/Docs/images/possess-actor.png delete mode 100644 Plugins/FMODStudio/Docs/images/programmer-asset-name.png delete mode 100644 Plugins/FMODStudio/Docs/images/programmer-bp.png delete mode 100644 Plugins/FMODStudio/Docs/images/programmer-file-path.png delete mode 100644 Plugins/FMODStudio/Docs/images/project-deploy.png delete mode 100644 Plugins/FMODStudio/Docs/images/project-settings.png delete mode 100644 Plugins/FMODStudio/Docs/images/reverb-ambient.png delete mode 100644 Plugins/FMODStudio/Docs/images/reverb-assets.png delete mode 100644 Plugins/FMODStudio/Docs/images/reverb-settings.png delete mode 100644 Plugins/FMODStudio/Docs/images/reverb-snapshot-intensity.png delete mode 100644 Plugins/FMODStudio/Docs/images/reverb-user-property.png delete mode 100644 Plugins/FMODStudio/Docs/images/save-as-studio.png delete mode 100644 Plugins/FMODStudio/Docs/images/set-audio-listener-override.png delete mode 100644 Plugins/FMODStudio/Docs/images/studio-bank-layout.png delete mode 100644 Plugins/FMODStudio/Docs/images/studio-export-path.png delete mode 100644 Plugins/FMODStudio/Docs/images/studio-programmer.png delete mode 100644 Plugins/FMODStudio/Docs/platform-specifics.html delete mode 100644 Plugins/FMODStudio/Docs/scripts/docs.js delete mode 100644 Plugins/FMODStudio/Docs/settings.html delete mode 100644 Plugins/FMODStudio/Docs/style/DINWeb-Medium.woff delete mode 100644 Plugins/FMODStudio/Docs/style/DINWeb.woff delete mode 100644 Plugins/FMODStudio/Docs/style/code_highlight.css delete mode 100644 Plugins/FMODStudio/Docs/style/docs.css delete mode 100644 Plugins/FMODStudio/Docs/troubleshooting.html delete mode 100644 Plugins/FMODStudio/Docs/user-guide.html delete mode 100644 Plugins/FMODStudio/Docs/welcome.html delete mode 100644 Plugins/FMODStudio/FMODStudio.uplugin delete mode 100644 Plugins/FMODStudio/Resources/Icon128.png delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Classes/FMODAmbientSound.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Classes/FMODAnimNotifyPlay.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Classes/FMODAsset.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Classes/FMODAudioComponent.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Classes/FMODBank.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Classes/FMODBlueprintStatics.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Classes/FMODBus.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Classes/FMODEvent.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Classes/FMODSettings.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Classes/FMODSnapshot.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Classes/FMODSnapshotReverb.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Classes/FMODVCA.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/FMODStudio.Build.cs delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/FMODStudioL_APL.xml delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/FMODStudio_APL.xml delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODAmbientSound.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODAnimNotifyPlay.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODAsset.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODAssetTable.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODAssetTable.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODAudioComponent.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODBank.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODBankUpdateNotifier.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODBankUpdateNotifier.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODBlueprintStatics.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODBus.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODEvent.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODFileCallbacks.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODFileCallbacks.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODListener.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODListener.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODPlatformLoadDll_Generic.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODPlatformLoadDll_Switch.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODSettings.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODSnapshot.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODSnapshotReverb.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODStudioModule.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODStudioPrivatePCH.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/FMODVCA.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlSection.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlSection.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlSectionTemplate.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlSectionTemplate.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlTrack.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlTrack.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventParameterSectionTemplate.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventParameterSectionTemplate.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventParameterTrack.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventParameterTrack.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod.hpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_codec.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_common.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_dsp.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_dsp_effects.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_errors.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_output.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_studio.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_studio.hpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_studio_common.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Public/FMODStudioModule.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudio/Public/FMODUtils.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Classes/FMODAmbientSoundActorFactory.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/FMODStudioEditor.Build.cs delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/AssetTypeActions_FMODEvent.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/AssetTypeActions_FMODEvent.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAmbientSoundActorFactory.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAssetBroker.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAudioComponentDetails.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAudioComponentDetails.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAudioComponentVisualizer.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAudioComponentVisualizer.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODEventEditor.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODEventEditor.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODStudioEditorModule.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODStudioEditorPrivatePCH.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODStudioStyle.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODStudioStyle.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/SFMODEventEditorPanel.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/SFMODEventEditorPanel.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODChannelEditors.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODChannelEditors.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODEventControlTrackEditor.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODEventControlTrackEditor.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODEventParameterTrackEditor.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODEventParameterTrackEditor.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODParameterSection.cpp delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODParameterSection.h delete mode 100644 Plugins/FMODStudio/Source/FMODStudioEditor/Public/FMODStudioEditorModule.h diff --git a/.gitignore b/.gitignore index 5db8c82..f1d18d7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ Binaries Build +Plugins Build/ DerivedDataCache Intermediate diff --git a/Plugins/FMODStudio/Content/AnimNotify_FMODPlayEvent.uasset b/Plugins/FMODStudio/Content/AnimNotify_FMODPlayEvent.uasset deleted file mode 100644 index 4aa99a4d2bcef91c5c4a5e4d04d8be48e4c90b0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40348 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 - -API Reference | FFMODStudioModule - - - - -
- -
-

4. API Reference | FFMODStudioModule

-
-

This documentation is preliminary and is subject to change.

-
-

This class inherits from IFMODStudioModule.

-

Defines:

-
    -
  • FMODMemoryAlloc
  • -
  • FMODMemoryRealloc
  • -
  • -

    FMODMemoryFree

    -
  • -
  • -

    FFMODSnapshotEntry

    -
  • -
  • -

    FFMODStudioSystemClockSink

    -
  • -
  • -

    NamedBankEntry

    -
  • -
-

Properties:

-
    -
  • FFMODStudioModule::StudioSystem
  • -
  • FFMODStudioModule::AuditioningInstance
  • -
  • FFMODStudioModule::OnTick
  • -
  • FFMODStudioModule::ClockSinks
  • -
  • FFMODStudioModule::TickDelegateHandle
  • -
  • FFMODStudioModule::AssetTable
  • -
  • FFMODStudioModule::BankUpdateNotifier
  • -
  • FFMODStudioModule::FailedBankLoads
  • -
  • FFMODStudioModule::RequiredPlugins
  • -
  • FFMODStudioModule::MAX_LISTENERS
  • -
  • FFMODStudioModule::Listeners
  • -
  • FFMODStudioModule::ListenerCount
  • -
  • FFMODStudioModule::ReverbSnapshots
  • -
  • FFMODStudioModule::bSimulating
  • -
  • FFMODStudioModule::bIsInPIE
  • -
  • FFMODStudioModule::bUseSound
  • -
  • FFMODStudioModule::bListenerMoved
  • -
  • FFMODStudioModule::bAllowLiveUpdate
  • -
  • FFMODStudioModule::bBanksLoaded
  • -
  • FFMODStudioModule::BaseLibPath
  • -
  • FFMODStudioModule::LowLevelLibHandle
  • -
  • FFMODStudioModule::StudioLibHandle
  • -
  • FFMODStudioModule::bMixerPaused
  • -
  • FFMODStudioModule::MemPool
  • -
  • FFMODStudioModule::bLoadAllSampleData
  • -
-

Methods:

-
    -
  • FFMODStudioModule::HandleApplicationWillDeactivate
  • -
  • FFMODStudioModule::HandleApplicationHasReactivated
  • -
  • FFMODStudioModule::StartupModule
  • -
  • FFMODStudioModule::PostLoadCallback
  • -
  • FFMODStudioModule::ShutdownModule
  • -
  • FFMODStudioModule::GetDllPath
  • -
  • FFMODStudioModule::LoadDll
  • -
  • FFMODStudioModule::LoadLibraries
  • -
  • FFMODStudioModule::LoadBanks
  • -
  • FFMODStudioModule::HandleBanksUpdated
  • -
  • FFMODStudioModule::CreateStudioSystem
  • -
  • FFMODStudioModule::DestroyStudioSystem
  • -
  • FFMODStudioModule::Tick
  • -
  • FFMODStudioModule::UpdateViewportPosition
  • -
  • FFMODStudioModule::GetStudioSystem
  • -
  • FFMODStudioModule::GetEventDescription
  • -
  • FFMODStudioModule::CreateAuditioningInstance
  • -
  • FFMODStudioModule::StopAuditioningInstance
  • -
  • FFMODStudioModule::SetListenerPosition
  • -
  • FFMODStudioModule::FinishSetListenerPosition
  • -
  • FFMODStudioModule::GetNearestListener
  • -
  • FFMODStudioModule::HasListenerMoved
  • -
  • FFMODStudioModule::RefreshSettings
  • -
  • FFMODStudioModule::SetSystemPaused
  • -
  • FFMODStudioModule::SetInPIE
  • -
  • FFMODStudioModule::FindAssetByName
  • -
  • FFMODStudioModule::FindEventByName
  • -
  • FFMODStudioModule::GetBankPath
  • -
  • FFMODStudioModule::BanksReloadedDelegate
  • -
  • FFMODStudioModule::BanksReloadedEvent
  • -
  • FFMODStudioModule::GetFailedBankLoads
  • -
  • FFMODStudioModule::GetRequiredPlugins
  • -
  • FFMODStudioModule::AddRequiredPlugin
  • -
  • FFMODStudioModule::UseSound
  • -
  • FFMODStudioModule::LoadPlugin
  • -
  • FFMODStudioModule::LogError
  • -
  • FFMODStudioModule::AreBanksLoaded
  • -
  • FFMODStudioModule::ResetInterpolation
  • -
  • FFMODStudioModule::
  • -
  • FFMODStudioModule::
  • -
  • FFMODStudioModule::
  • -
  • FFMODStudioModule::
  • -
  • FFMODStudioModule::
  • -
  • FFMODStudioModule::
  • -
  • FFMODStudioModule::
  • -
  • FFMODStudioModule::
  • -
  • FFMODStudioModule::
  • -
  • FFMODStudioModule::
  • -
- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-FMODUtils.html b/Plugins/FMODStudio/Docs/api-reference-FMODUtils.html deleted file mode 100644 index bb906ef..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-FMODUtils.html +++ /dev/null @@ -1,50 +0,0 @@ - - -API Reference | FMODUtils - - - - -
- -
-

4. API Reference | FMODUtils

-
-

This documentation is preliminary and is subject to change.

-
-

Defines:

-
    -
  • verifyfmod
  • -
  • FMOD_VECTOR_SCALE_DEFAULT
  • -
-

Methods:

-
    -
  • FMODUtils::LogError
  • -
  • FMODUtils::Assign
  • -
  • FMODUtils::ConvertWorldVector
  • -
  • FMODUtils::ConvertUnitVector
  • -
  • FMODUtils::DistanceToUEScale
  • -
  • FMODUtils::IsWorldAudible
  • -
  • FMODUtils::ConvertGuid
  • -
  • FMODUtils::GetID
  • -
  • FMODUtils::GetPath
  • -
  • FMODUtils::LookupNameFromGuid
  • -
  • FMODUtils::ParameterTypeToString
  • -
- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-afmodambientsound.html b/Plugins/FMODStudio/Docs/api-reference-afmodambientsound.html deleted file mode 100644 index d8079d4..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-afmodambientsound.html +++ /dev/null @@ -1,51 +0,0 @@ - - -API Reference | AFMODAmbientSound - - - - -
- -
-

4. API Reference | AFMODAmbientSound

-
-

This documentation is preliminary and is subject to change.

-
-

This class inherits from AActor

-

Properties:

- -

AFMODAmbientSound::AudioComponent

-

FMODAudioComponent used to play the ambient Event.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
UFMODAudioComponent *AudioComponent;
-
- - -

See Also: UFMODAudioComponent

- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-ffmodassettable.html b/Plugins/FMODStudio/Docs/api-reference-ffmodassettable.html deleted file mode 100644 index 2505359..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ffmodassettable.html +++ /dev/null @@ -1,53 +0,0 @@ - - -API Reference | FFmodAssetTable - - - - -
- -
-

4. API Reference | FFmodAssetTable

-
-

This documentation is preliminary and is subject to change.

-
-

Properties:

-
    -
  • FFMODAssetTable::StudioSystem
  • -
  • FFMODAssetTable::GuidMap
  • -
  • FFMODAssetTable::NameMap
  • -
  • FFMODAssetTable::FullNameLookup
  • -
  • FFMODAssetTable::MasterBankPath
  • -
  • FFMODAssetTable::MasterStringsBankPath
  • -
  • FFMODAssetTable::MasterAssetsBankPath
  • -
  • FFMODAssetTable::BankPathLookup
  • -
-

Methods:

-
    -
  • FFMODAssetTable::Create
  • -
  • FFMODAssetTable::Destroy
  • -
  • FFMODAssetTable::Refresh
  • -
  • FFMODAssetTable::FindByName
  • -
  • FFMODAssetTable::GetBankPath
  • -
  • FFMODAssetTable::GetMasterBankPath
  • -
  • FFMODAssetTable::GetMasterStringsBankPath
  • -
  • FFMODAssetTable::GetMasterAssetsBankPath
  • -
- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-ffmodbankupdatenotifier.html b/Plugins/FMODStudio/Docs/api-reference-ffmodbankupdatenotifier.html deleted file mode 100644 index b7bc363..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ffmodbankupdatenotifier.html +++ /dev/null @@ -1,54 +0,0 @@ - - -API Reference | FFMODBankUpdateNotifier - - - - -
- -
-

4. API Reference | FFMODBankUpdateNotifier

-
-

This documentation is preliminary and is subject to change.

-
-

Properties:

-

Public:

-
    -
  • FFMODBankUpdateNotifier::BanksUpdateEvent
  • -
-

Private:

-
    -
  • FFMODBankUpdateNotifier::bUpdateEnabled
  • -
  • FFMODBankUpdateNotifier::FilePath
  • -
  • FFMODBankUpdateNotifier::NextRefreshTime
  • -
  • FFMODBankUpdateNotifier::FileTime
  • -
-

Methods:

-

Public:

-
    -
  • FFMODBankUpdateNotifier::SetFilePath
  • -
  • FFMODBankUpdateNotifier::Update
  • -
  • FFMODBankUpdateNotifier::EnableUpdate
  • -
-

Private:

-
    -
  • FFMODBankUpdateNotifier::Refresh
  • -
- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-ffmodeventcontrolsectiontemplate.html b/Plugins/FMODStudio/Docs/api-reference-ffmodeventcontrolsectiontemplate.html deleted file mode 100644 index 109b36e..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ffmodeventcontrolsectiontemplate.html +++ /dev/null @@ -1,43 +0,0 @@ - - -API Reference | FFMODEventControlSectionTemplate - - - - -
- -
-

4. API Reference | FFMODEventControlSectionTemplate

-
-

This documentation is preliminary and is subject to change.

-
-

This class inherits from FMovieSceneEvalTemplate.

-

Properties:

-

Public:

-
    -
  • FFMODEventControlSectionTemplate::ControlKeys
  • -
-

Methods:

-

Private:

-
    -
  • FFMODEventControlSectionTemplate::GetScriptStructImpl
  • -
  • FFMODEventControlSectionTemplate::Evaluate
  • -
- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-ffmodeventparametersectiontemplate.html b/Plugins/FMODStudio/Docs/api-reference-ffmodeventparametersectiontemplate.html deleted file mode 100644 index c6bdc08..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ffmodeventparametersectiontemplate.html +++ /dev/null @@ -1,38 +0,0 @@ - - -API Reference | FFMODEventParameterSectionTemplate - - - - -
- -
-

4. API Reference | FFMODEventParameterSectionTemplate

-
-

This documentation is preliminary and is subject to change.

-
-

This class inherits from FMovieSceneParameterSectionTemplate.

-

Methods:

-

Private:

-
    -
  • FFMODEventParameterSectionTemplate::GetScriptStructImpl
  • -
  • FFMODEventParameterSectionTemplate::Evaluate
  • -
- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-ffmodfilecallbacks.html b/Plugins/FMODStudio/Docs/api-reference-ffmodfilecallbacks.html deleted file mode 100644 index 0673880..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ffmodfilecallbacks.html +++ /dev/null @@ -1,41 +0,0 @@ - - -API Reference | FFMODFileCallbacks - - - - -
- -
-

4. API Reference | FFMODFileCallbacks

-
-

This documentation is preliminary and is subject to change.

-
-

Defines:

-
    -
  • FFMODFileSystem
  • -
-

Methods:

-
    -
  • FFMODFileCallbacks::AcquireFMODFileSystem
  • -
  • FFMODFileCallbacks::ReleaseFMODFileSystem
  • -
  • FFMODFileCallbacks::AttachFMODFileSystem
  • -
- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-ffmodlistener.html b/Plugins/FMODStudio/Docs/api-reference-ffmodlistener.html deleted file mode 100644 index 34052cb..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ffmodlistener.html +++ /dev/null @@ -1,60 +0,0 @@ - - -API Reference | FFMODListener - - - - -
- -
-

4. API Reference | FFMODListener

-
-

This documentation is preliminary and is subject to change.

-
-

Defines:

-
    -
  • FFMODInteriorSettings
  • -
-

Properties:

-
    -
  • FFMODListener::Transform
  • -
  • FFMODListener::Velocity
  • -
  • FFMODListener::InteriorSettings
  • -
  • FFMODListener::Volume
  • -
  • FFMODListener::InteriorStartTime
  • -
  • FFMODListener::InteriorEndTime
  • -
  • FFMODListener::ExteriorEndTime
  • -
  • FFMODListener::InteriorLPFEndTime
  • -
  • FFMODListener::ExteriorLPFEndTime
  • -
  • FFMODListener::InteriorVolumeInterp
  • -
  • FFMODListener::InteriorLPFInterp
  • -
  • FFMODListener::ExteriorVolumeInterp
  • -
  • FFMODListener::ExteriorLPFInterp
  • -
-

Methods:

-
    -
  • FFMODListener::GetUp
  • -
  • FFMODListener::GetFront
  • -
  • FFMODListener::GetRight
  • -
  • FFMODListener::Interpolate
  • -
  • FFMODListener::UpdateCurrentInteriorSettings
  • -
  • FFMODListener::ApplyInteriorSettings
  • -
- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-fmodplatformloaddll_generic.html b/Plugins/FMODStudio/Docs/api-reference-fmodplatformloaddll_generic.html deleted file mode 100644 index 2971228..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-fmodplatformloaddll_generic.html +++ /dev/null @@ -1,36 +0,0 @@ - - -API Reference | FMODPlatformLoadDll_Generic - - - - - diff --git a/Plugins/FMODStudio/Docs/api-reference-ifmodstudiomodule.html b/Plugins/FMODStudio/Docs/api-reference-ifmodstudiomodule.html deleted file mode 100644 index f745f5a..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ifmodstudiomodule.html +++ /dev/null @@ -1,63 +0,0 @@ - - -API Reference | IFMODStudioModule - - - - -
- -
-

4. API Reference | IFMODStudioModule

-
-

This documentation is preliminary and is subject to change.

-
-

This class inherits from IModuleInterface.

-

Defines:

-
    -
  • EFMODSystemContext
  • -
-

Methods:

-
    -
  • IFMODStudioModule::Get
  • -
  • IFMODStudioModule::IsAvailable
  • -
  • IFMODStudioModule::GetStudioSystem
  • -
  • IFMODStudioModule::SetSystemPaused
  • -
  • IFMODStudioModule::RefreshSettings
  • -
  • IFMODStudioModule::SetInPIE
  • -
  • IFMODStudioModule::FindAssetByName
  • -
  • IFMODStudioModule::FindEventByName
  • -
  • IFMODStudioModule::GetBankPath
  • -
  • IFMODStudioModule::GetEventDescription
  • -
  • IFMODStudioModule::CreateAuditioningInstance
  • -
  • IFMODStudioModule::StopAuditioningInstance
  • -
  • IFMODStudioModule::HasListenerMoved
  • -
  • IFMODStudioModule::SetListenerPosition
  • -
  • IFMODStudioModule::FinishSetListenerPosition
  • -
  • IFMODStudioModule::GetNearestListener
  • -
  • IFMODStudioModule::BanksReloadedEvent
  • -
  • IFMODStudioModule::GetFailedBankLoads
  • -
  • IFMODStudioModule::GetRequiredPlugins
  • -
  • IFMODStudioModule::AddRequiredPlugin
  • -
  • IFMODStudioModule::UseSound
  • -
  • IFMODStudioModule::LoadPlugin
  • -
  • IFMODStudioModule::LogError
  • -
  • IFMODStudioModule::AreBanksLoaded
  • -
- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-ufmodanimnotifyplay.html b/Plugins/FMODStudio/Docs/api-reference-ufmodanimnotifyplay.html deleted file mode 100644 index f098e05..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ufmodanimnotifyplay.html +++ /dev/null @@ -1,108 +0,0 @@ - - -API Reference | UFMODAnimNotifyPlay - - - - -
- -
-

4. API Reference | UFMODAnimNotifyPlay

-
-

This documentation is preliminary and is subject to change.

-
-

Used for triggering Events in Animation timelines.

-

This class inherits from UAnimNotify

-

Properties:

- -

Methods:

- -

UFMODAnimNotifyPlay::AttachName

-

Socket or bone name to attach sound to.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
FString AttachName;
-
- - -

UFMODAnimNotifyPlay::bFollow

-

Should this sound follow its owner.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
unit32 bFollow : 1;
-
- - -

UFMODAnimNotifyPlay::Event

-

FMODEvent reference to play.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
TAssetPtr<class UFMODEvent> Event;
-
- - -

See Also: UFMODEvent

-

UFMODAnimNotifyPlay::Notify

-

Event triggered when the timeline crosses the notify marker.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
virtual void Notify(USkeletalMeshComponent *MeshComp, UAnimSequenceBase *AnimSeq) override
-
- - -
-
MeshComp
-
USceneComponent used for the position of the Event.
-
AnimSeq
-
Reference to the current animation.
-
-

If UFMODAnimNotifyPlay::bFollow is true UFMODBlueprintStatics::PlayEventAttached is called using the current UFMODAnimNotifyPlay::AttachName.
-Otherwise UFMODBlueprintStatics::PlayEventAtLocation is called using the MeshComp for the positional information.

- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-ufmodasset.html b/Plugins/FMODStudio/Docs/api-reference-ufmodasset.html deleted file mode 100644 index 0e1a929..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ufmodasset.html +++ /dev/null @@ -1,119 +0,0 @@ - - -API Reference | UFMODAsset - - - - -
- -
-

4. API Reference | UFMODAsset

-
-

This documentation is preliminary and is subject to change.

-
-

Base asset used for creating FMOD object assets in UE4.

-

This class inherits from UObject

-

Properties:

- -

Methods:

- -

UFMODAsset::AssetGuid

-

The unique Guid, which matches the one exported from FMOD Studio.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
FGuid AssetGuid;
-
- - -

UFMODAsset::bShowAsAsset

-

Whether to show in the content window.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
bool bShowAsAsset;
-
- - -

UFMODAsset::FileName

-

In memory asset name, created at load time.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
FString FileName;
-
- - -

UFMODAsset::GetAssetRegistryTags

-

Get tags to show in content view.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
virtual void GetAssetRegistryTags(TArray<FAssetRegistryTag> &OutTags) const override
-
- - -
-
OutTags
-
-
-

UFMODAsset::IsAsset

-

Event triggered when the timeline crosses the notify marker.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
virtual bool IsAsset() const override
-
- - -

Returns UFMODAsset::bShowAsAsset.

- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-ufmodaudiocomponent.html b/Plugins/FMODStudio/Docs/api-reference-ufmodaudiocomponent.html deleted file mode 100644 index 27606ae..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ufmodaudiocomponent.html +++ /dev/null @@ -1,1346 +0,0 @@ - - -API Reference | UFMODAudioComponent - - - - -
- -
-

4. API Reference | UFMODAudioComponent

-
-

This documentation is preliminary and is subject to change.

-
-

This class inherits from USceneComponent

-

Defines:

-
    -
  • EFMODEventProperty
  • -
  • FTimelineMarkerProperties
  • -
  • FTimelineBeatProperties
  • -
  • FFMODAttenuationDetails
  • -
  • FFMODOcclusionDetails
  • -
-

Properties:

-

Public:

- -

Private:

- -

Methods:

-

Public:

- -

Private:

- -

UFMODAudioComponent::Activate

-

Activates the component.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
virtual void Activate(
-  bool bReset = false
-);
-
- - -
-
bReset
-
Whether the activation should happen even if ShouldActivate returns false.
-
-

UFMODAudioComponent::AmbientLPF

-

Calculated Ambient LPF level for that frame.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
float AmbientLPF;
-
- - -

Used for automating volume and/or LPF with Ambient Zones.

-

See Also: Ambient Zones

-

UFMODAudioComponent::AmbientLPFID

-

Stored ID of the LPF parameter of the Event (if applicable).

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
FMOD_STUDIO_PARAMETER_ID AmbientLPFID;
-
- - -

See Also: Ambient Zones, FMOD_STUDIO_PARAMETER_ID

-

UFMODAudioComponent::AmbientVolume

-

Calculated Ambient volume level for that frame.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
float AmbientVolume;
-
- - -

Used for automating volume and/or LPF with Ambient Zones.

-

See Also: Ambient Zones

-

UFMODAudioComponent::AmbientVolumeID

-

Stored ID of the Volume parameter of the Event (if applicable).

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
FMOD_STUDIO_PARAMETER_ID AmbientVolumeID;
-
- - -

See Also: Ambient Zones, FMOD_STUDIO_PARAMETER_ID

-

UFMODAudioComponent::ApplyVolumeLPF

-

Apply Volume and LPF to Event.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void ApplyVolumeLPF();
-
- - -

UFMODAudioComponent::AttenuationDetails

-

FMOD Custom Attenuation Details.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
struct FFMODAttenuationDetails AttenuationDetails;
-
- - -

See Also: FFMODAttenuationDetails

-

UFMODAudioComponent::bApplyAmbientVolumes

-

Whether we apply gain and low-pass based on audio zones.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
uint32 bApplyAmbientVolumes : 1;
-
- - -

UFMODAudioComponent::bApplyOcclusionParameter

-

Whether we apply gain and low-pass based on occlusion onto a parameter.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
uint32 bApplyOcclusionParameter : 1;
-
- - -

UFMODAudioComponent::bAutoDestroy

-

Auto destroy this component on completion.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
uint32 bAutoDestroy : 1;
-
- - -

UFMODAudioComponent::bDefaultParameterValuesCached

-

Have the Event parameters default values been cached.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
bool bDefaultParameterValuesCached;
-
- - -

UFMODAudioComponent::bEnableTimelineCallbacks

-

Enable timeline callbacks for this sound, so that OnTimelineMarker and OnTimelineBeat can be used.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
uint32 bEnableTimelineCallbacks : 1;
-
- - -

See Also: UFMODAudioComponent::OnTimelineMarker, UFMODAudioComponent::OnTimelineBeat

-

UFMODAudioComponent::bStopWhenOwnerDestroyed

-

Stop sound when owner is destroyed.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
uint32 bStopWhenOwnerDestroyed : 1;
-
- - -

UFMODAudioComponent::CacheDefaultParameterValues

-

Cache default event parameter values

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void CacheDefaultParameterValues()
-
- - -

UFMODAudioComponent::CallbackBeatQueue

-

Stores the Timeline Beats as they are triggered.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
TArray<FTimelineBeatProperties> CallbackBeatQueue;
-
- - -

See Also: UFMODAudioComponent::EventCallbackAddBeat

-

UFMODAudioComponent::CallbackLock

-

A scope lock used specifically for callbacks.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
FCriticalSection CallbackLock;
-
- - -

UFMODAudioComponent::CallbackMarkerQueue

-

Stores the Timeline Markers as they are triggered.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
TArray<FTimelineMarkerProperties> CallbackMarkerQueue;
-
- - -

See Also: UFMODAudioComponent::EventCallbackAddMarker

-

UFMODAudioComponent::CurrentInteriorLPF

-

Previous interior LPF value.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
float CurrentInteriorLPF;
-
- - -

Used for automating volume and/or LPF with Ambient Zones.

-

See Also: Ambient Zones

-

UFMODAudioComponent::CurrentInteriorVolume

-

Current interior volume value.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
float CurrentInteriorVolume;
-
- - -

Used for automating volume and/or LPF with Ambient Zones.

-

See Also: Ambient Zones

-

UFMODAudioComponent::Deactivate

-

Deactivates the SceneComponent.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
virtual void Deactivate();
-
- - -

UFMODAudioComponent::EndPlay

-

Overridable function called whenever this actor is being removed from a level.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override
-
- - -
-
EndPlayReason
-
Why an actor is being deleted/removed from a level.
-
-

UFMODAudioComponent::Event

-

The event asset to use for this sound.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
TAssetPtr<class UFMODEvent> Event;
-
- - -

See Also: UFMODEvent

-

UFMODAudioComponent_EventCallback

-

Generic callback used for the Studio Instance.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
FMOD_RESULT F_CALLBACK UFMODAudioComponent_EventCallback(
-  FMOD_STUDIO_EVENT_CALLBACK_TYPE type,
-  FMOD_STUDIO_EVENTINSTANCE *event, void *parameters
-);
-
- - -
-
type
-
The type of callback being triggered.
-
event
-
Reference to the Studio Instance.
-
parameters
-
Info about the callback.
-
-

This is on set on the UFMODAudioComponent::StudioInstance if UFMODAudioComponent::bEnableTimelineCallbacks is true or UFMODAudioComponent::ProgrammerSoundName is not empty.

-

See Also: FMOD_STUDIO_EVENT_CALLBACK_TYPE, UFMODAudioComponent::EventCallbackAddMarker, UFMODAudioComponent::EventCallbackAddBeat, UFMODAudioComponent::EventCallbackCreateProgrammerSound, UFMODAudioComponent::EventCallbackDestroyProgrammerSound

-

UFMODAudioComponent::EventCallbackAddBeat

-

Timeline Beat callback.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void EventCallbackAddBeat(
-  struct FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES *props
-);
-
- - -
-
props
-
Callback properties.
-
-

See Also: UFMODAudioComponent_EventCallback, FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES

-

UFMODAudioComponent::EventCallbackAddMarker

-

Timeline Marker callback.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void EventCallbackAddMarker(
-  struct FMOD_STUDIO_TIMELINE_MARKER_PROPERTIES *props
-);
-
- - -
-
props
-
Callback properties.
-
-

See Also: UFMODAudioComponent_EventCallback, FMOD_STUDIO_TIMELINE_MARKER_PROPERTIES

-

UFMODAudioComponent::EventCallbackCreateProgrammerSound

-

Programmer Sound Create callback.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void EventCallbackCreateProgrammerSound(
-  struct FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES *props
-);
-
- - -
-
props
-
Callback properties.
-
-

See Also: UFMODAudioComponent_EventCallback, FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES

-

UFMODAudioComponent::EventCallbackDestroyProgrammerSound

-

Programmer Sound Destroy callback.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void EventCallbackDestroyProgrammerSound(
-  struct FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES *props
-);
-
- - -
-
props
-
Callback properties.
-
-

See Also: UFMODAudioComponent_EventCallback, FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES

-

UFMODAudioComponent::EventLength

-

The length of the current Event in milliseconds.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
int32 EventLength;
-
- - -

UFMODAudioComponent::GetLength

-

Get the event length in milliseconds.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
int32 GetLength() const;
-
- - -

UFMODAudioComponent::GetParameter

-

Get parameter value from the Event.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
float GetParameter(
-  FName Name
-);
-
- - -
-
Name
-
Name of the parameter.
-
-

UFMODAudioComponent::GetProperty

-

Get a property of the Event.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
float GetProperty(
-  EFMODEventProperty::Type Property
-);
-
- - -
-
Property
-
Enum to describe built-in event properties.
-
-

See Also: EFMODEventProperty

-

UFMODAudioComponent::GetStudioModule

-

Return a cached reference to the current IFMODStudioModule.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
IFMODStudioModule& GetStudioModule();
-
- - -

See Also: IFMODStudioModule

-

UFMODAudioComponent::GetTimelinePosition

-

Get the timeline position in milliseconds.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
int32 GetTimelinePosition();
-
- - -

UFMODAudioComponent::InteriorLastUpdateTime

-

Timer used for volumes fading in and out.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
double InteriorLastUpdateTime;
-
- - -

UFMODAudioComponent::IsPlaying

-

Return true if this component is currently playing an event.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
bool IsPlaying();
-
- - -

UFMODAudioComponent::LastLPF

-

Previously set LPF value.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
float LastLPF;
-
- - -

Used for automating volume and/or LPF with Ambient Zones.

-

See Also: Ambient Zones

-

UFMODAudioComponent::LastVolume

-

Previously set Volume value.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
float LastVolume;
-
- - -

Used for automating volume and/or LPF with Ambient Zones.

-

See Also: Ambient Zones

-

UFMODAudioComponent::Module

-

Stored reference to the current IFMODStudioModule.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
IFMODStudioModule* Module;
-
- - -

See Also: IFMODStudioModule

-

UFMODAudioComponent::OcclusionDetails

-

FMOD Custom Occlusion Details.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
struct FFMODOcclusionDetails OcclusionDetails;
-
- - -

See Also: FFMODOcclusionDetails

-

UFMODAudioComponent::OcclusionID

-

Stored ID of the Occlusion parameter of the Event (if applicable).

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
FMOD_STUDIO_PARAMETER_ID OcclusionID;
-
- - -

See Also: Occlusion, FMOD_STUDIO_PARAMETER_ID

-

UFMODAudioComponent::OnEventStopped

-

Called when an event stops, either because it played to completion or because a Stop() call turned it off early.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
FOnEventStopped OnEventStopped;
-
- - -

UFMODAudioComponent::OnPlaybackCompleted

-

Called when the event has finished stopping.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void OnPlaybackCompleted();
-
- - -

UFMODAudioComponent::OnRegister

-

Called when a component is registered, after Scene is set, but before CreateRenderState_Concurrent or OnCreatePhysicsState are called.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
virtual void OnRegister();
-
- - -

UFMODAudioComponent::OnTimelineBeat

-

Called when we reach a beat of a tempo (if bEnableTimelineCallbacks is true).

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
FOnTimelineMarker OnTimelineBeat;
-
- - -

See Also: UFMODAudioComponent::bEnableTimelineCallbacks

-

UFMODAudioComponent::OnTimelineMarker

-

Called when we reach a named marker (if bEnableTimelineCallbacks is true).

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
FOnTimelineMarker OnTimelineMarker;
-
- - -

See Also: UFMODAudioComponent::bEnableTimelineCallbacks

-

UFMODAudioComponent::OnUnregister

-

Called when a component is unregistered. Called after DestroyRenderState_Concurrent and OnDestroyPhysicsState are called.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
virtual void OnUnregister();
-
- - -

UFMODAudioComponent::OnUpdateTransform

-

Native callback when this component is moved.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
virtual void OnUpdateTransform(
-  EUpdateTransformFlags UpdateTransformFlags,
-  ETeleportType Teleport = ETeleportType::None
-);
-
- - -

Used to update the 3D positional information of the Event.

-

UFMODAudioComponent::ParameterCache

-

Cache of the current Events parameters.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
TMap<FName, float> ParameterCache;
-
- - -

UFMODAudioComponent::Play

-

Start a sound playing on an audio component.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void Play();
-
- - -

UFMODAudioComponent::PlayInternal

-

Internal play function which can play Events in the editor.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void PlayInternal(
-  EFMODSystemContext::Type Context
-);
-
- - -
-
Context
-
Which FMOD Studio system to use.
-
-

See Also: EFMODSystemContext

-

UFMODAudioComponent::ProgrammerSound

-

Direct assignment of programmer sound from other C++ code.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
FMOD::Sound *ProgrammerSound;
-
- - -

See Also: FMOD::Sound

-

UFMODAudioComponent::ProgrammerSoundName

-

Sound name used for programmer sound.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
FString ProgrammerSoundName;
-
- - -

The integration will look up the name in any loaded audio table.

-

UFMODAudioComponent::Release

-

Release the current Studio Instance.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void Release();
-
- - -

See Also: UFMODAudioComponent::StudioInstance

-

UFMODAudioComponent::ReleaseEventCache

-

Release any cached parameters then the Studio Instance.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void ReleaseEventCache();
-
- - -

See Also: UFMODAudioComponent::StudioInstance

-

UFMODAudioComponent::ReleaseEventInstance

-

Release the Studio Instance.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void ReleaseEventInstance();
-
- - -

See Also: UFMODAudioComponent::StudioInstance

-

UFMODAudioComponent::SetEvent

-

New Event to be used by the FMODAudioComponent.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void SetEvent(
-  UFMODEvent *NewEvent
-);
-
- - -
-
NewEvent
-
New Event Asset reference to use.
-
-

If an Event is currently playing, it will be stopped and the new Event passed in will be started.

-

See Also: UFMODEvent

-

UFMODAudioComponent::SetParameter

-

Set a parameter of the Event.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void SetParameter(
-  FName Name,
-  float Value
-);
-
- - -
-
Name
-
Name of the parameter.
-
Value
-
Value to apply to the parameter.
-
-

UFMODAudioComponent::SetPaused

-

Pause/Unpause an audio component.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void SetPaused(
-  bool paused
-);
-
- - -
-
paused
-
The paused state to apply.
-
-

UFMODAudioComponent::SetPitch

-

Set pitch on an audio component.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void SetPitch(
-  float pitch
-);
-
- - -
-
pitch
-
New pitch multiplier to apply.
-
-

The pitch multiplier is used to modulate the event instance's pitch. It can be set to any value greater than or equal to zero but the final combined pitch is clamped to the range [0, 100] before being applied.

-

UFMODAudioComponent::SetProgrammerSound

-

Set a programmer sound to use for this audio component. Lifetime of sound must exceed that of the audio component.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void SetProgrammerSound(
-  FMOD::Sound *Sound
-);
-
- - -
-
Sound
-
User created sound to use.
-
-

See Als: FMOD::Sound

-

UFMODAudioComponent::SetProgrammerSoundName

-

Set the sound name to use for programmer sound.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void SetProgrammerSoundName(
-  FString Value
-);
-
- - -
-
Value
-
Name of sound or file to use.
-
-

The integration will look up the name in any loaded audio table.

-

UFMODAudioComponent::SetProperty

-

Set a property of the Event.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void SetProperty(
-  EFMODEventProperty::Type Property,
-  float Value
-);
-
- - -
-
Property
-
Enum to describe built-in event properties.
-
Value
-
Value to apply to the property.
-
-

See Also: EFMODEventProperty

-

UFMODAudioComponent::SetTimelinePosition

-

Set the timeline position in milliseconds

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void SetTimelinePosition(
-  int32 Time
-);
-
- - -
-
Time
-
Time in milliseconds.
-
-

UFMODAudioComponent::SetVolume

-

Set volume on an audio component.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void SetVolume(
-  float volume
-);
-
- - -
-
volume
-
New volume level to apply.
-
-

This volume is applied as a scaling factor for the event volume. It does not override the volume level set in FMOD Studio, nor any internal volume automation or modulation.

-

UFMODAudioComponent::SourceInteriorLPF

-

Previous interior LPF value.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
float SourceInteriorLPF;
-
- - -

Used for automating volume and/or LPF with Ambient Zones.

-

See Also: Ambient Zones

-

UFMODAudioComponent::SourceInteriorVolume

-

Previous interior volume value.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
float SourceInteriorVolume;
-
- - -

Used for automating volume and/or LPF with Ambient Zones.

-

See Also: Ambient Zones

-

UFMODAudioComponent::Stop

-

Stop an audio component playing.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void Stop();
-
- - -

UFMODAudioComponent::StoredProperties

-

Stored properties to apply next time we create an instance.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
float StoredProperties[EFMODEventProperty::Count];
-
- - -

See Also: EFMODEventProperty

-

UFMODAudioComponent::StudioInstance

-

Actual Studio instance handle.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
FMOD::Studio::EventInstance *StudioInstance;
-
- - -

UFMODAudioComponent::TickComponent

-

Function called every frame on this ActorComponent.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
virtual void TickComponent(
-  float DeltaTime,
-  enum ELevelTick TickType,
-  FActorComponentTickFunction *ThisTickFunction
-);
-
- - -

Only executes if the component is registered, and also PrimaryComponentTick.bCanEverTick must be set to true.

-

UFMODAudioComponent::TriggerCue

-

Trigger a cue in an event.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void TriggerCue();
-
- - -

UFMODAudioComponent::UpdateAttenuation

-

Update attenuation if we have it set.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void UpdateAttenuation();
-
- - -

UFMODAudioComponent::UpdateInteriorVolumes

-

Update gain and low-pass based on interior volumes.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
void UpdateInteriorVolumes();
-
- - -

UFMODAudioComponent::wasOccluded

-

Was the object occluded in the previous frame.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
bool wasOccluded;
-
- - -

See Also: Occlusion

- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-ufmodbank.html b/Plugins/FMODStudio/Docs/api-reference-ufmodbank.html deleted file mode 100644 index 5b62128..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ufmodbank.html +++ /dev/null @@ -1,37 +0,0 @@ - - -API Reference | UFMODBank - - - - - diff --git a/Plugins/FMODStudio/Docs/api-reference-ufmodblueprintstatics.html b/Plugins/FMODStudio/Docs/api-reference-ufmodblueprintstatics.html deleted file mode 100644 index 78bc6f5..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ufmodblueprintstatics.html +++ /dev/null @@ -1,956 +0,0 @@ - - -API Reference | UFMODBlueprintStatics - - - - -
- -
-

4. API Reference | UFMODBlueprintStatics

-
-

This documentation is preliminary and is subject to change.

-
-

This class inherits from UBlueprintFunctionLibrary

-

Defines:

- -

Methods:

- -

UBlueprintFunctionLibrary::BusSetMute

-

Mute/Unmute the bus.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void BusSetMute(
-  class UFMODBus *Bus,
-  bool bMute
-);
-
- - -
-
Bus
-
UFMODBus to use.
-
bMute
-
Mute value.
-
-

UBlueprintFunctionLibrary::BusSetPaused

-

Pause/Unpause all events going through the bus.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void BusSetPaused(
-  class UFMODBus *Bus,
-  bool bPaused
-);
-
- - -
-
Bus
-
UFMODBus to use.
-
bPaused
-
Pause value.
-
-

UBlueprintFunctionLibrary::BusSetVolume

-

Set volume on a bus.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void BusSetVolume(
-  class UFMODBus *Bus,
-  float Volume
-);
-
- - -
-
Bus
-
UFMODBus to use.
-
Volume
-
-

Volume value.

-
    -
  • Units: Linear
  • -
  • Range: [0, 1]
  • -
-
-
-

UBlueprintFunctionLibrary::BusStopAllEvents

-

Stop all EventInstances routed into the bus.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void BusStopAllEvents(
-  class UFMODBus *Bus,
-  EFMOD_STUDIO_STOP_MODE stopMode
-);
-
- - -
-
Bus
-
UFMODBus to use.
-
stopMode
-
Desired stop mode.
-
-

See Also: FMOD_STUDIO_STOP_MODE

-

EFMOD_STUDIO_STOP_MODE

-

Studio stop mode enum for use in blueprints.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
enum EFMOD_STUDIO_STOP_MODE{
-  ALLOWFADEOUT,
-  IMMEDIATE
-} EFMOD_STUDIO_STOP_MODE;
-
- - -
-
ALLOWFADEOUT
-
Allow AHDSR modulators to complete their release, and DSP effect tails to play out.
-
IMMEDIATE
-
Stop the event instance immediately.
-
-

See Also: FMOD_STUDIO_STOP_MODE

-

UBlueprintFunctionLibrary::EventInstanceGetParameter

-

Get a parameter on an FMOD Event Instance.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static float EventInstanceGetParameter(
-  FFMODEventInstance EventInstance,
-  FName Name
-);
-
- - -
-
EventInstance
-
FFMODEventInstance to use.
-
Name
-
Name of parameter.
-
-

UBlueprintFunctionLibrary::EventInstanceIsValid

-

Return whether this FMOD Event Instance is valid.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static bool EventInstanceIsValid(
-  FFMODEventInstance EventInstance
-);
-
- - -
-
EventInstance
-
FFMODEventInstance to use.
-
-

The instance will be invalidated when the sound stops.

-

UBlueprintFunctionLibrary::EventInstancePlay

-

Play an FMOD Event Instance.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void EventInstancePlay(
-  FFMODEventInstance EventInstance
-);
-
- - -
-
EventInstance
-
FFMODEventInstance to use.
-
-

UBlueprintFunctionLibrary::EventInstanceSetParameter

-

Set a parameter on an FMOD Event Instance.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void EventInstanceSetParameter(
-  FFMODEventInstance EventInstance,
-  FName Name,
-  float Value
-);
-
- - -
-
EventInstance
-
FFMODEventInstance to use.
-
Name
-
Name of the parameter.
-
Value
-
Value to set the parameter to.
-
-

UBlueprintFunctionLibrary::EventInstanceSetPaused

-

Pause/Unpause an FMOD Event Instance.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void EventInstanceSetPaused(
-  FFMODEventInstance EventInstance,
-  bool Paused
-);
-
- - -
-
EventInstance
-
FFMODEventInstance to use.
-
Paused
-
Paused value.
-
-

UBlueprintFunctionLibrary::EventInstanceSetPitch

-

Set pitch on an FMOD Event Instance.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void EventInstanceSetPitch(
-  FFMODEventInstance EventInstance,
-  float Pitch
-);
-
- - -
-
EventInstance
-
FFMODEventInstance to use.
-
Pitch
-
Pitch value.
-
-

UBlueprintFunctionLibrary::EventInstanceSetProperty

-

Set an FMOD event property on an FMOD Event Instance.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void EventInstanceSetProperty(
-  FFMODEventInstance EventInstance,
-  EFMODEventProperty::Type Property,
-  float Value
-);
-
- - -
-
EventInstance
-
FFMODEventInstance to use.
-
Property
-
FMOD_STUDIO_EVENT_PROPERTY to set.
-
Value
-
Value of property.
-
-

UBlueprintFunctionLibrary::EventInstanceSetTransform

-

Set 3D attributes on an FMOD Event Instance.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void EventInstanceSetTransform(
-  FFMODEventInstance EventInstance,
-  const FTransform &Location
-);
-
- - -
-
EventInstance
-
FFMODEventInstance to use.
-
Location
-
Location to place event.
-
-

UBlueprintFunctionLibrary::EventInstanceSetVolume

-

Set volume on an FMOD Event Instance.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void EventInstanceSetVolume(
-  FFMODEventInstance EventInstance,
-  float Volume
-);
-
- - -
-
EventInstance
-
Event Instance to use.
-
Volume
-
Volume value to set.
-
-

See Also: FMOD::Studio::EventInstance

-

UBlueprintFunctionLibrary::EventInstanceStop

-

Mute/Unmute the bus.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void EventInstanceStop(
-  FFMODEventInstance EventInstance
-);
-
- - -
-
EventInstance
-
-
-

UBlueprintFunctionLibrary::EventInstanceTriggerCue

-

Trigger a cue on an FMOD Event Instance.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void EventInstanceTriggerCue(
-  FFMODEventInstance EventInstance
-);
-
- - -
-
EventInstance
-
FFMODEventInstance to use.
-
-

See Also: Sustain Points and Key Off

-

FFMODEventInstance

-

Wrapped FMOD::Studio::EventInstance for use in blueprints.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
struct FFMODEventInstance{
-  FMOD::Studio::EventInstance *Instance;
-} FFMODEventInstance;
-
- - -
-
Instance
-
FMOD::Studio::EventInstance to use.
-
-

UBlueprintFunctionLibrary::FindAssetByName

-

Find an asset by name.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static UFMODAsset *FindAssetByName(
-  const FString &Name
-);
-
- - -
-
Name
-
The asset name.
-
-

See Also: UFMODAsset

-

UBlueprintFunctionLibrary::FindEventByName

-

Find an Event by name.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static UFMODEvent *FindEventByName(
-  const FString &Name
-);
-
- - -
-
Name
-
The event name.
-
-

See Also: UFMODEvent

-

UBlueprintFunctionLibrary::FindEventInstances

-

Return a list of all event instances that are playing for this event.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static TArray<FFMODEventInstance> FindEventInstances(
-  UObject *WorldContextObject,
-  UFMODEvent *Event
-);
-
- - -
-
WorldContextObject
-
Object from current world context.
-
Event
-
UFMODEvent to find instances of.
-
-

Be careful using this function because it is possible to find and alter any playing sound, even ones owned by other audio components.

-

See Also: FFMODEventInstance

-

UBlueprintFunctionLibrary::GetGlobalParameterByName

-

Get a global parameter value from the System.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static float GetGlobalParameterByName(
-  FName Name
-);
-
- - -
-
Name
-
Name of the parameter.
-
-

See Also: UBlueprintFunctionLibrary::SetGlobalParameterByName

-

UBlueprintFunctionLibrary::GetOutputDrivers

-

List all output device names.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static TArray<FString> GetOutputDrivers();
-
- - -

See Also: UBlueprintFunctionLibrary::SetOutputDriverByIndex, UBlueprintFunctionLibrary::SetOutputDriverByName

-

UBlueprintFunctionLibrary::IsBankLoaded

-

Return true if a bank is loaded.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static bool IsBankLoaded(
-  UFMODBank *Bank
-);
-
- - -
-
Bank
-
UFMODBank to query.
-
-

See Also: UBlueprintFunctionLibrary::LoadBank

-

UBlueprintFunctionLibrary::LoadBank

-

Load a bank.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void LoadBank(
-  UFMODBank *Bank,
-  bool bBlocking,
-  bool bLoadSampleData
-);
-
- - -
-
Bank
-
UFMODBank to use.
-
bBlocking
-
Whether the bank will load synchronously.
-
bLoadSampleData
-
Whether sample data will be preloaded immediately.
-
-

UBlueprintFunctionLibrary::LoadBankSampleData

-

Load bank sample data.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void LoadBankSampleData(
-  UFMODBank *Bank
-);
-
- - -
-
Bank
-
UFMODBank to use.
-
-

UBlueprintFunctionLibrary::LoadEventSampleData

-

Load event sample data.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void LoadEventSampleData(
-  UObject *WorldContextObject,
-  UFMODEvent *Event
-);
-
- - -
-
WorldContextObject
-
Object from current world context.
-
Event
-
UFMODEvent to use.
-
-

This can be done ahead of time to avoid loading stalls.

-

UBlueprintFunctionLibrary::MixerResume

-

Resume the FMOD mixer.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void MixerResume();
-
- - -

Used when resuming the application.

-

UBlueprintFunctionLibrary::MixerSuspend

-

Suspend the FMOD mixer.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void MixerSuspend();
-
- - -

Used when suspending the application.

-

UBlueprintFunctionLibrary::PlayEvent2D

-

Play an event without a specified location.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static FFMODEventInstance PlayEvent2D(
-  UObject *WorldContextObject,
-  UFMODEvent *Event,
-  bool bAutoPlay
-);
-
- - -
-
WorldContextObject
-
Object from current world context.
-
Event
-
UFMODEvent to use.
-
bAutoPlay
-
Start the event automatically.
-
-

This returns an FFMODEventInstance.
-The sound does not travel with any actor.

-

UBlueprintFunctionLibrary::PlayEventAtLocation

-

Plays an event at the given location.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static FFMODEventInstance PlayEventAtLocation(
-  UObject *WorldContextObject,
-  UFMODEvent *Event,
-  const FTransform &Location,
-  bool bAutoPlay
-);
-
- - -
-
WorldContextObject
-
Object from current world context.
-
Event
-
UFMODEvent to use.
-
Location
-
World position to play event at.
-
bAutoPlay
-
Start the event automatically.
-
-

This returns an FMOD Event Instance.
-The sound does not travel with any actor.

-

UBlueprintFunctionLibrary::PlayEventAttached

-

Play an event attached to and following the specified component.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static class UFMODAudioComponent *PlayEventAttached(
-  UFMODEvent *Event,
-  USceneComponent *AttachToComponent,
-  FName AttachPointName,
-  FVector Location,
-  EAttachLocation::Type LocationType,
-  bool bStopWhenAttachedToDestroyed,
-  bool bAutoPlay,
-  bool bAutoDestroy
-);
-
- - -
-
Event
-
UFMODEvent to use.
-
AttachToComponent
-
Component to attach to.
-
AttachPointName Opt
-
Named point within the AttachComponent to play the sound at.
-
Location
-
Depending on the value of Location Type this is either a relative offset from the attach component/point or an absolute world position that will be translated to a relative offset.
-
LocationType
-
Location is a relative offset or an absolute world position.
-
bStopWhenAttachedToDestroyed
-
The sound should stop playing when the owner of the attach to component is destroyed.
-
bAutoPlay
-
Start the event automatically.
-
bAutoDestroy
-
Automatically destroy the audio component when the sound is stopped.
-
-

UBlueprintFunctionLibrary::SetGlobalParameterByName

-

Set a global parameter from the System.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void SetGlobalParameterByName(
-  FName Name,
-  float Value
-);
-
- - -
-
Name
-
Name of parameter.
-
Value
-
Value to apply to the parameter.
-
-

UBlueprintFunctionLibrary::SetOutputDriverByIndex

-

Set current output device by its index from GetOutputDrivers.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void SetOutputDriverByIndex(
-  int NewDriverIndex
-);
-
- - -
-
NewDriverIndex
-
Index of driver to use.
-
-

See Also: UBlueprintFunctionLibrary::GetOutputDrivers

-

UBlueprintFunctionLibrary::SetOutputDriverByName

-

Set current output device by name or part of the name.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void SetOutputDriverByName(
-  FString NewDriverName
-);
-
- - -
-
NewDriverName
-
Name of new driver to use.
-
-

See Also: UBlueprintFunctionLibrary::GetOutputDrivers

-

UBlueprintFunctionLibrary::UnloadBank

-

Unload a bank.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void UnloadBank(
-  UFMODBank *Bank
-);
-
- - -
-
Bank
-
UFMODBank to use.
-
-

UBlueprintFunctionLibrary::UnloadBankSampleData

-

Unload bank sample data.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void UnloadBankSampleData(
-  UFMODBank *Bank
-);
-
- - -
-
Bank
-
UFMODBank to use.
-
-

UBlueprintFunctionLibrary::UnloadEventSampleData

-

Unload event sample data.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void UnloadEventSampleData(
-  UObject *WorldContextObject,
-  UFMODEvent *Event
-);
-
- - -
-
WorldContextObject
-
Object from current world context.
-
Event
-
UFMODEvent to use.
-
-

UBlueprintFunctionLibrary::VCASetVolume

-

Set volume on a VCA.

-

-

-
C
-
C++
-
C#
-
JS
-
-

-
static void VCASetVolume(
-  UFMODVCA *Vca,
-  float Volume
-);
-
- - -
-
Vca
-
UFMODVCA to use.
-
Volume
-
Volume value.
-
- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-ufmodbus.html b/Plugins/FMODStudio/Docs/api-reference-ufmodbus.html deleted file mode 100644 index 0bbbe4e..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ufmodbus.html +++ /dev/null @@ -1,37 +0,0 @@ - - -API Reference | UFMODBus - - - - - diff --git a/Plugins/FMODStudio/Docs/api-reference-ufmodevent.html b/Plugins/FMODStudio/Docs/api-reference-ufmodevent.html deleted file mode 100644 index ea43454..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ufmodevent.html +++ /dev/null @@ -1,38 +0,0 @@ - - -API Reference | UFMODEvent - - - - - diff --git a/Plugins/FMODStudio/Docs/api-reference-ufmodeventcontrolsection.html b/Plugins/FMODStudio/Docs/api-reference-ufmodeventcontrolsection.html deleted file mode 100644 index afecb77..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ufmodeventcontrolsection.html +++ /dev/null @@ -1,47 +0,0 @@ - - -API Reference | UFMODEventControlSection - - - - -
- -
-

4. API Reference | UFMODEventControlSection

-
-

This documentation is preliminary and is subject to change.

-
-

This class inherits from UMovieSceneSection.

-

Defines:

-
    -
  • EFMODEventControlKey
  • -
  • FFMODEventControlChannel
  • -
-

Properties:

-
    -
  • FFMODEventControlSection::ControlKeys
  • -
-

Methods:

-
    -
  • FFMODEventControlSection::GenerateTemplate
  • -
  • FFMODEventControlSection::AssignValue
  • -
  • FFMODEventControlSection::EvaluateChannel
  • -
- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-ufmodeventcontroltrack.html b/Plugins/FMODStudio/Docs/api-reference-ufmodeventcontroltrack.html deleted file mode 100644 index 5c6e3aa..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ufmodeventcontroltrack.html +++ /dev/null @@ -1,51 +0,0 @@ - - -API Reference | UFMODEventControlTrack - - - - -
- -
-

4. API Reference | UFMODEventControlTrack

-
-

This documentation is preliminary and is subject to change.

-
-

This class inherits from UMovieSceneNameableTrack.

-

Properties:

-

Private:

-
    -
  • UFMODEventControlTrack::ControlSections
  • -
-

Methods:

-

Public:

-
    -
  • UFMODEventControlTrack::GetAllControlSections
  • -
  • UFMODEventControlTrack::RemoveAllAnimationData
  • -
  • UFMODEventControlTrack::HasSection
  • -
  • UFMODEventControlTrack::AddSection
  • -
  • UFMODEventControlTrack::RemoveSection
  • -
  • UFMODEventControlTrack::IsEmpty
  • -
  • UFMODEventControlTrack::GetAllSections
  • -
  • UFMODEventControlTrack::AddNewSection
  • -
  • UFMODEventControlTrack::CreateNewSection
  • -
  • UFMODEventControlTrack::GetDefaulDisplayName
  • -
- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-ufmodeventparametertrack.html b/Plugins/FMODStudio/Docs/api-reference-ufmodeventparametertrack.html deleted file mode 100644 index dd6e383..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ufmodeventparametertrack.html +++ /dev/null @@ -1,51 +0,0 @@ - - -API Reference | UFMODEventParameterTrack - - - - -
- -
-

4. API Reference | UFMODEventParameterTrack

-
-

This documentation is preliminary and is subject to change.

-
-

This class inherits from UMovieSceneNameableTrack.

-

Properties:

-

Private:

-
    -
  • UFMODEventParameterTrack::Sections
  • -
-

Methods:

-

Public:

-
    -
  • UFMODEventParameterTrack::CreateTemplateForSection
  • -
  • UFMODEventParameterTrack::CreateNewSection
  • -
  • UFMODEventParameterTrack::RemoveAllAnimationData
  • -
  • UFMODEventParameterTrack::HasSection
  • -
  • UFMODEventParameterTrack::AddSection
  • -
  • UFMODEventParameterTrack::RemoveSection
  • -
  • UFMODEventParameterTrack::IsEmpty
  • -
  • UFMODEventParameterTrack::GetAllSections
  • -
  • UFMODEventParameterTrack::GetDefaultDisplayName
  • -
  • UFMODEventParameterTrack::AddParameterKey
  • -
- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-ufmodsettings.html b/Plugins/FMODStudio/Docs/api-reference-ufmodsettings.html deleted file mode 100644 index 9d25d3a..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ufmodsettings.html +++ /dev/null @@ -1,82 +0,0 @@ - - -API Reference | UFMODSettings - - - - -
- -
-

4. API Reference | UFMODSettings

-
-

This documentation is preliminary and is subject to change.

-
-

This class inherits from UObject.

-

Defines:

-
    -
  • EFMODLogging
  • -
  • EFMODSpeakerMode
  • -
  • FCustomPoolSizes
  • -
-

Properties:

-
    -
  • UFMODSettings::bLoadAllBanks
  • -
  • UFMODSettings::bLoadAllSampleData
  • -
  • UFMODSettings::bEnableLiveUpdate
  • -
  • UFMODSettings::bEnableEditorLiveUpdate
  • -
  • UFMODSettings::BankOutputDirectory
  • -
  • UFMODSettings::OutputFormat
  • -
  • UFMODSettings::bVol0Virtual
  • -
  • UFMODSettings::Vol0VirtualLevel
  • -
  • UFMODSettings::SampleRate
  • -
  • UFMODSettings::bMatchHardwareSampleRate
  • -
  • UFMODSettings::RealChannelCount
  • -
  • UFMODSettings::TotalChannelCount
  • -
  • UFMODSettings::DSPBufferLength
  • -
  • UFMODSettings::DSPBufferCount
  • -
  • UFMODSettings::FileBufferSize
  • -
  • UFMODSettings::StudioUpdatePeriod
  • -
  • UFMODSettings::InitialOutputDriverName
  • -
  • UFMODSettings::bLockAllBuses
  • -
  • UFMODSettings::MemoryPoolSizes
  • -
  • UFMODSettings::LiveUpdatePort
  • -
  • UFMODSettings::EditorLiveUpdatePort
  • -
  • UFMODSettings::PluginFiles
  • -
  • UFMODSettings::ContentBrowserPrefix
  • -
  • UFMODSettings::ForcePlatformName
  • -
  • UFMODSettings::MasterBankName
  • -
  • UFMODSettings::SkipLoadBankName
  • -
  • UFMODSettings::EncryptionKey
  • -
  • UFMODSettings::WavWriterPath
  • -
  • UFMODSettings::LoggingLevel
  • -
  • UFMODSettings::OcclusionParameter
  • -
  • UFMODSettings::AmbientVolumeParameter
  • -
  • UFMODSettings::AmbientLPFParameter
  • -
-

Methods:

-
    -
  • UFMODSettings::IsBankPathSet
  • -
  • UFMODSettings::GetFullBankPath
  • -
  • UFMODSettings::GetMasterBankFilename
  • -
  • UFMODSettings::GetMasterAssetsBankFilename
  • -
  • UFMODSettings::GetMasterStringsBankFilename
  • -
  • UFMODSettings::GetAllBankPaths
  • -
- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-ufmodsnapshot.html b/Plugins/FMODStudio/Docs/api-reference-ufmodsnapshot.html deleted file mode 100644 index bafcba7..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ufmodsnapshot.html +++ /dev/null @@ -1,36 +0,0 @@ - - -API Reference | UFMODSnapshot - - - - - diff --git a/Plugins/FMODStudio/Docs/api-reference-ufmodsnapshotreverb.html b/Plugins/FMODStudio/Docs/api-reference-ufmodsnapshotreverb.html deleted file mode 100644 index b1c988d..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ufmodsnapshotreverb.html +++ /dev/null @@ -1,42 +0,0 @@ - - -API Reference | UFMODSnapshotReverb - - - - -
- -
-

4. API Reference | UFMODSnapshotReverb

-
-

This documentation is preliminary and is subject to change.

-
-

This class inherits from UReverbEffect.

-

Properties:

-
    -
  • UFMODSnapshotReverb::AssetGuid
  • -
  • UFMODSnapshotReverb::bShowAsAsset
  • -
-

Methods:

-
    -
  • UFMODSnapshotReverb::IsAsset
  • -
  • UFMODSnapshotReverb::PostEditChangeProperty
  • -
- - - - - -
diff --git a/Plugins/FMODStudio/Docs/api-reference-ufmodvca.html b/Plugins/FMODStudio/Docs/api-reference-ufmodvca.html deleted file mode 100644 index 03168de..0000000 --- a/Plugins/FMODStudio/Docs/api-reference-ufmodvca.html +++ /dev/null @@ -1,37 +0,0 @@ - - -API Reference | UFMODVCA - - - - - diff --git a/Plugins/FMODStudio/Docs/api-reference.html b/Plugins/FMODStudio/Docs/api-reference.html deleted file mode 100644 index 30842b3..0000000 --- a/Plugins/FMODStudio/Docs/api-reference.html +++ /dev/null @@ -1,54 +0,0 @@ - - -API Reference - - - - - diff --git a/Plugins/FMODStudio/Docs/blueprint-reference.html b/Plugins/FMODStudio/Docs/blueprint-reference.html deleted file mode 100644 index 4eb4934..0000000 --- a/Plugins/FMODStudio/Docs/blueprint-reference.html +++ /dev/null @@ -1,32 +0,0 @@ - - -Blueprint Reference - - - - -
- -
-

5. Blueprint Reference

-

5.0.1 Coming soon...

- - - - - -
diff --git a/Plugins/FMODStudio/Docs/images/add-actor-button.png b/Plugins/FMODStudio/Docs/images/add-actor-button.png deleted file mode 100644 index 87f17024c42e2404db59fbbeae4be873f6d61a01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 953 zcmV;q14jIbP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E-^Ag1Z(U700SvWL_t(oN7a{aNE2Zk$9?I1pL1e z3>6hk(LElu_`cko8EPisL=*7^Wd?+_aLNyHHUQyJ1ctua#mBMF2i$M~qUfn;Ir$p4B-(rwF z(q(q|Xnxt;Hq|CENErDE5>QuRQXKlm;PfEw0;3u{9n&3H#Preh&oCGQ>UNpCe71+m z`^x0nWJc8=$*5%KU9Nt=_cJsVpRQ6nw33bSFjm)AGF^dkb$Dn%bJsP%U504I~ z8<@KI{6*!W;%mj7U7gef>`0sf;tJtElVZ+3haSzKhBT0l1IPaUK3~W;zBeMol+^lE zdYcZ94YNb`-mTJAS#3wglq>q_DpMB}kOes%IW4*tY7V|?@t5O~0OB6u-zj}AW#5h3 zhFaZ%4hOOZ8K%%?y(7KskgW?~yz*g%?Fu+_DT4WBcrgC}4Qf)2b-hbxrQ&qbG+Cjp zz;|HHwx$`^tbSWX2s2@WkR5XBg2I8q*o(0YR}fGayTa*my4~*Ty6Ql>mM<1uHH*mN zU*}WF`u4iZec@G_b*7$usxOL6#I z^VRuu5_2JjcZMe%5~kfwi;jVxtmcl%O%100000NkvXXu0mjf`ANA~ diff --git a/Plugins/FMODStudio/Docs/images/add-parameter-button.png b/Plugins/FMODStudio/Docs/images/add-parameter-button.png deleted file mode 100644 index fd35d9983fe119f6cc5b968b340fe6cf69d2b40d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 734 zcmV<40wMj0P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E-^Ag1Z(U700K@)L_t(oM`O6v#5oess6U4n8ujP!Liqe? zsl>#nfo=kF9o3nOU0AWo>PRsK=rc8W?Yv6^+{(S8zj9{ zd4jZu8Z)!AFvtip&W#0yDVi*rUC0RC50E^G3n1rJpg&oe8Fu8c0};?xQC`NyiR>3@ zINY?DFV=7XV_1TZabqSs&~5=P#xs?ml!jGSkc;tD1;?dYPBC7_C{vK<>wQ?A)R}>d zZ8_{fV}Y_jjgtI~dkaB^z~d8B7TGQ|gzitMhj0V9N=W_$#)hsGlf5b;(eBFUsPSS2 z#;rIXDAa*=1A`o{3y-X|GE-j&$dDB&P{BHHR-gw04VZxl=%s0qAX&ISF=f&0LPqHR zv{S_wpFml-O0;wfK^rpJg}E8q0$3NsvjLM3nosb{+Nv=1hk|^vDwSPP1nN(qjlgJ! zpfgn{@rfx*fHuxjCC1n7mJe(;<)zQKl!u zG&=^Q3{#eV{ybU10dxnjVDQyr1~MjuqWA>AET%t!s5O99MU+upoY7f>`Fu6VOTc6g z45LMfAdjKR(!`%b3*qwvB(Eap$)SseLtGJqM*TUw(5OF$7aH~Fa6(O-0D>f{8j>my QKmY&$07*qoM6N<$f=~S}IRF3v diff --git a/Plugins/FMODStudio/Docs/images/add-track-button.png b/Plugins/FMODStudio/Docs/images/add-track-button.png deleted file mode 100644 index 642d457a5cf01fc643752efc1fd50be3f5a4be87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 587 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 diff --git a/Plugins/FMODStudio/Docs/images/banks-blueprint.png b/Plugins/FMODStudio/Docs/images/banks-blueprint.png deleted file mode 100644 index 11350fff1327e28468e7c000ff5f3fbaaa8996b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74794 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 diff --git a/Plugins/FMODStudio/Docs/images/callback-bp.png b/Plugins/FMODStudio/Docs/images/callback-bp.png deleted file mode 100644 index ea18e09a8abbad823014db8048ed151894f6c445..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8574 zcmb`NXIPWnwyse`lqv|)3`mipNH3AzL=>ecMUh@Yi*!OKNJph9NN-XFsi8^<9Rxy? z7U@kyB29YTGx~jNt-aUU=bRts2T9)WUNbXu&N1%sJR@NmYIn&=7)b~S2*~fLC_N$| zIP(j<_P=lzJWiTd_JF4|&X4XY5ES)ZT?QBDEae}{6A+X}k{+25f$NJ7Do>pW2q;?c ze`h-E^UT4U^e%UvxIDIpxwx4)Sr9mwSlhYq*;%+;6X6r!6SW8uvLGP1wsucRUd!F^ zXNs4G*3x9hbWU7VirBsJWtQi{YY)Emlz+K5ZheTzvCc_xinhSckOyZ#`|6Z+r{HL>SkIbxWDF}(t0^Mz8)INQ-8@{1Qe zepZa0#NltCJ~}!Id_xGm${Er}gj(75%n17ZwmFPz#<>ZH-0wCDln6GVZ&%e2mGtI| zH^?)l4>qYI)v5jR&7 z3VA(!igiODPM$hCEp$?8@jWd&2SKb(gl!VDc>6h-o0~s={H3!~<=M0GgY6Z~%S=qK zbhb*L@aD;SZhfCV*%7yb#3~sZU;C7uo9pK4n$hy%ajs60ei$S8I?C;rlMJFh5oUCq zNq`vo{=$e)yR9Fr6mxNKq*L!778Ey-&_#xa*RMB|A`iZ#;SgSKZf@S*M+w4~8oprh zI&paq?%n%PRHV#MSWQMoNtsEg+(^WJ;|9q#ms+yim$p}QhX)6~hvU;EAz*z>lBE)` zM46IQHW2Pn?CHTM`s8>G$-=@iUGKG9?7MxFrmMRfy%BDom6P+HcEoovR(Ei4P{Z(( z%W}@cB#p+{nP<}nIvN_6x@u}_`0KZ*$s&4=YnD=5Bnf_?o{v|i9pfxnSy{W|_>m|3 zOO7d*di}sIIvd7EnEiEmYe0+Q-8<9w|!T@{UUrEr`w9}&{91fS7ni>`s_U#)Cx4GHPe+ur% zx{N;zp&g>NGn*k)U$2I);P~s-&%#yHWdsGOwrOc;%V`MdkbAQsc?rivgcr*P*@O=% zk$Z|(KE}p=JrSgea5%4!&%$!9T1s;g!3lpEH~{xkzg^bS?!@J)r%hEmn!O}^Lca}d zTEVDEz+O0n5;SoF~%|9}f_Oc2gz)Ns^BXOz`TMMWhl zDhifBEa~~$R6TmHjo;MNwEwO(VhF#kii(O`oCI{Qe=YSHeRBDboxKHt{C^9frkCf5LDK2X1I+XYYxC1v}nk@m_zSVM^bAr*5O2NnzP!4A(Py zE-A%CpCTz`LjaBlcDxNow6}0$R#{eAN~C8p#yA5{#gG)?fl!{Z&&^vGFMoEY5R;rY z0ig?d_m1BHVa3q4sn{Kq=MBwocv+HPg57)Fl0ECLlii2%CP{wGu6Bi!;tSUUj``aY zc8Gu`W0y`CLdgS5CQLuMSUJ7ZdBo1>(MBcd>!x{g-2bJXKi+MTOM zah~-J<>fA(o(H`tl6UUh8KYsOZx8FT=@COh6>_Lq%?D@KjXQJNsp6pz(gdPkFF9ml z1N{B(-@m^)S!-GPM1!7*NjM3UN0Z3V{vsc{NWBqDe}K;5M;}omEw&qI;D}o@d?+Te z^J7O%0mSZ*(_d+)WEU=|Ja~{CA20VUf-~bSi()r}HSid`!nbX)PXI?9AH^I%zt7YIE85U;!{5h@I(NQHFJ2*BLdRFA? z#Dw?yjC>LXR{F$60^&+=AGJ1FD=schM+CAmhh3RILYm~xVV%T z6x`(FvqR7jtG?r{aan$|cXd`MAmrN0y(*99&g|@LD4TNo?a`qj;|0YKidntvj~Vq@ zON0pAnB#0SQJt`rwY3SV+k94-)jb8%Tg^b1B+bDQI5M*F^%gg`Tq>Ukl(j}(O^wZ2 z*Y_ExsOa|hfz0OMG$So7n(WU}^No!JQlzfUZ$5wiJancJ7sqcjHE)hBv#>`Wi#ged z%pUcnO20b0Ff}?#$H@5d>QzEEVqJ)a=;gld?iN0G-kZ8bH2ECT?Ck7XlzsdNU+PWKIxldzx947W`IDXt0-+EGLotL2h@r~L z1So`D2(srmw26~#!-*7qHa~Nz47Sa`lol2i7Ua}Ue2|l$e`C3`I(RnvhHcCe;bdm& z!Me?BFpZPjJpmulRm4dKq}5|Mhn1h>RmKuJ?C(mE!Dbk)&to8~>ncJQ|^72hRJ!FPu`7lZ{vOsb! zE-vl3udF@=!#9r4iSqDVw9uxyoDaMEE}SN*h=ia9sjf~btrfGO>neA3^>}wW_dc71 z1mkB>17yW1>m?UwFv~&gJ^78U%k->O{ zt*(QEfOeN(OmyF16|=CAP@a=7N)^4$4Qp7>+){mOZEY`J_R@33-+iprH!crJd+p4eF*Sd}biN7;SLxdjh!q`EMabj{CSjty9zTBU>MELK zz)6~Rv1tY5QB3s|j^Klvq2bif5KVn(o4qtA7nf1JCoPF0@sDLMm12g#vf$`u*lwvY z%JxiEJmeZ>&_s02{2emX;o%`uc>BPBrqyH>QZ5*ClEur7`jS|?R#>PSfGHxHut4~= zN{NfR!C*N6YFu0$c2#sVG^WI%7-l( zo%`h<^)Q@$kFH6?-wQ*r<>~X9@E|$L#GD%=b6ULDrNtKbK;kMN8TPSspZXr#p00Pr zi*bOMUzw(ehF`(T3d@dI8fdO^GB5th7$wZCY#|!F_HK!sRqZ9bY|qXEPb7ExY``NA zu&JyyYA!*!T%Fbs`@G(C4f-#PWYQN6I0Mk^R$1)s1^Ks3=`rLnOaVN zbl++P030Ql!+~txrH~<>H#6uX5l@un z=FZE?T9~T$y7G!BsI*iNg?-?bWJVtyWV{o2`J!%-zF?YY_YWT-{CXR}#OcXO_5+A1 zzxOhoIdcY7N0%>O?wlClaCyWoB~{nZkh;pjRX;hYucfP-Ch1mGP+;rgLPJzy(fzKZ zL|}t6PrWtCz5zt!9hy|Tz--mHIhK+wnD5ESiC9u$S=pnp)FjuHk=ccy@Ss5cgnFNn zN6KIK>I?R z(r!8%m0M}vy&JMcFUFZ?cq$~B&4L;qZ4MPrdj^VI}gKt1(P!+CM8iaOI@(m#4x=LqhiD?d z_p@?rhfuNvE0tie*c!x7y&nm0-keRFb5anGz2X)VkuFsZ=ckJIfy2p`UK1;bLPa9D z6Qw03nY>K$=H^V{rVj9t;bD9>eUF`=oAdPae8>CLzYHfgcrvy{?)@2;6oE19+;zj{ zVonB5Dqo1vWEBYJJmwrP!N}Ozf42^mpdKC@g+e7%w!a79d<}j|&~)|24O}y%!xsyt zsF1+G{;v{`w*CFjE-WhqTz+%7u)rbYwpeBH=<(x7X6YO7y?s!rxVpJz5@eE-k;x%C zwP!I43+6wr2}NQ{&8)1rUr&sW*V<3ZXaPB-5W)RXuOh#=n6j{`sR^o~q!gHswFuE! z4YE6zAkD)QrWHXP8n8N68Xz{n5=nvFct^Bqh=P%mt2xWTC`n0M90AZn85dt<9s8VT zd1kqGb+w%0sb;8cXh1sYIEm&JOhblU%VJn}|M9AGZ3kET&F8V#e_pqGSrk_E{i7Uf z?scwhts5kJHzSq}@Rb9fSnYsSa%yVMo%o3f{oy+SpdM**`5qjjpXUVT&yz-EVPPTZ zwwhJeDFvf*lkz=+7XJKbgigJIN1Dv0BSFaAf;NUvvfPQ^hR7TtCFkNd0yufPU5v~? z$D@j$l%BQr^7WPJiI~urfcD4;3Hk3{sb+f=z6o|nCLl7wr>{nOUFea$Uc!qmO`gR1 z>U#R1x)G_NnX~;CYwvTi-riGL(9EmR2zb@h8XGozS4TBu`#nBdLE!)@u$`adk!Cv| zK70WApHy4z+tcvqAKC|0*EgUrdn>DJsFn>oBJCmx4@yf*ArQ!YRLi{A?&@*Lh9L=ja|o{q6t+c5ifId4iWOZnY@V* zwW=q)+<`$s+q=6rF%d$^zCVU|IJWaNnL{zFw2meV&7Y^L!);z{be<-6^7^WoZq6jQW+jxu428u9TY5Q5(@N$v?}H!f>g-ISI-{#s#Mi}*=G zL6LKx0Vp610iP8rYkuudpK;f2-3pJ;e)jCuP0V~ega~UmM52TW_>!xho0XM*Em0bP zdh~|*ing{kHwOm?Hzwk&2TKxnH$^LK_a(I7(a&&yZ3L|<`W`!LM?WnFSFD-PQ~Pl` zbiku$%Rlt~sOH!?rm6~_3#k{xr><=nu}b}~&CQ&g9IL0wM_&m0cZjY11;fBKvps1}NFSh(~1$kbrUELF)A&?r4&} z_|F*A;RAn-K_R)mixs6h@<9{_;gJmHa4J8n)tPE@BAYkmH;%CrpnpxV*WtyW4IsMb zW>$W+EX*A$;21As!p6`yYY6P217J&l0t+Mr8d}5)9eAF>Abmr~37@-?d~Mmi#;+{A8wy@Kf$1IXO8~)4A5x zb3$&*n3LGRkdV>Q(JvTTkVAsL)&Pe^#%)z!S9kRLcWx5n?svCLOiaSV!xbXA=|;E6>Z!G+P-d&*~7!ozaBI8X@4P?LN5(wZAmiO#9*_ zTek5EPTrguW!BN(uR&i^RpmC_;FAY(qnaaFe=93Lty)Y5q|Nla<;zCwwY;5d5pcwt@ zkp-|Ofkp9w7cjC763HT~W-GZeTAbVU@gwi+Nbjq14NwnlR5wN8#4EisJu)&f6xuJ6 zldqOHf6YJE{rKcXxwNb-3oKVE1;aNt44ZbgqpW*9l%xYochY(Zl;QP_N|AG zS(ay8r`8pZt0-|1ktpnF;WNt$JxxDn&5Qfg=L2S=VI3K3^4r|2O2t{44Toc7Oo<^htu_Ti1!hr#4f0R$ktZXmnan1o5HL zboK^=cMmRvWTROMq|zx!+^|~9ZOZqX88kIA(=-O1#b}RMSqF| z$afcs?`tQ=hvN2At=%-CKpP_dhc*li4fXS1eiq5Vz@W9vi3%t$7m?5blCVf5(hNak z4wfk06|qGORl0MB$jAT23JW76NhJHT;{1FC;I^LeaUl0w+$d@j96Z~++vA%)Pf))( zU5JdcQ9`v$3N$<)3wElhNFF-H7v#4zv9zVqP{x4k`9P14isPXSGlj;gDx1OAcT zJ1X>cd~&k)_780!IU3C9XS`tI%;L?x4&_hS6CoB~c;32>c`k2WUy0hD7iP)i%;X^~ z#A2}AEG4~$v|=OAv;Ly!Ef{g<16DWlRdWOqiOd{;N=T3t{-W#@c;wxOBbEB2TZmP9 zoSmI5VXzxFZa6tP0ef3s{*2|yYcgPa{H|OEaB{g{7MGTgvjo@!ecP2Dg<#C889v}w zMJ4-JwgoA&(nN$_hvsAVfm~$5a{}l_QU5=>QABduL-84_SN?u4(-gsPtihIQ7p*}j zBJSY}XPef~bKvS6UJl|(LoqsaX)ddi^VOO|A<}KPSrdz_Ku|VTDAcxW=?a!S%$HB>|_Ta%a=eQ|q zz2Gf7XHb5&wY32eICwZLEdzMx;)dgTUs;J5uY8Vo!tCtqTwNDQf8))j}OCe4tKKsO;f^1v1*pWw5@Y)0|#F61k>ZsCLnqs2xc6H8qa*>0iA zY46^>3k(b_?yx(@`(Wz(!=HPQ~@zQ`%bi$vwY^<#EhHWOxtuNyXqmw%X zPwV-ApO-1%+@_XoKdZ7caJ)7(%edLq*;(y4uWVwH@guQz2xkmzx&8h95@0nRZhcYT zpyPS&;IKa15~3MNQG%YdGXfH)OJ&`prMI^iL?QhCVp3`^di&R4Y+=_1BiMe3lviN|G~Ws?r9j5*VorKGGbXQ z6u<%Qr4O~Yw+{_z>EAHs-kL76APo}*Eu$1c=%=PEfd=krQ10$-ZOu3;ctlOUq`euF zVj1~!q45Qw%bCV~;LOqmfp*u{T}zzP=EA+?#v>RDJ-ysuc+2+A&gys-<->KjfdPc1 zTF;ofym?@9auQVY5eAm`?%&TZETk1n=4O#ZNO^8?pUjnSR6A&AvcL3s^Y*Qy1tTM) zUL~ACjb2oscC$LKNl}iR4+ck6oi8lx3tB6zK>@M<3S%e2n46ose4P~2B&rZ_E-$OB zjCyj$BBSeKA*!VkbUV;1D=XI4XTMSFa-@H)tCJ!lm6q?Pw>;eWnb#pnuqAI->$;-z zX*i$T$h;cV*(ga#o!kBSI9{TVmW%0rN=d0_+!+{3GY5ca0Tczs9w z?3v%w)zzF}CPFYgx9sGSY{7@>W|kzWhR(`2jS5H>AqQokAt{n>rg>%^5t`)nYnse- zYi8>>O%}s&N85hc5Ra(s-JSoY8n--Crg6Z;OA@!glAqkEV|L*~P3L3oYZ;*Zm7^b< z7?lS0ifvxma-lmPMi=dR#Rf8y9Q{>MT&Ez`CJT0V%;eHPvn;colh8wZ+eP|zKQBI_JA6Cq1}Z>5|TE&#n22cc6Z4OH_P!`X$u zI;~MTWz&)`_@~dS5;8lHkibx9u8pC{R)~4~_HDlE&q({7_4W1WXezxqg6j9zX4_`{ z{r%4q6SK3iDeV^-)-x{KfO0G`>UFVx%_D5Wc`9s$E#06A2f7?E4hw7u_l-F}KZ2~; zl6>f1nMJpN0x(JWbZ_0d6)7S)W!XP?Db`Z*c9SsS?BSo@217%6VjDW_4I2)L(imGahhDx8KYqY_5tG)DlS`TrXm`ET= zw|WwUp>KhgPGdd|VMAs5byK&7Q#^e5aEm^+Lo^Aq#bb;2ZNY5+>Dpf8g$s#_-r+ah zcoqrjQr%+1AdQ%UarLfz?SiO4nL}s;$t}TIpNme2PoJ!={0+%A9Klo8g@_&qziB+= zr66N?W@cvp0qWF`Olx>_H1~+$9Tg7`k33uC&Ku}aM00u2RhaOxe{R6|xAGkN z56Tm+-0m-QsBi&aQe|RasO5I|^_@1KDRUhL((^^84dUdE0RIK-5Y!(@^?)7p&E$$l zJD^cMdYuA+gScO(FN+^sSLn=Y`Q2pubri_&k8IOrs-DD=3CrGqElJv2{R@i0)jv>d z=kYg+-{t-350XR{`P|E?(S6s(#D3@_pmv9{70#!M!_bN<|9B{{ID4 C(-D^d diff --git a/Plugins/FMODStudio/Docs/images/callback-enable.png b/Plugins/FMODStudio/Docs/images/callback-enable.png deleted file mode 100644 index dff915e68440ac248be7137ec945462ae67efc17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2297 zcmdT_2U8OY5)K3+H8hcWw15iIAs{8u&_Xk`&=Ckd5DAb_qta1oKopb`kPZsci_(iU zNl=O*K^|a1o-|QWe5i-#-2I2!nJwS$&d%=4&ThIb3dzeQ&IJGfcrDCL>;V84*s-n2 z0X&vsen-?}#X_)08UdQ9lAFhXEf8@D0RXg+xsNdH000nRYmGMjoy5Yz%E}4^0@>Ku zKp+qY2L~r7Cl?nN4-XG7FE1Dj=Huhz=jRs?5D*j;JbCh@u(0r{Q>R2kL_|eJ#l*zK z#lbai#lpFgj!uWw*rU}$IvgTdf%_{EDC5eS5lk&&^nv5AR^ zsi~=%nHds^G&eW5u&}VSw6wCavbMHHp-?t9Hnz65c6N65_Vx}A4rnym(b3V#$;sK- z*~P`h)z#I_&CT82-NVD<^5x5(o}OM_Uf$l`7!1b8$H&*#*U!(--`_tVARsU>FeoSp zi^T>92Zw}&;BdGrSFVJHhT`$~u&}W3@bHL;2m*mXBoZSdBcr0CqNAf@Vq#)rW8>oD zNF>tLt5>gGyLSEh_4xSsqH@#Ezbq3H5)u;=lai8>lao_YQc_b>)6&vz+_-V`=FN&+S}VZIyyQ#JG;BPdwO~vKYsk=$&->(LqC`^{q60pF7>$YW z2ZUj;p+wbCf1-@Gs=6xFKULEo0ATmDFhQV$jJFH3-5ney$B}Y*^}_6C>8T&r8|CY! znIQ1+^Z8p{<+15ObPkRZh>^NoyLqhLN!H?X2nEKf=AeeC3|P`2-g$#U=#HLHT1ti4 zFn<_EM{iuG?Uroll?86B7`UdV?3y2p0=9(%&)5mVS+@Q2YDQ}k55W2VQRY@YpN_+O zUI+UKX~U^OwKojlBTU#DmX<`FECttAgP^j9|1y@apggg`FwER_X-? zf;tpPzjC~3N!xD|z5Gc+2t4tSuIWC+e4^1xFEv@qQWA~K3CZn4*xHEUsChy`8Rf}c zC*I1E?v(GFW>|8O3E9}%vfhCJ{QW3EiPO4u%YJk4vsh7v0Vs58e-PH_yYnw?i{_R9 za{i62O@I*lfS~=n-4o^zvS*ZnK`M6(Wwx2^O;URwoXA8BT-mwv>TNkx^Pl%k#>=bT z$#moW+&-nfFYt`->Uz~LF%)(z*INJAn03dJA3X4zHQ+530ALxM9p5#!Bc&1t$&--8 zd6QhET5CaFa*FKgo@{^5N?$B0=_*{8Y8YD*%Z-=$b(E($yU1;M)^Y5oF{EkrXhhBs zx~QJC^UkhZC*gyL6mYBvMk*CRZ-y82;(mnU^zQS&=TlYfuLU~WxO%9K=dB^e%t(`s zI<!T#~|V0J)olK>OY)+;GbC9VEfB;;wRV3XK589A_B{8?N0Jh(w1=x=okVqM&Y&wwGt1k?)`K`T0@R%Tc|z9raMp*$JCH1=i>t z;D>EkgYR7(9C-zJ;nFhp+{XY~^+Ir4Pw4_79ljDV<~iBHn;bT|5%B%{yMBaYFO071 zVO7{tmEVo1JdE(+qn$>Jg2G=!WY!QgElWGgg7h={>Zb=6;4*ZH-rcCb#cIM+>96-P zVZDT&FI^&fpM{0W_QHI6YM>=t4<<1wmxLV9(32*zDsyrH9>G3ziQ zebB92;Mx0AvMqAZqp~Nk=y7F&RSgZ5RorU3U`FcxJ#cEox2Kxd)1J2FacQ4HtvZZ+ zhkTv4ohhvOib8q5OZ&!#$FuCXnFVgV$@@#{D}8Uo;q|Yqu)o~<2ZN;LVuz`(B3KtG z%mu9Jjy#FR)6%t5R>U31M0hhoKFw}CzS*`dqrQE}{l6ua9o#w;3sNiAR?y*XKeGl= aP>2UoW5|~mAvV*$--(4O%B0E2JL%u*PT=bR diff --git a/Plugins/FMODStudio/Docs/images/callback-example.png b/Plugins/FMODStudio/Docs/images/callback-example.png deleted file mode 100644 index 0974a7e909bd4d4142bea2104cd2aa975f95a55c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69449 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­|&(aKhK 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⩔)7fipfpb@RU7fTD!eJB;vdmY2m1 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 z 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 ZXCD@BBQ|f%nnMgg;OXk;vd$@?2>{mx##I0S diff --git a/Plugins/FMODStudio/Docs/images/engine-mac.png b/Plugins/FMODStudio/Docs/images/engine-mac.png deleted file mode 100644 index b0c217d88d779947a5826858c1ebeaaddb9ef327..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98182 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

    7o99%oS_<_){T;^@Nn^p}+>gh%CST{C& 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%0Dmum$+?2#pd&1=v^_}ofN#o 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%0D*0Jv^~Se%KDmPzZx_OyhVmbBLPyD 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 Tsjl09J5W{BRH&7+eEmNF-?8^s diff --git a/Plugins/FMODStudio/Docs/images/possess-actor.png b/Plugins/FMODStudio/Docs/images/possess-actor.png deleted file mode 100644 index 125cb787cce7a967c576878bbd8a1069c5d02463..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40263 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�{Ao0xb*EPYQs3Bsr5 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 }m!wHSL33@dr<<}Bq^_PhB8I+0$obE{6I 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 diff --git a/Plugins/FMODStudio/Docs/images/programmer-bp.png b/Plugins/FMODStudio/Docs/images/programmer-bp.png deleted file mode 100644 index dde442072a1f708efb64bb1298854c7ae11a724a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20629 zcmdSBg;N||&^L-DSa5fO22XHzC%6SqaCdhS+@0Va+!u$%f(H+_zyd)QcNT}c$@A8G zzgu$0q6Y1#?hVK(ZZdYoBchzfIU~B3LKo;YXxZuEpOxFZe)K=xsIFs*WYn{kr8=M zl+*oAWm*ik!G5RRH(&=}ti)-AlB7^11O;Au(2pBQ-$n)AZ1eT(8*uj1qt{K-=?kA# zyt!U_O-M{_Uk;<#WW1~xg@V$0{cmebzf{scd;Q;bfa{}BbrX{_&s{n;A5G|?kC~Ze zU0LD^&+zdPel4R?y^s~u7Y$$+zp~6^sQPz&06R?2viCxIU)TO`J23hFxPJ0S@BFrb zgS2_Mln!oDZP$6AjIF>lOxR&_2W+`UjZbC0TS(0Q^H5d>cBjp01#dtaai%zw1 zr)5=P;Yi;ySg5y8wUP!Btd^FifcC?cMg=I+?TA)ZXSwX7q~#mQkQZlrV5Qrxv+XN* zub{V0PW)q*OXB%08cx~lgw4+r_jbavZm)uondROQ=LrzcclGbOkHXo+{}gXDkjKHn zq1ACMI%K)L%8tDes>m9797yc}nX~a@FFnpJxa!Veyy`7bsqo9|>*jB?ZsdxSzs`}? z6r-i&+5CAZV2@?SXrd4Hw$XIctX$_nrG6y2LV z6=Hr0v9r(qFHG+WU$hKQquRh*E+WIGg(t|Sou>)Mf~0dEbU!o|C?d>+u;f~)q8){Z z=RK(_J%Y5xfg`)!Ny>gSq+W8|N2&9tiSrIvbrk4zBx&>U;W}4J7g@qZbAygx17)^F zrv<)d+)GVmCL|CKa_421wcJdz?Sw5?Qge`}L;rh*VW|d@;bNhL%6C5wt=)%{%25T$ z=WC|}&}3Bi@>T3r1_g%mCD|>=I6NR-9Jsc{f+g7dx*Y;>H2PSTSI#tL+JXZ6ITtzn zh%+H0>4-RN4{rgqSvPK=vXX8bi3*nDjG zVtlxELZ~)YgboIdHfFdEW~kOxMCwgg>b0VhUrFg&AH7lEAjNF*WI++MpueTytB!(1 z3|)`F`#Prgbsydn*`oZazzS|WL};`_Y_faes(PGdd72#y&>Z*IQ1nlZ>Bd9v#=YqN z<0i7@Ds0vyV#+B}#3fv~#M*O(mV?G86JJYqjnP7yUF^MWl`Z^_K`H09ro{I4_VweS zqB^TnA~Y3KKUFyU&()#G9D)fSP6a3w$whR1pC2kA&&AM$pt|;p^~Q9>9O(G_fEjCs zI2V_vltH1gHZQ~8;xwW5MlE42q!NWGQHh7hENB>CVFMKgVHn>DePE<$j(lMMxvu2B zMBSsh-wsIXcR8~fo87921d>gWb9o>mV{kWOj%Le%ZL13@dQ}Jt__Gkcy=E5+@<3&{ zB(rx{X>aGpc)qvf-d<|`^sj2R;B6(#_9$YH=o(%_g!0YB$O(HwsMG z3hd`9%tbkVU)>OV(*4}S{j@s#%(D!nqy5Y)?YxVWJ|S!jM+dJ(7q-vquT3BvZxzA} zcLr!ZLxbmrz8-t91WXwTh08wsxW5DWkURG9VQU~8YI-nymB;FL5D~4^^Ak%f+3!#8 zA2*W-o+F)i&&54bB3=} z&06F{TY!<0r?wt-__&vNxL)75uz7{L_ZOAj&^GBSaN&G$A<|LObmb;?xohMcHBO(O zxIP#w#7&&i5QJwaNsUz$O4Opn-%o$X7J~h@3$@%W5pPnU|M1=BbEfb%a6b)bLm*mV zF#-WAaAy*E4?_HgLN3YUFF!h;47r>zE4_v|Hqt?+`5}p)tZd%60yWiA+m{@dE1SPt zGWVkYb?}Vi^Cf1~gfT>{hMyT)`tT)OC}%uT62BeP4~a;VcNb!;ZZqJYbBTJKHeJ^} z3qfuT&ZIrTSPFJ6=arNLAKH9B=E{DnVnBhh!`NBHdxIOIMIcaifER~UQJ#$AH52|C z=jH4t-q>J|3Wz#+Au(G6IQ@v|`iSV_-Y_ox#!pn5Z41KGQYBsX z2-Is1q>I4o50LPdrKi48s5?_&xlv)dR$)JvN1;XzYGv*wl z=oTmc3c|jrF!=>_W0js2tU$U&Ouj>m9~GW!5?NaFl$=(z_i?L?g6NyfG_QLP7~OIz>t>J5#Ls1yZ$l<@VHVf2vj8@-53j;j=-Ee&Dz{L##5ryiP61{pXZ)q9 z^GVt#l*y!7ZGnW6oU&lIjCyIvw0Bt|f7u3ciM#U&b(AwossPf+k$*`jlz;`}%^M`p z-E{aR$l9d7_ty~R`;=60J(;jlRV%!iXp{Dv@h_D9Iq^rLNkPyQ5YbCdN5+fx?Fi({ z1oBgi?_*@g6Ix+y>O!vA%f%)0Q0?#>fPCws~n(n>0xgs9^@q$8WO>dlmQ)@Pq-)Yl-0sg&kp*cTmDFw zBj~KM{uqBY7E+$|_I8VG=n-AeLi?Mj&#{`C0@k_P@kVl9+dWRt*Z2a{?Ow;LTO#)j z+n7O zDu&n!3aZ{a)W6g|4T_u2d2W!Z{iaxaAKpr+BarwTV5Bh{M-)p#{?w+3?Wh>tDb{tr zV|N-5>xUTAQ7MRkNhR zc7#w_LWpb+@$A2twR$h3g+R|?QqHo@7YhPb#EC>tsTCM^(ze-t)c6pKPobumOgEbq z1T!55Eh5iX=~&}}Cvqev_rDX8M9Lnc{kq*&y4(!9UG*ayvsofe2UzV_{Q9}7nA+Md zrw52GI&Zwqd4-)%IK6v~GE4&JI9hk6#2zDg|J>qDby)qD8ti^>Zn9YX;CuP4%H(l> zEdg{xE(eKm0^ZD6nH0fpq5AU3B`|t;8i234cA7Tt{T!z2f_Kv&t70K`B671j-WJt% zao-7lS91k+n*xUFUd)-i2zuWhWvu&0B4T0M9N&dQG{-5Fe z=lg|-d>W6|W6|*J=HeTXJK+~f6aTHX>7tg}?(I0?bMhBiS%hRp6(!W zdF>jY&S9R?G5YpK-#s|XrIrV(T5@Xn8!BM}leL(k<+7LHi&>_IH_UrW@p(fH57Y5g z2Y2TjVj}+MVd)ffg~xtpE;bTMJ}<_ARHC_2;|gjP-H~(a1cCVaicQiYMrl zSQm6MLh;!$=j<3u%wfeN=rj<)YU&y93Y?qs0@J0Z?aMli17xah_gA^z3I`|mw1O*M zV!_3K2C>L}>pdXq+|c|$1our0Nn;WZZxQcBZ+X2J(S$4g8$g!r$!y@d_ zce?8bBI0@URUX+^mQOHUdz_TheZYhf(~TvXv<7_YJPq>SZ1#FL)Txrka=8BTln`_` zCq#9>%YA3gmyUHL_X0%DhZ`uCqq5yJ9+=!p06xsj=LHN$oX|r08r-IywnG`ISPoXh z`7ZW}Of2{?L<2LshEGIRrB1{QgzB@uV^Q90pmI1TOnEV83NK(Rz<73WCBZgNwXUi22G=3TD znZ@izip@=7rY`&GS{BMV9I7$wU5+$nM<&JDXC82Ud=oHRg(>DvId?c?Wz7GyyLH2Fy{`|GqERhM{vUo} ziTaSFJWppbPH&}YgyivopUzaBdc;m3lbMTxjmIOIW(mgPkXkb=zW78L#wM3uUgp!w zI$-!O~!6_7yc$Uy8wqoD1ivM-k(t6UYB#V)Td#h$LMs`>X6oXB03D*T_;u-5PPG(jnA zg1bpNadO=^=T=xbey>HA?EQW$cD;;3>VQuny0UDb(rzSmR&GBP;pj4A5!csz;}4!0 z*C&!w6^tC4yCHK4UPp8+`s%~qtz2PZ4tjWGaq^~1Q=6pfkp_=!Wte#HF>#_E{Q*3IN7y&~CK64)9On2?Brkx-UpcYiG291B7d4I~@l zScQt}QRnQgfSSlu!V$8N$pMdVeg&xqDvNChSLC9XZSS~qnVa&=AM)1ZzBN|nm|a*~ zQDlV8+ICb+&E4dBBRTjkE?;IOJ!0kf;)}31+!aj&7T51K=3Bwqx10M*F6(tY&ozx+ za*lIwf?nhzHU6jb9KeppKl#(vNPywIIjC`ZvBrq{_5(xuTC(Zv1}+7qO1R zH0(Oa!bhYy4<77kUCXD3I-&B+%?XnU><)w7EAe>(-uEut^|b;+grfeNK3$(X{7dF< zgocTFpp(c>LAMHvlp6fzycq2a>D?C#52ryF%ZRI>?OfyIbi?@UPwXNZENdy_F`b?T zJr*kgU>gD||9cW!l2zfmTds{3pQFz{SnXaf6~iE}#9S?jm3lu@7)k|VfY$KP&i~B# zoRD1DjPwE@R)#PEPC|(*ONXSn$GB-bxS5;eNh)UyiksA`o^O=t5|y@+ejR@^Jwn-} zOIdj>y>vfr|JV=Tz7!$ucuZk`OkjS@Bq53n30@tWAZm0!=WPM#1H4g7Df*_mNXjS{ zmhs!N{Ou0vo0|uJPyjeSwe>E6*bCYi>;17G-156T3*yICd1{6T5*hJEa&4gT94?CQ z>h8AIS=gUQKXoJ8uSjnP+cvN&k>}Y^ytYuYRuu{S&{^oU@F8$mKM@< z(9!8di8)o%kpAQGVw^+w`O4DTGtK8SLaNR@ysE__akql@oYL6CcC-#alVxRE)OFX; zX83)}Q-ZN~ZJPs%h+jf3+adAY$<%t!#jeoUb4r3poMK@So?fC_>(&U&aQDe|uf_~udC2p5U&kl`_j{M$Ok$5ajP4x_scj7D)JDZrpUvpmc0rL46CaAx z2A`|m(P551yCIqh%?^xpEd?GUY{1~@=Zix}m%A&rHz$lNr}JW@<+urj*y>cI^2vt8e2yb*ZKuO>I0*lS{u_ z^78V2cY6GV2SgmkJyLeZFA59 zS_N7?RlTqa-ZYy@k}wFm7Hi9ArE$-5@(*&pTb4{VXIDVda_V~MgT*NOb5lL59#;}E z!Tg#%-=PgpR3=Z45mZ6`ch{|dq7Rh)i#*9iqoS{Rqavnxp-~^%?S>3l?Z~*H@ml4L zZb-SP^l@k66H=XG_g77)z?aPi^r;SM^Y8bvRD#zi_3al2WcmKk!STADnj@^KN^i)w z1RzZAv=3Chc)5X(k`{~aPL#J#2JQTI!!kbl7u)%@7P?(gFS9YG^A<*c!%`MqtE4_k zrp z!@U0!ma3s|A7lF`^7O!q)mL;rzcCXGy`PV7#2g_TA8Ym-6UGAWCcM@kZZ#oGU-2O9 z8zRr=&8-ExVE;t{-gPEHj-D`9hjQs0(+jl?Vc&C~)uS~xe5^i#CAXuuIfS`v#pVqo zb_Z_pldq4by05a_vfrF6q2|{rRUID z{)f-+7TDhn>EK$B5l4NDPjwv7J~Cy`H1JcBF_xfFEjbrwNgjP-TYF?R3Sct|fNKwn zX$@=2Xm2WOPl?DZ?o4VQ?Dr#bTI)ztI_6V$guLi#{$d?Cg28$~RcW(opb&1SmvN_` zC2h24?@_Ot@m{h%nOZxBTm!36D0SI3RM^B{JK^8Z@=x!ir4cfJaT2h)UFU#-&43Ayi0_dCRmQUGb-$ z+r^qRp7+Z>?wBd_`?Xt{RAoMVG$cNE=H zO9e(WDEc+Y)yg9nS0Wfd5p+umTgP9`974R*xKUc+SJcEqmrNL-Sgo?8H&{e>p^;tR z;M>zOevWZX&(ikJuC4b^Od)u8-hc1(&KB~^6!6n;^Uich%$CG-WPq~2{_z8ykPYFO z*}yBrbE5C0iva}L|25Z&?*nN`{+T!Tm6TF%?QQ(g=y4HxJsDOxSl#vcVdDp)%IG{j zB&ggUDwd;Z$M#j8ln*PGF;TNCfC(Imw$V4Rg<}cV9^s0%d>~7|c7XPZg<>Afi>bsl zg@`#UBCqQ;}h5RFyf8~QeU+%nba(=IO?2Pk%z#X zc&8|lTVi7$Cwtn1s(s*)o=0&%Glk$*e=U$s!hd8;D&}4mL{h|&D(te4)NtsJJnEmb zAJFg#E8Ap9Vx2HfpG3tl#>9!vu7GZ;p{al3ETik3rt3_UUP<&eu*or!?^0HaRaOJU z(J7J>Ghs&7Lo;yhaQbC{h19EKa<;EV0!q^JaFwRS(G%d%FiCUXx`6IO7 z4m7TacAh#SFZtS2FY6aEV&6Q=Qc1rGD(s%i?=pzzs%{w~$cdIDx`nbd)nK)YOGr;j z_)g+-JDbn&2)MW!U$ryDtSaT=wrhzPL~W0wt@lcb%cR3e(FCHtPv(GUK=P9WGATSK z{QzQbFg|AE-I}o?$Uh@L>d@WcJqz68N%uu*EojZs$^RN<;MOBgHpff;#lpR;)17=Y zpn)UQ*dgRQ9c4&~*@&*X z*NNljo*z7%OB1DJdE;eGkwwgkU!fDB0TLp3b4cqL*hNa$#>Q;HT|U0MI(f^=@3ur5 zvkW!t$hVY^+l)Gt&1*lUn^EM^qm5G=xHpQa?y9M7t3jGNx(s1JVTAE}0QG=7u2Ydw zf*rEJlqlA?=bK~w@e_)7QXu_{7O4r!NU_$P7Y6UfX4%r^HW}XTK&*&DKVOLVg}`k9 z?L-^EX)f&Z%AkY}b-r$nJnj_BJL5OE-*BtHMg2T5r_FGXr&)~5K=&Sw`er(a zTTkIYfo(y7ZF7v(Pn-Bl2H!PbjV0b$sqQn)6txmoRG3^rm=LEA9JSnxd<|Y)EyyeELoJiCi5Pt=KNptOj>OF!ut*}0T8K#}iL7-o9r#ILp@ABx z^}C*rC67;tXQNG>3*0eX1BAB0tWL!miymO00iqW^wnPIZEsahJf3+V^vw@)Px_}6B zE=Oi$Hwa%VZ>VWsG%@9-s2h+Y;?HU(;r(3B8BO{;g(w!^9g^cC6=?>J-1bR62oV|f z=l_!Tnd%GLophGOXE5K`YW_f8N?4ENhjcYKj;i2KRlT3=dZ~z6Xq4b^9GRn5(W3-H zoEwnrhoceAs!_pc{j@THy#@>y7_DFZ6GsPXx};dU)k={KykF}DJKu=AedXJBIytb~ z{iC!U>(HK1QCt><7_v&7xYAC#(s33Vllx{co*W$NOxr+7Rutv!NchJDg-HyMh?EJrCE6%Mu>+2F2 z^UFGx06LX4vQqcF8<`a&ZA7@+mM2Av`u&bHF$SSX`dO_c%_KCfE_Nhh!vWPNLLawZ zinXgmhu;?|vs3BU8sfw%!Y{+5UewJWlZgoxDXme(8BxV$4TxhNs^X635L@#@Q|m2z zYbg}I`f&0$(()Tn0~t?)8fpWnq;6no95C#=;?%0|+(OMI5i7Pe6_x|Pp7k)?JL`3O z(>@5anqg6^!-*rE=yIt8@{Us&KJUSY>?w7Ul{#enjQo;r6mM7H=&mwv!1$SoA}s$* zmBl~nj$kxMFoXq!BLDG?f|AaaYI^@@ls#4I0z%jb>01+`cT*{Z2<=w{?YVdf_o1eF zaul35X#_k3h}Rpb_ygeJHYiXh z*#a!2MK{U8UkJg4gydktyuMv*6bLo)LGbGD`SsuPQ@>x)Bxb|8GK!zP8i_kzi{l>& z5v1nB79znOp=i-Zbn=UC1=5>Kp)NLIJ2f}LZ~E@ih;ZRl%9LOm1q9^YUB3EnYF@TR z4j30Jt#VVW7Wah&m*vkVB~$)#BlGr2hGas}{d_7Dny^%DDQoRWD;-E`9Z0J~Ty10a z%DfCgj2@yrXo*zc&g0GrB=j83L+UeRBP>crox-!cX|==WS`6O;aI%sXmQ0r6t|bUO zXUnIr@UP$`Yk|~{a+YP%8?q<;G_y;(Gt&mfU>)+*oDnN0 zm9wAQrQ@i&Uk!m~8D&>$M0)l{POrwi(M>YLoRD_>IS; z|MD3fnc+jQ3TEx=(lE%SdAF?-$cauB?+n8bRVF$9kkwyCrbDGJiu_|9B`$b*&dH;3 z6e76@2o|I2vKyIYyfr<3Y;4kV~y9>nY7 z0+jdYIe~OBny{`g=|th+94o&mI!c>KCFFltz|Ve{^2mW1Kd4R@^?^pLFTU|jB=30? z04b4`9;F-SS=BU^=|Idjd6DXvz^0Tx?hn-EqlSH9N|vysp0|oQ2j7 z){&!gOl(bv zTexi=bU*u57rMJ!x@toGF^5M5-zWQ%LU1g1X`9d@3wAmx65dRI-R%E?yTOJTE$jMY z#iPqokzZjqM{;iN@S&1?p#E(FyAw;y*aXdJ4y_?;)E{d`*TkV<=j;OO)Ez=m&PGHm z@$dv^l&HZOoqj7<^n7Q`i}ykbp<%k^0>kaybmTcJw_%?RCS5444-}a_lXR)6lt_}39e=WZ=El}g;P zYo{5^F5?W4K#bwMIg5%yuZLL52FvQRIdu#Z2s%wbWQ@9b>P*&7bR9QvS@;>6>IxjM|vLD*eQJvM_GNUhK^G4Stv{Uxy zB2=qD9c;Wyk}DnQnGUTGnpLF*|O-8-;rd}vcIgJFo;4Y2eByC-Y&+; zNna4vM-R61ORTzV;Bq3VbxEQ}qAP8AGhaZ(F~A(`_&e&eXPkUNr@Mlyt+XctX@~;T z`{MT%C(Oe`WPqEK^6@G*>!T`rs*0$Q$?|>X(`91_Mapz@4R23vePL^nMZE?&H6l0! z^_&fn07GPF{&-LatihE~kk?RoH5;21Uld>HYS8l;k4UU%By#Aa=zg-lYwV4t)oE?v zZ0h6B%H5n6AWc$dtJfzrB~=M2Id=Z_F_+qefVMOW&s|?6*W^)Duryr?;>E-d?9t6s z2N6vraz2vmb52e?Yh4Tn{<Yu74ExBS%(MrZhH8?ZTp3B{0Rz3NFn{c$Nq@7NfYfToHr@jh)pQ73KP|d^ALi9wD zeRQ;T>~vlG^j(}JCx;VLx<$#->u|3(x`OikY{I337r=k5lYHeVh-I( z&Sy+dd*l0HS${Y)xw;=Gk`Qr)Q|rv7Ib;IAFWOmjoIk~na!m5bsnJ2qe+1+>ks(X@ zv?*>jIhL+81d~iF2GhJW7|cdeb8!YOC;(Lyn0zxmX}MtQWj%jHOT12nkH7}2Tx4rp zq^q0 z1C^V&*=yZZ6N0SWE+rM!RVwKwzn%!;?qmX7K9N>NU4brQK^Iq9oGWKqhl$%E0S zx4~;{=@JU`$J(f+GBP!3?HD_y$JgdwQA@aKhk0y1m_IufW)e)`UH!qk(iV(h>Y z>gL9gUt+u!)$e1f_{TsjU+0>BJ(+cH%^lp^j&O|L4eNO7C}?mEG`XQ=jXBTti?wu= zfy9{B6w;U4yWi6AG1e8PKC6i|7rn0l1V06YDv zDke_ZWi^opbiLaKm?CeNgLe{H{^p{@YvEQ#@a@gSB8!thI%;?GsGs58 zj#Hq#n4`*9*u6WjeVczdNI0rk=?C=~)?ScK(@vn=AJoUz)6kw-w8u-!*VoNnGgMXj z2BkO#?whNRI99r;GH+{r#!KSzt{;EPK=kkmA5&tP{(69|gd)V#McYJET~6c<`>pUe zi$ITqAIpt_xS<42)=B2~xsDo=mFWAzp*C1aPA=OgoGe+=xytbvQ01M;1(xENQ*A8k zJLiP)USq^&#IjHjQ2%B7qn!(9rgOit2UHH@ZnI+0_( z`+Xs-F0Q4afQeGJa-E!>ypfuk2+*SQam#nM{;bhwL+NWnk*D~_5<1?-dWP}oKG>(Jp>rC{LCwp>`+*M(8Zg*C zp?AHxNOjo3;L~=VC@SJ6RH6tf;*{4Od>h`G^YTHw0H2NIEA6UDPI?chM{7uhK&M%T>1swM zJWGyLx_?sD4pP)llC=a~OA`EJ@*dzNB()uERFyoHq-4!R4kEu_931rN+zWiIE-$L= zAt^rU50a%0(v{9=k?x|oBHSjktM(_KDYc}+CGgThp&NA&dd3uAu?{0m zCVA(T^2j#B?q}o0?@C*tK6o^UW)=>TJ+sP<M;mo+2DoJ3TNmUu^Z}BU6 zo>J3b5;fjE6UC5IDAUme(;fm8md?Q*VH|e3HBdjMeW}_MD~2}+{*n9Cz*A$6o~T2l zxyI>jULK$tbSLgLUMpJtY6sD%Lb;|KQ<%#(+Y1UM->V}zAr;_^bogput9|XPdm8c_ zFA|VMfboe#5PG!`=Q-0YWh`gsX&2+9qrFn=$Vxu3(&^8|GD772Cwh*I^kOBu%_C$* z?I-?^`Nf@9o}yF~j%w?b8AqZtNcyLx*1BLaLDoxS@MlKPy$wAWL7*6fetgR%f}PrXjFkfkiZ~U~&diX4kScVZIe} zk!ExyVkpGZPQl&9P2oY_!N{r9%Dt%6MB3Qsi@VC}%A4TOpIMU{`W;^JI$x}eXTPui z)?HZD-6f*1_;cWNLYZiiJHM){v8J;@j{jzaOG$GerRdG^8Z3Z3W}!(GYJ;SgaeMC0 z1I+!xkSy^TLVt$CoPnNTC%4xQbwjaloxS`xOPpLgaP)U_q_`vehQNpo3H63pI#l98|mUV+7tm=!)=!Sj_l-bZy6(!w(qRh#{I8{HyIG>1ci-II3EXV?{ywA2H~6zhVEWoeF==+(04<=n zSa}se*$^?fqah~0A*QZ@Yx|p#pqkvZqxI>R&!>)`A+IMf?2TGL;*$o0D)**x0d~kD zNg^78YU`#p=&+0$A8meiia8MV4?o1#JNZ|GjIOf^nm46ue^a#k7r1RLaijImYYaxy zwPj_D)041F;9}MaA1U$Md}N(??2YjVxUL|Z9uw5xa#|lZ%4D8@(u-FhZRo<+5>k_e zc(#MIbdczqrRUvC0q(;K9#BeB1^c6-L4-1fNCVni3rS<4L{*H@_4&;fEa^vZNHxOM zluc4kdFkyp9|dy)>YyFmD!6pGlLR+xmq(!?BB7sz0zU~Q-BIg@aj_=`oQP0&#E}B^ z2;+06M;Zr}FO1w30|oEC3f^T2Cb8+je+`J{rz6p@1ZTZh1@1_G$BJ#n?Eet{5b!CC zAJo2{{uW?19DlIJ^0S{Y)p@co{@7P3DAP>s9lzYZiW-EU&-3Dg>jkeT^hY^uRh7gV zNS%tzBT0mRk!V>}+z6?t9`uv*#h4+UXaXGFHDdrXAS%Fa(1!x>K;WUo zEC=rom$9jktQ*-Y)_Z)g^T<+zuvLUEq24;{8XOiJZGbtXi&W|n!hzSO_+^X-;Ti#o zSz?@6hX4bo;8b0B<_o@-UYOpZJhG3bZDUz7;63N2jODhAxuD-F(1v^y11^22Mfo$r z;T#!~cqbtmLM1ubiu|IE6xcapPebX~FU;|oD$kJx@vedw-#gFeqDC9j`+}ZVQ3zK^ zwG-hsN-tM#EnDl95L_Vgz2F4L{DA#~jE+~aUam9d$o?~V4jFBO=I`URcgOf1GK!0M z%QLC99F4R&s^Yn>lc!S(q7V&15c$EDUhWh)C3L&)e1I>FK zNaSfV*x_BD8!QqpPm|~)s5%kPrp!!~p7(g(=6}miRIT?)GE*guvLL@K?FB2K`pHFi z=lGZSMvHuJW&Cy7i?`b@#xG?PakLFs8JTSnwO`FL^|H*>l6QFJkqWIL%DE-HO+&yWM?|C{3vj*16uyc?GYh|#3cHbO&)*5&E&Sz;O9OFsC z3V4bGYQ;NWqXL@b2brd88UAID7pwKV9j~wSTj5`{gywCb0=gSL3c0pC58ww6p(IJ2 zT0N%!mSQMDi?w;i=B$h!mGeh#wV#?LORbnEfH#3_Dj%6cJm+DRfBH7VF~dEwKqHhVc2QgqkS2GHG`x%5$jDSaoM~orK8{CdcFS+Iz%F54DsXt68j2tr>=`82oLx8 zdJW^yW3g_%jZ)KMZOG%07kg$3k_3iKWP8ocJpV57zSl9{6nrfHV+i978#CNBa3g{M1n3Zi~@x(~w|&7@sHz(Thde_1Bn zcS)TEoh@8Fy=c~`YSs@GR~T2ib$V-HFnE4`etCI$VPWC-Z!I02@Ha$cWHBGNc6N65 z_TJ$}d1Et%=~z2CIu0GGNpF={Zy<1F@M2#d6sb_ca>f94Atqaf*Lm^0mGd%b8XFd8 zY(82lIALL7{z{Ytit5J3#u^$LYHEpTX=$06?dJQqYswwI<%ea7;+^6`V%vD%W`Xmc z4|R^vFU})3=R{Z`#$dM zcDoxyC0{gPdnC!I)ARb~<{QFC`QMeW@uV8pOi#Yl{g@tdvm5Z4cz~uYwm8W>K0ln6 zBxjUYZCkCy!m{3SMobKqj5WFD|ya z!3wt`u*7aRz9oo2iETAlk@!ss_+9?|%oFi@jf|X>UmtOOc{!kPyI;kQ1S*Ri1(?O~ zq%mOezPweoMj`pF5E$D5vy2YyoC2f&Q`;aH+T$5DhC>%j6wE%z$jDmPBM0StNt;QK zo8uL)gWpWT=(h0q2nk}({0ET@4Ih4w+t}Fj_4Rq9ymI5K2j;P@5}LHW-5@x; zw+0gd=YEZr{+^XrAL%_I8vkEQO38&*^n<~otgLT@{P7V)L`0S_3$l7OXORT5iklV(%qwV;=$^`I9KihT~?EyAK81Fz-8Jr6T)*hoY}ir_yB zG6HJ-pJQS~ll?9If(OE3b^}jLVBCpuaMab*IJ`VRC5Ya?n-#qs-VM4rS%YcZ5^Y;s z+t~@zAJ0e3oaW}{v@`(ijZQJsc{=7QtrryoC$u&s6X+iTnd z@Ze-bXFKELF`>uh^Mj`67%!NH^78VYp1dP+%L#y~r=R;IUB4YxT3`zI7Sh?#aiLS% zcI@^LZ9)9K0^m3xcpt^`wC4eHs?4tmYV@Um+(ShMgQy_wzaG@@)Oi-QU|I`Ld?)7} zaRXvULwi70qCDM)48Y5<0e<7tU<^?MiH)sobZo4&wqNI5yt+CiV{?ZL zWR=?#)^-R(CIxE~Q7!;W|L7 z)M3wUI_)-T#e20CJ6DUcihg8ZV30s1#y$Q9!vK{X6-Q) z8sWsp$0Hmg9M9Q&c+UP^q4V!Pm%AktE(UX=Rwv}KXa}|XGDEH!W%?7MjD-PzxBu|0 z1pBx2|A6WbinPjE{)&0D6C!y%?uVS1jK*2fe+cxS8%8*0{hyKjhq?IHRyduS1-UZJ zDj}Xcg&1YxLNR}vOIbBs{sW9xAibX_u(Oh)H4BWCVG}D@VV+TgyDgi6y?KQu;Gq^V zfBk&prF-k=`U&OT9D>cs?0gl2K$K23jR}s$OwFGzq8H@@ttuFX)vdIf-z5)@6RyVs z1_ZMabW>nH8dey_=R`?SSpoPp?XPl(7o1aonft7|SNj0eOPmH6dR<<49BMsI-(5n) z9*&wgdLA!etroI~U##uR|Fkm@WZ)k<%xmsHn!u9x`#2@)+j1x48MfC#&Wl8_KFeX! z*pN)c%f^UP{^xOuvS+CfL7SZWx=7&l9}2U_03E!EBvR# z6U(*hjzb$im~nkV(5W?U*K^|PM&F@IlojK#Ujlp~xN*>=)hu@EdC(zcE`6F)IzJ*E zJn8Zp?S_Rq3S?7(F@oyvO_AxeF8&5OWJ(W4u;z)a?U$svXOo;~Jixloi^;AId7fsF zFRyogI=Eo09+6ZYk~P1j4mA2aYpXC8UVqd{#AXDu$LFg^a90wx+3Fn5n_weWo zwZ&uTs*3e6?)x(6w#YH$6m)q`<0m%wo<-Iu6UugPaDV?`y>-*`60e8_DDIaV7@T;e zRcG8vsz-q_eL}VO0u^%NFlk@y9oZPB3i??Lygy(e6C(4i+%JvuVV$0&At)2?%xV)Y z1J;Za>PFQDt@`RcgKo35NsL&~TG(oYyV~}T`fJhM?w{W~4X?OCO}Zb>yu2tL4s#iw zJyBOhM)YAWa%Z>Jk(D~`;6X;(Xx=9Q%czf;gBGiYFL^3&S~4k}v_Vm*HW zL-`=&w@0-PL3CHR?l0(Zo$)XJH%Vf}K_`=55UifA`UjF+kfu^q0y_r?cBz%J~&*T+${H6aHz5-{p(eh-?A%=w7OOFahLnDqTAq?lM?v$ zcDYG9-95RJx7toC?Ve(-5NYXhUO7ljzs3m@_lhw{1mbVis!+IBj^}$#xf%i%ST3ZaDQkLCbW-M7;O@?pm6gmK0Esl9Jp*SDfk$ z+b`~j@*_gS3(9H>F?)k9_8I-4Cw&vJ(ZKpX!m`RTcy}9MTBViKihk@HZ!D|sQ#A() zK6xx8f*ifXruJDqqm%7+sz06hVhQ-`-Sy2gO_bM8(0?#+$hnnMAp;dt6o2ioQ)Dx7 ztqW;a>5K1#1}L_iz)1Gn+qsj_Q_`u?@^Gao7KO$13_>u^A?2m&m8P;6f8+duW!cWWrqkCp_m#1=gV&7ePP9sMQv>y#d97Q=eg;$n&pr;6r)$IM|8Z)-$5W&h2w1jwxUu$LV!l567X z^z?m*eI8B*)@P^`*8;BmavhvjSFWbVj-IbK+X+L|m(nk>vU!m}dfZJgXdtx1Im`YIF(?Gdj$C0bbtLxq0;@baiufI!Vcg=QUBCrbqA^m%^TGYrbCi@?XUKA6$jaBLj!O zz4$;X)_0G4I;s!59Qz8QSO-9B$O%0%i2p#3c|F9S|LInGS_@XJ37bMPrX#Gro5&N@aep#;> zJ?1^sv;6S>1J7^w=X}n&mvb-I_xj$~^%Y%Dev#nr&Hxa~2nLK(b0N!vSmI|c9^2r)}Zs|5|^acX4)oBzhlJ^2sdr$mJaovuVa%1a)_(+Z_ghcHWuD( zVU9o!Apg@dxR8?wyYvmIL^Z#31sZQ2e4=O3sS6iYtPHMDEKBp3!*|8x33k(Pgs{$jjO_Q&LtDI^L)tqD=Y<$_+XUB?!v?>o3E)#TE zL!Xjc1Ti>v?DXoS+?We5z%bxQcWUOh@VtKYx;t}Z1TNDeaz_k=D60-vLKiOA$b99q zx3vSK3?9d_!K34MK1*z6?)QfEEIrI8(!Mf}#->QYmgbPU#?U1{*eU#v(E%gQ_xr*u z@$r0pMLlgPiEJ;<%0yN#-qBKz=MFbtG-L@FUMdb-7d#fRxaoTy)q?b;>>mpJlHi2% zHoFdj!=KNVgXe!J7bMGDDl*3(j~jNpr*FqeYX<;BV*AAfnCm?22DJt(DOT{U;L~f< z>YhiYp+M5(xAzYiceP@3MgW#Uk0b=bHx$TDkY~VlplfewI*J#~8{+bRY;IKfM)cR`9RYGU!JP7j2weIldYsqyCulE}_T>R)28PQl!VUsg50 zGt)lyQvxS#)x!DFn`FKoBdf#ajCuhLBE)YVi4%tfRq(^rax&Y!LR&yk6n$u zdzEb~1&`oe1QytYQt|UrDuV^nHu0<9)br{&8*7uP9=A$gWvnI7e_Vzs6lbFki-)cO z75T{t<_W}&ukP(LBVT6sbVaEbR5HurM6J*gc60Ayfo5isf>>{@3t zVD3-RD?-@@a_T(Q0s6bOspVMYydovtj?`F>?Gc#PyqL&OG5YOq6b6t0uf zN60ChaP!Wh$pW1UniwqQTH4fb8Y*7*6#UGt!;==&tVb~K*@jK5;ej>5wW5zbt>0K> z3GP$bc5qc;@NT_)u^*xgr2I;!URMk~yS&ZgiSdUwtd^N=3af(w!#&#Fy(ZQ3l7`jA z_4qSaxo+2kJfKZLuM4wda&o$IzEuhS9Tr=?oq6!LEn&BG5}`1>4e03hjv#Zv=oNd5eqhQ@paM@y@g;?>xHV zmwBO?RM*vQoPbxK$2HS3``w3w>%BHnd3#iH5 zC4qg|uTM#@9Q@iWjjb^HFL@Q*UVlc~n3gFAc?cNny&uJY?Jd~1z;iA&6{ z+(ZjXv0bTKW}AM(-c?ivp(}37@Vd%h#83j0+Cs=>*L!~j&reevY;8RUDt$Vh8S4uA zspjR;WQJ;xB)Rj zl=!S+XkUrzZE0!_NW_5rPC~*?Hz=97e|%2MkgxG^ijovqZ0g`@ipasys<=^ciW2RI(`=cypCU zL{DVL1rz%gcCuyu7%169JFCY{aUP@wIw4iHw#f)P9uXEw^=){A#X9+?O51k$$Vl5^ zKan)e`nXl%@i>7SrzRL#46q4$9ij}eVQ(qq7*waJupIuV^_@SfVHtN&*jxgQ zMoZ7_SLIT5@ZKA9E~u-`@^tu3P%f&((ZVq_o+~yep6@)bb18BCme7eP0qZk5-dfvH z+nI*mh2hs`o9ld!DDrOBn|4T8Uv9WlRGoFMWYmE)`Zy3S!QXBIcPaSHcezbu&*`K=|Vg-5x;J5>TsT(^a_ngt&Bg`=TBIul@=!t>hz>c zL|;@ex3E}wd})?|#ipjGf4Qe{H%4RU6#rJzkxM-ZWNsyd1ZpCJ%C6#Yw2HBCpUYAp zp$qn_eWg)Eo#j{;q67W{?Ge4v;)VCOlfhZnCH;J0DTP9zPGJRJX5at(r(h6xivxG^ z6r~sLOfq?2QE7aYwDme&cnb(uVW|R}%Q7Y4{R~pZg1DT=fBpJ(W;P+FO=&x<=h4}% zAr>!On{RI7g%;4lp{K!iIeX>F%E?A*$r@k~FSu&Q97tFW+LS&@Lh2|7#NzTrS*{X$$>M4jm9f5Kme_w^UhlN^J;>I$LsW zAlL>IuteQ9<;?#7gEq@tdawa6^KVr&u*_F&ok~6q z*1IK>_V0P%o_bTicK2C+AHBQ(MxD2|u?3Bjs~oO4pqF4#YSjR$25vJoMw}};>lE=n D3h_5z diff --git a/Plugins/FMODStudio/Docs/images/programmer-file-path.png b/Plugins/FMODStudio/Docs/images/programmer-file-path.png deleted file mode 100644 index acc1061e2516c3fedcb9b7b4cfea868498860eb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7216 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

    t}5$4#0$4{X))6)r54o>cZO9aA5XT6c}`Xt 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 z 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%0DS%a&+cSn{vr*>(>75S3$z6CVa#Za>~YX@K3~ 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 diff --git a/Plugins/FMODStudio/Docs/images/project-settings.png b/Plugins/FMODStudio/Docs/images/project-settings.png deleted file mode 100644 index 158ba53ce90add32fa97e90cb1f0803023bde271..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59828 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 diff --git a/Plugins/FMODStudio/Docs/images/reverb-ambient.png b/Plugins/FMODStudio/Docs/images/reverb-ambient.png deleted file mode 100644 index e48f1d151f52b1f06160253cdb4af9d8dfb2edec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4466 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 diff --git a/Plugins/FMODStudio/Docs/images/reverb-assets.png b/Plugins/FMODStudio/Docs/images/reverb-assets.png deleted file mode 100644 index 50b2e9bf650e4e6a2da70b4209764b5db7216c51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18404 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 SQs9s9KyE8*DU~UpgZ@7o(Vy=C diff --git a/Plugins/FMODStudio/Docs/images/reverb-settings.png b/Plugins/FMODStudio/Docs/images/reverb-settings.png deleted file mode 100644 index 44b4b9838796b190e32d55dcc07060939675bbea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5773 zcmb7I2T+sIvZjiFfC5rP=|!o66hTbry%zx^M4D77(nK&35Rqo+MM~(s_oksKy?2n_ zJ7^;CW0Du|ow@J6J8$01`)B^Md(PQ^&hFW>XZQQV4fND$sBTda5fRa7YN!|y5fQ@( z{MuDgLJOODrbHmbUPkIlL>0rgcL^Ob2Sr^)BBE*p^&e|;A|g^E10569ze2>sBqSuH zq@-kIWaQ-JSFT*4prE*V^(rMLB^4DFH8u6MYu9LKXlQ9^>FDULU%!6i#tnLUdIkmt zMn=Y)H*YdAF)=eUv#_wRva;T~b&HLS?e^{4ckbL_XJ_Z&;NaxsTYy=jRs?5V(8y?!9~W1O)|!goK2Jg+)X}L`6l##Ki93zb`H>E+HZD;K2h)Nl7Uw zDQRhG85x;}4e*72&0)fF`1qB5~MMWhgC1qu06%`d#RaG@LHFb4$ z4Gj%VO-(H=Ep2UW9UUEAU0pprJ$-$B0|Ns?Lqj7YBV%J@6B83tQ`09;o|u`LnVXwi zSXexL`V<0zJbU)c($dn($_fgFK7an)+S=O2#>Upx*3Qn(-roMjix&TNn%mhr>T-siN^(@7}!&3JMAi4h{(kdH?=>XlUq%4C-0!0ud7v6B`>F7Z(>FAD@trkeHa5l$4a5oSc%9lA4(9qD>*x1z6)ZECd4x3{maufM;4U|?WyaByg7Xn1&d zWMpJ?baZTNYUzkdC~U@!mx zTwY#cu~-}qM>ygC$0KAP1Sd>WdT3a95fRaL{e6jh+>7i8gDl>v=HABcFTDM%U)d9R zSUb6Si@Mo+b4rTd7nQOPm9QrwqW`I>qGM$eVnXy@Bd#;bGLkniir`-5u<0nVR zBTV8PsGvbWUWJTI(d7PBCZ33ojAZ$0=}OhkimJj-GJI9bD+MP@vRJO%S99ci*PBc4 zHGf#=`=Zsw&(C)o|F|-Sx|=0FE&cBH<;BL*a`RbCz{Q&Yx26lsAI5N!AbvWlYsZ)gC#cL|=t#wu@|!ypGk{d{%}xy+z$dF@YDH)>jT#~q>|VIj(`dV1k_|uChl@-g z$yPZ*A4#<)(Np?agSYkn!_ui7PZhE^JS6 zR~u2Ea#Bh}m1&Qzd+blX-t=V=k8@K5n8$}TPjdUyHmiLyDBy)r1F!cPf#yg#e;!DD`lWAq5wBzV*QIKpikdm({4_ z>52vp(k`bv-;D+AFy))z&1nYxoo^1#Ul9*K=g_|Y4h9sz&A~^fsXQ|wnY770Zg&Ki zz@?&oQNI%iTh|ki`&5s$iA!=zrPbaVAEw9d-d7BIedUY^-7{RC983J*X2iXd(Xz~f zbS?9rVoYy``Q(24v3QBLlb`RI6)2gX_m&a0kXvG5b+sz^x(cSl25R@%Mn?4Z5g@cO zu%4i$JW{(KtsB0`mpei8T{s7h?wq&-Bt~p|6wW+aEwxS1Y9Wut<~liq<2=P3xZ-BB2Od4#RS!apsxdWa$O};WlhA%%XgUC z5Wc^SqfCK&nMQg>QN|$r`RHnH;n-2|*N3BGC-O>Qv-hxytJr5ZfM#yAmud;e32%Hk z1#`Bm2--_=XFFnar12PzO%Qur8w2Yk0A03qVqs+{ctY_0y>X zJi>3jWSfL`6$#da2DAAamT@tgfIW>Q=fv{eS7iT+8^Gy^6kCKDW8ox1d4`o-)q%6< z8HCGGroX|h-XV!UST>qI!wXL_>`J>^basx1Asf-Ll~iDvO>|A#_etYcMFTVW!#$8R zHsH_DR^82U1>Ynv3y>_V`BHbfE{w!ZzQG5ku*pB&Zic@_s!{1+x!6+xcd437Z#KWx zt3Mu+wQO`*SZkq>OELQzXGm1nV?nxaCRK`f+uqWGm_ZlD+K-b;oD&t}bOm?;MNg;8 zz;R_-fCi*FuJDA>rPrCy0`w5Dg>+&^T*?8LX_D)UmWpz{!MgCp*@C0g%lx3SyNspg z@43`B!+rs$i=7k8)qSL_Ww7UL4)jpDDML)~Fw7A@#U9q@;8xC=& z?!Mu$kzlZQO)P~XVKZgW4vhu18nkT%D6x&AKOWnA$u~=&^4=?CQ^$wuZUKZ{BJ4fs zS!xQ4`}27L_JdstH4JV`Se0o=2K_ci3tU?$F5hvGTjZJ@(H88>;d9hkZ`a8<$F`nX28!lry%Ef!WIe z_pxu;PvyTBz{9#x%`t8PA5W#QA=m!pg!3p|N4N?6Y9zT;$Sz$6KyIZzdAJr) zwD9ewL~06wP)jGL5eP*AlrSEWq7f%_w4)y!V8QEgqZQD^M0i}acG#4t=>TaOJW2{B znW-v7GSN|nC9loY`=KuT{ z&95|cmTjH}f67;`kYXU(+niV)sH~g6g(kJTeaCsS=j;Q;!Xb`> zp{eulr982`I7@COSmU%>zMOWZFP=;@rvjn$_{F2&)Ad8$>b=AFcqBuU5**tNnt=Nb zb7L`PS{m4*?(my0SMNLXx`=dkfmknFD?pzDsGsE^Vb05P=YO1y6_%^oAnIblLQ}d{8!E&L;R# zHkgSWHvjbXK6TUcJR?m=xCtKk{5!4(HUv}f!2hsB{p2IB!M53`xUZHAXcSA%cZN16 zz#=>mkALQ!Z>-DFqN(K({}C&(dxiJF>DM(s2ycXpjwpeyV*eLLWpdo~X~x$#tTayf zqUb&24sEqJ7*x-62niuC7voljSz^X@l*lTkxdZA&*`8pJZ{XUW(mnc(o{_-*La7DR zlI~1uHW@L)M4W5&suJAGL>FkZDy3Zczbtn9Vh~DgXCy9Xl>UJ+c1(!q>M>=uu>fWU1i%uIr& zP-Xta9}j7Bj0Iw~EO(|#p^Hp=aBIJ(&4N2>*LIKCrLh~+j~ppDC@p*dIo=GtjQ2u5 z*=Ch61G}=~rJDx6hx4M-iz2*c;IC)2OOVRiLE;kXIbmPq*N~Ct9W>ZW^ao{}urEh8 zGBofyV9`tQ|6=|TAfyvwd%kn_*?gZ>qg3Pe4D*IN)uwmoaK7!7DKP#_#m2|o4@*%+ z+saJhz|Ju-XAMtOJ&^Ot5LL9mr;0kHYKbWwmV_~BBx~S{7deZB*bjMCt#q`V)cQLz z6zn5%tG^oTS@n*>-i^k%luEba&&eT$V{Y1cvb6D>U z>?_*b8PFReWS*z{k!_JYz#g+tD`4=H1SHDe^?FIXMFlV&+Oys0((Ep;=>jBN)U=d! z`e>QfE6x)G;s_tO0;-D@xT4Psx`#B~dA}ts*Q!xXb#FmS(GHCc@f8~iCD{?}`6}=wo`1n#-+F-{PZ`#SQUa~P*sA)x2Q&n|Zsep?ys(@^c z8NqO=clv%g-_$Q93u>baLw4!+DSTM%WX9mu3-TyA_BU7cjPtV{G$A^k} z&UQ&yt#wo%?&~5KY1jS_7ZCk*!D-Mg!O-(|G@Zo%s2%=UE&S{DBNP><;@Fap=Jf~$ zwruV~L26I|I2ij0q)R4iYH=ct^*oS4JFWE=_Xi_(9Z*>aWj#}-Kz%&Eya1KUV}!?b z(KQOKTMX>S81ub9s!dy9PCE6xz=`NxGaBCY6Ah0?&(poqQSa5J$_yVAm&W25mEoEc zc{pA1y?e%2T>S66DoOFjFa_M4=F!^`6#6=uq5b@@bv+MO823=Klaxr#jvke_GUs@k zXACv>3R8JUbFT}Wx{os8_=26$^66-tfjJ9aG@@Lel+ximE?LIGCgoqxS6ypU+l)nFD$HR&i(Eoa@ zs=;5pFQc6i4`gVqMK$@Xv-FN`kFgaW!OFoM4I9K5Ta#sNi!1iEiI1ok08T; z98{+L5Z}Fdb^P&ZluGF$hnKDG~$(PtOY!Od%Wmsr5frG2B}Q z#x_?y=Kze=yXVKbSsyfO;GrK!`$u|Pl7ng|Wx?k^9)-t8W1nF2NT(4Viug`^N<&$z zWFw}!_tBUNes9iy8PR)jR-EmkWVTifEyuk-h`KmF9S{kaZYbGaOsx(&u!{2Q*QN*nEy-d^$JJ`da8J_E3KG4p3}e*Z5XU);ymbzeLZqQSf@NACuQAWHISG z#5oOySxSSuMRPS;)xVLN+r?kVK%ol-Wx?P~R(4I_^|$Qpg!K0t-oF8HtFVFGU7adC zK|5#L%RSPvoQ99^>iz7f9V|im3`?;z5KAzm+P=Y*hINx6j7pKnSjqM9QlY}0C{}UL zLD#m;-MPJHp2@u#^-rIx?6}4%3m#2PWWIJ@i^_-bsOdPg_UVl%>fJPaQSH43aTj)Z zu=FMG5i&l`U&(CJz2V-geIG>>Gog?%!e9?uPHQc?3ONfS?$y@SYIMHHsHo8j8>LOz zcWD>)0hK`?`%L!sX9u*cG$3X;Y>AC;p(09k=Bc5*z)CJGRlu?y8X)t{`~{MB;$~ zw!1ISS}dl%*|7#n6)k^7j(>!tV|aI@Es6<{oIh!T{W2^;!Jc`Y4TkV0B->Mw(K!94 zX#6We*LH(ut%Bm6U*#>(6E18YrpYy{;P->|;=%b3WbNZliyfbEk8v-&=BeoW2VaH5 z0*aHZy85c|qqGKr*Si~r>56{XO)RrZ7j7EIKs&~rETA)0x&K5TDeqs!^Nx+wDpbV- zQuSF}H#RuP6#{+~KP@Sz~^~NPqoCbJy(cDKTXZdr${uL|+YWR7G1JI2tiKFnI zNo>0(yZ3HVyK=P*hTxexHarQ_lm5v`z;EK`=(Et z>XixXJO$VO)+%8B!~H`Bx^z|({Bz}hcj-Sf1tB4DkG*FwL1{>?l1+(aUd)E*B%R8- zaQ3?{mm(+G-1jiMhNfkQf&}D9F9G|x!SnEXI6tGbsg4*umWX$zrd@;=a7c_#)R3(1 zL^Bfr3Gplege(YZif{qU^~7gC^>_h+blLHU8Nxa@tcM2%BCmn&+_sBAxKLA1zD&$Z zLhtzr9joNP&nJ_=OJ&t-NLs6;G`cUdlQS_NNat^{cZDE$>+{S|5Ptz_>|$E$P|)sO zf)3Z@&V^kj3RsM&`#-`U&fzAg{l5a1a<%@J@>D80lp%XFnWTm@#_>^Jq@wPGg|1B= zYb}NA!UuW_j?AbHIq7v-OyK6xtFLvL?utJ_{vhbgTC|+l#?Uv51bf;X5H#*C)j$U@ z{mC}w{fzE$0WSX@aE=Kvb~%sWJ?3!!^ejL%hf?6bu^uQF?!i6fUP%?zo_in5WsYj! k=dG+%n35g+Or~wotq@+ul0U26a8ip1bq!EVh77&#VnPDjD zkQmCKQMiNed*A1Kp6}l0#vkkK=bU}^+ADtRch)}9TAENQ3ML8y0s<;ERV5w#_ysSM zWQ6$Z&!wr$2Uk3Fpb7+)Beyp3H$-+24F~~2O#2(DK9MzNum&})FDxO;cX4!Y0#JEe41379#M{gGPvi)~|Adh@zd=nOmUAv?@&!pGq z$JRf#JnV$(!OU}|ZKvYjO*fRjvhu zYS}0Vo^RyG`b4tcU@?Z)32J7`w6wPebjQ#$^WC^6kfizuDHh$s-yG@=IEuXy5?f|a zwdPx9fA5hnMj#I1K2App|wd!Ngc4EbT>i6(x7aV z2gzTvm9Yo~asbG8DwHw`A>-UdoDZ&i(7R|!DaZ=`QB4fI{x4HX(A$lRg!vpa#%@>8 zNs$80!5e)a8BFBitN+vMAt=Pwh_KH;oBaPZ{rkq($K7|NNdE6O{kx`r_ZS}xsXxI; zY(sz!W~)m(!W2)GS#sqAu7bV0$e&NT4qh{p;8hOc^gdT{VI> zB#%#y`E5dF_Gy7;8U-5gpqJ`sJ-zC-(nY zzs;@kpr>@k^aR>~2x8cPQ2v?kr{!5rOrYo$6E=FPU>b{4y}!NKDf#;TseCB&4WnKQ z+f5y5(P~PcgL?4kmoLM$;eOZOuzG{i*oji3JqK-$V?ltSeG2{1gIQq5v z*uN$(m@kwgojV&`HO^VE)K@=}mu)+1YIeDWmOZFyi{-^}tsuw5$^#Q0gMi7R#_oWU zCks=BI++ZI^Lmpf$0r@>G^P_REkTKGBXpODrzl=Qj+Zr=XZiUN4(`uT&NMc{g$_6$ zai@SlAWDY2ucf_Rb#-<9{iXM!g1MU-_kZn%hGRd6kXLlRPG7cOy?PlVVvPGvj9!rO zaP0C14a5BWY~9NpD<&qUBGL?5e=j>b9%zrG&Tj>c&^8s_i4mDiN=XaP@#3Ur@!rZZwlZq1=qINp;#CP+tZq?G^(wexF zNnleIi(yyf(3MLAd?x{d=O0;q*8LQ+^9*NDF84xv3e&OLdV4qF*wao2Gv4i<|4yK7 zVeZG5ENdrtnMq@7*<*#l*-8I!QD(k$-KC;_WZ%B~ zdE`d`C!TLYUTmuFwL*ic6SE6yD3WEBtgTn-KFj%UPYG{?^Z(c!EAH>E>Nv&WgAg8m zQF0lBe$_%YMvc*Lo5eZef!6V220Qd~CEC9a*SiMWj-S-N#B-{=8T=N`jD)RvZhltr z)#7wG_KJpvhET^bdyDGUGL$7iX>y~g^Bf8PMMJe2#cJA+^lU;^ENCel7?Tv7zhqvrJZB&$jD6 ztM=kEwzeRk#RWp*17Nr@oT7uJtfW2690z(HuRbH zGM|xb)B%i*_x&O9Mm@Wo7v~c5J}aN1>3qbx(tu@ikt~77{X98~&mV!8p8@#uujpX_ zh+^5|;UZ#&;2kw<`*)UevIhq&`W1@`ZO}yd}%?v@`yMaBb zS6lEXxChQ>LuL~Hz10(T>@xod@UFeuhhRMS>GpHp5Z+>+>I{0IU%S$qkb-EwC>RGch54w2xcs9O zpQ|xk)LJ12SgDCdcKN#((zoo!0(v=`(1 zf^scGmn5B7fJk_x&2rRQXErA}lJg+PgeWU3tE&C*3%US`kKvc)XrhFEcze%)UEDQ@ zAbUt9);=@>Uc(JS3xJEg)qGOffL(K*xWn(0K%V1&{FW2fmhJsjUcxM1UtgaXYw>e! zc=K<|n0OTgF__nyy;RKNqcv_R^5FA#kan6NxQ^Fj(Z8J24&Z5U?0Qw^Z=q;y&2e(Y zYj-x96p@I4w-*s7$8p~IzOKupORSpvHmMTJ211`4?#yf&?nk@dlW8L5@vu6k0Ow(ln<62_`Bu<$l6m z{xsFZ6T7Fc3LV8_m8>9854^X-gbsq!D(Yvl>~V#r1P+o1;R(N*oYU&*wR-I?R5w+D zPQg4kYaQ_vI|@j6j~}Gnmx%;x>*bj^HcN-+v*ZG{Dw=c@gGCMr3!@QfP55=afvCXy z&;*h9@3Q9W9a7L}Gu8qXT3*;(YuXpW)TFCQy#q58D2@Qp2($g``_arYX75gMWow7% zyNPTZYU+fxGkr@-mNqeeX_Gy@e;gG^r8z3}42Q!ZZb=b>c8EnBIU#0*sj!x>3>d(B zRdmgdMnarwC+7?Gi{wPO*g`_!@lxcbp9@1@ViG48#4JBJ*QId7(AU@tTsaiM%a%F`gqPe@#*4I4Yq>}I3;-byNY0N<6RmjL(>Y*u_zRkXq4$88X z1GNq_n2Xs z7M{Tl9kxj`Nos4h(26_(wte+?ud0Fun@WX_di z)Reyb=K~WObTLOlVHWo#R*EKst*b>;%2|e8$CP$NbW@Ulm`>w>M1O zWx5(Cme+qA*)i`o(^gPP%)pk38f0at(kW z{sbMIr2P;@X~gqV-X8gn@i9m|@d$-rrDliyF^@=pA<#+#d6=Tb&~{GwdISq=Es(%&F?{c_4{0>M)yE; z+EsmwMHFz(*@^(B&C|z3XLkW_C%>2XS0N@+jg+$;IKsq*#O;Ok4O+`%u>rzktY zGj004BaxCkl|97P#2b7kR2h`jE1Mdz4gVzYMtW5biX>;2O$R#&DvRfdpn6&GHelKa(b_~))52|A8JH?_9$oDTrUb7R}r<-@p<^ZPZp@HBp|Q}F4>JK+3+#q0lDnci%k<-&jW6yY~+Dg2T8Z*niX zbKX%b2jvd33*H=~j1)QB(BBSuvA;VddM(BG*^+~!Pjo)p3pA-sj6aBb4zO<$@T;9i^_ zbUQ>T0hI~dIV&&Zcr6!jiW@JJVuHYJ%3JDUWWE}`Fz6982rAKhLK`F%PAj^XGI06` zzrLc5 zP}=9T+KJI;-Qpwg;B$w@i52_~4~3UkRDf30sg$7M8Im+Y z@*WYiz`G9>AS`2ydxwLK0F+XvDY8H0-EO>fYc7qIgxmI6`6ys(xhI~vC7T2-d`~!H z)aDWt9t_O;qtc$RR0h!%Gk*(e=9yw(eFtTkVk!MY{o4z6F3!%k&N7hKLBx^&DSeu~ zSJJP8_-X!?GStW1v$W*Cy)o*;@k+kj`0qs3hvoLZR?bzi9ANze$=3{9bm2o&0?P#cr$4jU8fmR%d=pg#LpylL10>QnfOHAMMx%>L}SB-7?|+5HLOh zQHo7e%*Cc?%(8-4e1Rj#ly*>e|mT(P8f z@yw6GVn}_vMjk1kypQ@dd!O)i3rfm=-9#Cq5~rczhM=ng1#B^&-sFwh6tBGV{W(QU z%A0{GeYB>u4qj&EJ8a4futL}~>F!Mc@J-U}lb`}H)+p$~p29u97{Qb*1Ram2Nv#d} zmX@P>6S(w(n&Q)Nz3@O4psNxx3%C=3Iv97TN_c-%)vgroX*D}-80ne04JW!s>trL6 zVRJ_vYUVih z!c4jr742DhjMl3g3Q#xu*PQhQ^ElKID#iggsh*B%>8YnUTq`D~VNc~EMx&d!X%G11 z$a)(@9A@vvBZ?sR_)>Y^VuTkpUhoTP9>BrRV-+I_A$c34fV+`^QP)*-Qf< z^I*;!Pk2c1i2|eU8o05^e~VWrRl!Ji7yQH4+@}26fC)6O_7eT~zzCKH*@~fBd~t{r z?#FA1tf>?Q)(88Ww`gDLSi+q(`gkl~>R7`+dHH(YhZ5&;PJz96Qh*v6AEb%$j;FxM zN$Hc=IA#fiH>H9w`KBuKE{Bt&6OXxD*D*Pr*1<3S9i`5MVbh8Ch$(YK|i@)2*2 z)MF(%3enT!2&GVZ5)q;$N21W)+vD&a&p+>niXC8Cq~O z8~^||20wD1Kh6rHENIc%i*cfYKf=8~r0EifXj0K29XkbiD zO)V`gZEbA{1Okafa)gLNaddWea&n?jC}d}6vWttet1FdCb#ZkCFie2RL*i*zG8<1L zlWBMiQ-G(jUEJKrY&H`E(C|na8OtVPc|?E@08A!^O~W%mBAZPXFfjrikw&Ar)9Kr{ zZ)Y$VG#VRvXl#gROeT}XVnI6&hr{J^0|EkgJYHyM=$<`$_+)2399I?zGkxkGkHY zbvxbjqc!Fj&bJ%AY+h-Y&9=PdjV+8Gn0hbom%M5UN$kmwoe#yKqbm!Sp0abu?59g- zuN4W=pNhs)hCL~a`W}n#I;ZnP{6XnGBY4`ip0*P#7y5`DWp;8mQ{SzUAFQr!J+6Dj z3bu}p3)a?}@>EW_qU8KcB#nLu+CzqKqO|%8R3Y^P>7iu9vF3$)iDr({#(N`<$KtEm zM^E$&nWthLUk}uaXG~)9dxk#zXl`1ft`#e%O{yuToYRem$#Y#D+L|AX+Pxf|I%~JR z*?_j2dqJM-MHnp#MThbpe8LKHT7NXxPNmA@@=-7RQ9lhb%8}q)7cJJ9;5gKkwK4A) zazK2JxntadeBHeNN8>H@);VAY&hVhPxFow@C0*W78v1<6a_mylj?N}(-Ot99#Gms% zoz&PLswrmgVZZtIg=wcHHk9n(wlb&t$y+AUw6VJ5R$NnQd| zu7nd5en{u4N>DiWEvR!bBFHpzcSA%tY6howUmB{_)Ga+R8Dr`tw;Lbw3q7RMQd~5N zHaQ-jBYL)Y_M-)^dL;x#ppR9}chedxpL^%ED|((^=zaFDlf`yY?(aS)BmZ(&?Rnzx zMYrZ&u4YB?*Spj00fSGQzKQW;$!Z4GWU7g$XTD>k6CNDQ$^@Oe?xhHgv*LE17OvZ?5^ zy47H#LO*9tUg*;y@7i^yb=p89b0t+)JrznRZ!{;oV)pSutB;dOSLu;ff#o)p^TRg- z7$+kJlY?)0`{PazlZpcUt{*3ocL}`@u>ZUeyQ3_P>&8eZn|p^(=%>~9cbu&GXvTT- zF3OyAJ_otxoxN-SnTHoxUO9a*%9(Els;%LLO@88X8m5{%KM6Af5F|%&f`3NH=Vn7wK}Hbw{#@e6x@n3shuMG1SVB* zM#n}Se7|H=p1?#|?dufUUD{{3W0YvMWcH{RwXWy-+X6K|$^?!(!;)*>Mx~vKq&yi6 z!M1O$B?kUM*mt*Bta*Dc7*zKysQPeh8!7Z6>hA32clMnA=FE!XuHUOZ*e@&=a;gto zRC@Ct%d2uI{B$Plbg+B3##}zpqi8It$=2OLP3>4m)9m;I ze05`|t|3l8xORyPvYzy{b7SGV{oa4;RwcE(D7BOnTb0%lRUXHzM~^%_4ZknT^R4Lz zyJE)Btm^Z15^u1aJbK`e`2HUUxHJ~(rqXP?(}vTCSl+^ZFYF{Yv=Vlji@c<%!-O@_%X!G z!m~YJr;GnOM-w+VjF%h^xwwp)C~1kDEy7cdi1oJ) zFSZKd?=u^2{QbfF!m*tHWX3=H=4vrO?X(+Yd%Wqk9yyOPJqkYc;B~V{43Jk;q(8*b z!QJ~G1x6#o0jUlBFnJ^Vy7;z-XYFN<47Hv+`A4bTxC6K8hVgUd4b*t_F%Ks*&q06i zRSlJ})Z%tct)zrQN+DJ$7sv18e@e%+zIY*_rLc(%=ymj z&dZ$XuCA`Gj#gKdM@Jz>fq{WRS5%PEgn@wzhk=0|LxO|;;wQL(3_W1oH07mWYNtt$ zpf?|^B~>J0U?2&oFJC`G?~$Dq4BTK~Fb4j+U`L$FEnr~I8x&* zG*=W~3N^Lq+OM?C*UHP_yul{bCv1rd6SrbP_9H^ zzFzCPaz3I#H%Tc%qijSec}~ENMno~e7+U1&Xy5MJHi2U!oP5&orx48X_|h+7gh;zD zF#*>nrteq$J#Rx!f!EiY?{^1*59{x*kC^ZGE#mK+uYs?t;%|42i099%q4%$+1wD}} z)l+POzttBu->({<-(DJf-j3eiZX(~G2QC8Mes8{ngud-B_wbYz%&BF_lY8%0l;!$d z4iQi%UcTOM25$P_&&CA4>`?gLpZgzUxLtX=Z9lub=nAB>$`AZgWDr{-oh23Xdq~{h z>I+50AYG|jCHMfY)~R3b3$-Fpoc4`L=90un5_RR;mm#CMF3qGO-ObMq%2yk~Y?R6? zI5kH>5eohyi;~2($8(Og4|gt7I_~&!ol*I{pyhPE!|PYBXouIuM)SAj=^SCNhieVT zVIygV);VW&%vEV)OUzra=t7&Ys-?`Fb^onf%BL^`|C@4TX7W)B_@iCeSDB6W$dq+j zJH>qNzjGA*oRp6@N4VCic>=!s508x_;-Y~sbKyIBY~(#YM=Og;BXvn^6g}jrqc^n8 ztI<^%s{ee>8rY5LjWz06OuO8##)nce#6-O>`zufn)N;hVp8l-PTk8nz6bttY28zAE zTr<^WJS=y?TK7NRoGf3|1->%t2Ao1hs4|ISL1XLf9w)6XJNi+JgSOjlLH6ES#ro`| zsOIM8g}nZ}{-mvfhl^EuYAOlpGLQ3JzW0s=hsQItQUAU8RT*$3o=l`^xyj9@%67g~ z<(mp~WO^1pt0B)a&%BHf&n(XzkNrx$WGKSz@nY4N7RMYR54*)moi3kSCY?&{O6>}% za1_h&RPX1rmd)=waX7R9JZ9Z$o7qCy7(7O!R*t$(R)dD!le(U_{Vz^k#_cy9(5GwE z3rIUsne|HTSG`sm?N_fpF?E_&;FM@s#S!z`Ema$Icsj)QGb3)Z*0H$VJl&qS(PfiZ zPdvKGnz3n`mhO&Ph8WR}ruh_nXp=)J*2lQ~8%YuHuMhE}=RII3=2Khw)t+D-O6MLi zvtI3_;dC&-jNJ~@zc-_~sCm{DVw<2oV>jn)Pgf(2oGrIA9LK0@mo{-A0e!6`g!SAyQa$b~sa$$M+ygrjADRtP?385xbEGzIS9781=&w*P@d9 z98%U|XF9-SC-oALm3?1UEgzh-iy2{PP{>+8rFcNKsMKN*nePMz0#I+mfM3OQwNTHa=}F~#|rFeVL*L{}u_VsQDl6 ?gn;fzh%-2&jy6FwM&7Desa-gl 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 LDqAf5{O$h$sNZJM diff --git a/Plugins/FMODStudio/Docs/images/set-audio-listener-override.png b/Plugins/FMODStudio/Docs/images/set-audio-listener-override.png deleted file mode 100644 index d95480a086541bac1ca8e6bbc5f33920a3ea3b20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51491 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 diff --git a/Plugins/FMODStudio/Docs/images/studio-bank-layout.png b/Plugins/FMODStudio/Docs/images/studio-bank-layout.png deleted file mode 100644 index 609bed9a5f8df2712359ac6e4c02d07adfad3465..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2656 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

  1. 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 diff --git a/Plugins/FMODStudio/Docs/images/studio-programmer.png b/Plugins/FMODStudio/Docs/images/studio-programmer.png deleted file mode 100644 index d47281015b38d0a0b44c8cd1ad7f7164d05ccd63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13098 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 - -Platform Specifics - - - - -

    - -
    -

    6. Platform Specifics

    -

    Some platforms require some extra steps to run properly.

    -

    6.1 Android

    -

    To deploy on Android, make sure FMODStudio is in your game's directory, not in the Engine plugins directory. When FMODStudio is in your game's plugin directory, the engine will rebuild the plugin for Android and deploy all the files properly.

    -

    6.1.1 Deployment of Android plugins

    -

    FMOD supports DSP plugins, which will be stand-alone .so files that will need to be packaged into the build. Add the .so file into the FMODStudio/Binaries/Android/{Architecture} directory. Unreal will also need an APL file so it knows to package the .so file. To do this, you will need to write an APL file and drop it into the FMODStudio/Binaries/Android directory. The FMODStudio.build.cs file looks for any file ending with __APL.xml_ and will pass that along to the unreal build tool for packaging.

    -

    The APL is a custom xml file format which is documented in the engine file AndroidPluginLanguage.cs. Here is a sample APL file for libovrfmod.so:

    -
    <?xml version="1.0" encoding="utf-8"?>
    -<!--Plugin additions-->
    -<root xmlns:android="http://schemas.android.com/apk/res/android">
    -    <!-- init section is always evaluated once per architecture -->
    -    <init>
    -        <log text="ovrfmod APL init"/>
    -    </init>
    -
    -    <!-- optional files or directories to copy to Intermediate/Android/APK -->
    -    <resourceCopies>
    -        <log text="ovrfmod APL copying files for $S(Architecture)/"/>
    -        <copyFile src="$S(PluginDir)/$S(Architecture)/libovrfmod.so"
    -                    dst="$S(BuildDir)/libs/$S(Architecture)/libovrfmod.so" />
    -    </resourceCopies>
    -
    -    <!-- optional libraries to load in GameActivity.java before libUE4.so -->
    -    <soLoadLibrary>
    -        <log text="ovrfmod APL adding loadLibrary references"/>
    -        <loadLibrary name="ovrfmod" failmsg="ovrfmod not loaded and required!" />
    -    </soLoadLibrary>
    -</root>
    -
    - - -

    You only need to write this if you want to load a DSP plugin on Android.

    -

    6.2 TVOS

    -

    To build for TVOS, make sure FMODStudio is in your game's directory and not in the Engine plugins directory.

    -

    6.3 Linux

    -

    To deploy on linux, you will need to rebuild the engine from source via github. For compiling linux from windows, see this page for instructions how to get up and running with UE4. Then, add in both the fmodstudio linux .zip and windows .zip on top of each other into the engine plugins directory.

    -

    The last thing you will need to do is to get the FMOD .so libraries into a directory that the executable can read them. The easiest way is to copy them from

    -
    <DeployedDir>\Engine\Plugins\FMODStudio\Binaries\Linux\x86_64
    -
    - - -

    to

    -
    <DeployedDir>\<GameName>\Binaries\Linux
    -
    - - -

    To see what directories the .so files can be located, look at LinuxToolChain.cs. Currently there are only a set of hard coded directories that are supported.

    -

    6.4 Xbox One

    -

    6.4.1 Enabling XboxOne Microphone Input

    -

    To enable FMOD Studio the use of any microphone input, including Kinect, on the Xbox One. The Engine ini file specific for the platform, located in /Config/XboxOne/XboxOneEngine.ini, needs to have the following lines added:

    -
    [AppxManifest]
    -Package.Capabilities.mx:Capability[0].Name=kinectAudio
    -Package.Capabilities.mx:Capability[1].Name=kinectGamechat
    -
    - - -

    6.4.2 Copying dll's to build

    -

    Add the following to GetFilesToDeployOrStage in XboxOnePlatform.Automation.cs, before the end of the function:

    -
    // FMOD code start
    -DirectoryReference FMODDLLPath = null;
    -if (Directory.Exists(Path.Combine(SC.ProjectRoot.ToString(), "Plugins/FMODStudio")))
    -{
    -    FMODDLLPath = DirectoryReference.Combine(SC.ProjectRoot, "Plugins/FMODStudio/Binaries/XBoxOne/");
    -}
    -else if (Directory.Exists(Path.Combine(SC.LocalRoot.ToString(), "Engine/Plugins/FMODStudio")))
    -{
    -    FMODDLLPath = DirectoryReference.Combine(SC.LocalRoot, "Engine/Plugins/FMODStudio/Binaries/XBoxOne/");
    -}
    -else
    -{
    -    LogError("Failed to find FMODStudio plugin in game or engine directory");
    -}
    -if (FMODDLLPath != null)
    -{
    -    Log("Copying FMOD dlls to loose directory: " + RelativeBinPath);
    -    StagedDirectoryReference RelativeBinPathRef = new StagedDirectoryReference(RelativeBinPath);
    -    StageFileIfExists(StagedFileType.NonUFS, FileReference.Combine(FMODDLLPath, "fmod.dll"), RelativeBinPathRef, SC);
    -    StageFileIfExists(StagedFileType.NonUFS, FileReference.Combine(FMODDLLPath, "fmodL.dll"), RelativeBinPathRef, SC);
    -    StageFileIfExists(StagedFileType.NonUFS, FileReference.Combine(FMODDLLPath, "fmodstudio.dll"), RelativeBinPathRef, SC);
    -    StageFileIfExists(StagedFileType.NonUFS, FileReference.Combine(FMODDLLPath, "fmodstudioL.dll"), RelativeBinPathRef, SC);
    -}
    -// FMOD code end
    -
    - - -

    Add the following to PrepTargetForDeployment in XboxOneDeploy.cs, in the same scope as 'DestDir':

    -
    // FMOD code start
    -string FMODDLLPath = null;
    -if (Directory.Exists(Path.Combine(ProjectDirectory.FullName, "Plugins/FMODStudio")))
    -{
    -    FMODDLLPath = Path.Combine(ProjectDirectory.FullName, "Plugins/FMODStudio/Binaries/XBoxOne/");
    -}
    -else if (Directory.Exists(Path.Combine(RelativeEnginePath, "Plugins/FMODStudio")))
    -{
    -    FMODDLLPath = Path.Combine(RelativeEnginePath, "Plugins/FMODStudio/Binaries/XBoxOne/");
    -}
    -else
    -{
    -    Log.TraceWarning("Failed to find FMODStudio plugin in game or engine directory");
    -}
    -if (FMODDLLPath != null)
    -{
    -    Log.TraceInformation("...copying the FMOD dlls...");
    -    string FMODDLLName = "fmod.dll";
    -    Log.TraceInformation("\tcopying " + FMODDLLPath + FMODDLLName + " to " + DestDir + "/" + FMODDLLName);
    -    CopyFile(FMODDLLPath + FMODDLLName, DestDir + "/" + FMODDLLName, true);
    -    FMODDLLName = "fmodL.dll";
    -    Log.TraceInformation("\tcopying " + FMODDLLPath + FMODDLLName + " to " + DestDir + "/" + FMODDLLName);
    -    CopyFile(FMODDLLPath + FMODDLLName, DestDir + "/" + FMODDLLName, true);
    -    FMODDLLName = "fmodstudio.dll";
    -    Log.TraceInformation("\tcopying " + FMODDLLPath + FMODDLLName + " to " + DestDir + "/" + FMODDLLName);
    -    CopyFile(FMODDLLPath + FMODDLLName, DestDir + "/" + FMODDLLName, true);
    -    FMODDLLName = "fmodstudioL.dll";
    -    Log.TraceInformation("\tcopying " + FMODDLLPath + FMODDLLName + " to " + DestDir + "/" + FMODDLLName);
    -    CopyFile(FMODDLLPath + FMODDLLName, DestDir + "/" + FMODDLLName, true);
    -}
    -// FMOD code end
    -
    - - - - - -
    diff --git a/Plugins/FMODStudio/Docs/scripts/docs.js b/Plugins/FMODStudio/Docs/scripts/docs.js deleted file mode 100644 index cb32e4c..0000000 --- a/Plugins/FMODStudio/Docs/scripts/docs.js +++ /dev/null @@ -1,70 +0,0 @@ -var languageTabs = null; -var languageSpecificElements = null; - -// Helper function to iterate over an HTMLCollection or NodeList (https://stackoverflow.com/questions/3871547/js-iterating-over-result-of-getelementsbyclassname-using-array-foreach) -function forEachElement(collection, func) { - Array.prototype.forEach.call(collection, func); -} - -function matchLanguage(el, lang) { - if (lang == "language-all" || el.classList.contains("language-all")) { - return true; - } else if ((lang === "language-c" || lang === "language-cpp") && el.classList.contains("language-c-cpp")) { - return true; - } else { - return el.classList.contains(lang); - } -} - -function setLanguage(lang) { - forEachElement(languageTabs, function(el) { - var ellang = el.attributes['data-language'].value; - - if (ellang === lang) { - el.classList.add("selected"); - } - else { - el.classList.remove("selected"); - } - }); - - forEachElement(languageSpecificElements, function(el) { - if (matchLanguage(el, lang)) { - el.style.display = 'block'; - } - else - { - el.style.display = 'none'; - } - }); - - window.localStorage.setItem("FMOD.Documents.selected-language", lang); -} - -function init() { - // Setup language tabs - languageTabs = document.getElementsByClassName("language-tab"); - - forEachElement(languageTabs, function(el) { - el.onclick = function() { setLanguage(this.attributes['data-language'].value); } - }); - - // Cache language specific elements on the page - languageSpecificElements = document.querySelectorAll(".language-c, .language-cpp, .language-c-cpp, .language-csharp, .language-javascript"); - - // Set initial language - // var lang = window.localStorage.getItem("FMOD.Documents.selected-language"); - - // if (lang == null) - // { - // lang = "language-cpp"; - // } - lang = "language-cpp"; - - setLanguage(lang); -} - -// Call our init function when the document is loaded. (https://plainjs.com/javascript/events/running-code-when-the-document-is-ready-15/) -if (document.readyState != 'loading') init(); -else if (document.addEventListener) document.addEventListener('DOMContentLoaded', init); -else document.attachEvent('onreadystatechange', function() { if (document.readyState == 'complete') init(); }); diff --git a/Plugins/FMODStudio/Docs/settings.html b/Plugins/FMODStudio/Docs/settings.html deleted file mode 100644 index 6301221..0000000 --- a/Plugins/FMODStudio/Docs/settings.html +++ /dev/null @@ -1,32 +0,0 @@ - - -Settings - - - - -
    - -
    -

    3. Settings

    -

    3.0.1 Coming soon...

    - - - - - -
    diff --git a/Plugins/FMODStudio/Docs/style/DINWeb-Medium.woff b/Plugins/FMODStudio/Docs/style/DINWeb-Medium.woff deleted file mode 100644 index 5c098aff982cba4dfc50632dd5ac5fac24796aca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32712 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 i1Px6s`EkD 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 UIW{pdFf=hYF*G)0Fl96|F!<&1W&i*H diff --git a/Plugins/FMODStudio/Docs/style/code_highlight.css b/Plugins/FMODStudio/Docs/style/code_highlight.css deleted file mode 100644 index 631bc92..0000000 --- a/Plugins/FMODStudio/Docs/style/code_highlight.css +++ /dev/null @@ -1,69 +0,0 @@ -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #408080; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #008000; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ -.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ -.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ -.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #888888 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0044DD } /* Generic.Traceback */ -.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #008000 } /* Keyword.Pseudo */ -.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #B00040 } /* Keyword.Type */ -.highlight .m { color: #666666 } /* Literal.Number */ -.highlight .s { color: #BA2121 } /* Literal.String */ -.highlight .na { color: #7D9029 } /* Name.Attribute */ -.highlight .nb { color: #008000 } /* Name.Builtin */ -.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ -.highlight .no { color: #880000 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #0000FF } /* Name.Function */ -.highlight .nl { color: #A0A000 } /* Name.Label */ -.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #19177C } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mb { color: #666666 } /* Literal.Number.Bin */ -.highlight .mf { color: #666666 } /* Literal.Number.Float */ -.highlight .mh { color: #666666 } /* Literal.Number.Hex */ -.highlight .mi { color: #666666 } /* Literal.Number.Integer */ -.highlight .mo { color: #666666 } /* Literal.Number.Oct */ -.highlight .sa { color: #BA2121 } /* Literal.String.Affix */ -.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ -.highlight .sc { color: #BA2121 } /* Literal.String.Char */ -.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */ -.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ -.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #008000 } /* Literal.String.Other */ -.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ -.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ -.highlight .ss { color: #19177C } /* Literal.String.Symbol */ -.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.highlight .fm { color: #0000FF } /* Name.Function.Magic */ -.highlight .vc { color: #19177C } /* Name.Variable.Class */ -.highlight .vg { color: #19177C } /* Name.Variable.Global */ -.highlight .vi { color: #19177C } /* Name.Variable.Instance */ -.highlight .vm { color: #19177C } /* Name.Variable.Magic */ -.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/Plugins/FMODStudio/Docs/style/docs.css b/Plugins/FMODStudio/Docs/style/docs.css deleted file mode 100644 index eaf47bc..0000000 --- a/Plugins/FMODStudio/Docs/style/docs.css +++ /dev/null @@ -1,265 +0,0 @@ -@font-face { - font-family:'DINWeb-Medium'; - src:url('DINWeb-Medium.woff'); -} - -@font-face { - font-family:'DINWeb'; - src:url('DINWeb.woff'); -} - -body { - background-color: black; -} - -.docs-body { - font-family: DINWeb-Medium, -apple-system, sans-serif; - background-color: black; - padding: 24px; -} - -.docs-body a { - color: #020eab; - text-decoration: none; - font-weight: bold; -} - -.manual-content h1 a, -.manual-content h2 a, -.manual-content h3 a, -.manual-content h4 a, -.manual-content h5 a, -.manual-content h6 a { - color: black; -} - -.docs-body img { - max-width: 100%; - box-shadow: 0px 4px 30px #333333; - margin: 20px; -} - -.admonition { - border: 1px solid #b3b3b3; - border-top: 4px solid black; - background-color: #f1f1f1; - padding: 3px; -} - -.admonition.warning { - border-top: 4px solid #cc0000; -} - -.highlight { - border: 1px solid #b3b3b3; - background-color: #f1f1f1; - overflow: auto; - padding: 6px; -} - -.highlight pre { - margin: 0; -} - -code { - background-color: #eeeeee; -} - -.manual-toc { - float: right; - display: inline-block; - width: 20%; - min-width: 300px; - margin: 0; - margin-left: 20px; - margin-bottom: 20px; - color: black; - background-color: #d6dceb; - font-weight: bold; -} - -.manual-toc p { - color: black; - font-size: larger; - text-align: center; -} - -.manual-toc > ul { - padding: 0px; -} - -.manual-toc > ul > li { - padding: 12px; - list-style-position: inside; -} - -.manual-toc ul { list-style-type: none; } -.manual-toc ul { counter-reset: toc-level-1; } -.manual-toc li { counter-increment: toc-level-1; } -.manual-toc li > a:before { content: counter(toc-level-1)". "; } -.manual-toc li ul { counter-reset: toc-level-2; } -.manual-toc li li { counter-increment: toc-level-2; } -.manual-toc li li a:before { content: counter(toc-level-1)"."counter(toc-level-2)" "; } -.manual-toc li li ul { counter-reset: toc-level-3; } -.manual-toc li li li { counter-increment: toc-level-3; } -.manual-toc li li li a:before { content: counter(toc-level-1)"."counter(toc-level-2)"."counter(toc-level-3)" "; } -.manual-inactive-chapter li ul { display: none; } - -.manual-current-chapter { - background-color: white; -} - -.manual-current-chapter ul { - padding-left: 20px; -} - -.manual-active-chapter > a { - color: black; -} - -.manual-current-chapter > ul { margin-top: 14px; } -.manual-current-chapter li { padding-top: 18px; font-size: 14px; } -.manual-current-chapter > ul > li:first-child { padding-top: 0px; } - -.manual-current-chapter li > ul > li > ul { - display: none; -} - -ul.subchapters { border-left: 2px dotted #b3b3b3; } -ul.subchapters li > a:before { content: ""; } -ul.subchapters .manual-active-chapter > a { border-bottom: 2px solid black; } - -.manual-content { - background-color: white; - overflow: hidden; - padding: 20px 50px 40px; - min-width: 300px; -} - -.manual-content li { - margin: 1em 0; -} - -.manual-content h2 { - margin: 1.5em 0 1em 0; -} - -.manual-content table { - margin-bottom: 1.5em; - width: 100%; - border-collapse: collapse; - display: block; - overflow-x: auto; -} - -.manual-content th { - background-color: #d6dceb; -} - -.manual-content th, .manual-content td { - border: 1px solid #b3b3b3; - padding: 12px; - text-align: left; -} - -.manual-content.api dt { - font-style:italic; - margin-bottom: 1em; -} - -/* Exclude token links (e.g. "Optional", "Output") - TODO: these need proper styling */ -.manual-content.api dt a.token { - font-style:initial; -} - -.manual-content.api dd { - margin-bottom: 2em; -} - -.manual-content.api dd ul { - margin: 0; - padding: 0.75em 0 0.5em 1em; - font-family: DINWeb; - border: 1px solid #b3b3b3; - width:max-content; -} - -.manual-content.api dd ul li { - margin: 0; - margin-right: 1em; - display: inline; -} - -.manual-content.api dd ul li .label { - font-weight: bold; -} - -.manual-content.api dd p { - margin: 0.25em; -} - -.manual-footer { - color: white; - padding: 20px; - font-size: smaller; -} - -div.language-selector { - display: -webkit-flex; - display: flex; - text-align: center; -} - -div.language-tab { - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - border: 1px solid #bbbbbb; - border-top-left-radius: 6px; - border-top-right-radius: 6px; - box-sizing: content-box; - max-width: 30px; - padding: 2px 10px; - margin-right: -1px; - margin-bottom: -1px; - cursor: pointer; -} - -.language-tab:hover { - background-color: #d6dceb; -} - -.language-tab.selected { - background-color: #f1f1f1; - border-bottom-width: 0; -} - -.language-tab.selected:after { - content: ''; - width: 100%; - height: 3px; - bottom: -1px; - left: 0; - background: inherit; -} - -div.language-selector + p { - display: none; -} - -a.token, .token { - padding: 6px; - margin-left: 8px; - color: black; - font-size: small; - font-weight: normal; - border: 1px solid #bbbbbb; - border-radius: 6px; -} - -a.token:hover { - background-color: #d6dceb; -} - -[id]:target { animation:highlighter 3s } -@keyframes highlighter { 25% { background-color: gold; } 75% { background-color: gold; } } diff --git a/Plugins/FMODStudio/Docs/troubleshooting.html b/Plugins/FMODStudio/Docs/troubleshooting.html deleted file mode 100644 index 8e494e5..0000000 --- a/Plugins/FMODStudio/Docs/troubleshooting.html +++ /dev/null @@ -1,61 +0,0 @@ - - -Troubleshooting - - - - -
    - -
    -

    7. Troubleshooting

    -

    If you are experiencing an issue with the integration and none of the topics below help, visit to our Q&A Forum.

    -

    7.1 Check the plugin is installed

    -

    You should see a shortcut to the manual is available under the help menu, that means the plugin is in the right place and has been enabled.

    -

    UE4 Help Menu

    -

    If you see the FMOD Help in the manual, then the plugin installed correctly. If you don't see FMOD help, it isn't installed.

    -

    7.2 Project Output Format

    -

    If you have modified the Project Output Format setting in your FMOD Studio project, you will need to update your Unreal project settings to match.
    -This can be found under 'Edit > Project Settings > FMOD Studio > Output Format'. Keep in mind that this must match the Studio project settings in order for the mix to behave correctly.

    -

    7.3 Content Changes

    -

    The editor does not mark FMOD assets as read-only, so there is nothing stopping the user from trying to rearrange the folder structure.
    -However any such changes aren't going to change the underlying Studio project, so the changes will be lost next time Unreal is restarted.

    -

    7.3.1 Asset Paths

    -

    The inbuilt Unreal asset serialization stores asset by full path, not by GUID. This means that if you rename events or folders in the Studio Tool, then any references in Unreal levels will be lost. For now the only workaround is to avoid renaming events or folders once you have started using them in levels.

    -

    7.4 Deployment Issues

    -

    See the Deployment page for information about issues with deployment.

    -

    If you Launch your game and there is no sound playing or there is error loading the FMODStudio module, it an issue with Deployment.

    -

    7.5 Live Update

    -

    If Live Update is enabled and the FMOD Studio will error when it fails to open the required network port. If this is a problem, then Live Update can be disabled in the Project Settings window.

    -

    7.6 Additional Logging

    -

    To help track down problems, verbose logging can be turned on for the FMOD integration. Add the following command line to the UE4 editor:

    -
    -LogCmds="LogFMOD verbose"
    -
    - - - - - -
    diff --git a/Plugins/FMODStudio/Docs/user-guide.html b/Plugins/FMODStudio/Docs/user-guide.html deleted file mode 100644 index 9f29171..0000000 --- a/Plugins/FMODStudio/Docs/user-guide.html +++ /dev/null @@ -1,482 +0,0 @@ - - -User Guide - - - - -
    - -
    -

    2. User Guide

    -

    The FMOD UE4 Integration is a plugin that allows you to use the FMOD APIs and projects from the FMOD Studio authoring tool in your UE4 game.

    -

    Normally you will just need one copy of the UE4 integration. If you develop for multiple platforms at once, you can copy multiple integrations over the top of each other.

    -
    -

    2.1 Installing the integration

    -

    The integration consists of a single FMODStudio folder which can be placed in either the Engine/Plugins directory or your UE4 game's Plugin directory {ProjectName}/Plugins. The next steps show how to install it into your Engine directory, so it will be available for all projects using UE4.

    -

    2.1.1 Windows

    -

    Browse to your UE4 Engine folder and unzip FMODStudio into the plugins directory.

    -

    UE4 Engine Tree

    -

    2.1.2 Mac

    -

    Use Finder to browse to your /Users/Shared/UnrealEngine/4.X/Engine directory and drop FMODStudio into the plugins directory.

    -

    UE4 Engine Tree OSX

    -

    If you have trouble getting the plugin working on a certain platform, then try putting FMODStudio in your game's Plugins directory instead of the engine.

    -

    Otherwise see the TroubleShooting section.

    -
    -

    2.2 Setting up your project

    -

    There are settings in both UE4 and FMOD Studio that need to be configured to link the two together.

    -

    If you have any trouble setting up your project, use the automatic method. These settings can always be changed later.

    -

    2.2.1 Automatically

    -

    You can run the "Help > FMOD Validate" option in the UE4 Help menu. It finds and fixes common issues, and can automatically set up your FMOD Studio project for you!

    -

    It will check the following:

    -
      -
    • You are running the right version of FMOD Studio
    • -
    • Your FMOD Studio bank export path is correct
    • -
    • Banks have been exported
    • -
    • Studio events have been added to the banks
    • -
    • Any plugins have been added to the plugin list
    • -
    • FMOD has been added to the packaging settings for deployment
    • -
    -

    2.2.2 Manually

    -

    From your FMOD Studio Project, select "Edit > Preferences..." ("FMOD Studio > Preferences..." on Mac) and select the Build tab. Set your Built banks output directory to a directory called "FMOD" under your game's Content path.

    -

    Studio export path

    -

    Now select "File > Build". This will build bank files for events that have been assigned to banks. You should do this whenever project data has been modified.

    -

    2.2.3 Confirm the Banks are Built and Loaded

    -

    Now, open UE4 and look at the content browser. The plug-in defaults to looking in Content/FMOD directory for banks, so if you have exported banks there, assets should appear in the content window automatically. These represent items in your Studio project which update automatically when banks are built.

    -

    Content browser

    -

    For more information about banks, see the Banks page.

    -
    -

    2.3 Compiling the plugin (Optional)

    -

    If you want to recompile the plugin, you can drop the plugin into a code project under your game's Plugins/FMODStudio directory, then re-generate the project. This might be useful if you want to use the plugin with a different version of the engine, such as a new pre-release of UE4. You can also do this if you want to get the plugin from github.

    -

    To recompile the plugin after downloading it from FMOD, do the following:

    -
      -
    • Delete the FMODStudio/Intermediate directory.
    • -
    • Delete the FMODStudio/Binaries/Platform/UE4*.* files. Leave the fmod libraries in the binaries directory!
    • -
    • Create a new code project using UE4.
    • -
    • Copy the plugin into YourGame/Plugins/FMODStudio.
    • -
    • Regenerate the game's solution or xcode project.
    • -
    • Build the game for "Development Editor".
    • -
    • Build the game for whatever other configurations you need.
    • -
    -

    To compile the plugin after downloading the source from github, do the following

    -
      -
    • Add FMOD dynamic libraries into the FMODStudio/Binaries/Platform/ directory. The libs can be obtained in the Programmers API download or from the UE4 integration download.
    • -
    • Create a new code project using UE4.
    • -
    • Copy the plugin into YourGame/Plugins/FMODStudio.
    • -
    • Regenerate the game's solution or xcode project.
    • -
    • Build the game for "Development Editor".
    • -
    • Build the game for whatever other configurations you need.
    • -
    -

    When rebuilding the plugin inside a code project, make sure you haven't also left it in the engine directory as well!

    -
    -

    2.4 Programming Support

    -

    You are able to interface with the FMOD UE4 Integration and/or the FMOD C++ APIs.

    -

    2.4.1 Programming with the FMOD Studio plugin

    -

    To reference FMOD Studio, the programmer will need to add the following to their .Build.cs file:

    -
      -
    • Add "FMODStudio" to PrivateDependencyModuleNames
    • -
    -

    To add some FMOD Events to a class, do the following:

    -
      -
    • Include "FMODEvent.h" at the top of your own class
    • -
    • Add a UFMODEvent * and mark with the UPROPERTY macro like any other field
    • -
    -

    To play the event at a location, do the following:

    -
      -
    • Include FMODBlueprintStatics.h in the file you want to trigger the sound
    • -
    • Call UFMODBlueprintStatics::PlayEventAtLocation with the following arguments:
        -
      • Set WorldContextObject to any UObject in the world, such as the owning actor object
      • -
      • Set Event to the UFMODEvent stored in the class or passed into your function
      • -
      • Set Transform to the place in the world you want to play the sound
      • -
      • Set bAutoPlay to true so that it starts the sound automatically
      • -
      -
    • -
    -

    You can also call UFMODBlueprintStatics::PlayEventAttached to create a new audio component attached to an actor, which will update the location automatically as the actor moves around the world.

    -

    2.4.2 Programming with the FMOD Studio C++ API

    -

    Programmers can interface with FMOD Studio directly by including "fmod_studio.hpp".

    -

    The Studio system can be obtained by GetStudioSystem. The function takes an enum because there may be a separate Studio system for auditioning in-editor and the proper system for play-in-editor. Normally, you will want to obtain the system with EFMODSystemContext.Runtime since that is the real system used in game.

    -
    if (IFMODStudioModule::IsAvailable())
    -{
    -    FMOD::Studio::System* StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime);
    -    if (StudioSystem)
    -    {
    -        // Use it here
    -    }
    -}
    -
    - - -

    You can use a mixture of FMOD Studio wrapper and FMOD Studio API functions. For example:

    -
    // Call wrapper helper function to create and start an event instance
    -FFMODEventInstance InstanceWrapper = UFMODBlueprintStatics::PlayEventAtLocation(ThisActor, MyEvent, FTransform(MyLocation), true);
    -FMOD::Studio::EventInstance* Instance = InstanceWrapper.Instance;
    -// Call into FMOD API directly
    -Instance->setVolume(0.5f);
    -// The instance handle will be cleaned up automatically when the sound finishes
    -
    - - -

    2.4.3 Further Programming Documentation

    -

    For further documentation, see:
    -- Integration API Reference
    -- FMOD API Reference.

    -
    -

    2.5 Making sounds

    -

    The FMOD Studio UE4 integration provides multiple ways in which Studio events can be played.

    -

    2.5.1 Ambient Sounds

    -

    The simplest way to play a looping ambience, is to drag and drop an event from the Content Browser into a scene Viewport.

    -

    Drag sample

    -

    For example, try dragging the Game/FMOD/Events/Ambience/Forest event into a level. This will create an FMODAmbientSound. Hit Play to begin playing in editor, and you should immediately hear the Forest ambience.

    -

    Make sure you drag an event into the main viewport. Dragging a bank into main viewport won't do anything.

    -

    2.5.2 Playing Sounds From Blueprint

    -

    Another easy way to trigger a sound is via Blueprint. You can use the Play Event at Location function to quickly trigger any given event.

    -

    Blueprint Sample

    -

    In the example shown below, the Single_Explosion event is triggered at the location of the camera, every time the spacebar is pressed.

    -

    Blueprint simple playback

    -

    2.5.3 Other avenues

    -

    Keep in mind that more advanced control is also available from Blueprints. There are graph functions for playing and stopping events, setting parameters, and loading or unloading banks. You can also add FMODAudioComponents to Blueprints, allowing you attach audio directly to an object.

    -
    -

    2.6 Listener

    -

    FMOD can support up to 8 listeners in game. The FMODListeners will follow the UE4 listeners which by default is attached to the camera, but we can move them by moving the UE4 listeners.

    -

    This is particularly useful for Third-Person and Top-Down style games.

    -

    2.6.1 Example

    -

    Using SetAudioListenerOverride allows you either attach the listener to a component or set the transform and rotation manually.

    -

    Listener Override

    -
    -

    2.7 Working with Banks

    -

    Content created in the FMOD Studio tool is exported into bank files. These bank files can then be loaded within Unreal using the FMOD Studio runtime integration. Banks can contain multiple events, which will implicitly pull in any audio assets they depend on.

    -

    Studio bank layout

    -

    Loading a bank will load all metadata, which contains information about all the events, parameters, and other data needed for all events assigned to that bank.

    -

    2.7.1 Studio Bank Output Directory

    -

    It is highly recommended that banks are exported to the Content directory of your project (see Deployment for more information). This can set via the Built banks output directory setting in the FMOD Studio, which can be found in 'Edit > Preferences...' on Windows (or 'FMOD Studio > Preferences...' on Mac), under the Build tab.

    -

    Studio export path

    -

    When using the UE4 editor, as long as you match the FMOD Studio Built banks output directory to the Bank Output Directory specified in the Unreal project settings ('Edit > Project Settings > FMOD Studio'), the integration will find and load all bank content automatically.

    -

    Project Settings

    -

    2.7.2 Assigning Events to Banks

    -

    Before a new FMOD Studio event can be used in Unreal, it must first be assigned and built to a bank which can be loaded by Unreal. This can be done within FMOD Studio via the context menu of an event, or by dragging and dropping an event onto a bank.

    -

    Assign events to banks

    -

    Events are typically assigned to the same bank when they should be loaded and unloaded at the same time. For example, you might put all the events for the Goblin enemy within the Goblin bank.

    -

    Once you have assigned your events to a bank, you should rebuild your banks. This is done via the 'File > Build...' menu item.

    -

    Build menu

    -

    2.7.3 Loading Banks within Unreal

    -

    The banks built in FMOD Studio are loaded in editor by the plugin, so that you can browse Events, Buses, Snapshots, etc. from the Studio Project. You are able to customize the way the banks are loaded in game, to suit your requirement, otherwise by default all the banks will be loaded at initialization.

    -

    In Editor

    -

    Within the Unreal editor, banks are loaded automatically as soon they are built. When correctly configured, any data within banks (e.g. events, mixer strips) should appear within the Content Browser under Game/FMOD by default.

    -

    Content view

    -

    In Game

    -

    The FMOD Studio integration will load all banks by default. If you would like to manually control bank loading, this behavior can be disabled via the Load All Banks checkbox withing the FMOD Studio settings dialog ('Edit > Project Settings > FMOD Studio').

    -

    If using split banks, make sure to load the assets bank first and using Load Sample Data on the metadata bank.

    -

    Banks can then manually be loaded and unloaded using the Load Bank and Unload Bank Blueprint functions.

    -

    Banks blueprint

    -
    -

    The Master Bank does not need to be loaded manually. It is automatically loaded at startup.

    -
    -
    -

    2.8 Sequencer Integration

    -

    FMOD is integrated into Unreal Engine 4's Sequencer.

    -

    2.8.1 Adding FMOD Events to a Level Sequence

    -

    Events can be added in one of two ways:

    -
      -
    1. -

      Ambient sounds already placed in the level may be possessed by the level sequence. Add ambient sound actors to the sequence by clicking the Add actor button button in the Sequencer editor and choosing the ambient sound actor to add. Alternatively the actor can be dragged from the World Outliner into the Sequencer editor.
      -Possess actor
      -Possessed events will retain any state set by the level sequence when playback is complete. The level sequence's Restore State setting can be enabled to restore the state of possessed events (and any other actors possessed by the level sequence).

      -
    2. -
    3. -

      New events may be spawned from Sequencer. Sequencer can spawn FMOD events during playback. To create a spawned event drag an FMOD event from the Content Browser into the Sequencer editor.
      -Audio Table
      -Spawned events will not automatically play when spawned.

      -
    4. -
    -

    2.8.2 Adding Event Sub-Tracks

    -

    Once added to a sequence additional sub-tracks are required to do anything interesting. Sub-tracks can be added by clicking the Add track button button in the object's track. FMOD adds two new sub-track types for events in addition to the standard Sequencer sub-tracks.

    -
      -
    1. Event control tracks allow events to be played and stopped.
    2. -
    3. Parameter tracks allow event parameters to be animated using Sequencer's keyframe animation tools.
    4. -
    -

    Event tracks

    -

    2.8.3 Event Control Sub-Track

    -

    Keyframes on the event control sub-track can be used to Play or Stop the event.

    -

    Control track

    -

    2.8.4 Parameter Track

    -

    An FMOD Event Parameter Track allows additional sub-tracks to be added for each parameter in the targeted FMOD event. Additional sub-tracks can be added by clicking the Add parameter button button in the FMOD Event Parameter Track.

    -

    Parameter track

    -

    Keyframes may be added to the parameter sub-tracks to control the value of the event parameter during playback of the level sequence. The Unreal Engine 4 curve editor may be used to create rich curves for FMOD event parameters.

    -

    Parameter keyframe track

    -

    The FMOD UE4 integration is unable to validate the range of parameter values set by Sequencer. The FMOD studio runtime will clamp any parameter value outside the range specified in FMOD Studio.

    -
    -

    2.9 Occlusion

    -

    The FMOD integration supports the use of ray casts, to drive a specified parameter, for per instance occlusion of sounds.

    -

    2.9.1 Occlusion Settings

    -

    To enable occlusion ray casts for FMOD in your UE4 project, set the name of the parameter that will be used for Occlusion in Studio.

    -

    Occlusion Settings

    -

    If an Event contains this parameter, the integration will set the parameter value any time the occlusion value changes.
    -You can disable occlusion, per instance, and adjust the Trace Channel in the Component Details window.

    -

    Occlusion Settings

    -

    The way occlusion works will depend on how the Event is set up in FMOD Studio.

    -
    -

    2.10 Reverb Zones

    -

    The FMOD integration supports the use of the standard UE4 audio volumes to trigger Studio's advanced snapshot system.

    -

    2.10.1 Snapshot Reverb Effects

    -

    The workflow to use reverb zones is to set up snapshots in FMOD Studio. Snapshots can modify global reverb effects, change any bus volume, and modify any DSP value. To help trigger snapshots for reverb effects, the UE4 integration exports all snapshots as reverb effects in the FMOD/Reverbs folder.

    -

    Reverb assets

    -

    These reverb effects can be dragged into audio volume Reverb Settings panel to be triggered when the audio listener enters the audio zone. It uses the same logic as the inbuilt UE4 audio system to determine which audio volume should be enabled, based on the priority of the volume.

    -

    Reverb settings

    -

    By default, snapshots apply instantly. To have a snapshot fade in, one of two things can be done. The first is by adding a AHDSR modulation to the intensity dial. The second way is to expose the intensity as a parameter, which allows it to be driven from the UE4 integration.

    -

    Reverb snapshot intensity

    -

    If the snapshot has its intensity exposed as a parameter, then the UE4 integration will ramp in the intensity over time based on the audio volume's Volume and Fade Time settings. If the snapshot does not expose its intensity as a parameter, then these values will not do anything.

    -

    2.10.2 Ambient Zone Settings

    -

    Another feature of the UE4 audio system is the ability to have an ambient effect applied to selected instances, based on both the listener position and the emitter position. Unlike the global reverb effects, this is something which is applied per instance.

    -

    Reverb ambient

    -

    Only some sounds should be affected by the ambient settings. To enable the ambient effect your Events will need two parameters, one for volume and one for LPF.
    -You will need to add these parameter names to the integration settings.

    -

    Reverb user property

    -

    If an Event contains these parameters, the integration will set the parameter value any time the ambient values change.

    -

    Only FMOD audio components are affected by ambient zones. The simpler PlayEventAtLocation blueprint function to spawn one-shots does not apply ambient effects.

    -
    -

    2.11 Callbacks

    -

    You can hook up event callbacks using blueprints. FMOD Audio component callbacks are only triggered if the "Enable callback" option is ticked. This is because each component that triggers callbacks can incur a small CPU overhead, so it has to be turned on explicitly for the components you want to use.

    -

    Callback enable

    -

    Once enabled, then tempo beat callbacks and timeline callbacks can be added in blueprints. One way is via the Assign On Timeline Beat and Assign On Timeline Marker blueprint actions. For FMOD audio components used in blueprint actors, you can add events from the details window instead.

    -

    Callback blueprints

    -

    You can trigger various actions to occur on the beat or when a timeline hits a named marker. The event contains the same fields as FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES and FMOD_STUDIO_TIMELINE_MARKER_PROPERTIES.

    -

    Callback example

    -
    -

    2.12 Programmer Sounds

    -

    FMOD Studio events can include programmer sound modules that are controlled at runtime. There are a few different ways of hooking them up.

    -

    2.12.1 Programmer Sounds via Audio Tables

    -

    With this approach, you don't need to do any programming at all!

    -

    Setting up audio tables

    -

    Audio tables are directories of sounds that are loaded up into a bank file. You can use audio tables to control localized sounds. To create an audio table, create a new bank, assign an audio table to it, and then select the directory which will contain all the sounds you want in the bank.

    -

    Audio Table

    -

    The key for each entry it just the file name without any extension. You can create multiple banks each pointing to a different directory for each localized audio you need.

    -

    Loading audio tables

    -

    By default, the UE4 integration loads all banks at startup. To avoid that, you can use the advanced setting Skip Bank Load Name and provide a prefix, such as _Lang__. In the above project, it means the normal banks will be loaded at startup, but Lang_EN.bank and Lang_JP.bank will be skipped.

    -

    Then you can load up one of those banks using blueprint function Load Bank.

    -

    Load locale bank

    -

    Choosing the audio entry to play

    -

    Create an event with a programmer sound module on it. If the module has a name, then if nothing else is assigned then that sound will be used. For example, if the sound designer sets the module name as Welcome, then the audio table entry Welcome will be used by default.

    -

    Studio programmer sound

    -

    To select at runtime what audio entry to use, set the Programmer Sound Name field in the FMOD audio component.

    -

    Programmer asset name

    -

    Or you can assign the name via blueprint.

    -

    Programmer blueprint

    -

    The name has to be one of the audio asset entries of a loaded audio table, or it won't find the sound to play.

    -

    Be careful to set the name before you play the audio component. If the name is assigned after the event has started, it may not play the right sound.

    -

    2.12.2 Programmer Sounds by Path

    -

    With this approach, you can easily play any media file for your event.

    -

    You can set up a programmer sound to point directly to a file. To do this, set the FMOD audio component's Programmer Sound Name to the path to the .wav or .ogg file that you want to load. If this path is relative, it will be looked up relative to the content directory.

    -

    Programmer file path

    -

    If you do this, you'll need to make sure that directory with the media files is added to Directories to Package in the packaging settings, otherwise it will work in the editor, but not when packaged into the final game.

    -

    2.12.3 Programmer Sounds via API

    -

    With this approach, you have the most flexibility for programmers.

    -

    If you are writing code, you can programmatically set the FMOD Sound to use by calling the FMOD audio component function SetProgrammerSound. Here is an example of setting the sound from code:

    -
    void AExampleGameMode::InitAudio(UFMODAudioComponent* AudioComponent)
    -{
    -    if (AudioComponent)
    -    {
    -        FMOD::Studio::System* System = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime);
    -        FMOD::System* LowLevelSystem = nullptr;
    -        System->getCoreSystem(&LowLevelSystem);
    -
    -        // Create sound in memory
    -        static const int EXAMPLE_SOUND_LEN = 4096;
    -        float ExampleData[EXAMPLE_SOUND_LEN];
    -        for (int i=0; i<EXAMPLE_SOUND_LEN; ++i)
    -        {
    -            ExampleData[i] = FMath::Sin((float)i);
    -        }
    -
    -        FMOD_CREATESOUNDEXINFO SoundInfo = {0};
    -        SoundInfo.cbsize = sizeof(SoundInfo);
    -        SoundInfo.format = FMOD_SOUND_FORMAT_PCMFLOAT;
    -        SoundInfo.defaultfrequency = 12000;
    -        SoundInfo.numchannels = 1;
    -        SoundInfo.length = sizeof(float) * EXAMPLE_SOUND_LEN;
    -
    -        FMOD::Sound* Sound = nullptr;
    -        if (LowLevelSystem->createSound(reinterpret_cast<const char*>(ExampleData), FMOD_OPENMEMORY | FMOD_OPENRAW | FMOD_LOOP_OFF, &SoundInfo, &Sound) == FMOD_OK)
    -        {
    -            AudioComponent->SetProgrammerSound(Sound);
    -            // Note: Need to remember to release the sound *after* the audio component has finished using it.
    -        }
    -    }
    -}
    -
    - - -

    2.12.4 Troubleshooting

    -

    When setting the programmer sound via Blueprint or code, you will need to make sure that you set it before you play the event. If the audio component is already playing, then setting the name won't have any effect.

    -

    Also, when setting the name to an audio table entry, you will need to make sure the audio table bank is already loaded before the event starts.

    -

    The FMOD audio component only supports a single programmer sound per event. If you want to have an event that has multiple programmer sounds, each one playing a different sound, then you'll need to create the event directly via the FMOD API and provide your own callback. You can look at how the FMOD audio component programmer sound callback works and use that as a base for your own class.

    -
    -

    2.13 Using Plugins

    -

    FMOD Studio projects can be set up to use third party plugins. These can include custom DSP effects that are created in-house or commercial products that can be used with FMOD Studio. The plugins must be loaded at runtime so that they are there when loading the banks that need them. Plugins are set up in the project settings "Advanced" section.

    -

    Plugins

    -

    Each entry should be the filename of the plugin, without any extension. Any plugin files required should be added to the FMODStudio/Binaries/Platform/ directory.

    -

    For example, to use fmod_gain.dll on Win64 builds, you should add the file here:

    -
    FMODStudio/Binaries/Win64/fmod_gain.dll
    -
    - - -
    -

    2.14 Deployment

    -

    These steps describe how to prepare your project for deployment. This is relevant to both the Launch option as well as the 'File > Package Project' menu item.
    -If any platforms require specific steps, they can be found in Platform Specifics.

    -

    2.14.1 Packaging banks

    -

    Banks need to be packaged and included in the game data. This can be done by selecting the 'Edit > Project Settings...' menu item. Navigating to the Packaging section from the left hand pane, under the Game heading, presents you with options for specifying directories that include extra assets. There are two ways of doing this:

    -
      -
    • Additional Non-Asset Directories to Package: Will copy banks inside the final package file.
    • -
    • Additional Non-Asset Directories to Copy: Will copy banks as loose files.
    • -
    -

    We recommend using Directories to Package so that bank files are bundled into the package file automatically.

    -

    Project deployment

    -

    Each platform will look for its own type of banks in its own directory. Make sure you have added the platform to FMOD Studio project. The platforms are:

    -
      -
    • Desktop (Windows, Mac, Linux)
    • -
    • PS4
    • -
    • XBox One
    • -
    • Switch
    • -
    • Mobile (Android, iOS, tvOS)
    • -
    -

    If you only have the Desktop banks and want to run on another platform, you can set "Force Platform Name" to Desktop in the FMOD advanced settings.

    -

    2.14.2 Bank Files Inside Content Directory

    -

    The above directory name is relative to your Content directory. It is highly recommended that banks be placed within the Content directory, as paths outside the Content directory will not deploy correctly to all platforms. For example:

    -
      -
    • Mac doesn't allow support directories outside the Content directory at all.
    • -
    • Windows and Android have issues looking up directories outside the Content directory when used with packages.
    • -
    -

    This doesn't mean you need to put your whole Studio project inside the Content directory. You can customize Studio by editing the Preferences and choosing a directory to export banks to, as described in the Working with Banks page.

    -

    The integration will load the platform bank files automatically. On PC it will load from FMOD/Desktop but on Android and IOS it will look for banks under FMOD/Mobile.

    -

    If you use FMOD as the directory to deploy and have multiple platform banks exported, then they will all be packaged up. To slim down your final package size, you may need to tweak the Additional Directories setting on a per platform basis. That way you only package FMOD/Mobile for Android, FMOD/Desktop for PC, FMOD/PS4 for PS4, etc.

    -

    2.14.3 Deploying FMOD audio plugins

    -

    You will need to make sure the plugins are deployed as well. Unreal deployment doesn't access to the settings information so you will need to create an extra file that lists the plugins you want to deploy.

    -

    Create a file plugins.txt in the FMODStudio/Binaries/Platform/ directory. The text file should contain the plugin names (just the name without file extension).

    -

    For example, to deploy fmod_gain.dll on Win64 builds, create a file FMODStudio/Binaries/Win64/plugins.txt with the following contents:

    -
    fmod_gain
    -
    - - -

    2.14.4 Loading blueprints before plugin load

    -

    One issue to be aware of is where blueprints are serialized from disk too early, before any plugins are loaded. This can occur from the following code, which is included by default in example C++ projects constructor:

    -
    static ConstructorHelpers::FClassFinder<APawn> PlayerPawnClassFinder(TEXT("/Game/FirstPersonCPP/Blueprints/FirstPersonCharacter"));
    -
    - - -

    The finder will serialize the first person character blueprint, but any FMOD references will fail to load since the FMOD plugin has not been created yet. To make sure that the FMOD plugin is loaded first, add the line of code above the class finder.

    -
    IFMODStudioModule::Get();
    -
    - - -

    2.14.5 Disabling Unreal Audio Device

    -

    By default FMOD Studio works side-by-side with the inbuilt Unreal audio device. To disable the Unreal audio while leaving the FMOD Studio audio, the standard Unreal ini file setting can be used.

    -

    For windows, add a new file /Config/Windows/WindowsEngine.ini with this section:

    -
    [Audio]
    -AudioDeviceModuleName=
    -
    - - -

    The audio device can be disabled for every platform that you want to ship with.

    -

    2.14.6 Enabling Live Update

    -

    The default permissions won't allow FMOD to set up a socket properly for live update. Uncheck the "Enable Live Update" option in FMOD settings to avoid errors.

    -

    If you get a deployment error "resource.resw is in use by other process", go to the YourGame/Config/DefaultGame.ini and remove the following:

    -
    -CulturesToStage=en
    -+CulturesToStage=en
    -
    - - - - - -
    diff --git a/Plugins/FMODStudio/Docs/welcome.html b/Plugins/FMODStudio/Docs/welcome.html deleted file mode 100644 index 6b440c4..0000000 --- a/Plugins/FMODStudio/Docs/welcome.html +++ /dev/null @@ -1,55 +0,0 @@ - - -Welcome to the FMOD UE4 Integration - - - - -
    - -
    -

    1. Welcome to the FMOD UE4 Integration

    -

    The FMOD UE4 Integration is a plugin that allows you to use the FMOD APIs and projects from the FMOD Studio authoring tool in your UE4 game.

    -

    1.1 Supported UE4 Versions

    -

    The integration is available for UE4.20 and newer.

    -

    1.2 Supported platforms

    -

    The integration supports:

    -
      -
    • Windows Desktop
    • -
    • Universal Windows Platform
    • -
    • Linux
    • -
    • OSX
    • -
    • iOS
    • -
    • tvOS
    • -
    • Android
    • -
    • PS4
    • -
    • XBox One
    • -
    • Switch
    • -
    -

    1.3 Licensing

    -

    The integration itself is free, but you must have the appropriate FMOD License to release a title using FMOD Studio with UE4. For more information about licensing see the FMOD sales page.

    -

    1.4 Revision History

    -

    You can find the detailed revision history in the FMOD API User Manual.

    - - - - - -
    diff --git a/Plugins/FMODStudio/FMODStudio.uplugin b/Plugins/FMODStudio/FMODStudio.uplugin deleted file mode 100644 index 82f72c4..0000000 --- a/Plugins/FMODStudio/FMODStudio.uplugin +++ /dev/null @@ -1,33 +0,0 @@ -{ - "FileVersion" : 3, - - "FriendlyName" : "FMOD Studio Integration", - "Version" : 20002, - "VersionName" : "2.00.02", - "CreatedBy" : "Firelight Technologies", - "CreatedByURL" : "http://fmod.com", - "Description" : "FMOD Studio Integration.", - "Category" : "Audio", - "EnabledByDefault" : true, - - "Modules" : - [ - { - "Name": "FMODStudio", - "Type": "CookedOnly", - "LoadingPhase": "PreLoadingScreen" - }, - { - "Name": "FMODStudio", - "Type": "Editor", - "LoadingPhase": "PreDefault" - }, - { - "Name" : "FMODStudioEditor", - "Type" : "Editor" - } - ], - - "CanContainContent" : true, - "Installed" : true -} \ No newline at end of file diff --git a/Plugins/FMODStudio/Resources/Icon128.png b/Plugins/FMODStudio/Resources/Icon128.png deleted file mode 100644 index fcec53dab196ded2a0d6f3169eb40692cc5973e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4009 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

    wC5=$J( znNC?~8s1qzw|zt~rn_h%hH;Op&}nlF3k#_|7A^(RTbH|qRi1^*g&Knmg)b|++WDaF zXaCB&0G&3D#ZKNiD?)G>Iy_r#Vp>>p#Cjv3;l8-!LPHzPLSz#cAiH(1$gsP;l>og9 zV7tYyS~vKQE@%fc?~Z3LbUJbTaYs&eJ%Ax*e(L(#Z7Y0W6%$=|=Eik)+;U&o?wg@a%t6+Kp)d diff --git a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODAmbientSound.h b/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODAmbientSound.h deleted file mode 100644 index 90d3000..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODAmbientSound.h +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "FMODAudioComponent.h" -#include "FMODAmbientSound.generated.h" - -/** FMOD Ambient Sound. -*/ -UCLASS(AutoExpandCategories = Audio, ClassGroup = Sounds, hidecategories(Collision, Input)) -class FMODSTUDIO_API AFMODAmbientSound : public AActor -{ - GENERATED_UCLASS_BODY() -public: - /** The Audio component for this actor */ - UPROPERTY(Category = Sound, VisibleAnywhere, BlueprintReadOnly, meta = (ExposeFunctionCategories = "Sound")) - UFMODAudioComponent *AudioComponent; - -// Begin AActor interface. -#if WITH_EDITOR - virtual void CheckForErrors() override; - virtual bool GetReferencedContentObjects(TArray &Objects) const override; -#endif - // End AActor interface. -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODAnimNotifyPlay.h b/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODAnimNotifyPlay.h deleted file mode 100644 index b4a9d16..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODAnimNotifyPlay.h +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -#include "Animation/AnimNotifies/AnimNotify.h" -#include "FMODEvent.h" -#include "FMODAnimNotifyPlay.generated.h" - -UCLASS(const, hidecategories = Object, collapsecategories, meta = (DisplayName = "Play FMOD Event")) -class FMODSTUDIO_API UFMODAnimNotifyPlay : public UAnimNotify -{ - GENERATED_BODY() - -public: - UFMODAnimNotifyPlay(); - - // Being UAnimNotify interface - virtual void Notify(USkeletalMeshComponent *MeshComp, UAnimSequenceBase *AnimSeq) override; - virtual FString GetNotifyName_Implementation() const override; - // End UAnimNotify interface - - // If this sound should follow its owner - UPROPERTY(EditAnywhere, Category = "FMOD Anim Notify") - uint32 bFollow : 1; - - // Socket or bone name to attach sound to - UPROPERTY(EditAnywhere, Category = "FMOD Anim Notify", meta = (EditCondition = "bFollow")) - FString AttachName; - - // Sound to Play - UPROPERTY(EditAnywhere, Category = "FMOD Anim Notify", BlueprintReadWrite) - TAssetPtr Event; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODAsset.h b/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODAsset.h deleted file mode 100644 index 5a69961..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODAsset.h +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "Misc/Guid.h" -#include "CoreMinimal.h" -#include "FMODAsset.generated.h" - -/** - * FMOD Asset. - */ -UCLASS(BlueprintType) -class FMODSTUDIO_API UFMODAsset : public UObject -{ - GENERATED_UCLASS_BODY() - - /** The unique Guid, which matches the one exported from FMOD Studio */ - UPROPERTY() - FGuid AssetGuid; - - /** Whether to show in the content window */ - UPROPERTY() - bool bShowAsAsset; - - FString FileName; - - /** Force this to be an asset */ - virtual bool IsAsset() const override { return bShowAsAsset; } - - /** Get tags to show in content view */ - virtual void GetAssetRegistryTags(TArray &OutTags) const override; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODAudioComponent.h b/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODAudioComponent.h deleted file mode 100644 index e6c1585..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODAudioComponent.h +++ /dev/null @@ -1,362 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "Containers/Map.h" -#include "Runtime/Launch/Resources/Version.h" -#include "Sound/SoundAttenuation.h" -#include "AudioDevice.h" -#include "FMODStudioModule.h" -#include "FMODUtils.h" -#include "FMODAudioComponent.generated.h" - -// Event property -UENUM() -namespace EFMODEventProperty -{ -enum Type -{ - /* Priority to set on low-level channels created by this event instance (-1 to 256). */ - ChannelPriority, - /** Schedule delay to synchronized playback for multiple tracks in DSP clocks, or -1 for default. */ - ScheduleDelay, - /** Schedule look-ahead on the timeline in DSP clocks, or -1 for default. */ - ScheduleLookahead, - /** Override the event's 3D minimum distance, or -1 for default. */ - MinimumDistance, - /** Override the event's 3D maximum distance, or -1 for default. */ - MaximumDistance, - /** Number of options */ - Count -}; -} - - -/** Used to store callback info from FMOD thread to our event */ -struct FTimelineMarkerProperties -{ - FString Name; - int32 Position; -}; - -/** Used to store callback info from FMOD thread to our event */ -struct FTimelineBeatProperties -{ - int32 Bar; - int32 Beat; - int32 Position; - float Tempo; - int32 TimeSignatureUpper; - int32 TimeSignatureLower; -}; - -USTRUCT(BlueprintType) -struct FFMODAttenuationDetails -{ - GENERATED_USTRUCT_BODY() - - /** Should we use Attenuation set in Studio or be able to modify in Editor. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "FMOD|Attenuation") - uint32 bOverrideAttenuation : 1; - - /** Override the event's 3D minimum distance. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "FMOD|Attenuation", - meta = (ClampMin = "0.0", UIMin = "0.0", EditCondition = "bOverrideAttenuation")) - float MinimumDistance; - - /** Override the event's 3D maximum distance. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "FMOD|Attenuation", - meta = (ClampMin = "0.0", UIMin = "0.0", EditCondition = "bOverrideAttenuation")) - float MaximumDistance; - - FFMODAttenuationDetails() - : bOverrideAttenuation(false) - , MinimumDistance(1.0f) - , MaximumDistance(10.0f) - {} -}; - -USTRUCT(BlueprintType) -struct FFMODOcclusionDetails -{ - GENERATED_USTRUCT_BODY() - - /** Enable Occlusion Settings. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "FMOD|Occlusion") - bool bEnableOcclusion; - - /* Which trace channel to use for audio occlusion checks. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "FMOD|Occlusion", meta = (EditCondition = "bEnableOcclusion")) - TEnumAsByte OcclusionTraceChannel; - - /** Whether or not to enable complex geometry occlusion checks. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="FMOD|Occlusion", meta=(EditCondition = "bEnableOcclusion")) - bool bUseComplexCollisionForOcclusion; - - FFMODOcclusionDetails() - : bEnableOcclusion(false) - , OcclusionTraceChannel(ECC_Visibility) - , bUseComplexCollisionForOcclusion(false) - {} -}; - -/** called when an event stops, either because it played to completion or because a Stop() call turned it off early */ -DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnEventStopped); -/** called when we reach a named marker on the timeline */ -DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnTimelineMarker, FString, Name, int32, Position); -/** called when we reach a beat on the timeline */ -DECLARE_DYNAMIC_MULTICAST_DELEGATE_SixParams( - FOnTimelineBeat, int32, Bar, int32, Beat, int32, Position, float, Tempo, int32, TimeSignatureUpper, int32, TimeSignatureLower); - -namespace FMOD -{ -class DSP; -class Sound; - -namespace Studio -{ -class EventDescription; -class EventInstance; -} -} - -struct FMOD_STUDIO_TIMELINE_MARKER_PROPERTIES; -struct FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES; - -/** - * Plays FMOD Studio events. - */ -UCLASS(Blueprintable, ClassGroup = (Audio, Common), hidecategories = (Object, ActorComponent, Physics, Rendering, Mobility, LOD), - ShowCategories = Trigger, meta = (BlueprintSpawnableComponent)) -class FMODSTUDIO_API UFMODAudioComponent : public USceneComponent -{ - GENERATED_UCLASS_BODY() -public: - - /** The event asset to use for this sound. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = FMODAudio) - TAssetPtr Event; - - /** Event parameter cache. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, SimpleDisplay, Category = FMODAudio) - TMap ParameterCache; - bool bDefaultParameterValuesCached; - - /** Sound name used for programmer sound. Will look up the name in any loaded audio table. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = FMODAudio) - FString ProgrammerSoundName; - - /** Enable timeline callbacks for this sound, so that OnTimelineMarker and OnTimelineBeat can be used. */ - UPROPERTY(EditAnywhere, Category = FMODAudio) - uint32 bEnableTimelineCallbacks : 1; - - /** Stored properties to apply next time we create an instance. */ - float StoredProperties[EFMODEventProperty::Count]; - - /** Auto destroy this component on completion. */ - UPROPERTY() - uint32 bAutoDestroy : 1; - - /** Stop sound when owner is destroyed. */ - UPROPERTY() - uint32 bStopWhenOwnerDestroyed : 1; - - /** Whether we apply gain and low-pass based on audio zones. */ - uint32 bApplyAmbientVolumes : 1; - - /** Whether we apply gain and low-pass based on occlusion onto a parameter. */ - uint32 bApplyOcclusionParameter:1; - - /** Called when an event stops, either because it played to completion or because a Stop() call turned it off early. */ - UPROPERTY(BlueprintAssignable) - FOnEventStopped OnEventStopped; - - /** Called when we reach a named marker (if bEnableTimelineCallbacks is true). */ - UPROPERTY(BlueprintAssignable) - FOnTimelineMarker OnTimelineMarker; - - /** Called when we reach a beat of a tempo (if bEnableTimelineCallbacks is true). */ - UPROPERTY(BlueprintAssignable) - FOnTimelineBeat OnTimelineBeat; - - /** New Event to be used by the FMODAudioComponent. */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Components") - void SetEvent(UFMODEvent *NewEvent); - - /** Start a sound playing on an audio component. */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Components") - void Play(); - - /** Stop an audio component playing its sound cue, issue any delegates if needed. */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Components") - void Stop(); - - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Components") - void Release(); - - /** Trigger a cue in an event. */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Components") - void TriggerCue(); - - /** Return true if this component is currently playing an event. */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Components") - bool IsPlaying(); - - /** Sets the volume level. */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Components") - void SetVolume(float volume); - - /** Sets the pitch multiplier. */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Components") - void SetPitch(float pitch); - - /** Pause/Unpause an audio component. */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Components") - void SetPaused(bool paused); - - /** Set a parameter of the Event. */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Components") - void SetParameter(FName Name, float Value); - - /** Get parameter value from the Event. */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Components") - float GetParameter(FName Name); - - /** Set a property of the Event. */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Components") - void SetProperty(EFMODEventProperty::Type Property, float Value); - - /** Get a property of the Event. */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Components") - float GetProperty(EFMODEventProperty::Type Property); - - /** Get the event length in milliseconds. */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Components") - int32 GetLength() const; - - /** Set the timeline position in milliseconds. */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Components") - void SetTimelinePosition(int32 Time); - - /** Get the timeline position in milliseconds. */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Components") - int32 GetTimelinePosition(); - - /** Called when the event has finished stopping. */ - void OnPlaybackCompleted(); - - /** Update gain and low-pass based on interior volumes. */ - void UpdateInteriorVolumes(); - - /** Set the sound name to use for programmer sound. Will look up the name in any loaded audio table. */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Components") - void SetProgrammerSoundName(FString Value); - - /** Set a programmer sound to use for this audio component. Lifetime of sound must exceed that of the audio component. */ - void SetProgrammerSound(FMOD::Sound *Sound); - - /** FMOD Custom Attenuation Details. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = FMODAudio) - struct FFMODAttenuationDetails AttenuationDetails; - - /** FMOD Custom Occlusion Details. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = FMODAudio) - struct FFMODOcclusionDetails OcclusionDetails; - - /** Update attenuation if we have it set. */ - void UpdateAttenuation(); - - /** Apply Volume and LPF into event. */ - void ApplyVolumeLPF(); - - /** Cache default event parameter values. */ - void CacheDefaultParameterValues(); - -public: - /** Internal play function which can play events in the editor. */ - void PlayInternal(EFMODSystemContext::Type Context); - - /** Actual Studio instance handle. */ - FMOD::Studio::EventInstance *StudioInstance; - - /** Timeline Marker callback. */ - void EventCallbackAddMarker(struct FMOD_STUDIO_TIMELINE_MARKER_PROPERTIES *props); - - /** Timeline Beat callback. */ - void EventCallbackAddBeat(struct FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES *props); - - /** Programmer Sound Create callback. */ - void EventCallbackCreateProgrammerSound(struct FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES *props); - - /** Programmer Sound Destroy callback. */ - void EventCallbackDestroyProgrammerSound(struct FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES *props); - -// Begin UObject interface. -#if WITH_EDITOR - virtual void PostEditChangeProperty(FPropertyChangedEvent &e) override; -#endif // WITH_EDITOR - virtual void PostLoad() override; - virtual FString GetDetailedInfoInternal() const override; - // End UObject interface. - // Begin USceneComponent Interface - virtual void Activate(bool bReset = false) override; - virtual void Deactivate() override; - virtual void OnUpdateTransform(EUpdateTransformFlags UpdateTransformFlags, ETeleportType Teleport = ETeleportType::None) override; - // End USceneComponent Interface - -private: -// Begin ActorComponent interface. -#if WITH_EDITORONLY_DATA - virtual void OnRegister() override; -#endif - virtual void OnUnregister() override; - virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; - virtual void TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) override; -// End ActorComponent interface. - -#if WITH_EDITORONLY_DATA - void UpdateSpriteTexture(); -#endif - - /** Release any cached parameters then the Studio Instance. */ - void ReleaseEventCache(); - - /** Release the Studio Instance. */ - void ReleaseEventInstance(); - - /** Return a cached reference to the current IFMODStudioModule.*/ - IFMODStudioModule& GetStudioModule() - { - if (Module == nullptr) - { - Module = &IFMODStudioModule::Get(); - } - return *Module; - } - IFMODStudioModule* Module; - - // Settings for ambient volume effects. - double InteriorLastUpdateTime; - float SourceInteriorVolume; - float SourceInteriorLPF; - float CurrentInteriorVolume; - float CurrentInteriorLPF; - float AmbientVolume; - float AmbientLPF; - float LastVolume; - float LastLPF; - bool wasOccluded; - FMOD_STUDIO_PARAMETER_ID OcclusionID; - FMOD_STUDIO_PARAMETER_ID AmbientVolumeID; - FMOD_STUDIO_PARAMETER_ID AmbientLPFID; - - // Tempo and marker callbacks. - FCriticalSection CallbackLock; - TArray CallbackMarkerQueue; - TArray CallbackBeatQueue; - - // Direct assignment of programmer sound from other C++ code. - FMOD::Sound *ProgrammerSound; - - int32 EventLength; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODBank.h b/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODBank.h deleted file mode 100644 index 62adcb4..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODBank.h +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "FMODAsset.h" -#include "FMODBank.generated.h" - -/** - * FMOD Bank Asset. - */ -UCLASS() -class FMODSTUDIO_API UFMODBank : public UFMODAsset -{ - GENERATED_UCLASS_BODY() - - /** Get tags to show in content view */ - virtual void GetAssetRegistryTags(TArray &OutTags) const override; - - /** Descriptive name */ - virtual FString GetDesc() override; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODBlueprintStatics.h b/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODBlueprintStatics.h deleted file mode 100644 index a1e1747..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODBlueprintStatics.h +++ /dev/null @@ -1,293 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "FMODAudioComponent.h" -#include "Kismet/BlueprintFunctionLibrary.h" -#include "Containers/UnrealString.h" -#include "Kismet/BlueprintFunctionLibrary.h" -#include "FMODBlueprintStatics.generated.h" - -class UFMODAudioComponent; - -namespace FMOD -{ -namespace Studio -{ -class EventDescription; -class EventInstance; -} -} - -class UFMODAsset; -class UFMODEvent; -class USceneComponent; - -USTRUCT(BlueprintType) -struct FFMODEventInstance -{ - GENERATED_USTRUCT_BODY() - - FMOD::Studio::EventInstance *Instance; -}; - -UENUM(BlueprintType) -enum EFMOD_STUDIO_STOP_MODE -{ - ALLOWFADEOUT, - IMMEDIATE -}; - -UCLASS() -class FMODSTUDIO_API UFMODBlueprintStatics : public UBlueprintFunctionLibrary -{ - GENERATED_UCLASS_BODY() - - /** Plays an event. This returns an FMOD Event Instance. The sound does not travel with any actor. - * @param Event - event to play - * @param bAutoPlay - Start the event automatically. - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD", - meta = (HidePin = "WorldContextObject", DefaultToSelf = "WorldContextObject", AdvancedDisplay = "2", bAutoPlay = "true", - UnsafeDuringActorConstruction = "true")) - static FFMODEventInstance PlayEvent2D(UObject *WorldContextObject, UFMODEvent *Event, bool bAutoPlay); - - /** Plays an event at the given location. This returns an FMOD Event Instance. The sound does not travel with any actor. - * @param Event - event to play - * @param Location - World position to play event at - * @param bAutoPlay - Start the event automatically. - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD", - meta = (HidePin = "WorldContextObject", DefaultToSelf = "WorldContextObject", AdvancedDisplay = "2", bAutoPlay = "true", - UnsafeDuringActorConstruction = "true")) - static FFMODEventInstance PlayEventAtLocation(UObject *WorldContextObject, UFMODEvent *Event, const FTransform &Location, bool bAutoPlay); - - /** Plays an event attached to and following the specified component. - * @param Event - event to play - * @param AttachComponent - Component to attach to. - * @param AttachPointName - Optional named point within the AttachComponent to play the sound at - * @param Location - Depending on the value of Location Type this is either a relative offset from the attach component/point or an absolute world position that will be translated to a relative offset - * @param LocationType - Specifies whether Location is a relative offset or an absolute world position - * @param bStopWhenAttachedToDestroyed - Specifies whether the sound should stop playing when the owner of the attach to component is destroyed. - * @param bAutoPlay - Start the event automatically. - * @param bAutoDestroy - Automatically destroy the audio component when the sound is stopped. - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD", - meta = (AdvancedDisplay = "2", UnsafeDuringActorConstruction = "true", bAutoPlay = "true", bAutoDestroy = "true")) - static class UFMODAudioComponent *PlayEventAttached(UFMODEvent *Event, USceneComponent *AttachToComponent, FName AttachPointName, - FVector Location, EAttachLocation::Type LocationType, bool bStopWhenAttachedToDestroyed, bool bAutoPlay, bool bAutoDestroy); - - /** Find an asset by name. - * @param EventName - The asset name - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD") - static UFMODAsset *FindAssetByName(const FString &Name); - - /** Find an event by name. - * @param EventName - The event name - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD") - static UFMODEvent *FindEventByName(const FString &Name); - - /** Loads a bank. - * @param Bank - bank to load - * @param bBlocking - determines whether the bank will load synchronously - * @param bLoadSampleData - determines whether sample data will be preloaded immediately - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD", meta = (UnsafeDuringActorConstruction = "true")) - static void LoadBank(class UFMODBank *Bank, bool bBlocking, bool bLoadSampleData); - - /** Unloads a bank. - * @param Bank - bank to unload - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD", meta = (UnsafeDuringActorConstruction = "true")) - static void UnloadBank(class UFMODBank *Bank); - - /** Returns true if a bank is loaded. - * @param Bank - bank to query - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD", meta = (UnsafeDuringActorConstruction = "true")) - static bool IsBankLoaded(class UFMODBank *Bank); - - /** Load bank sample data. - * @param Bank - bank to load sample data from - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD", meta = (UnsafeDuringActorConstruction = "true")) - static void LoadBankSampleData(class UFMODBank *Bank); - - /** Unload bank sample data. - * @param Bank - bank to unload sample data from - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD", meta = (UnsafeDuringActorConstruction = "true")) - static void UnloadBankSampleData(class UFMODBank *Bank); - - /** Load event sample data. This can be done ahead of time to avoid loading stalls. - * @param Event - event to load sample data from. - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD", - meta = (HidePin = "WorldContextObject", DefaultToSelf = "WorldContextObject", UnsafeDuringActorConstruction = "true")) - static void LoadEventSampleData(UObject *WorldContextObject, UFMODEvent *Event); - - /** Unload event sample data. - * @param Event - event to load sample data from. - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD", - meta = (HidePin = "WorldContextObject", DefaultToSelf = "WorldContextObject", UnsafeDuringActorConstruction = "true")) - static void UnloadEventSampleData(UObject *WorldContextObject, UFMODEvent *Event); - - /** Return a list of all event instances that are playing for this event. - Be careful using this function because it is possible to find and alter any playing sound, even ones owned by other audio components. - * @param Event - event to find instances from. - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD", - meta = (HidePin = "WorldContextObject", DefaultToSelf = "WorldContextObject", UnsafeDuringActorConstruction = "true")) - static TArray FindEventInstances(UObject *WorldContextObject, UFMODEvent *Event); - - /** Set volume on a bus - * @param Bus - bus to use - * @param Volume - volume - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Bus", meta = (UnsafeDuringActorConstruction = "true")) - static void BusSetVolume(class UFMODBus *Bus, float Volume); - - /** Pause/Unpause all events going through this bus - * @param Bus - bus to use - * @param bPaused - paused - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Bus", meta = (UnsafeDuringActorConstruction = "true")) - static void BusSetPaused(class UFMODBus *Bus, bool bPaused); - - /** Mute/Unmute this bus - * @param Bus - bus to use - * @param bMute - mute - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Bus", meta = (UnsafeDuringActorConstruction = "true")) - static void BusSetMute(class UFMODBus *Bus, bool bMute); - - /** Stops all EventInstances routed into the bus - * @param Bus - bus to use - * @param stopMode - desired stop mode - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|Bus", meta = (UnsafeDuringActorConstruction = "true")) - static void BusStopAllEvents(class UFMODBus *Bus, EFMOD_STUDIO_STOP_MODE stopMode); - - /** Set volume on a VCA - * @param Vca - VCA to use - * @param Volume - volume - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|VCA", meta = (UnsafeDuringActorConstruction = "true")) - static void VCASetVolume(class UFMODVCA *Vca, float Volume); - - /** Set a global parameter from the System. - * @param Name - Name of parameter - * @param Value - Value of parameter - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD", meta = (UnsafeDuringActorConstruction = "true")) - static void SetGlobalParameterByName(FName Name, float Value); - - /** Get a global parameter from the System. - * @param Name - Name of parameter - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD", meta = (UnsafeDuringActorConstruction = "true")) - static float GetGlobalParameterByName(FName Name); - - /** Returns whether this FMOD Event Instance is valid. The instance will be invalidated when the sound stops. - * @param EventInstance - Event instance - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|EventInstance", meta = (UnsafeDuringActorConstruction = "true")) - static bool EventInstanceIsValid(FFMODEventInstance EventInstance); - - /** Set volume on an FMOD Event Instance. - * @param EventInstance - Event instance - * @param Value - Volume to set - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|EventInstance", meta = (UnsafeDuringActorConstruction = "true")) - static void EventInstanceSetVolume(FFMODEventInstance EventInstance, float Volume); - - /** Set pitch on an FMOD Event Instance. - * @param EventInstance - Event instance - * @param Value - Volume to set - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|EventInstance", meta = (UnsafeDuringActorConstruction = "true")) - static void EventInstanceSetPitch(FFMODEventInstance EventInstance, float Pitch); - - /** Pause/Unpause an FMOD Event Instance. - * @param EventInstance - Event instance - * @param Paused - Whether to pause or unpause - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|EventInstance", meta = (UnsafeDuringActorConstruction = "true")) - static void EventInstanceSetPaused(FFMODEventInstance EventInstance, bool Paused); - - /** Set a parameter on an FMOD Event Instance. - * @param EventInstance - Event instance - * @param Name - Name of parameter - * @param Value - Value of parameter - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|EventInstance", meta = (UnsafeDuringActorConstruction = "true")) - static void EventInstanceSetParameter(FFMODEventInstance EventInstance, FName Name, float Value); - - /** Get a parameter on an FMOD Event Instance. - * @param EventInstance - Event instance - * @param Name - Name of parameter - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|EventInstance", meta = (UnsafeDuringActorConstruction = "true")) - static float EventInstanceGetParameter(FFMODEventInstance EventInstance, FName Name); - - /** Set an FMOD event property on an FMOD Event Instance. - * @param EventInstance - Event instance - * @param Property - Property to set - * @param Value - Value to set - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|EventInstance", meta = (UnsafeDuringActorConstruction = "true")) - static void EventInstanceSetProperty(FFMODEventInstance EventInstance, EFMODEventProperty::Type Property, float Value); - - /** Plays a FMOD Event Instance. - * @param EventInstance - Event instance - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|EventInstance", meta = (UnsafeDuringActorConstruction = "true")) - static void EventInstancePlay(FFMODEventInstance EventInstance); - - /** Stops a FMOD Event Instance. - * @param EventInstance - Event instance - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|EventInstance", meta = (UnsafeDuringActorConstruction = "true")) - static void EventInstanceStop(FFMODEventInstance EventInstance); - - /** Trigger a cue on an FMOD Event Instance. - * @param EventInstance - Event instance - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|EventInstance", meta = (UnsafeDuringActorConstruction = "true")) - static void EventInstanceTriggerCue(FFMODEventInstance EventInstance); - - /** Set 3D attributes on a FMOD Event Instance. - * @param EventInstance - Event instance - * @param Location - Location to place event - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD|EventInstance", meta = (UnsafeDuringActorConstruction = "true")) - static void EventInstanceSetTransform(FFMODEventInstance EventInstance, const FTransform &Location); - - /** List all output device names. - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD") - static TArray GetOutputDrivers(); - - /** Set current output device by name or part of the name. - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD") - static void SetOutputDriverByName(FString NewDriverName); - - /** Set current output device by its index from GetOutputDrivers. - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD") - static void SetOutputDriverByIndex(int NewDriverIndex); - - /** Suspend the FMOD mixer. Used when suspending the application. - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD") - static void MixerSuspend(); - - /** Resume the FMOD mixer. Used when resuming the application. - */ - UFUNCTION(BlueprintCallable, Category = "Audio|FMOD") - static void MixerResume(); -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODBus.h b/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODBus.h deleted file mode 100644 index d9fedc5..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODBus.h +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "FMODAsset.h" -#include "FMODBus.generated.h" - -/** - * FMOD Bus Asset. - */ -UCLASS() -class FMODSTUDIO_API UFMODBus : public UFMODAsset -{ - GENERATED_UCLASS_BODY() - - /** Get tags to show in content view */ - virtual void GetAssetRegistryTags(TArray &OutTags) const override; - - /** Descriptive name */ - virtual FString GetDesc() override; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODEvent.h b/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODEvent.h deleted file mode 100644 index 3567955..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODEvent.h +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "FMODAsset.h" -#include "FMODEvent.generated.h" - -struct FMOD_STUDIO_PARAMETER_DESCRIPTION; - -/** - * FMOD Event Asset. - */ -UCLASS() -class FMODSTUDIO_API UFMODEvent : public UFMODAsset -{ - GENERATED_UCLASS_BODY() - - /** Get tags to show in content view */ - virtual void GetAssetRegistryTags(TArray &OutTags) const override; - - /** Descriptive name */ - virtual FString GetDesc() override; - - /** Get parameter descriptions for this event */ - void GetParameterDescriptions(TArray &Parameters) const; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODSettings.h b/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODSettings.h deleted file mode 100644 index f7304ed..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODSettings.h +++ /dev/null @@ -1,288 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "UObject/Class.h" -#include "Engine/EngineTypes.h" -#include "GenericPlatform/GenericPlatform.h" -#include "FMODSettings.generated.h" - -class Paths; - -UENUM() -enum EFMODLogging -{ - LEVEL_NONE = 0, - LEVEL_ERROR = 1, - LEVEL_WARNING = 2, - LEVEL_LOG = 4, - TYPE_MEMORY = 100, - TYPE_FILE = 200, - TYPE_CODEC = 400, - TYPE_TRACE = 800, - DISPLAY_TIMESTAMPS = 10000, - DISPLAY_LINENUMBERS = 20000, - DISPLAY_THREAD = 40000 -}; - -UENUM() -namespace EFMODSpeakerMode -{ -enum Type -{ - // The speakers are stereo - Stereo, - // 5.1 speaker setup - Surround_5_1, - // 7.1 speaker setup - Surround_7_1 -}; -} - -USTRUCT() -struct FCustomPoolSizes -{ - GENERATED_USTRUCT_BODY() - - /** Default = 0 (Disabled) units in bytes*/ - UPROPERTY(config, EditAnywhere, Category = InitSettings, meta = (ClampMin = "0")) - int32 Desktop; - /** Default = 0 (Disabled) units in bytes*/ - UPROPERTY(config, EditAnywhere, Category = InitSettings, meta = (ClampMin = "0")) - int32 Mobile; - /** Default = 0 (Disabled) units in bytes*/ - UPROPERTY(config, EditAnywhere, Category = InitSettings, meta = (ClampMin = "0")) - int32 PS4; - /** Default = 0 (Disabled) units in bytes*/ - UPROPERTY(config, EditAnywhere, Category = InitSettings, meta = (ClampMin = "0")) - int32 Switch; - /** Default = 0 (Disabled) units in bytes*/ - UPROPERTY(config, EditAnywhere, Category = InitSettings, meta = (ClampMin = "0")) - int32 XboxOne; - - FCustomPoolSizes() - : Desktop(0) - , Mobile(0) - , PS4(0) - , Switch(0) - , XboxOne(0) - { - } -}; - -UCLASS(config = Engine, defaultconfig) -class FMODSTUDIO_API UFMODSettings : public UObject -{ - GENERATED_UCLASS_BODY() - -public: - /** - * Whether to load all banks at startup. - */ - UPROPERTY(config, EditAnywhere, Category = Basic) - bool bLoadAllBanks; - - /** - * Whether to load all bank sample data into memory at startup. - */ - UPROPERTY(config, EditAnywhere, Category = Basic) - bool bLoadAllSampleData; - - /** - * Enable live update in non-final builds. - */ - UPROPERTY(config, EditAnywhere, Category = Basic) - bool bEnableLiveUpdate; - - /** - * Enable live update in Editor for Auditioning. *Requires Restart* - */ - UPROPERTY(Config, EditAnywhere, Category = Basic) - bool bEnableEditorLiveUpdate; - - /** - * Path to find your studio bank output directory, relative to Content directory. - */ - UPROPERTY(config, EditAnywhere, Category = Basic, meta = (RelativeToGameContentDir)) - FDirectoryPath BankOutputDirectory; - - /** Project Output Format, should match the mode set up for the Studio project. */ - UPROPERTY(config, EditAnywhere, Category = Basic) - TEnumAsByte OutputFormat; - - /** - * Whether to enable vol0virtual, which means voices with low volume will automatically go virtual to save CPU. - */ - UPROPERTY(config, EditAnywhere, Category = InitSettings) - bool bVol0Virtual; - - /** - * If vol0virtual is enabled, the signal level at which to make channels virtual. - */ - UPROPERTY(config, EditAnywhere, Category = InitSettings) - float Vol0VirtualLevel; - - /** - * Sample rate to use, or 0 to match system rate. - */ - UPROPERTY(config, EditAnywhere, Category = InitSettings) - int32 SampleRate; - - /** - * Whether to match hardware sample rate where reasonable (44.1kHz to 48kHz). - */ - UPROPERTY(config, EditAnywhere, Category = InitSettings) - bool bMatchHardwareSampleRate; - - /** - * Number of actual software voices that can be used at once. - */ - UPROPERTY(config, EditAnywhere, Category = InitSettings) - int32 RealChannelCount; - - /** - * Total number of voices available that can be either real or virtual. - */ - UPROPERTY(config, EditAnywhere, Category = InitSettings) - int32 TotalChannelCount; - - /** - * DSP mixer buffer length (eg. 512, 1024) or 0 for system default. - * When changing the Buffer Length, Buffer Count also needs to be set. - */ - UPROPERTY(config, EditAnywhere, Category = InitSettings) - int32 DSPBufferLength; - - /** - * DSP mixer buffer count (eg. 2, 4) or 0 for system default. - * When changing the Buffer Count, Buffer Length also needs to be set. - */ - UPROPERTY(config, EditAnywhere, Category = InitSettings) - int32 DSPBufferCount; - - /** - * File buffer size in bytes (2048 by default). - */ - UPROPERTY(config, EditAnywhere, Category = InitSettings) - int32 FileBufferSize; - - /** - * Studio update period in milliseconds, or 0 for default (which means 20ms). - */ - UPROPERTY(config, EditAnywhere, Category = InitSettings) - int32 StudioUpdatePeriod; - - /** - * Output device to choose at system start up, or empty for default. - */ - UPROPERTY(config, EditAnywhere, Category = InitSettings) - FString InitialOutputDriverName; - - /** - * Lock all mixer buses at startup, making sure they are created up front. - */ - UPROPERTY(config, EditAnywhere, Category = InitSettings) - bool bLockAllBuses; - - /** - * Use specified memory pool size for platform, units in bytes. Disabled by default. - * FMOD may become unstable if the limit is exceeded! - */ - UPROPERTY(config, EditAnywhere, Category = InitSettings) - FCustomPoolSizes MemoryPoolSizes; - - /** - * Live update port to use, or 0 for default. - */ - UPROPERTY(config, EditAnywhere, Category = Advanced, meta = (EditCondition = "bEnableLiveUpdate")) - int32 LiveUpdatePort; - - /** - * Live update port to use while in editor for auditioning. *Requires Restart* - */ - UPROPERTY(config, EditAnywhere, Category = Advanced, meta = (EditCondition = "bEnableEditorLiveUpdate")) - int32 EditorLiveUpdatePort; - - /** - * Extra plugin files to load. - * The plugin files should sit alongside the FMOD dynamic libraries in the ThirdParty directory. - */ - UPROPERTY(config, EditAnywhere, Category = Advanced) - TArray PluginFiles; - - /** - * Directory for content to appear in content window. Be careful changing this! - */ - UPROPERTY(config, EditAnywhere, Category = Advanced) - FString ContentBrowserPrefix; - - /** - * Force platform directory name, or leave empty for automatic (Desktop/Mobile/PS4/XBoxOne) - */ - UPROPERTY(config, EditAnywhere, Category = Advanced) - FString ForcePlatformName; - - /** - * Name of master bank. The default in Studio is "Master Bank". - */ - UPROPERTY(config, EditAnywhere, Category = Advanced) - FString MasterBankName; - - /** - * Skip bank files of the given name. - * Can be used to load all banks except for a certain set, such as localization banks. - */ - UPROPERTY(config, EditAnywhere, Category = Advanced) - FString SkipLoadBankName; - - /* - * Specify the key for loading sounds from encrypted banks. - */ - UPROPERTY(config, EditAnywhere, Category = Advanced) - FString EncryptionKey; - - /** - * Force wav writer output, for debugging only. Setting this will prevent normal sound output! - */ - UPROPERTY(config, EditAnywhere, Category = Advanced) - FString WavWriterPath; - - UPROPERTY(config, EditAnywhere, Category = Advanced) - TEnumAsByte LoggingLevel; - - /** - * Name of the parameter used in Studio to control Occlusion effects. - */ - UPROPERTY(config, EditAnywhere, Category = Advanced) - FString OcclusionParameter; - - /** - * Name of the parameter used in Studio to control Ambient volume. - */ - UPROPERTY(config, EditAnywhere, Category = Advanced) - FString AmbientVolumeParameter; - - /** - * Name of the parameter used in Studio to control Ambient LPF effects. - */ - UPROPERTY(config, EditAnywhere, Category = Advanced) - FString AmbientLPFParameter; - - /** Is the bank path set up . */ - bool IsBankPathSet() const { return !BankOutputDirectory.Path.IsEmpty(); } - - /** Get the full bank path. Uses the game's content directory as a base. */ - FString GetFullBankPath() const; - - /** Get the master bank filename. */ - FString GetMasterBankFilename() const; - - /** Get the master assets bank filename. */ - FString GetMasterAssetsBankFilename() const; - - /** Get the master strings bank filename. */ - FString GetMasterStringsBankFilename() const; - - /** Get all banks in our bank directory excluding the master and strings bank. */ - void GetAllBankPaths(TArray &Paths, bool IncludeMasterBank = false) const; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODSnapshot.h b/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODSnapshot.h deleted file mode 100644 index e4e2908..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODSnapshot.h +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "FMODEvent.h" -#include "FMODSnapshot.generated.h" - -/** - * FMOD Snapshot Asset. - */ -UCLASS() -class FMODSTUDIO_API UFMODSnapshot : public UFMODEvent -{ - GENERATED_UCLASS_BODY() - - /** Descriptive name */ - virtual FString GetDesc() override; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODSnapshotReverb.h b/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODSnapshotReverb.h deleted file mode 100644 index 9be95f7..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODSnapshotReverb.h +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "FMODAsset.h" -#include "Sound/ReverbEffect.h" -#include "FMODSnapshotReverb.generated.h" - -/** - * FMOD Event Asset. - */ -UCLASS() -class FMODSTUDIO_API UFMODSnapshotReverb : public UReverbEffect -{ - GENERATED_UCLASS_BODY() - - /** The unique Guid, which matches the one exported from FMOD Studio */ - UPROPERTY() - FGuid AssetGuid; - - /** Whether to show in the content window */ - UPROPERTY() - bool bShowAsAsset; - - /** Force this to be an asset */ - virtual bool IsAsset() const override { return bShowAsAsset; } - -#if WITH_EDITORONLY_DATA - virtual void PostEditChangeProperty(FPropertyChangedEvent &PropertyChangedEvent) override; -#endif // EDITORONLY_DATA -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODVCA.h b/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODVCA.h deleted file mode 100644 index be3a6e3..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Classes/FMODVCA.h +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "FMODAsset.h" -#include "FMODVCA.generated.h" - -/** - * FMOD VCA Asset. - */ -UCLASS() -class FMODSTUDIO_API UFMODVCA : public UFMODAsset -{ - GENERATED_UCLASS_BODY() - - /** Get tags to show in content view */ - virtual void GetAssetRegistryTags(TArray &OutTags) const override; - - /** Descriptive name */ - virtual FString GetDesc() override; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/FMODStudio.Build.cs b/Plugins/FMODStudio/Source/FMODStudio/FMODStudio.Build.cs deleted file mode 100644 index da1c8a8..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/FMODStudio.Build.cs +++ /dev/null @@ -1,295 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. -using System.IO; - -namespace UnrealBuildTool.Rules -{ - public class FMODStudio : ModuleRules - { - #if WITH_FORWARDED_MODULE_RULES_CTOR - public FMODStudio(ReadOnlyTargetRules Target) : base(Target) - #else - public FMODStudio(TargetInfo Target) - #endif - { - PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; - PrivatePCHHeaderFile = "Private/FMODStudioPrivatePCH.h"; - - bFasterWithoutUnity = true; - - PublicIncludePaths.Add(Path.Combine(ModuleDirectory, "Public/FMOD")); - - PrivateIncludePaths.Add(Path.Combine(ModuleDirectory, "Classes")); - - PublicDependencyModuleNames.AddRange( - new string[] - { - "Core", - "CoreUObject", - "Engine", - "Media", - "Projects" - } - ); - - PrivateDependencyModuleNames.AddRange( - new string[] - { - "MovieScene", - "MovieSceneTracks" - } - ); - - if (Target.bBuildEditor == true) - { - PrivateDependencyModuleNames.Add("AssetRegistry"); - PrivateDependencyModuleNames.Add("UnrealEd"); - } - - DynamicallyLoadedModuleNames.AddRange( - new string[] - { - } - ); - - string configName = ""; - - if (Target.Configuration != UnrealTargetConfiguration.Shipping) - { - configName = "L"; - PublicDefinitions.Add("FMODSTUDIO_LINK_LOGGING=1"); - } - else - { - configName = ""; - PublicDefinitions.Add("FMODSTUDIO_LINK_RELEASE=1"); - } - - string platformName = Target.Platform.ToString(); - - string linkExtension = ""; - string dllExtension = ""; - string libPrefix = ""; - - // ModuleDirectory points to FMODStudio\source\FMODStudio, need to get back to binaries directory for our libs - string BasePath = System.IO.Path.Combine(ModuleDirectory, "../../Binaries", platformName); - // Collapse the directory path, otherwise OSX is having issues with plugin paths. - BasePath = Utils.CleanDirectorySeparators(BasePath); - - string copyThirdPartyPath = ""; - bool bAddRuntimeDependencies = true; - bool bAddDelayLoad = false; - bool bShortLinkNames = false; - bool bLinkFromBinaries = true; - - // Minimum UE version for Switch 4.15 - System.Console.WriteLine("Target Platform -- " + Target.Platform.ToString()); - if (Target.Platform.ToString() == "Switch") - { - linkExtension = ".a"; - dllExtension = ".a"; - libPrefix = "lib"; - bAddRuntimeDependencies = false; - } - else if (Target.Platform.ToString() == "UWP64") - { - linkExtension = ".lib"; - dllExtension = ".dll"; - bAddDelayLoad = true; - } - else - { - switch (Target.Platform) - { - case UnrealTargetPlatform.Win32: - linkExtension = "_vc.lib"; - dllExtension = ".dll"; - bAddDelayLoad = true; - break; - case UnrealTargetPlatform.Win64: - linkExtension = "_vc.lib"; - dllExtension = ".dll"; - bAddDelayLoad = true; - break; - case UnrealTargetPlatform.Mac: - linkExtension = dllExtension = ".dylib"; - libPrefix = "lib"; - bLinkFromBinaries = false; - break; - case UnrealTargetPlatform.XboxOne: - linkExtension = "_vc.lib"; - dllExtension = ".dll"; - copyThirdPartyPath = "../XBoxOne"; // XBoxOne still doesn't seem to support plugins with .dlls - bAddDelayLoad = false; - break; - case UnrealTargetPlatform.PS4: - linkExtension = "_stub.a"; - dllExtension = ".prx"; - libPrefix = "lib"; - bAddDelayLoad = true; - break; - case UnrealTargetPlatform.Android: - // Don't use an explicit path with the .so, let the architecture dirs be filtered by UBT - PublicLibraryPaths.Add(System.IO.Path.Combine(BasePath, "armeabi-v7a")); - PublicLibraryPaths.Add(System.IO.Path.Combine(BasePath, "arm64-v8a")); - PublicLibraryPaths.Add(System.IO.Path.Combine(BasePath, "x86")); - bAddRuntimeDependencies = false; // Don't use this system - bShortLinkNames = true; // strip off lib and .so - linkExtension = dllExtension = ".so"; - libPrefix = "lib"; - break; - case UnrealTargetPlatform.IOS: - linkExtension = "_iphoneos.a"; - libPrefix = "lib"; - bAddRuntimeDependencies = false; - break; - case UnrealTargetPlatform.TVOS: - linkExtension = "_appletvos.a"; - libPrefix = "lib"; - bAddRuntimeDependencies = false; - break; - case UnrealTargetPlatform.Linux: - BasePath = System.IO.Path.Combine(BasePath, "x86_64"); - linkExtension = ".so"; - dllExtension = ".so"; - libPrefix = "lib"; - break; - default: - //extName = ".a"; - throw new System.Exception(System.String.Format("Unsupported platform {0}", Target.Platform.ToString())); - //break; - } - } - - //System.Console.WriteLine("FMOD Current path: " + System.IO.Path.GetFullPath(".")); - //System.Console.WriteLine("FMOD Base path: " + BasePath); - - PublicLibraryPaths.Add(BasePath); - - string fmodLibName = System.String.Format("{0}fmod{1}{2}", libPrefix, configName, linkExtension); - string fmodStudioLibName = System.String.Format("{0}fmodstudio{1}{2}", libPrefix, configName, linkExtension); - - string fmodDllName = System.String.Format("{0}fmod{1}{2}", libPrefix, configName, dllExtension); - string fmodStudioDllName = System.String.Format("{0}fmodstudio{1}{2}", libPrefix, configName, dllExtension); - - string fmodLibPath = System.IO.Path.Combine(BasePath, fmodLibName); - string fmodStudioLibPath = System.IO.Path.Combine(BasePath, fmodStudioLibName); - - string fmodDllPath = System.IO.Path.Combine(BasePath, fmodDllName); - string fmodStudioDllPath = System.IO.Path.Combine(BasePath, fmodStudioDllName); - - System.Collections.Generic.List plugins = GetPlugins(BasePath); - - if (bShortLinkNames) - { - // For android we have provided the paths to all architectures above - // Just provide the name without "lib" and without extension - PublicAdditionalLibraries.Add(System.String.Format("fmod{0}", configName)); - PublicAdditionalLibraries.Add(System.String.Format("fmodstudio{0}", configName)); - } - else if (bLinkFromBinaries) - { - PublicAdditionalLibraries.Add(fmodLibPath); - PublicAdditionalLibraries.Add(fmodStudioLibPath); - } - else - { - string LibPath = System.IO.Path.Combine(ModuleDirectory, "../../Libs/Mac/"); - PublicAdditionalLibraries.Add(System.String.Format("{0}libfmod{1}.dylib", LibPath, configName)); - PublicAdditionalLibraries.Add(System.String.Format("{0}libfmodStudio{1}.dylib", LibPath, configName)); - } - - if (bAddRuntimeDependencies) - { - RuntimeDependencies.Add(fmodDllPath); - RuntimeDependencies.Add(fmodStudioDllPath); - foreach (string plugin in plugins) - { - string pluginPath = System.IO.Path.Combine(BasePath, plugin + dllExtension); - System.Console.WriteLine("Adding reference to FMOD plugin: " + pluginPath); - RuntimeDependencies.Add(pluginPath); - } - } - - if (copyThirdPartyPath.Length != 0) - { - string destPath = System.IO.Path.Combine(Target.UEThirdPartyBinariesDirectory, copyThirdPartyPath); - System.IO.Directory.CreateDirectory(destPath); - - string fmodDllDest = System.IO.Path.Combine(destPath, fmodDllName); - string fmodStudioDllDest = System.IO.Path.Combine(destPath, fmodStudioDllName); - - CopyFile(fmodDllPath, fmodDllDest); - CopyFile(fmodStudioDllPath, fmodStudioDllDest); - } - - if (bAddDelayLoad) - { - PublicDelayLoadDLLs.AddRange( - new string[] { - fmodDllName, - fmodStudioDllName - } - ); - } - - if (Target.Platform == UnrealTargetPlatform.Android) - { - string APLName = System.String.Format("FMODStudio{0}_APL.xml", configName); - string RelAPLPath = Utils.MakePathRelativeTo(System.IO.Path.Combine(ModuleDirectory, APLName), Target.RelativeEnginePath); - System.Console.WriteLine("Adding {0}", RelAPLPath); - AdditionalPropertiesForReceipt.Add("AndroidPlugin", RelAPLPath); - foreach (string PluginName in System.IO.Directory.GetFiles(BasePath)) - { - if (PluginName.EndsWith("_APL.xml", System.StringComparison.OrdinalIgnoreCase)) - { - string RelPluginPath = Utils.MakePathRelativeTo(PluginName, Target.RelativeEnginePath); - System.Console.WriteLine("Adding {0}", RelPluginPath); - AdditionalPropertiesForReceipt.Add("AndroidPlugin", RelPluginPath); - } - } - } - } - - private void CopyFile(string source, string dest) - { - //System.Console.WriteLine("Copying {0} to {1}", source, dest); - if (System.IO.File.Exists(dest)) - { - System.IO.File.SetAttributes(dest, System.IO.File.GetAttributes(dest) & ~System.IO.FileAttributes.ReadOnly); - } - try - { - System.IO.File.Copy(source, dest, true); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Failed to copy file: {0}", ex.Message); - } - } - - private System.Collections.Generic.List GetPlugins(string BasePath) - { - System.Collections.Generic.List AllPlugins = new System.Collections.Generic.List(); - string PluginListName = System.IO.Path.Combine(BasePath, "plugins.txt"); - if (System.IO.File.Exists(PluginListName)) - { - try - { - foreach (string FullEntry in System.IO.File.ReadAllLines(PluginListName)) - { - string Entry = FullEntry.Trim(); - if (Entry.Length > 0) - { - AllPlugins.Add(Entry); - } - } - } - catch (System.Exception ex) - { - System.Console.WriteLine("Failed to read plugin list file: {0}", ex.Message); - } - } - return AllPlugins; - } - } -} \ No newline at end of file diff --git a/Plugins/FMODStudio/Source/FMODStudio/FMODStudioL_APL.xml b/Plugins/FMODStudio/Source/FMODStudio/FMODStudioL_APL.xml deleted file mode 100644 index 64a8a4a..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/FMODStudioL_APL.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - -keep class org.fmod.** { - *; - } - -dontwarn org.fmod.** - - - - - - - - - - - - - - - // Initialize FMOD Studio jar file - org.fmod.FMOD.init(this); - - - - - - - // Shutdown FMOD Studio jar file - org.fmod.FMOD.close(); - - - - - - - - - - diff --git a/Plugins/FMODStudio/Source/FMODStudio/FMODStudio_APL.xml b/Plugins/FMODStudio/Source/FMODStudio/FMODStudio_APL.xml deleted file mode 100644 index 3a01d4d..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/FMODStudio_APL.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - -keep class org.fmod.** { - *; - } - -dontwarn org.fmod.** - - - - - - - - - - - - - - - // Initialize FMOD Studio jar file - org.fmod.FMOD.init(this); - - - - - - - // Shutdown FMOD Studio jar file - org.fmod.FMOD.close(); - - - - - - - - - - diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAmbientSound.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAmbientSound.cpp deleted file mode 100644 index 8a83b9e..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAmbientSound.cpp +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODAmbientSound.h" -#include "FMODEvent.h" -#include "Logging/MessageLog.h" -#include "Misc/UObjectToken.h" -#include "Misc/MapErrors.h" - -#define LOCTEXT_NAMESPACE "FMODAmbientSound" - -AFMODAmbientSound::AFMODAmbientSound(const FObjectInitializer &ObjectInitializer) - : Super(ObjectInitializer) -{ - AudioComponent = ObjectInitializer.CreateDefaultSubobject(this, TEXT("FMODAudioComponent0")); - - AudioComponent->bAutoActivate = true; - AudioComponent->bStopWhenOwnerDestroyed = true; - AudioComponent->Mobility = EComponentMobility::Movable; - - RootComponent = AudioComponent; - - bReplicates = false; - bHidden = true; - bCanBeDamaged = false; -} - -#if WITH_EDITOR - -void AFMODAmbientSound::CheckForErrors(void) -{ - Super::CheckForErrors(); - - if (!AudioComponent) - { - FFormatNamedArguments Arguments; - Arguments.Add(TEXT("ActorName"), FText::FromString(GetName())); - FMessageLog("MapCheck") - .Warning() - ->AddToken(FUObjectToken::Create(this)) - ->AddToken(FTextToken::Create(FText::Format( - LOCTEXT("MapCheck_Message_AudioComponentNull", "{ActorName} : Ambient sound actor has NULL AudioComponent property - please delete"), - Arguments))) - ->AddToken(FMapErrorToken::Create(FMapErrors::AudioComponentNull)); - } - else if (AudioComponent->Event == NULL) - { - FFormatNamedArguments Arguments; - Arguments.Add(TEXT("ActorName"), FText::FromString(GetName())); - FMessageLog("MapCheck") - .Warning() - ->AddToken(FUObjectToken::Create(this)) - ->AddToken(FTextToken::Create( - FText::Format(LOCTEXT("MapCheck_Message_EventNull", "{ActorName} : Ambient sound actor has NULL Event property"), Arguments))) - ->AddToken(FMapErrorToken::Create(FMapErrors::SoundCueNull)); - } -} - -bool AFMODAmbientSound::GetReferencedContentObjects(TArray &Objects) const -{ - if (IsValid(AudioComponent) && AudioComponent->Event) - { - Objects.Add(AudioComponent->Event.Get()); - } - return true; -} - -#endif - -#undef LOCTEXT_NAMESPACE \ No newline at end of file diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAnimNotifyPlay.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAnimNotifyPlay.cpp deleted file mode 100644 index e066ed7..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAnimNotifyPlay.cpp +++ /dev/null @@ -1,44 +0,0 @@ - -#include "FMODAnimNotifyPlay.h" -#include "FMODBlueprintStatics.h" -#include "Components/SkeletalMeshComponent.h" -#include "Kismet/KismetSystemLibrary.h" - -UFMODAnimNotifyPlay::UFMODAnimNotifyPlay() - : Super() -{ - -#if WITH_EDITORONLY_DATA - NotifyColor = FColor(196, 142, 255, 255); -#endif // WITH_EDITORONLY_DATA -} - -void UFMODAnimNotifyPlay::Notify(USkeletalMeshComponent *MeshComp, UAnimSequenceBase *AnimSeq) -{ - if (Event.IsValid()) - { - if (bFollow) - { - // Play event attached - UFMODBlueprintStatics::PlayEventAttached( - Event.Get(), MeshComp, *AttachName, FVector(0, 0, 0), EAttachLocation::KeepRelativeOffset, false, true, true); - } - else - { - // Play event at location - UFMODBlueprintStatics::PlayEventAtLocation(MeshComp, Event.Get(), MeshComp->GetComponentTransform(), true); - } - } -} - -FString UFMODAnimNotifyPlay::GetNotifyName_Implementation() const -{ - if (Event.IsValid()) - { - return (Event.Get())->GetName(); - } - else - { - return Super::GetNotifyName_Implementation(); - } -} \ No newline at end of file diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAsset.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAsset.cpp deleted file mode 100644 index f93b8ed..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAsset.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODAsset.h" -#include "FMODStudioModule.h" - -static const TCHAR *FMODAssetTypeStrings[] = { TEXT("Bank"), TEXT("Event"), TEXT("VCA"), TEXT("Bus"), TEXT("Invalid") }; - -UFMODAsset::UFMODAsset(const FObjectInitializer &ObjectInitializer) - : Super(ObjectInitializer) -{ -} - -/** Get tags to show in content view */ -void UFMODAsset::GetAssetRegistryTags(TArray &OutTags) const -{ - Super::GetAssetRegistryTags(OutTags); - OutTags.Add( - UObject::FAssetRegistryTag("Guid", AssetGuid.ToString(EGuidFormats::DigitsWithHyphensInBraces), UObject::FAssetRegistryTag::TT_Alphabetical)); -} diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAssetTable.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAssetTable.cpp deleted file mode 100644 index c4937f9..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAssetTable.cpp +++ /dev/null @@ -1,376 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODAssetTable.h" -#include "FMODEvent.h" -#include "FMODSnapshot.h" -#include "FMODSnapshotReverb.h" -#include "FMODBank.h" -#include "FMODBus.h" -#include "FMODVCA.h" -#include "FMODUtils.h" -#include "FMODSettings.h" -#include "FMODFileCallbacks.h" -#include "FMODStudioPrivatePCH.h" -#include "fmod_studio.hpp" -#include "Misc/Paths.h" -#include "UObject/Package.h" - -#if WITH_EDITOR -#include "AssetRegistryModule.h" -#endif - -FFMODAssetTable::FFMODAssetTable() - : StudioSystem(nullptr) -{ -} - -FFMODAssetTable::~FFMODAssetTable() -{ - Destroy(); -} - -void FFMODAssetTable::Create() -{ - Destroy(); - - // Create a sandbox system purely for loading and considering banks - verifyfmod(FMOD::Studio::System::create(&StudioSystem)); - FMOD::System *lowLevelSystem = nullptr; - verifyfmod(StudioSystem->getCoreSystem(&lowLevelSystem)); - verifyfmod(lowLevelSystem->setOutput(FMOD_OUTPUTTYPE_NOSOUND)); - AttachFMODFileSystem(lowLevelSystem, 2048); - verifyfmod( - StudioSystem->initialize(1, FMOD_STUDIO_INIT_ALLOW_MISSING_PLUGINS | FMOD_STUDIO_INIT_SYNCHRONOUS_UPDATE, FMOD_INIT_MIX_FROM_UPDATE, 0)); -} - -void FFMODAssetTable::Destroy() -{ - if (StudioSystem != nullptr) - { - verifyfmod(StudioSystem->release()); - } - StudioSystem = nullptr; -} - -UFMODAsset *FFMODAssetTable::FindByName(const FString &Name) const -{ - const TWeakObjectPtr *FoundAsset = FullNameLookup.Find(Name); - if (FoundAsset) - { - return FoundAsset->Get(); - } - return nullptr; -} - -void FFMODAssetTable::Refresh() -{ - if (StudioSystem == nullptr) - { - return; - } - - BuildBankPathLookup(); - - if (!MasterStringsBankPath.IsEmpty()) - { - const UFMODSettings &Settings = *GetDefault(); - FString StringPath = Settings.GetFullBankPath() / MasterStringsBankPath; - - UE_LOG(LogFMOD, Log, TEXT("Loading strings bank: %s"), *StringPath); - - FMOD::Studio::Bank *StudioStringBank; - FMOD_RESULT StringResult = StudioSystem->loadBankFile(TCHAR_TO_UTF8(*StringPath), FMOD_STUDIO_LOAD_BANK_NORMAL, &StudioStringBank); - if (StringResult == FMOD_OK) - { - TArray RawBuffer; - RawBuffer.SetNum(256); // Initial capacity - - int Count = 0; - verifyfmod(StudioStringBank->getStringCount(&Count)); - for (int StringIdx = 0; StringIdx < Count; ++StringIdx) - { - FMOD_RESULT Result; - FMOD::Studio::ID Guid = { 0 }; - while (true) - { - int ActualSize = 0; - Result = StudioStringBank->getStringInfo(StringIdx, &Guid, RawBuffer.GetData(), RawBuffer.Num(), &ActualSize); - if (Result == FMOD_ERR_TRUNCATED) - { - RawBuffer.SetNum(ActualSize); - } - else - { - break; - } - } - verifyfmod(Result); - FString AssetName(UTF8_TO_TCHAR(RawBuffer.GetData())); - FGuid AssetGuid = FMODUtils::ConvertGuid(Guid); - if (!AssetName.IsEmpty()) - { - AddAsset(AssetGuid, AssetName); - } - } - verifyfmod(StudioStringBank->unload()); - verifyfmod(StudioSystem->update()); - } - else - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to load strings bank: %s"), *StringPath); - } - } -} - -void FFMODAssetTable::AddAsset(const FGuid &AssetGuid, const FString &AssetFullName) -{ - FString AssetPath = AssetFullName; - FString AssetType = ""; - FString AssetFileName = "asset"; - - int DelimIndex; - if (AssetPath.FindChar(':', DelimIndex)) - { - AssetType = AssetPath.Left(DelimIndex); - AssetPath = AssetPath.Right(AssetPath.Len() - DelimIndex - 1); - } - - FString FormattedAssetType = ""; - UClass *AssetClass = UFMODAsset::StaticClass(); - if (AssetType.Equals(TEXT("event"))) - { - FormattedAssetType = TEXT("Events"); - AssetClass = UFMODEvent::StaticClass(); - } - else if (AssetType.Equals(TEXT("snapshot"))) - { - FormattedAssetType = TEXT("Snapshots"); - AssetClass = UFMODSnapshot::StaticClass(); - } - else if (AssetType.Equals(TEXT("bank"))) - { - FormattedAssetType = TEXT("Banks"); - AssetClass = UFMODBank::StaticClass(); - } - else if (AssetType.Equals(TEXT("bus"))) - { - FormattedAssetType = TEXT("Buses"); - AssetClass = UFMODBus::StaticClass(); - } - else if (AssetType.Equals(TEXT("vca"))) - { - FormattedAssetType = TEXT("VCAs"); - AssetClass = UFMODVCA::StaticClass(); - } - else if (AssetType.Equals(TEXT("parameter"))) - { - return; - } - else - { - UE_LOG(LogFMOD, Warning, TEXT("Unknown asset type: %s"), *AssetType); - } - - if (AssetPath.FindLastChar('/', DelimIndex)) - { - AssetFileName = AssetPath.Right(AssetPath.Len() - DelimIndex - 1); - AssetPath = AssetPath.Left(AssetPath.Len() - AssetFileName.Len() - 1); - } - else - { - // No path part, all name - AssetFileName = AssetPath; - AssetPath = TEXT(""); - } - - if (AssetFileName.IsEmpty() || AssetFileName.Contains(TEXT(".strings"))) - { - UE_LOG(LogFMOD, Log, TEXT("Skipping asset: %s"), *AssetFullName); - return; - } - - AssetPath = AssetPath.Replace(TEXT(" "), TEXT("_")); - FString AssetShortName = AssetFileName.Replace(TEXT(" "), TEXT("_")); - AssetShortName = AssetShortName.Replace(TEXT("."), TEXT("_")); - - const UFMODSettings &Settings = *GetDefault(); - - FString FolderPath = Settings.ContentBrowserPrefix; - FolderPath += FormattedAssetType; - FolderPath += AssetPath; - - FString AssetPackagePath = FolderPath + TEXT("/") + AssetShortName; - - FName AssetPackagePathName(*AssetPackagePath); - - TWeakObjectPtr &ExistingNameAsset = NameMap.FindOrAdd(AssetPackagePathName); - TWeakObjectPtr &ExistingGuidAsset = GuidMap.FindOrAdd(AssetGuid); - TWeakObjectPtr &ExistingFullNameLookupAsset = FullNameLookup.FindOrAdd(AssetFullName); - - UFMODAsset *AssetNameObject = ExistingNameAsset.Get(); - if (AssetNameObject == nullptr) - { - UE_LOG(LogFMOD, Log, TEXT("Constructing asset: %s"), *AssetPackagePath); - - UPackage *NewPackage = CreatePackage(nullptr, *AssetPackagePath); - if (IsValid(NewPackage)) - { - if (!GEventDrivenLoaderEnabled) - { - NewPackage->SetPackageFlags(PKG_CompiledIn); - } - - AssetNameObject = NewObject(NewPackage, AssetClass, FName(*AssetShortName), RF_Standalone | RF_Public /* | RF_Transient */); - AssetNameObject->AssetGuid = AssetGuid; - AssetNameObject->bShowAsAsset = true; - AssetNameObject->FileName = AssetFileName; - -#if WITH_EDITOR - FAssetRegistryModule &AssetRegistryModule = FModuleManager::LoadModuleChecked(TEXT("AssetRegistry")); - AssetRegistryModule.Get().AddPath(*FolderPath); - FAssetRegistryModule::AssetCreated(AssetNameObject); -#endif - } - else - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to construct package for asset %s"), *AssetPackagePath); - } - - if (AssetClass == UFMODSnapshot::StaticClass()) - { - FString ReverbFolderPath = Settings.ContentBrowserPrefix; - ReverbFolderPath += TEXT("Reverbs"); - ReverbFolderPath += AssetPath; - - FString ReverbAssetPackagePath = ReverbFolderPath + TEXT("/") + AssetShortName; - - UPackage *ReverbPackage = CreatePackage(nullptr, *ReverbAssetPackagePath); - if (ReverbPackage) - { - if (!GEventDrivenLoaderEnabled) - { - ReverbPackage->SetPackageFlags(PKG_CompiledIn); - } - UFMODSnapshotReverb *AssetReverb = NewObject( - ReverbPackage, UFMODSnapshotReverb::StaticClass(), FName(*AssetShortName), RF_Standalone | RF_Public /* | RF_Transient */); - AssetReverb->AssetGuid = AssetGuid; - AssetReverb->bShowAsAsset = true; - -#if WITH_EDITOR - FAssetRegistryModule &AssetRegistryModule = FModuleManager::LoadModuleChecked(TEXT("AssetRegistry")); - AssetRegistryModule.Get().AddPath(*ReverbFolderPath); - FAssetRegistryModule::AssetCreated(AssetReverb); -#endif - } - } - } - - UFMODAsset *AssetGuidObject = ExistingGuidAsset.Get(); - if (IsValid(AssetGuidObject) && AssetGuidObject != AssetNameObject) - { - FString OldPath = AssetGuidObject->GetPathName(); - UE_LOG(LogFMOD, Log, TEXT("Hiding old asset '%s'"), *OldPath); - - // We had an asset with the same guid but it must have been renamed - // We just hide the old asset from the asset table - AssetGuidObject->bShowAsAsset = false; - -#if WITH_EDITOR - FAssetRegistryModule::AssetRenamed(AssetNameObject, OldPath); -#endif - } - - ExistingNameAsset = AssetNameObject; - ExistingGuidAsset = AssetNameObject; - ExistingFullNameLookupAsset = AssetNameObject; -} - -FString FFMODAssetTable::GetBankPath(const UFMODBank &Bank) const -{ - FString BankPath = ""; - const FString* File = BankPathLookup.Find(Bank.AssetGuid); - - if (File) - { - BankPath = *File; - } - else - { - UE_LOG(LogFMOD, Warning, TEXT("Could not find disk file for bank %s"), *Bank.FileName); - } - - return BankPath; -} - -FString FFMODAssetTable::GetMasterBankPath() const -{ - return MasterBankPath; -} - -FString FFMODAssetTable::GetMasterStringsBankPath() const -{ - return MasterStringsBankPath; -} - -FString FFMODAssetTable::GetMasterAssetsBankPath() const -{ - return MasterAssetsBankPath; -} - -void FFMODAssetTable::BuildBankPathLookup() -{ - const UFMODSettings &Settings = *GetDefault(); - - TArray BankPaths; - Settings.GetAllBankPaths(BankPaths, true); - - BankPathLookup.Empty(BankPaths.Num()); - MasterBankPath.Empty(); - MasterStringsBankPath.Empty(); - MasterAssetsBankPath.Empty(); - - if (BankPaths.Num() == 0) - { - return; - } - - for (FString BankPath : BankPaths) - { - FMOD::Studio::Bank *Bank; - FMOD_RESULT result = StudioSystem->loadBankFile(TCHAR_TO_UTF8(*BankPath), FMOD_STUDIO_LOAD_BANK_NORMAL, &Bank); - FMOD_GUID GUID; - - if (result == FMOD_OK) - { - result = Bank->getID(&GUID); - Bank->unload(); - } - - if (result == FMOD_OK) - { - FString CurFilename = FPaths::GetCleanFilename(BankPath); - BankPath = BankPath.RightChop(Settings.GetFullBankPath().Len() + 1); - BankPathLookup.Add(FMODUtils::ConvertGuid(GUID), BankPath); - - if (MasterBankPath.IsEmpty() && CurFilename == Settings.GetMasterBankFilename()) - { - MasterBankPath = BankPath; - } - else if (MasterStringsBankPath.IsEmpty() && CurFilename == Settings.GetMasterStringsBankFilename()) - { - MasterStringsBankPath = BankPath; - } - else if (MasterAssetsBankPath.IsEmpty() && CurFilename == Settings.GetMasterAssetsBankFilename()) - { - MasterAssetsBankPath = BankPath; - } - } - - if (result != FMOD_OK) - { - UE_LOG(LogFMOD, Error, TEXT("Failed to register disk file for bank: %s"), *BankPath); - } - } - - StudioSystem->flushCommands(); -} diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAssetTable.h b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAssetTable.h deleted file mode 100644 index 083c8e4..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAssetTable.h +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "FMODAsset.h" - -namespace FMOD -{ -namespace Studio -{ -class System; -} -} - -class UFMODBank; -struct FFMODBankDiskFileMap; - -class FFMODAssetTable -{ -public: - FFMODAssetTable(); - ~FFMODAssetTable(); - - void Create(); - void Destroy(); - - void Refresh(); - - UFMODAsset *FindByName(const FString &Name) const; - FString GetBankPath(const UFMODBank &Bank) const; - FString GetMasterBankPath() const; - FString GetMasterStringsBankPath() const; - FString GetMasterAssetsBankPath() const; - -private: - void AddAsset(const FGuid &AssetGuid, const FString &AssetFullName); - void BuildBankPathLookup(); - -private: - FMOD::Studio::System *StudioSystem; - TMap> GuidMap; - TMap> NameMap; - TMap> FullNameLookup; - FString MasterBankPath; - FString MasterStringsBankPath; - FString MasterAssetsBankPath; - TMap BankPathLookup; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAudioComponent.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAudioComponent.cpp deleted file mode 100644 index 707d749..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODAudioComponent.cpp +++ /dev/null @@ -1,859 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODAudioComponent.h" -#include "FMODStudioModule.h" -#include "FMODUtils.h" -#include "FMODEvent.h" -#include "FMODListener.h" -#include "FMODSettings.h" -#include "fmod_studio.hpp" -#include "Misc/App.h" -#include "Misc/Paths.h" -#include "Misc/ScopeLock.h" -#include "FMODStudioPrivatePCH.h" -#include "Components/BillboardComponent.h" -#if WITH_EDITORONLY_DATA -#include "Engine/Texture2D.h" -#endif - -UFMODAudioComponent::UFMODAudioComponent(const FObjectInitializer &ObjectInitializer) - : Super(ObjectInitializer) -{ - bAutoDestroy = false; - bAutoActivate = true; - bEnableTimelineCallbacks = false; // Default OFF for efficiency - bStopWhenOwnerDestroyed = true; - bNeverNeedsRenderUpdate = true; - bWantsOnUpdateTransform = true; -#if WITH_EDITORONLY_DATA - bVisualizeComponent = true; -#endif - bApplyOcclusionParameter = false; - bDefaultParameterValuesCached = false; - - PrimaryComponentTick.bCanEverTick = true; - PrimaryComponentTick.TickGroup = TG_PrePhysics; - PrimaryComponentTick.bStartWithTickEnabled = false; - - StudioInstance = nullptr; - ProgrammerSound = nullptr; - - LastLPF = MAX_FILTER_FREQUENCY; - LastVolume = 1.0f; - Module = nullptr; - wasOccluded = false; - - for (int i = 0; i < EFMODEventProperty::Count; ++i) - { - StoredProperties[i] = -1.0f; - } -} - -FString UFMODAudioComponent::GetDetailedInfoInternal(void) const -{ - FString Result; - - if (Event) - { - Result = Event->GetPathName(NULL); - } - else - { - Result = TEXT("No_Event"); - } - - return Result; -} - -#if WITH_EDITORONLY_DATA -void UFMODAudioComponent::OnRegister() -{ - Super::OnRegister(); - - if (!bDefaultParameterValuesCached) - CacheDefaultParameterValues(); - - UpdateSpriteTexture(); -} - -void UFMODAudioComponent::UpdateSpriteTexture() -{ - if (SpriteComponent) - { - if (bAutoActivate) - { - SpriteComponent->SetSprite( - LoadObject(NULL, TEXT("/Engine/EditorResources/AudioIcons/S_AudioComponent_AutoActivate.S_AudioComponent_AutoActivate"))); - } - else - { - SpriteComponent->SetSprite(LoadObject(NULL, TEXT("/Engine/EditorResources/AudioIcons/S_AudioComponent.S_AudioComponent"))); - } - } -} -#endif - -#if WITH_EDITOR -void UFMODAudioComponent::PostEditChangeProperty(FPropertyChangedEvent &e) -{ - if (IsPlaying()) - { - Stop(); - Play(); - } - - FName PropertyName = (e.Property != NULL) ? e.Property->GetFName() : NAME_None; - if (PropertyName == GET_MEMBER_NAME_CHECKED(UFMODAudioComponent, Event) || - (PropertyName == GET_MEMBER_NAME_CHECKED(UFMODAudioComponent, ParameterCache) && ParameterCache.Num() == 0)) - { - ParameterCache.Empty(); - bDefaultParameterValuesCached = false; - } - -#if WITH_EDITORONLY_DATA - UpdateSpriteTexture(); -#endif - - Super::PostEditChangeProperty(e); -} -#endif // WITH_EDITOR - -void UFMODAudioComponent::OnUpdateTransform(EUpdateTransformFlags UpdateTransformFlags, ETeleportType Teleport) -{ - Super::OnUpdateTransform(UpdateTransformFlags, Teleport); - if (StudioInstance) - { - FMOD_3D_ATTRIBUTES attr = { { 0 } }; - attr.position = FMODUtils::ConvertWorldVector(GetComponentTransform().GetLocation()); - attr.up = FMODUtils::ConvertUnitVector(GetComponentTransform().GetUnitAxis(EAxis::Z)); - attr.forward = FMODUtils::ConvertUnitVector(GetComponentTransform().GetUnitAxis(EAxis::X)); - attr.velocity = FMODUtils::ConvertWorldVector(GetOwner()->GetVelocity()); - - StudioInstance->set3DAttributes(&attr); - - UpdateInteriorVolumes(); - UpdateAttenuation(); - ApplyVolumeLPF(); - } -} - -// Taken mostly from ActiveSound.cpp -void UFMODAudioComponent::UpdateInteriorVolumes() -{ - if (!GetOwner()) - return; // May not have owner when previewing animations - - if (!bApplyAmbientVolumes) - return; - - // Result of the ambient calculations to apply to the instance - float NewAmbientVolumeMultiplier = 1.0f; - float NewAmbientHighFrequencyGain = 1.0f; - - FInteriorSettings *Ambient = - (FInteriorSettings *)alloca(sizeof(FInteriorSettings)); // FinteriorSetting::FInteriorSettings() isn't exposed (possible UE4 bug???) - const FVector &Location = GetOwner()->GetTransform().GetTranslation(); - AAudioVolume *AudioVolume = GetWorld()->GetAudioSettings(Location, NULL, Ambient); - - const FFMODListener &Listener = GetStudioModule().GetNearestListener(Location); - if (InteriorLastUpdateTime < Listener.InteriorStartTime) - { - SourceInteriorVolume = CurrentInteriorVolume; - SourceInteriorLPF = CurrentInteriorLPF; - InteriorLastUpdateTime = FApp::GetCurrentTime(); - } - - bool bAllowSpatialization = true; - if (Listener.Volume == AudioVolume || !bAllowSpatialization) - { - // Ambient and listener in same ambient zone - CurrentInteriorVolume = FMath::Lerp(SourceInteriorVolume, 1.0f, Listener.InteriorVolumeInterp); - NewAmbientVolumeMultiplier = CurrentInteriorVolume; - - CurrentInteriorLPF = FMath::Lerp(SourceInteriorLPF, MAX_FILTER_FREQUENCY, Listener.InteriorLPFInterp); - NewAmbientHighFrequencyGain = CurrentInteriorLPF; - - //UE_LOG(LogFMOD, Verbose, TEXT( "Ambient in same volume. Volume *= %g LPF *= %g" ), CurrentInteriorVolume, CurrentInteriorLPF); - } - else - { - // Ambient and listener in different ambient zone - if (Ambient->bIsWorldSettings) - { - // The ambient sound is 'outside' - use the listener's exterior volume - CurrentInteriorVolume = FMath::Lerp(SourceInteriorVolume, Listener.InteriorSettings.ExteriorVolume, Listener.ExteriorVolumeInterp); - NewAmbientVolumeMultiplier = CurrentInteriorVolume; - - CurrentInteriorLPF = FMath::Lerp(SourceInteriorLPF, Listener.InteriorSettings.ExteriorLPF, Listener.ExteriorLPFInterp); - NewAmbientHighFrequencyGain = CurrentInteriorLPF; - - //UE_LOG(LogFMOD, Verbose, TEXT( "Ambient in diff volume, ambient outside. Volume *= %g LPF *= %g" ), CurrentInteriorVolume, CurrentInteriorLPF); - } - else - { - // The ambient sound is 'inside' - use the ambient sound's interior volume multiplied with the listeners exterior volume - CurrentInteriorVolume = FMath::Lerp(SourceInteriorVolume, Ambient->InteriorVolume, Listener.InteriorVolumeInterp); - CurrentInteriorVolume *= FMath::Lerp(SourceInteriorVolume, Listener.InteriorSettings.ExteriorVolume, Listener.ExteriorVolumeInterp); - NewAmbientVolumeMultiplier = CurrentInteriorVolume; - - - float AmbientLPFValue = FMath::Lerp(SourceInteriorLPF, Ambient->InteriorLPF, Listener.InteriorLPFInterp); - float ListenerLPFValue = FMath::Lerp(SourceInteriorLPF, Listener.InteriorSettings.ExteriorLPF, Listener.ExteriorLPFInterp); - - // The current interior LPF value is the less of the LPF due to ambient zone and LPF due to listener settings - if (AmbientLPFValue < ListenerLPFValue) - { - CurrentInteriorLPF = AmbientLPFValue; - NewAmbientHighFrequencyGain = AmbientLPFValue; - } - else - { - CurrentInteriorLPF = ListenerLPFValue; - NewAmbientHighFrequencyGain = ListenerLPFValue; - } - - //UE_LOG(LogFMOD, Verbose, TEXT( "Ambient in diff volume, ambient inside. Volume *= %g LPF *= %g" ), CurrentInteriorVolume, CurrentInteriorLPF); - } - } - - AmbientVolume = NewAmbientVolumeMultiplier; - AmbientLPF = NewAmbientHighFrequencyGain; -} - -void UFMODAudioComponent::UpdateAttenuation() -{ - if (!GetOwner()) - return; // May not have owner when previewing animations - - if (!AttenuationDetails.bOverrideAttenuation && !OcclusionDetails.bEnableOcclusion) - { - return; - } - - if (AttenuationDetails.bOverrideAttenuation) - { - SetProperty(EFMODEventProperty::MinimumDistance, AttenuationDetails.MinimumDistance); - SetProperty(EFMODEventProperty::MaximumDistance, AttenuationDetails.MaximumDistance); - } - - // Use occlusion part of settings - if (OcclusionDetails.bEnableOcclusion && bApplyOcclusionParameter) - { - static FName NAME_SoundOcclusion = FName(TEXT("SoundOcclusion")); - FCollisionQueryParams Params(NAME_SoundOcclusion, OcclusionDetails.bUseComplexCollisionForOcclusion, GetOwner()); - - const FVector &Location = GetOwner()->GetTransform().GetTranslation(); - const FFMODListener &Listener = GetStudioModule().GetNearestListener(Location); - - bool bIsOccluded = GWorld->LineTraceTestByChannel(Location, Listener.Transform.GetLocation(), OcclusionDetails.OcclusionTraceChannel, Params); - - if (bIsOccluded != wasOccluded) - { - StudioInstance->setParameterByID(OcclusionID, bIsOccluded ? 1.0f : 0.0f); - wasOccluded = bIsOccluded; - } - } - else - { - wasOccluded = false; - } -} - -void UFMODAudioComponent::ApplyVolumeLPF() -{ - if (bApplyAmbientVolumes) - { - float CurVolume = AmbientVolume; - if (CurVolume != LastVolume) - { - StudioInstance->setParameterByID(AmbientVolumeID, CurVolume); - LastVolume = CurVolume; - } - - float CurLPF = AmbientLPF; - if (CurLPF != LastLPF) - { - StudioInstance->setParameterByID(AmbientLPFID, CurLPF); - LastLPF = CurLPF; - } - } - else - { - LastLPF = MAX_FILTER_FREQUENCY; - LastVolume = 1.0f; - } -} - -void UFMODAudioComponent::CacheDefaultParameterValues() -{ - if (Event) - { - const UFMODSettings &Settings = *GetDefault(); - TArray ParameterDescriptions; - Event->GetParameterDescriptions(ParameterDescriptions); - for (const FMOD_STUDIO_PARAMETER_DESCRIPTION &ParameterDescription : ParameterDescriptions) - { - if (!ParameterCache.Find(ParameterDescription.name) && - (ParameterDescription.type == FMOD_STUDIO_PARAMETER_GAME_CONTROLLED) && - ParameterDescription.name != Settings.OcclusionParameter && - ParameterDescription.name != Settings.AmbientVolumeParameter && - ParameterDescription.name != Settings.AmbientLPFParameter) - { - ParameterCache.Add(ParameterDescription.name, ParameterDescription.defaultvalue); - } - } - } - bDefaultParameterValuesCached = true; -} - -void UFMODAudioComponent::OnUnregister() -{ - // Route OnUnregister event. - Super::OnUnregister(); -} - -void UFMODAudioComponent::EndPlay(const EEndPlayReason::Type EndPlayReason) -{ - bool shouldStop = false; - - switch (EndPlayReason) - { - case EEndPlayReason::Destroyed: - case EEndPlayReason::RemovedFromWorld: - { - AActor *Owner = GetOwner(); - if (!Owner || bStopWhenOwnerDestroyed) - shouldStop = true; - break; - } - case EEndPlayReason::EndPlayInEditor: - case EEndPlayReason::LevelTransition: - case EEndPlayReason::Quit: - { - shouldStop = true; - break; - } - } - - if (shouldStop) - { - Stop(); - OnEventStopped.Broadcast(); - } - Release(); -} - -void UFMODAudioComponent::TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) -{ - Super::TickComponent(DeltaTime, TickType, ThisTickFunction); - - if (bIsActive) - { - if (GetStudioModule().HasListenerMoved()) - { - UpdateInteriorVolumes(); - UpdateAttenuation(); - ApplyVolumeLPF(); - } - - if (bEnableTimelineCallbacks) - { - TArray LocalMarkerQueue; - TArray LocalBeatQueue; - { - FScopeLock Lock(&CallbackLock); - Swap(LocalMarkerQueue, CallbackMarkerQueue); - Swap(LocalBeatQueue, CallbackBeatQueue); - } - - for (const FTimelineMarkerProperties &EachProps : LocalMarkerQueue) - { - OnTimelineMarker.Broadcast(EachProps.Name, EachProps.Position); - } - for (const FTimelineBeatProperties &EachProps : LocalBeatQueue) - { - OnTimelineBeat.Broadcast( - EachProps.Bar, EachProps.Beat, EachProps.Position, EachProps.Tempo, EachProps.TimeSignatureUpper, EachProps.TimeSignatureLower); - } - } - - FMOD_STUDIO_PLAYBACK_STATE state = FMOD_STUDIO_PLAYBACK_STOPPED; - StudioInstance->getPlaybackState(&state); - if (state == FMOD_STUDIO_PLAYBACK_STOPPED) - { - OnPlaybackCompleted(); - } - } -} - -void UFMODAudioComponent::SetEvent(UFMODEvent *NewEvent) -{ - const bool bPlay = IsPlaying(); - - Stop(); - - if (Event != NewEvent) - { - ReleaseEventCache(); - Event = NewEvent; - } - - if (bPlay) - { - Play(); - } -} - -void UFMODAudioComponent::PostLoad() -{ - Super::PostLoad(); -} - -void UFMODAudioComponent::Activate(bool bReset) -{ - if (bReset || ShouldActivate() == true) - { - Play(); - } - Super::Activate(true); -} - -void UFMODAudioComponent::Deactivate() -{ - if (ShouldActivate() == false) - { - Stop(); - } - Super::Deactivate(); -} - -FMOD_RESULT F_CALLBACK UFMODAudioComponent_EventCallback(FMOD_STUDIO_EVENT_CALLBACK_TYPE type, FMOD_STUDIO_EVENTINSTANCE *event, void *parameters) -{ - UFMODAudioComponent *Component = nullptr; - FMOD::Studio::EventInstance *Instance = (FMOD::Studio::EventInstance *)event; - if (Instance->getUserData((void **)&Component) == FMOD_OK && IsValid(Component)) - { - if (type == FMOD_STUDIO_EVENT_CALLBACK_TIMELINE_MARKER && Component->bEnableTimelineCallbacks) - { - Component->EventCallbackAddMarker((FMOD_STUDIO_TIMELINE_MARKER_PROPERTIES *)parameters); - } - else if (type == FMOD_STUDIO_EVENT_CALLBACK_TIMELINE_BEAT && Component->bEnableTimelineCallbacks) - { - Component->EventCallbackAddBeat((FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES *)parameters); - } - else if (type == FMOD_STUDIO_EVENT_CALLBACK_CREATE_PROGRAMMER_SOUND) - { - Component->EventCallbackCreateProgrammerSound((FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES *)parameters); - } - else if (type == FMOD_STUDIO_EVENT_CALLBACK_DESTROY_PROGRAMMER_SOUND) - { - Component->EventCallbackDestroyProgrammerSound((FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES *)parameters); - } - } - return FMOD_OK; -} - -void UFMODAudioComponent::EventCallbackAddMarker(FMOD_STUDIO_TIMELINE_MARKER_PROPERTIES *props) -{ - FScopeLock Lock(&CallbackLock); - FTimelineMarkerProperties info; - info.Name = props->name; - info.Position = props->position; - CallbackMarkerQueue.Push(info); -} - -void UFMODAudioComponent::EventCallbackAddBeat(FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES *props) -{ - FScopeLock Lock(&CallbackLock); - FTimelineBeatProperties info; - info.Bar = props->bar; - info.Beat = props->beat; - info.Position = props->position; - info.Tempo = props->tempo; - info.TimeSignatureUpper = props->timesignatureupper; - info.TimeSignatureLower = props->timesignaturelower; - CallbackBeatQueue.Push(info); -} - -void UFMODAudioComponent::EventCallbackCreateProgrammerSound(FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES *props) -{ - // Make sure name isn't being changed as we are reading it - FString ProgrammerSoundNameCopy; - { - FScopeLock Lock(&CallbackLock); - ProgrammerSoundNameCopy = ProgrammerSoundName; - } - - if (ProgrammerSound) - { - props->sound = (FMOD_SOUND *)ProgrammerSound; - props->subsoundIndex = -1; - } - else if (ProgrammerSoundNameCopy.Len() || strlen(props->name) != 0) - { - FMOD::Studio::System *System = GetStudioModule().GetStudioSystem(EFMODSystemContext::Max); - FMOD::System *LowLevelSystem = nullptr; - System->getCoreSystem(&LowLevelSystem); - FString SoundName = ProgrammerSoundNameCopy.Len() ? ProgrammerSoundNameCopy : UTF8_TO_TCHAR(props->name); - FMOD_MODE SoundMode = FMOD_LOOP_NORMAL | FMOD_CREATECOMPRESSEDSAMPLE | FMOD_NONBLOCKING; - - if (SoundName.Contains(TEXT("."))) - { - // Load via file - FString SoundPath = SoundName; - if (FPaths::IsRelative(SoundPath)) - { - SoundPath = FPaths::ProjectContentDir() / SoundPath; - } - - FMOD::Sound *Sound = nullptr; - if (LowLevelSystem->createSound(TCHAR_TO_UTF8(*SoundPath), SoundMode, nullptr, &Sound) == FMOD_OK) - { - UE_LOG(LogFMOD, Verbose, TEXT("Creating programmer sound from file '%s'"), *SoundPath); - props->sound = (FMOD_SOUND *)Sound; - props->subsoundIndex = -1; - } - else - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to load programmer sound file '%s'"), *SoundPath); - } - } - else - { - // Load via FMOD Studio asset table - FMOD_STUDIO_SOUND_INFO SoundInfo = { 0 }; - FMOD_RESULT Result = System->getSoundInfo(TCHAR_TO_UTF8(*SoundName), &SoundInfo); - if (Result == FMOD_OK) - { - FMOD::Sound *Sound = nullptr; - Result = LowLevelSystem->createSound(SoundInfo.name_or_data, SoundMode | SoundInfo.mode, &SoundInfo.exinfo, &Sound); - if (Result == FMOD_OK) - { - UE_LOG(LogFMOD, Verbose, TEXT("Creating programmer sound using audio entry '%s'"), *SoundName); - - props->sound = (FMOD_SOUND *)Sound; - props->subsoundIndex = SoundInfo.subsoundindex; - } - else - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to load FMOD audio entry '%s'"), *SoundName); - } - } - else - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to find FMOD audio entry '%s'"), *SoundName); - } - } - } -} - -void UFMODAudioComponent::EventCallbackDestroyProgrammerSound(FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES *props) -{ - if (props->sound && ProgrammerSound == nullptr) - { - UE_LOG(LogFMOD, Verbose, TEXT("Destroying programmer sound")); - FMOD_RESULT Result = ((FMOD::Sound *)props->sound)->release(); - verifyfmod(Result); - } -} - -void UFMODAudioComponent::SetProgrammerSoundName(FString Value) -{ - FScopeLock Lock(&CallbackLock); - ProgrammerSoundName = Value; -} - -void UFMODAudioComponent::SetProgrammerSound(FMOD::Sound *Sound) -{ - FScopeLock Lock(&CallbackLock); - ProgrammerSound = Sound; -} - -void UFMODAudioComponent::Play() -{ - PlayInternal(EFMODSystemContext::Max); -} - -void UFMODAudioComponent::PlayInternal(EFMODSystemContext::Type Context) -{ - Stop(); - - if (!FMODUtils::IsWorldAudible(GetWorld(), Context == EFMODSystemContext::Editor)) - { - return; - } - - UE_LOG(LogFMOD, Verbose, TEXT("UFMODAudioComponent %p Play"), this); - - // Only play events in PIE/game, not when placing them in the editor - FMOD::Studio::EventDescription *EventDesc = GetStudioModule().GetEventDescription(Event.Get(), Context); - if (EventDesc != nullptr) - { - EventDesc->getLength(&EventLength); - if (!StudioInstance || !StudioInstance->isValid()) - { - FMOD_RESULT result = EventDesc->createInstance(&StudioInstance); - if (result != FMOD_OK) - return; - } - - const UFMODSettings &Settings = *GetDefault(); - FMOD_STUDIO_PARAMETER_DESCRIPTION paramDesc = {}; - FString param = Settings.OcclusionParameter; - if (!param.IsEmpty()) - { - if (EventDesc->getParameterDescriptionByName(TCHAR_TO_UTF8(*Settings.OcclusionParameter), ¶mDesc) == FMOD_OK) - { - OcclusionID = paramDesc.id; - bApplyOcclusionParameter = true; - } - } - - paramDesc = {}; - param = Settings.AmbientVolumeParameter; - if (!param.IsEmpty()) - { - if (EventDesc->getParameterDescriptionByName(TCHAR_TO_UTF8(*param), ¶mDesc) == FMOD_OK) - { - AmbientVolumeID = paramDesc.id; - bApplyAmbientVolumes = true; - } - } - - paramDesc = {}; - param = Settings.AmbientLPFParameter; - if (!param.IsEmpty()) - { - if (EventDesc->getParameterDescriptionByName(TCHAR_TO_UTF8(*Settings.AmbientLPFParameter), ¶mDesc) == FMOD_OK) - { - AmbientLPFID = paramDesc.id; - bApplyAmbientVolumes = true; - } - } - - OnUpdateTransform(EUpdateTransformFlags::SkipPhysicsUpdate); - // Set initial parameters - for (auto Kvp : ParameterCache) - { - FMOD_RESULT Result = StudioInstance->setParameterByName(TCHAR_TO_UTF8(*Kvp.Key.ToString()), Kvp.Value); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to set initial parameter %s"), *Kvp.Key.ToString()); - } - } - for (int i = 0; i < EFMODEventProperty::Count; ++i) - { - if (StoredProperties[i] != -1.0f) - { - FMOD_RESULT Result = StudioInstance->setProperty((FMOD_STUDIO_EVENT_PROPERTY)i, StoredProperties[i]); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to set initial property %d"), i); - } - } - } - - if (bEnableTimelineCallbacks || !ProgrammerSoundName.IsEmpty()) - { - verifyfmod(StudioInstance->setCallback(UFMODAudioComponent_EventCallback)); - } - verifyfmod(StudioInstance->setUserData(this)); - verifyfmod(StudioInstance->start()); - UE_LOG(LogFMOD, Verbose, TEXT("Playing component %p"), this); - bIsActive = true; - SetComponentTickEnabled(true); - } -} - -void UFMODAudioComponent::Stop() -{ - UE_LOG(LogFMOD, Verbose, TEXT("UFMODAudioComponent %p Stop"), this); - if (StudioInstance) - { - StudioInstance->stop(FMOD_STUDIO_STOP_ALLOWFADEOUT); - } -} - -void UFMODAudioComponent::Release() -{ - ReleaseEventInstance(); -} - -void UFMODAudioComponent::ReleaseEventCache() -{ - ParameterCache.Empty(); - bDefaultParameterValuesCached = false; - ReleaseEventInstance(); -} - -void UFMODAudioComponent::ReleaseEventInstance() -{ - if (StudioInstance) - { - StudioInstance->setCallback(nullptr); - StudioInstance->release(); - StudioInstance = nullptr; - } -} - -void UFMODAudioComponent::TriggerCue() -{ - UE_LOG(LogFMOD, Verbose, TEXT("UFMODAudioComponent %p TriggerCue"), this); - if (StudioInstance) - { - StudioInstance->triggerCue(); - } -} - -void UFMODAudioComponent::OnPlaybackCompleted() -{ - // Mark inactive before calling destroy to avoid recursion - UE_LOG(LogFMOD, Verbose, TEXT("UFMODAudioComponent %p PlaybackCompleted"), this); - bIsActive = false; - SetComponentTickEnabled(false); - - Release(); - - // Fire callback after we have cleaned up our instance - OnEventStopped.Broadcast(); - - // Auto destruction is handled via marking object for deletion. - if (bAutoDestroy) - { - DestroyComponent(); - } -} - -bool UFMODAudioComponent::IsPlaying(void) -{ - return bIsActive; -} - -void UFMODAudioComponent::SetVolume(float Volume) -{ - if (StudioInstance) - { - FMOD_RESULT Result = StudioInstance->setVolume(Volume); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to set volume")); - } - } -} - -void UFMODAudioComponent::SetPitch(float Pitch) -{ - if (StudioInstance) - { - FMOD_RESULT Result = StudioInstance->setPitch(Pitch); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to set pitch")); - } - } -} - -void UFMODAudioComponent::SetPaused(bool Paused) -{ - if (StudioInstance) - { - FMOD_RESULT Result = StudioInstance->setPaused(Paused); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to pause")); - } - } -} - -void UFMODAudioComponent::SetParameter(FName Name, float Value) -{ - if (StudioInstance) - { - FMOD_RESULT Result = StudioInstance->setParameterByName(TCHAR_TO_UTF8(*Name.ToString()), Value); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to set parameter %s"), *Name.ToString()); - } - } - ParameterCache.FindOrAdd(Name) = Value; -} - -void UFMODAudioComponent::SetProperty(EFMODEventProperty::Type Property, float Value) -{ - verify(Property < EFMODEventProperty::Count); - if (StudioInstance) - { - FMOD_RESULT Result = StudioInstance->setProperty((FMOD_STUDIO_EVENT_PROPERTY)Property, Value); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to set property %d"), (int)Property); - } - } - StoredProperties[Property] = Value; -} - -float UFMODAudioComponent::GetProperty(EFMODEventProperty::Type Property) -{ - verify(Property < EFMODEventProperty::Count); - float outValue = 0; - if (Event) - { - FMOD_RESULT Result = StudioInstance->getProperty((FMOD_STUDIO_EVENT_PROPERTY)Property, &outValue); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to get property %d"), (int)Property); - } - } - return StoredProperties[Property] = outValue; -} - -int32 UFMODAudioComponent::GetLength() const -{ - return EventLength; -} - -void UFMODAudioComponent::SetTimelinePosition(int32 Time) -{ - if (StudioInstance) - { - FMOD_RESULT Result = StudioInstance->setTimelinePosition(Time); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to set timeline position")); - } - } -} - -int32 UFMODAudioComponent::GetTimelinePosition() -{ - int Time = 0; - if (StudioInstance) - { - FMOD_RESULT Result = StudioInstance->getTimelinePosition(&Time); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to get timeline position")); - } - } - return Time; -} - -float UFMODAudioComponent::GetParameter(FName Name) -{ - if (!bDefaultParameterValuesCached) - { - CacheDefaultParameterValues(); - } - - float *CachedValue = ParameterCache.Find(Name); - float Value = CachedValue ? *CachedValue : 0.0; - if (StudioInstance) - { - FMOD_RESULT Result = StudioInstance->getParameterByName(TCHAR_TO_UTF8(*Name.ToString()), &Value); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to get parameter %s"), *Name.ToString()); - } - } - return Value; -} \ No newline at end of file diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODBank.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODBank.cpp deleted file mode 100644 index 1481f9c..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODBank.cpp +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODBank.h" -#include "FMODStudioModule.h" - -UFMODBank::UFMODBank(const FObjectInitializer &ObjectInitializer) - : Super(ObjectInitializer) -{ -} - -/** Get tags to show in content view */ -void UFMODBank::GetAssetRegistryTags(TArray &OutTags) const -{ - Super::GetAssetRegistryTags(OutTags); -} - -FString UFMODBank::GetDesc() -{ - return FString::Printf(TEXT("Bank %s"), *AssetGuid.ToString(EGuidFormats::DigitsWithHyphensInBraces)); -} diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODBankUpdateNotifier.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODBankUpdateNotifier.cpp deleted file mode 100644 index f5e9ac8..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODBankUpdateNotifier.cpp +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODBankUpdateNotifier.h" -#include "FMODSettings.h" -#include "HAL/FileManager.h" - -#include "FMODStudioPrivatePCH.h" - -FFMODBankUpdateNotifier::FFMODBankUpdateNotifier() - : bUpdateEnabled(true) - , NextRefreshTime(FDateTime::MinValue()) -{ -} - -void FFMODBankUpdateNotifier::SetFilePath(const FString &InPath) -{ - FilePath = InPath; - NextRefreshTime = FDateTime::MinValue(); - FileTime = FDateTime::MinValue(); -} - -void FFMODBankUpdateNotifier::Update() -{ - if (bUpdateEnabled) - { - FDateTime CurTime = FDateTime::UtcNow(); - if (CurTime >= NextRefreshTime) - { - NextRefreshTime = CurTime + FTimespan(0, 0, 1); - Refresh(); - } - } -} - -void FFMODBankUpdateNotifier::EnableUpdate(bool bEnable) -{ - bUpdateEnabled = bEnable; - - if (bEnable) - { - // Refreshing right after update is enabled is not desirable - NextRefreshTime = FDateTime::UtcNow() + FTimespan(0, 0, 1); - } -} - -void FFMODBankUpdateNotifier::Refresh() -{ - if (!FilePath.IsEmpty()) - { - const FDateTime NewFileTime = IFileManager::Get().GetTimeStamp(*FilePath); - if (NewFileTime != FileTime) - { - FileTime = NewFileTime; - UE_LOG(LogFMOD, Log, TEXT("File has changed: %s"), *FilePath); - - BanksUpdatedEvent.Broadcast(); - } - } -} diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODBankUpdateNotifier.h b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODBankUpdateNotifier.h deleted file mode 100644 index 144b8c1..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODBankUpdateNotifier.h +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "Containers/UnrealString.h" -#include "Misc/DateTime.h" -#include "Delegates/Delegate.h" - -class FFMODBankUpdateNotifier -{ -public: - FFMODBankUpdateNotifier(); - - void SetFilePath(const FString &InPath); - void Update(); - - void EnableUpdate(bool bEnable); - - FSimpleMulticastDelegate BanksUpdatedEvent; - -private: - void Refresh(); - - bool bUpdateEnabled; - FString FilePath; - FDateTime NextRefreshTime; - FDateTime FileTime; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODBlueprintStatics.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODBlueprintStatics.cpp deleted file mode 100644 index c7b901c..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODBlueprintStatics.cpp +++ /dev/null @@ -1,616 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODBlueprintStatics.h" -#include "FMODAudioComponent.h" -#include "FMODSettings.h" -#include "FMODStudioModule.h" -#include "FMODUtils.h" -#include "FMODBank.h" -#include "FMODEvent.h" -#include "FMODBus.h" -#include "FMODVCA.h" -#include "fmod_studio.hpp" -#include "fmod_errors.h" -#include "FMODStudioPrivatePCH.h" - -///////////////////////////////////////////////////// -// UFMODBlueprintStatics - -UFMODBlueprintStatics::UFMODBlueprintStatics(const FObjectInitializer &ObjectInitializer) - : Super(ObjectInitializer) -{ -} - -FFMODEventInstance UFMODBlueprintStatics::PlayEvent2D(UObject *WorldContextObject, class UFMODEvent *Event, bool bAutoPlay) -{ - return PlayEventAtLocation(WorldContextObject, Event, FTransform(), bAutoPlay); -} - -FFMODEventInstance UFMODBlueprintStatics::PlayEventAtLocation( - UObject *WorldContextObject, class UFMODEvent *Event, const FTransform &Location, bool bAutoPlay) -{ - FFMODEventInstance Instance; - Instance.Instance = nullptr; - - UWorld *ThisWorld = GEngine->GetWorldFromContextObjectChecked(WorldContextObject); - if (FMODUtils::IsWorldAudible(ThisWorld, false) && IsValid(Event)) - { - FMOD::Studio::EventDescription *EventDesc = IFMODStudioModule::Get().GetEventDescription(Event); - if (EventDesc != nullptr) - { - FMOD::Studio::EventInstance *EventInst = nullptr; - EventDesc->createInstance(&EventInst); - if (EventInst != nullptr) - { - FMOD_3D_ATTRIBUTES EventAttr = { { 0 } }; - FMODUtils::Assign(EventAttr, Location); - EventInst->set3DAttributes(&EventAttr); - - if (bAutoPlay) - { - EventInst->start(); - EventInst->release(); - } - Instance.Instance = EventInst; - } - } - } - return Instance; -} - -class UFMODAudioComponent *UFMODBlueprintStatics::PlayEventAttached(class UFMODEvent *Event, class USceneComponent *AttachToComponent, - FName AttachPointName, FVector Location, EAttachLocation::Type LocationType, bool bStopWhenAttachedToDestroyed, bool bAutoPlay, bool bAutoDestroy) -{ - if (Event == nullptr) - { - return nullptr; - } - if (AttachToComponent == nullptr) - { - UE_LOG(LogFMOD, Warning, TEXT("UFMODBlueprintStatics::PlayEventAttached: NULL AttachComponent specified!")); - return nullptr; - } - - AActor *Actor = AttachToComponent->GetOwner(); - - // Avoid creating component if we're trying to play a sound on an already destroyed actor. - if (Actor && Actor->IsPendingKill()) - { - return nullptr; - } - - UFMODAudioComponent *AudioComponent; - if (Actor) - { - // Use actor as outer if we have one. - AudioComponent = NewObject(Actor); - } - else - { - // Let engine pick the outer (transient package). - AudioComponent = NewObject(); - } - check(AudioComponent); - AudioComponent->Event = Event; - AudioComponent->bAutoActivate = false; - AudioComponent->bAutoDestroy = bAutoDestroy; - AudioComponent->bStopWhenOwnerDestroyed = bStopWhenAttachedToDestroyed; -#if WITH_EDITORONLY_DATA - AudioComponent->bVisualizeComponent = false; -#endif - AudioComponent->RegisterComponentWithWorld(AttachToComponent->GetWorld()); - - AudioComponent->AttachToComponent(AttachToComponent, FAttachmentTransformRules::KeepRelativeTransform, AttachPointName); - if (LocationType == EAttachLocation::KeepWorldPosition) - { - AudioComponent->SetWorldLocation(Location); - } - else - { - AudioComponent->SetRelativeLocation(Location); - } - - if (bAutoPlay) - { - AudioComponent->Play(); - } - return AudioComponent; -} - -UFMODAsset *UFMODBlueprintStatics::FindAssetByName(const FString &Name) -{ - return IFMODStudioModule::Get().FindAssetByName(Name); -} - -UFMODEvent *UFMODBlueprintStatics::FindEventByName(const FString &Name) -{ - return IFMODStudioModule::Get().FindEventByName(Name); -} - -void UFMODBlueprintStatics::LoadBank(class UFMODBank *Bank, bool bBlocking, bool bLoadSampleData) -{ - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (StudioSystem != nullptr && IsValid(Bank)) - { - UE_LOG(LogFMOD, Log, TEXT("LoadBank %s"), *Bank->FileName); - - FString BankPath = IFMODStudioModule::Get().GetBankPath(*Bank); - FMOD::Studio::Bank *bank = nullptr; - FMOD_STUDIO_LOAD_BANK_FLAGS flags = (bBlocking || bLoadSampleData) ? FMOD_STUDIO_LOAD_BANK_NORMAL : FMOD_STUDIO_LOAD_BANK_NONBLOCKING; - FMOD_RESULT result = StudioSystem->loadBankFile(TCHAR_TO_UTF8(*BankPath), flags, &bank); - - if (result != FMOD_OK) - { - UE_LOG(LogFMOD, Error, TEXT("Failed to load bank %s: %s"), *Bank->FileName, UTF8_TO_TCHAR(FMOD_ErrorString(result))); - } - - if (result == FMOD_OK) - { - bank->loadSampleData(); - } - } -} - -void UFMODBlueprintStatics::UnloadBank(class UFMODBank *Bank) -{ - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (StudioSystem != nullptr && IsValid(Bank)) - { - UE_LOG(LogFMOD, Log, TEXT("UnloadBank %s"), *Bank->FileName); - - FMOD::Studio::ID guid = FMODUtils::ConvertGuid(Bank->AssetGuid); - FMOD::Studio::Bank *bank = nullptr; - FMOD_RESULT result = StudioSystem->getBankByID(&guid, &bank); - if (result == FMOD_OK && bank != nullptr) - { - bank->unload(); - } - } -} - -bool UFMODBlueprintStatics::IsBankLoaded(class UFMODBank *Bank) -{ - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (StudioSystem != nullptr && IsValid(Bank)) - { - FMOD::Studio::ID guid = FMODUtils::ConvertGuid(Bank->AssetGuid); - FMOD::Studio::Bank *bank = nullptr; - FMOD_RESULT result = StudioSystem->getBankByID(&guid, &bank); - if (result == FMOD_OK && bank != nullptr) - { - FMOD_STUDIO_LOADING_STATE loadingState; - if (bank->getLoadingState(&loadingState) == FMOD_OK) - { - return (loadingState == FMOD_STUDIO_LOADING_STATE_LOADED); - } - } - } - return false; -} - -void UFMODBlueprintStatics::LoadBankSampleData(class UFMODBank *Bank) -{ - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (StudioSystem != nullptr && IsValid(Bank)) - { - FMOD::Studio::ID guid = FMODUtils::ConvertGuid(Bank->AssetGuid); - FMOD::Studio::Bank *bank = nullptr; - FMOD_RESULT result = StudioSystem->getBankByID(&guid, &bank); - if (result == FMOD_OK && bank != nullptr) - { - bank->loadSampleData(); - } - } -} - -void UFMODBlueprintStatics::UnloadBankSampleData(class UFMODBank *Bank) -{ - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (StudioSystem != nullptr && IsValid(Bank)) - { - FMOD::Studio::ID guid = FMODUtils::ConvertGuid(Bank->AssetGuid); - FMOD::Studio::Bank *bank = nullptr; - FMOD_RESULT result = StudioSystem->getBankByID(&guid, &bank); - if (result == FMOD_OK && bank != nullptr) - { - bank->unloadSampleData(); - } - } -} - -void UFMODBlueprintStatics::LoadEventSampleData(UObject *WorldContextObject, class UFMODEvent *Event) -{ - if (IsValid(Event)) - { - FMOD::Studio::EventDescription *EventDesc = IFMODStudioModule::Get().GetEventDescription(Event); - if (EventDesc != nullptr) - { - EventDesc->loadSampleData(); - } - } -} - -void UFMODBlueprintStatics::UnloadEventSampleData(UObject *WorldContextObject, class UFMODEvent *Event) -{ - if (IsValid(Event)) - { - FMOD::Studio::EventDescription *EventDesc = IFMODStudioModule::Get().GetEventDescription(Event); - if (EventDesc != nullptr) - { - EventDesc->unloadSampleData(); - } - } -} - -TArray UFMODBlueprintStatics::FindEventInstances(UObject *WorldContextObject, UFMODEvent *Event) -{ - TArray Instances; - if (IsValid(Event)) - { - FMOD::Studio::EventDescription *EventDesc = IFMODStudioModule::Get().GetEventDescription(Event); - if (EventDesc != nullptr) - { - int Capacity = 0; - EventDesc->getInstanceCount(&Capacity); - if (Capacity > 0) - { - TArray InstancePointers; - InstancePointers.SetNum(Capacity, true); - int Count = 0; - EventDesc->getInstanceList(InstancePointers.GetData(), Capacity, &Count); - Instances.SetNum(Count, true); - for (int i = 0; i < Count; ++i) - { - Instances[i].Instance = InstancePointers[i]; - } - } - } - } - return Instances; -} - -void UFMODBlueprintStatics::BusSetVolume(class UFMODBus *Bus, float Volume) -{ - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (StudioSystem != nullptr && IsValid(Bus)) - { - FMOD::Studio::ID guid = FMODUtils::ConvertGuid(Bus->AssetGuid); - FMOD::Studio::Bus *bus = nullptr; - FMOD_RESULT result = StudioSystem->getBusByID(&guid, &bus); - if (result == FMOD_OK && bus != nullptr) - { - bus->setVolume(Volume); - } - } -} - -void UFMODBlueprintStatics::BusSetPaused(class UFMODBus *Bus, bool bPaused) -{ - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (StudioSystem != nullptr && IsValid(Bus)) - { - FMOD::Studio::ID guid = FMODUtils::ConvertGuid(Bus->AssetGuid); - FMOD::Studio::Bus *bus = nullptr; - FMOD_RESULT result = StudioSystem->getBusByID(&guid, &bus); - if (result == FMOD_OK && bus != nullptr) - { - bus->setPaused(bPaused); - } - } -} - -void UFMODBlueprintStatics::BusSetMute(class UFMODBus *Bus, bool bMute) -{ - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (StudioSystem != nullptr && IsValid(Bus)) - { - FMOD::Studio::ID guid = FMODUtils::ConvertGuid(Bus->AssetGuid); - FMOD::Studio::Bus *bus = nullptr; - FMOD_RESULT result = StudioSystem->getBusByID(&guid, &bus); - if (result == FMOD_OK && bus != nullptr) - { - bus->setMute(bMute); - } - } -} - -void UFMODBlueprintStatics::BusStopAllEvents(UFMODBus *Bus, EFMOD_STUDIO_STOP_MODE stopMode) -{ - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (StudioSystem != nullptr && IsValid(Bus)) - { - FMOD::Studio::ID guid = FMODUtils::ConvertGuid(Bus->AssetGuid); - FMOD::Studio::Bus *bus = nullptr; - FMOD_RESULT result = StudioSystem->getBusByID(&guid, &bus); - if (result == FMOD_OK && bus != nullptr) - { - bus->stopAllEvents((FMOD_STUDIO_STOP_MODE)stopMode); - } - } -} - -void UFMODBlueprintStatics::VCASetVolume(class UFMODVCA *Vca, float Volume) -{ - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (StudioSystem != nullptr && IsValid(Vca)) - { - FMOD::Studio::ID guid = FMODUtils::ConvertGuid(Vca->AssetGuid); - FMOD::Studio::VCA *vca = nullptr; - FMOD_RESULT result = StudioSystem->getVCAByID(&guid, &vca); - if (result == FMOD_OK && vca != nullptr) - { - vca->setVolume(Volume); - } - } -} - -void UFMODBlueprintStatics::SetGlobalParameterByName(FName Name, float Value) -{ - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (StudioSystem != nullptr) - { - FMOD_RESULT Result = StudioSystem->setParameterByName(TCHAR_TO_UTF8(*Name.ToString()), Value); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to set parameter %s"), *Name.ToString()); - } - } -} - -float UFMODBlueprintStatics::GetGlobalParameterByName(FName Name) -{ - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - float Value = 0.0f; - if (StudioSystem != nullptr) - { - FMOD_RESULT Result = StudioSystem->getParameterByName(TCHAR_TO_UTF8(*Name.ToString()), &Value); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to get event instance parameter %s"), *Name.ToString()); - } - } - return Value; -} - -bool UFMODBlueprintStatics::EventInstanceIsValid(FFMODEventInstance EventInstance) -{ - if (EventInstance.Instance) - { - return EventInstance.Instance->isValid(); - } - return false; -} - -void UFMODBlueprintStatics::EventInstanceSetVolume(FFMODEventInstance EventInstance, float Volume) -{ - if (EventInstance.Instance) - { - FMOD_RESULT Result = EventInstance.Instance->setVolume(Volume); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to set event instance volume")); - } - } -} - -void UFMODBlueprintStatics::EventInstanceSetPitch(FFMODEventInstance EventInstance, float Pitch) -{ - if (EventInstance.Instance) - { - FMOD_RESULT Result = EventInstance.Instance->setPitch(Pitch); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to set event instance pitch")); - } - } -} - -void UFMODBlueprintStatics::EventInstanceSetPaused(FFMODEventInstance EventInstance, bool Paused) -{ - if (EventInstance.Instance) - { - FMOD_RESULT Result = EventInstance.Instance->setPaused(Paused); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to pause event instance")); - } - } -} - -void UFMODBlueprintStatics::EventInstanceSetParameter(FFMODEventInstance EventInstance, FName Name, float Value) -{ - if (EventInstance.Instance) - { - FMOD_RESULT Result = EventInstance.Instance->setParameterByName(TCHAR_TO_UTF8(*Name.ToString()), Value); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to set event instance parameter %s"), *Name.ToString()); - } - } -} - -float UFMODBlueprintStatics::EventInstanceGetParameter(FFMODEventInstance EventInstance, FName Name) -{ - float Value = 0.0f; - if (EventInstance.Instance) - { - FMOD_RESULT Result = EventInstance.Instance->getParameterByName(TCHAR_TO_UTF8(*Name.ToString()), &Value); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to get event instance parameter %s"), *Name.ToString()); - } - } - return Value; -} - -void UFMODBlueprintStatics::EventInstanceSetProperty(FFMODEventInstance EventInstance, EFMODEventProperty::Type Property, float Value) -{ - if (EventInstance.Instance) - { - FMOD_RESULT Result = EventInstance.Instance->setProperty((FMOD_STUDIO_EVENT_PROPERTY)Property, Value); - - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to set event instance property type %d to value %f (%s)"), (int)Property, Value, - FMOD_ErrorString(Result)); - } - } -} - -void UFMODBlueprintStatics::EventInstancePlay(FFMODEventInstance EventInstance) -{ - if (EventInstance.Instance) - { - FMOD_RESULT Result = EventInstance.Instance->start(); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to play event instance")); - } - // Once we start playing, allow instance to be cleaned up when it finishes - EventInstance.Instance->release(); - } -} - -void UFMODBlueprintStatics::EventInstanceStop(FFMODEventInstance EventInstance) -{ - if (EventInstance.Instance) - { - FMOD_RESULT Result = EventInstance.Instance->stop(FMOD_STUDIO_STOP_ALLOWFADEOUT); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to stop event instance")); - } - } -} - -void UFMODBlueprintStatics::EventInstanceTriggerCue(FFMODEventInstance EventInstance) -{ - if (EventInstance.Instance) - { - EventInstance.Instance->triggerCue(); - } -} - -void UFMODBlueprintStatics::EventInstanceSetTransform(FFMODEventInstance EventInstance, const FTransform &Location) -{ - if (EventInstance.Instance) - { - FMOD_3D_ATTRIBUTES attr = { { 0 } }; - FMODUtils::Assign(attr, Location); - FMOD_RESULT Result = EventInstance.Instance->set3DAttributes(&attr); - if (Result != FMOD_OK) - { - UE_LOG(LogFMOD, Warning, TEXT("Failed to set transform on event instance")); - } - } -} - -TArray UFMODBlueprintStatics::GetOutputDrivers() -{ - TArray AllNames; - - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (StudioSystem != nullptr) - { - FMOD::System *LowLevelSystem = nullptr; - verifyfmod(StudioSystem->getCoreSystem(&LowLevelSystem)); - - int DriverCount = 0; - verifyfmod(LowLevelSystem->getNumDrivers(&DriverCount)); - - for (int id = 0; id < DriverCount; ++id) - { - char DriverNameUTF8[256] = {}; - verifyfmod(LowLevelSystem->getDriverInfo(id, DriverNameUTF8, sizeof(DriverNameUTF8), 0, 0, 0, 0)); - FString DriverName(UTF8_TO_TCHAR(DriverNameUTF8)); - AllNames.Add(DriverName); - } - } - - return AllNames; -} - -void UFMODBlueprintStatics::SetOutputDriverByName(FString NewDriverName) -{ - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (StudioSystem != nullptr) - { - FMOD::System *LowLevelSystem = nullptr; - verifyfmod(StudioSystem->getCoreSystem(&LowLevelSystem)); - - int DriverIndex = -1; - int DriverCount = 0; - verifyfmod(LowLevelSystem->getNumDrivers(&DriverCount)); - - for (int id = 0; id < DriverCount; ++id) - { - char DriverNameUTF8[256] = {}; - verifyfmod(LowLevelSystem->getDriverInfo(id, DriverNameUTF8, sizeof(DriverNameUTF8), 0, 0, 0, 0)); - FString DriverName(UTF8_TO_TCHAR(DriverNameUTF8)); - UE_LOG(LogFMOD, Log, TEXT("Driver %d: %s"), id, *DriverName); - if (DriverName.Contains(NewDriverName)) - { - DriverIndex = id; - } - } - - if (DriverIndex >= 0) - { - UE_LOG(LogFMOD, Log, TEXT("Selected driver %d"), DriverIndex); - verifyfmod(LowLevelSystem->setDriver(DriverIndex)); - } - else - { - UE_LOG(LogFMOD, Warning, TEXT("Did not find driver of name '%s'"), *NewDriverName); - } - } -} - -void UFMODBlueprintStatics::SetOutputDriverByIndex(int NewDriverIndex) -{ - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (StudioSystem != nullptr) - { - FMOD::System *LowLevelSystem = nullptr; - verifyfmod(StudioSystem->getCoreSystem(&LowLevelSystem)); - - int DriverCount = 0; - verifyfmod(LowLevelSystem->getNumDrivers(&DriverCount)); - - if (NewDriverIndex >= 0 && NewDriverIndex < DriverCount) - { - UE_LOG(LogFMOD, Log, TEXT("Selected driver %d"), NewDriverIndex); - verifyfmod(LowLevelSystem->setDriver(NewDriverIndex)); - } - else - { - UE_LOG(LogFMOD, Warning, TEXT("Driver %d out of range"), NewDriverIndex); - } - } -} - -void UFMODBlueprintStatics::MixerSuspend() -{ - UE_LOG(LogFMOD, Log, TEXT("MixerSuspend called")); - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (StudioSystem != nullptr) - { - FMOD::System *LowLevelSystem = nullptr; - verifyfmod(StudioSystem->getCoreSystem(&LowLevelSystem)); - - verifyfmod(LowLevelSystem->mixerSuspend()); - } -} - -void UFMODBlueprintStatics::MixerResume() -{ - UE_LOG(LogFMOD, Log, TEXT("MixerResume called")); - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (StudioSystem != nullptr) - { - FMOD::System *LowLevelSystem = nullptr; - verifyfmod(StudioSystem->getCoreSystem(&LowLevelSystem)); - - verifyfmod(LowLevelSystem->mixerResume()); - } -} diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODBus.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODBus.cpp deleted file mode 100644 index 02a18d1..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODBus.cpp +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODBus.h" -#include "FMODStudioModule.h" - -UFMODBus::UFMODBus(const FObjectInitializer &ObjectInitializer) - : Super(ObjectInitializer) -{ -} - -/** Get tags to show in content view */ -void UFMODBus::GetAssetRegistryTags(TArray &OutTags) const -{ - Super::GetAssetRegistryTags(OutTags); -} - -FString UFMODBus::GetDesc() -{ - return FString::Printf(TEXT("Bus %s"), *AssetGuid.ToString(EGuidFormats::DigitsWithHyphensInBraces)); -} diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODEvent.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODEvent.cpp deleted file mode 100644 index e13db13..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODEvent.cpp +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODEvent.h" -#include "FMODStudioModule.h" -#include "fmod_studio.hpp" - -UFMODEvent::UFMODEvent(const FObjectInitializer &ObjectInitializer) - : Super(ObjectInitializer) -{ -} - -/** Get tags to show in content view */ -void UFMODEvent::GetAssetRegistryTags(TArray &OutTags) const -{ - Super::GetAssetRegistryTags(OutTags); - if (IFMODStudioModule::Get().AreBanksLoaded()) - { - FMOD::Studio::EventDescription *EventDesc = IFMODStudioModule::Get().GetEventDescription(this, EFMODSystemContext::Max); - - bool bOneshot = false; - bool bStream = false; - bool b3D = false; - if (EventDesc) - { - EventDesc->isOneshot(&bOneshot); - EventDesc->isStream(&bStream); - EventDesc->is3D(&b3D); - } - - OutTags.Add(UObject::FAssetRegistryTag("Oneshot", bOneshot ? TEXT("True") : TEXT("False"), UObject::FAssetRegistryTag::TT_Alphabetical)); - OutTags.Add(UObject::FAssetRegistryTag("Streaming", bStream ? TEXT("True") : TEXT("False"), UObject::FAssetRegistryTag::TT_Alphabetical)); - OutTags.Add(UObject::FAssetRegistryTag("3D", b3D ? TEXT("True") : TEXT("False"), UObject::FAssetRegistryTag::TT_Alphabetical)); - } -} - -FString UFMODEvent::GetDesc() -{ - return FString::Printf(TEXT("Event %s"), *AssetGuid.ToString(EGuidFormats::DigitsWithHyphensInBraces)); -} - -void UFMODEvent::GetParameterDescriptions(TArray &Parameters) const -{ - if (IFMODStudioModule::Get().AreBanksLoaded()) - { - FMOD::Studio::EventDescription *EventDesc = IFMODStudioModule::Get().GetEventDescription(this, EFMODSystemContext::Auditioning); - - if (EventDesc) - { - int ParameterCount; - EventDesc->getParameterDescriptionCount(&ParameterCount); - Parameters.SetNumUninitialized(ParameterCount); - for (int ParameterIndex = 0; ParameterIndex < ParameterCount; ++ParameterIndex) - { - EventDesc->getParameterDescriptionByIndex(ParameterIndex, &Parameters[ParameterIndex]); - } - } - } -} diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODFileCallbacks.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODFileCallbacks.cpp deleted file mode 100644 index 9579a2b..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODFileCallbacks.cpp +++ /dev/null @@ -1,329 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2015. - -#include "FMODFileCallbacks.h" -#include "FMODUtils.h" -#include "HAL/FileManager.h" -#include "GenericPlatform/GenericPlatformProcess.h" -#include "HAL/Runnable.h" -#include "HAL/RunnableThread.h" -#include "Misc/ScopeLock.h" -#include "FMODStudioPrivatePCH.h" - -FMOD_RESULT F_CALLBACK FMODLogCallback(FMOD_DEBUG_FLAGS flags, const char *file, int line, const char *func, const char *message) -{ - if (flags & FMOD_DEBUG_LEVEL_ERROR) - { - UE_LOG(LogFMOD, Error, TEXT("%s(%d) - %s"), UTF8_TO_TCHAR(file), line, UTF8_TO_TCHAR(message)); - } - else if (flags & FMOD_DEBUG_LEVEL_WARNING) - { - FString Message = UTF8_TO_TCHAR(message); - UE_LOG(LogFMOD, Warning, TEXT("%s(%d) - %s"), UTF8_TO_TCHAR(file), line, *Message); - if (GIsEditor) - { - int32 StartIndex = Message.Find(TEXT("Missing DSP plugin '")); - if (StartIndex != INDEX_NONE) - { - int32 Len = FString(TEXT("Missing DSP plugin '")).Len(); - int32 EndIndex; - if (Message.FindLastChar('\'', EndIndex) && EndIndex != INDEX_NONE && StartIndex + Len < EndIndex) - { - FString PluginName = Message.Mid(StartIndex + Len, EndIndex - StartIndex - Len); - - FModuleManager::GetModuleChecked("FMODStudio").AddRequiredPlugin(PluginName); - } - } - } - } - else if (flags & FMOD_DEBUG_LEVEL_LOG) - { - UE_LOG(LogFMOD, Log, TEXT("%s(%d) - %s"), UTF8_TO_TCHAR(file), line, UTF8_TO_TCHAR(message)); - } - return FMOD_OK; -} - -class FFMODFileSystem : public FRunnable -{ -public: - FFMODFileSystem() - : mHandleIn(nullptr) - , mName(nullptr) - , mFileSize(nullptr) - , mHandleOut(nullptr) - , mBuffer(nullptr) - , mSizeBytes(0) - , mBytesRead(nullptr) - , mSeekPosition(0) - , mCommand(COMMAND_MAX) - , mResult(FMOD_OK) - , mReferenceCount(0) - , mThread(nullptr) - , mCommandReadyEvent(nullptr) - , mCommandCompleteEvent(nullptr) - { - } - - static FMOD_RESULT F_CALLBACK OpenCallback(const char *name, unsigned int *filesize, void **handle, void * /*userdata*/); - static FMOD_RESULT F_CALLBACK CloseCallback(void *handle, void * /*userdata*/); - static FMOD_RESULT F_CALLBACK ReadCallback(void *handle, void *buffer, unsigned int sizebytes, unsigned int *bytesread, void * /*userdata*/); - static FMOD_RESULT F_CALLBACK SeekCallback(void *handle, unsigned int pos, void * /*userdata*/); - - static FMOD_RESULT OpenInternal(const char *name, unsigned int *filesize, void **handle); - static FMOD_RESULT CloseInternal(void *handle); - static FMOD_RESULT ReadInternal(void *handle, void *buffer, unsigned int sizebytes, unsigned int *bytesread); - static FMOD_RESULT SeekInternal(void *handle, unsigned int pos); - - void IncrementReferenceCount() - { - FScopeLock lock(&mCrit); - - ++mReferenceCount; - - if (mReferenceCount == 1) - { - check(!mThread); - - mCommandReadyEvent = FGenericPlatformProcess::GetSynchEventFromPool(); - mCommandCompleteEvent = FGenericPlatformProcess::GetSynchEventFromPool(); - mThread = FRunnableThread::Create(this, TEXT("FMOD File Access Coordinator")); - } - } - - void DecrementReferenceCount() - { - FScopeLock lock(&mCrit); - - check(mReferenceCount > 0); - check(mThread); - - --mReferenceCount; - - if (mReferenceCount == 0) - { - verifyfmod(RunCommand(COMMAND_STOP)); - mThread->WaitForCompletion(); - - FGenericPlatformProcess::ReturnSynchEventToPool(mCommandReadyEvent); - mCommandReadyEvent = nullptr; - FGenericPlatformProcess::ReturnSynchEventToPool(mCommandCompleteEvent); - mCommandCompleteEvent = nullptr; - delete mThread; - mThread = nullptr; - } - } - - void Attach(FMOD::System *system, int32 fileBufferSize) - { - check(mThread); - - verifyfmod(system->setFileSystem(OpenCallback, CloseCallback, ReadCallback, SeekCallback, 0, 0, fileBufferSize)); - } - - uint32 Run() override - { - bool stopRequested = false; - - while (!stopRequested) - { - mCommandReadyEvent->Wait(); - - switch (mCommand) - { - case COMMAND_OPEN: - mResult = OpenInternal(mName, mFileSize, mHandleOut); - break; - case COMMAND_CLOSE: - mResult = CloseInternal(mHandleIn); - break; - case COMMAND_READ: - mResult = ReadInternal(mHandleIn, mBuffer, mSizeBytes, mBytesRead); - break; - case COMMAND_SEEK: - mResult = SeekInternal(mHandleIn, mSeekPosition); - break; - case COMMAND_STOP: - stopRequested = true; - mResult = FMOD_OK; - break; - } - - mCommandCompleteEvent->Trigger(); - } - - return 0; - } - -private: - enum Command - { - COMMAND_OPEN, - COMMAND_CLOSE, - COMMAND_READ, - COMMAND_SEEK, - COMMAND_STOP, - COMMAND_MAX, - }; - - FMOD_RESULT RunCommand(Command command) - { - check(mThread); - - mCommand = command; - mCommandReadyEvent->Trigger(); - mCommandCompleteEvent->Wait(); - - return mResult; - } - - // Parameter for Close, Seek and Read - void *mHandleIn; - - // Parameters for Open - const char *mName; - unsigned int *mFileSize; - void **mHandleOut; - - // Parameters for Read - void *mBuffer; - unsigned int mSizeBytes; - unsigned int *mBytesRead; - - // Parameter for Seek - unsigned int mSeekPosition; - - Command mCommand; - FMOD_RESULT mResult; - - int mReferenceCount; - FRunnableThread *mThread; - FEvent *mCommandReadyEvent; - FEvent *mCommandCompleteEvent; - - FCriticalSection mCrit; -}; - -static FFMODFileSystem gFileSystem; - -FMOD_RESULT F_CALLBACK FFMODFileSystem::OpenCallback(const char *name, unsigned int *filesize, void **handle, void * /*userdata*/) -{ - FScopeLock lock(&gFileSystem.mCrit); - gFileSystem.mName = name; - gFileSystem.mFileSize = filesize; - gFileSystem.mHandleOut = handle; - - return gFileSystem.RunCommand(COMMAND_OPEN); -} - -FMOD_RESULT FFMODFileSystem::OpenInternal(const char *name, unsigned int *filesize, void **handle) -{ - if (name) - { - FArchive *Archive = IFileManager::Get().CreateFileReader(UTF8_TO_TCHAR(name)); - UE_LOG(LogFMOD, Verbose, TEXT("FFMODFileSystem::OpenInternal opening '%s' returned archive %p"), UTF8_TO_TCHAR(name), Archive); - if (!Archive) - { - return FMOD_ERR_FILE_NOTFOUND; - } - *filesize = Archive->TotalSize(); - *handle = Archive; - UE_LOG(LogFMOD, Verbose, TEXT(" TotalSize = %d"), *filesize); - } - - return FMOD_OK; -} - -FMOD_RESULT F_CALLBACK FFMODFileSystem::CloseCallback(void *handle, void * /*userdata*/) -{ - FScopeLock lock(&gFileSystem.mCrit); - gFileSystem.mHandleIn = handle; - - return gFileSystem.RunCommand(COMMAND_CLOSE); -} - -FMOD_RESULT FFMODFileSystem::CloseInternal(void *handle) -{ - if (!handle) - { - return FMOD_ERR_INVALID_PARAM; - } - - FArchive *Archive = (FArchive *)handle; - UE_LOG(LogFMOD, Verbose, TEXT("FFMODFileSystem::CloseCallback closing archive %p"), Archive); - delete Archive; - - return FMOD_OK; -} - -FMOD_RESULT F_CALLBACK FFMODFileSystem::ReadCallback(void *handle, void *buffer, unsigned int sizebytes, unsigned int *bytesread, void * /*userdata*/) -{ - FScopeLock lock(&gFileSystem.mCrit); - gFileSystem.mHandleIn = handle; - gFileSystem.mBuffer = buffer; - gFileSystem.mSizeBytes = sizebytes; - gFileSystem.mBytesRead = bytesread; - - return gFileSystem.RunCommand(COMMAND_READ); -} - -FMOD_RESULT FFMODFileSystem::ReadInternal(void *handle, void *buffer, unsigned int sizebytes, unsigned int *bytesread) -{ - if (!handle) - { - return FMOD_ERR_INVALID_PARAM; - } - - if (bytesread) - { - FArchive *Archive = (FArchive *)handle; - - int64 BytesLeft = Archive->TotalSize() - Archive->Tell(); - int64 ReadAmount = FMath::Min((int64)sizebytes, BytesLeft); - - Archive->Serialize(buffer, ReadAmount); - *bytesread = (unsigned int)ReadAmount; - if (ReadAmount < (int64)sizebytes) - { - UE_LOG(LogFMOD, Verbose, TEXT(" -> EOF ")); - return FMOD_ERR_FILE_EOF; - } - } - - return FMOD_OK; -} - -FMOD_RESULT F_CALLBACK FFMODFileSystem::SeekCallback(void *handle, unsigned int pos, void * /*userdata*/) -{ - FScopeLock lock(&gFileSystem.mCrit); - gFileSystem.mHandleIn = handle; - gFileSystem.mSeekPosition = pos; - - return gFileSystem.RunCommand(COMMAND_SEEK); -} - -FMOD_RESULT FFMODFileSystem::SeekInternal(void *handle, unsigned int pos) -{ - if (!handle) - { - return FMOD_ERR_INVALID_PARAM; - } - - FArchive *Archive = (FArchive *)handle; - Archive->Seek(pos); - - return FMOD_OK; -} - -void AcquireFMODFileSystem() -{ - gFileSystem.IncrementReferenceCount(); -} - -void ReleaseFMODFileSystem() -{ - gFileSystem.DecrementReferenceCount(); -} - -void AttachFMODFileSystem(FMOD::System *system, int32 fileBufferSize) -{ - gFileSystem.Attach(system, fileBufferSize); -} diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODFileCallbacks.h b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODFileCallbacks.h deleted file mode 100644 index 8282432..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODFileCallbacks.h +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "fmod.hpp" -#include "GenericPlatform/GenericPlatform.h" - -FMOD_RESULT F_CALLBACK FMODLogCallback(FMOD_DEBUG_FLAGS flags, const char *file, int line, const char *func, const char *message); - -void AcquireFMODFileSystem(); -void ReleaseFMODFileSystem(); -void AttachFMODFileSystem(FMOD::System *system, FGenericPlatformTypes::int32 fileBufferSize); diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODListener.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODListener.cpp deleted file mode 100644 index 7f9f890..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODListener.cpp +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODListener.h" -#include "Misc/App.h" -#include "Sound/AudioVolume.h" - -float FFMODListener::Interpolate(const double EndTime) -{ - if (FApp::GetCurrentTime() < InteriorStartTime) - { - return (0.0f); - } - - if (FApp::GetCurrentTime() >= EndTime) - { - return (1.0f); - } - - float InterpValue = (float)((FApp::GetCurrentTime() - InteriorStartTime) / (EndTime - InteriorStartTime)); - return (InterpValue); -} - -void FFMODListener::UpdateCurrentInteriorSettings() -{ - // Store the interpolation value, not the actual value - InteriorVolumeInterp = Interpolate(InteriorEndTime); - ExteriorVolumeInterp = Interpolate(ExteriorEndTime); - InteriorLPFInterp = Interpolate(InteriorLPFEndTime); - ExteriorLPFInterp = Interpolate(ExteriorLPFEndTime); -} - -void FFMODListener::ApplyInteriorSettings(class AAudioVolume *InVolume, const FInteriorSettings &Settings) -{ - if (InteriorSettings != Settings) - { - // Use previous/ current interpolation time if we're transitioning to the default worldsettings zone. - InteriorStartTime = FApp::GetCurrentTime(); - InteriorEndTime = InteriorStartTime + (Settings.bIsWorldSettings ? InteriorSettings.InteriorTime : Settings.InteriorTime); - ExteriorEndTime = InteriorStartTime + (Settings.bIsWorldSettings ? InteriorSettings.ExteriorTime : Settings.ExteriorTime); - InteriorLPFEndTime = InteriorStartTime + (Settings.bIsWorldSettings ? InteriorSettings.InteriorLPFTime : Settings.InteriorLPFTime); - ExteriorLPFEndTime = InteriorStartTime + (Settings.bIsWorldSettings ? InteriorSettings.ExteriorLPFTime : Settings.ExteriorLPFTime); - - InteriorSettings = Settings; - } - Volume = InVolume; -} - -FFMODInteriorSettings::FFMODInteriorSettings() - : bIsWorldSettings(false) - , ExteriorVolume(1.0f) - , ExteriorTime(0.5f) - , ExteriorLPF(MAX_FILTER_FREQUENCY) - , ExteriorLPFTime(0.5f) - , InteriorVolume(1.0f) - , InteriorTime(0.5f) - , InteriorLPF(MAX_FILTER_FREQUENCY) - , InteriorLPFTime(0.5f) -{ -} - -bool FFMODInteriorSettings::operator==(const FInteriorSettings &Other) const -{ - return (this->bIsWorldSettings == Other.bIsWorldSettings) && (this->ExteriorVolume == Other.ExteriorVolume) && - (this->ExteriorTime == Other.ExteriorTime) && (this->ExteriorLPF == Other.ExteriorLPF) && - (this->ExteriorLPFTime == Other.ExteriorLPFTime) && (this->InteriorVolume == Other.InteriorVolume) && - (this->InteriorTime == Other.InteriorTime) && (this->InteriorLPF == Other.InteriorLPF) && (this->InteriorLPFTime == Other.InteriorLPFTime); -} -bool FFMODInteriorSettings::operator!=(const FInteriorSettings &Other) const -{ - return !(*this == Other); -} - -FFMODInteriorSettings &FFMODInteriorSettings::operator=(FInteriorSettings Other) -{ - bIsWorldSettings = Other.bIsWorldSettings; - ExteriorVolume = Other.ExteriorVolume; - ExteriorTime = Other.ExteriorTime; - ExteriorLPF = Other.ExteriorLPF; - ExteriorLPFTime = Other.ExteriorLPFTime; - InteriorVolume = Other.InteriorVolume; - InteriorTime = Other.InteriorTime; - InteriorLPF = Other.InteriorLPF; - InteriorLPFTime = Other.InteriorLPFTime; - return *this; -} \ No newline at end of file diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODListener.h b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODListener.h deleted file mode 100644 index 40b226d..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODListener.h +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "GenericPlatform/GenericPlatform.h" -#include "UObject/Object.h" -#include "Math/Vector.h" - -struct FInteriorSettings; - -/** Struct encapsulating settings for interior areas. */ -struct FFMODInteriorSettings -{ - uint32 bIsWorldSettings : 1; - float ExteriorVolume; - float ExteriorTime; - float ExteriorLPF; - float ExteriorLPFTime; - float InteriorVolume; - float InteriorTime; - float InteriorLPF; - float InteriorLPFTime; - - FFMODInteriorSettings(); - bool operator==(const FInteriorSettings &Other) const; - bool operator!=(const FInteriorSettings &Other) const; - FFMODInteriorSettings &operator=(FInteriorSettings Other); -}; - -/** A direct copy of FListener (which doesn't have external linkage, unfortunately) **/ -struct FFMODListener -{ - FTransform Transform; - FVector Velocity; - - struct FFMODInteriorSettings InteriorSettings; - /** The volume the listener resides in */ - class AAudioVolume *Volume; - - /** The times of interior volumes fading in and out */ - double InteriorStartTime; - double InteriorEndTime; - double ExteriorEndTime; - double InteriorLPFEndTime; - double ExteriorLPFEndTime; - float InteriorVolumeInterp; - float InteriorLPFInterp; - float ExteriorVolumeInterp; - float ExteriorLPFInterp; - - FVector GetUp() const { return Transform.GetUnitAxis(EAxis::Z); } - FVector GetFront() const { return Transform.GetUnitAxis(EAxis::Y); } - FVector GetRight() const { return Transform.GetUnitAxis(EAxis::X); } - - /** - * Works out the interp value between source and end - */ - float Interpolate(const double EndTime); - - /** - * Gets the current state of the interior settings for the listener - */ - void UpdateCurrentInteriorSettings(); - - /** - * Apply the interior settings to ambient sounds - */ - void ApplyInteriorSettings(class AAudioVolume *Volume, const FInteriorSettings &Settings); - - FFMODListener() - : Transform(FTransform::Identity) - , Velocity(ForceInit) - , Volume(NULL) - , InteriorStartTime(0.0) - , InteriorEndTime(0.0) - , ExteriorEndTime(0.0) - , InteriorLPFEndTime(0.0) - , ExteriorLPFEndTime(0.0) - , InteriorVolumeInterp(0.f) - , InteriorLPFInterp(0.f) - , ExteriorVolumeInterp(0.f) - , ExteriorLPFInterp(0.f) - { - } -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODPlatformLoadDll_Generic.h b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODPlatformLoadDll_Generic.h deleted file mode 100644 index 2ba26ec..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODPlatformLoadDll_Generic.h +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. -#pragma once - -void *FMODPlatformLoadDll(const TCHAR *LibToLoad) -{ - return FPlatformProcess::GetDllHandle(LibToLoad); -} - -FMOD_RESULT FMODPlatformSystemSetup() -{ - return FMOD_OK; -} \ No newline at end of file diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODPlatformLoadDll_Switch.h b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODPlatformLoadDll_Switch.h deleted file mode 100644 index bd6c503..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODPlatformLoadDll_Switch.h +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. -#pragma once - -#include "fmod_switch.h" - -void *FMODPlatformLoadDll(const TCHAR *LibToLoad) -{ - return FPlatformProcess::GetDllHandle(LibToLoad); -} - -FMOD_RESULT FMODPlatformSystemSetup() -{ - FMOD_SWITCH_THREADAFFINITY Affinity = { 0 }; - Affinity.mixer = FMOD_THREAD_CORE1; - Affinity.studioUpdate = FMOD_THREAD_CORE0; - Affinity.studioLoadBank = FMOD_THREAD_CORE0; - Affinity.studioLoadSample = FMOD_THREAD_CORE0; - return FMOD_Switch_SetThreadAffinity(&Affinity); -} diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODSettings.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODSettings.cpp deleted file mode 100644 index 4edca62..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODSettings.cpp +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODSettings.h" -#include "HAL/FileManager.h" -#include "Misc/Paths.h" - -////////////////////////////////////////////////////////////////////////// -// UPaperRuntimeSettings - -UFMODSettings::UFMODSettings(const FObjectInitializer &ObjectInitializer) - : Super(ObjectInitializer) -{ - MasterBankName = TEXT("Master"); - BankOutputDirectory.Path = TEXT("FMOD"); - OutputFormat = EFMODSpeakerMode::Surround_5_1; - ContentBrowserPrefix = TEXT("/Game/FMOD/"); - bLoadAllBanks = true; - bLoadAllSampleData = false; - bEnableLiveUpdate = true; - bVol0Virtual = true; - Vol0VirtualLevel = 0.0001f; - RealChannelCount = 64; - TotalChannelCount = 512; - DSPBufferLength = 0; - DSPBufferCount = 0; - FileBufferSize = 2048; - StudioUpdatePeriod = 0; - LiveUpdatePort = 9264; - EditorLiveUpdatePort = 9265; - bMatchHardwareSampleRate = true; - bLockAllBuses = false; -} - -FString UFMODSettings::GetFullBankPath() const -{ - FString FullPath = BankOutputDirectory.Path; - if (FPaths::IsRelative(FullPath)) - { - FullPath = FPaths::ProjectContentDir() / FullPath; - } - - if (ForcePlatformName == TEXT(".")) - { - // Leave path without subdirectory - } - else if (!ForcePlatformName.IsEmpty()) - { - FullPath = FullPath / ForcePlatformName; - } - else - { -#if PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_ANDROID - FString PlatformName = "Mobile"; -#elif PLATFORM_PS4 - FString PlatformName = "PS4"; -#elif PLATFORM_XBOXONE - FString PlatformName = "XboxOne"; -#elif PLATFORM_SWITCH - FString PlatformName = "Switch"; -#else - FString PlatformName = "Desktop"; -#endif - FullPath = FullPath / PlatformName; - } - return FullPath; -} - -FString UFMODSettings::GetMasterBankFilename() const -{ - return MasterBankName + TEXT(".bank"); -} - -FString UFMODSettings::GetMasterAssetsBankFilename() const -{ - return MasterBankName + TEXT(".assets.bank"); -} - -FString UFMODSettings::GetMasterStringsBankFilename() const -{ - return MasterBankName + TEXT(".strings.bank"); -} - -void UFMODSettings::GetAllBankPaths(TArray &Paths, bool IncludeMasterBank) const -{ - FString BankDir = GetFullBankPath(); - FString SearchDir = BankDir; - - TArray AllFiles; - IFileManager::Get().FindFilesRecursive(AllFiles, *SearchDir, TEXT("*.bank"), true, false, false); - - for (FString &CurFile : AllFiles) - { - bool Skip = false; - - if (!IncludeMasterBank) - { - FString CurFilename = FPaths::GetCleanFilename(CurFile); - Skip = (CurFilename == GetMasterBankFilename() || CurFilename == GetMasterAssetsBankFilename() || CurFilename == GetMasterStringsBankFilename()); - } - - if (!Skip) - { - Paths.Push(CurFile); - } - } -} diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODSnapshot.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODSnapshot.cpp deleted file mode 100644 index 92d4d67..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODSnapshot.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODSnapshot.h" -#include "FMODStudioModule.h" - -UFMODSnapshot::UFMODSnapshot(const FObjectInitializer &ObjectInitializer) - : Super(ObjectInitializer) -{ -} - -FString UFMODSnapshot::GetDesc() -{ - return FString::Printf(TEXT("Snapshot %s"), *AssetGuid.ToString(EGuidFormats::DigitsWithHyphensInBraces)); -} diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODSnapshotReverb.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODSnapshotReverb.cpp deleted file mode 100644 index 81cb9a8..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODSnapshotReverb.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODSnapshotReverb.h" - -UFMODSnapshotReverb::UFMODSnapshotReverb(const FObjectInitializer &ObjectInitializer) - : Super(ObjectInitializer) -{ -} - -#if WITH_EDITORONLY_DATA -void UFMODSnapshotReverb::PostEditChangeProperty(FPropertyChangedEvent &PropertyChangedEvent) -{ -} -#endif // EDITORONLY_DATA \ No newline at end of file diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODStudioModule.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODStudioModule.cpp deleted file mode 100644 index 5233505..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODStudioModule.cpp +++ /dev/null @@ -1,1440 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODStudioModule.h" -#include "FMODSettings.h" -#include "FMODAudioComponent.h" -#include "FMODBlueprintStatics.h" -#include "FMODAssetTable.h" -#include "FMODFileCallbacks.h" -#include "FMODBankUpdateNotifier.h" -#include "FMODUtils.h" -#include "FMODEvent.h" -#include "FMODListener.h" -#include "FMODSnapshotReverb.h" - -#include "Async/Async.h" -#include "Interfaces/IPluginManager.h" -#include "Misc/App.h" -#include "Misc/CommandLine.h" -#include "Misc/CoreDelegates.h" -#include "Engine/GameViewportClient.h" -#include "GameFramework/PlayerController.h" -#include "Containers/Ticker.h" -#include "Misc/Paths.h" -#include "Runtime/Media/Public/IMediaClock.h" -#include "Runtime/Media/Public/IMediaClockSink.h" -#include "Runtime/Media/Public/IMediaModule.h" -#include "TimerManager.h" - -#include "fmod_studio.hpp" -#include "fmod_errors.h" -#include "FMODStudioPrivatePCH.h" - -#if PLATFORM_PS4 -#include "FMODPlatformLoadDll_PS4.h" -#elif PLATFORM_XBOXONE -#include "FMODPlatformLoadDll_XBoxOne.h" -#elif PLATFORM_SWITCH -#include "FMODPlatformLoadDll_Switch.h" -#else -#include "FMODPlatformLoadDll_Generic.h" -#endif - -#define LOCTEXT_NAMESPACE "FMODStudio" - -DEFINE_LOG_CATEGORY(LogFMOD); - -DECLARE_STATS_GROUP(TEXT("FMOD"), STATGROUP_FMOD, STATCAT_Advanced); -DECLARE_FLOAT_COUNTER_STAT(TEXT("FMOD CPU - Mixer"), STAT_FMOD_CPUMixer, STATGROUP_FMOD); -DECLARE_FLOAT_COUNTER_STAT(TEXT("FMOD CPU - Studio"), STAT_FMOD_CPUStudio, STATGROUP_FMOD); -DECLARE_MEMORY_STAT(TEXT("FMOD Memory - Current"), STAT_FMOD_Current_Memory, STATGROUP_FMOD); -DECLARE_MEMORY_STAT(TEXT("FMOD Memory - Max"), STAT_FMOD_Max_Memory, STATGROUP_FMOD); -DECLARE_DWORD_COUNTER_STAT(TEXT("FMOD Channels - Total"), STAT_FMOD_Total_Channels, STATGROUP_FMOD); -DECLARE_DWORD_COUNTER_STAT(TEXT("FMOD Channels - Real"), STAT_FMOD_Real_Channels, STATGROUP_FMOD); - -const TCHAR *FMODSystemContextNames[EFMODSystemContext::Max] = { - TEXT("Auditioning"), TEXT("Runtime"), TEXT("Editor"), -}; - -void *F_CALLBACK FMODMemoryAlloc(unsigned int size, FMOD_MEMORY_TYPE type, const char *sourcestr) -{ - return FMemory::Malloc(size); -} -void *F_CALLBACK FMODMemoryRealloc(void *ptr, unsigned int size, FMOD_MEMORY_TYPE type, const char *sourcestr) -{ - return FMemory::Realloc(ptr, size); -} -void F_CALLBACK FMODMemoryFree(void *ptr, FMOD_MEMORY_TYPE type, const char *sourcestr) -{ - FMemory::Free(ptr); -} - -struct FFMODSnapshotEntry -{ - FFMODSnapshotEntry(UFMODSnapshotReverb *InSnapshot = nullptr, FMOD::Studio::EventInstance *InInstance = nullptr) - : Snapshot(InSnapshot) - , Instance(InInstance) - , StartTime(0.0) - , FadeDuration(0.0f) - , FadeIntensityStart(0.0f) - , FadeIntensityEnd(0.0f) - { - } - - float CurrentIntensity() const - { - double CurrentTime = FApp::GetCurrentTime(); - if (StartTime + FadeDuration <= CurrentTime) - { - return FadeIntensityEnd; - } - else - { - float Factor = (CurrentTime - StartTime) / FadeDuration; - return FMath::Lerp(FadeIntensityStart, FadeIntensityEnd, Factor); - } - } - - void FadeTo(float Target, float Duration) - { - float StartIntensity = CurrentIntensity(); - - StartTime = FApp::GetCurrentTime(); - FadeDuration = Duration; - FadeIntensityStart = StartIntensity; - FadeIntensityEnd = Target; - } - - UFMODSnapshotReverb *Snapshot; - FMOD::Studio::EventInstance *Instance; - double StartTime; - float FadeDuration; - float FadeIntensityStart; - float FadeIntensityEnd; -}; - -class FFMODStudioSystemClockSink : public IMediaClockSink -{ -public: - DECLARE_DELEGATE_RetVal(void, FUpdateListenerPosition); - - FFMODStudioSystemClockSink(FMOD::Studio::System *SystemIn) - : System(SystemIn) - , LastResult(FMOD_OK) - { - } - - virtual void TickRender(FTimespan DeltaTime, FTimespan Timecode) override - { - if (System) - { - if (UpdateListenerPosition.IsBound()) - { - UpdateListenerPosition.Execute(); - } - - LastResult = System->update(); - } - } - - void SetUpdateListenerPositionDelegate(FUpdateListenerPosition UpdateListenerPositionIn) { UpdateListenerPosition = UpdateListenerPositionIn; } - - void OnDestroyStudioSystem() { System = nullptr; } - - FMOD::Studio::System *System; - FMOD_RESULT LastResult; - FUpdateListenerPosition UpdateListenerPosition; -}; - -class FFMODStudioModule : public IFMODStudioModule -{ -public: - /** IModuleInterface implementation */ - FFMODStudioModule() - : AuditioningInstance(nullptr) - , ListenerCount(1) - , bSimulating(false) - , bIsInPIE(false) - , bUseSound(true) - , bListenerMoved(true) - , bAllowLiveUpdate(true) - , bBanksLoaded(false) - , LowLevelLibHandle(nullptr) - , StudioLibHandle(nullptr) - , bMixerPaused(false) - , MemPool(nullptr) - { - for (int i = 0; i < EFMODSystemContext::Max; ++i) - { - StudioSystem[i] = nullptr; - } - } - - void HandleApplicationWillDeactivate() - { - AsyncTask(ENamedThreads::GameThread, [&]() { SetSystemPaused(true); }); - } - void HandleApplicationHasReactivated() - { - AsyncTask(ENamedThreads::GameThread, [&]() { SetSystemPaused(false); }); - } - - virtual void StartupModule() override; - virtual void PostLoadCallback() override; - virtual void ShutdownModule() override; - - FString GetDllPath(const TCHAR *ShortName, bool bExplicitPath, bool bUseLibPrefix); - void *LoadDll(const TCHAR *ShortName); - - bool LoadLibraries(); - - void LoadBanks(EFMODSystemContext::Type Type); - - /** Called when a newer version of the bank files was detected */ - void HandleBanksUpdated(); - - void CreateStudioSystem(EFMODSystemContext::Type Type); - void DestroyStudioSystem(EFMODSystemContext::Type Type); - - bool Tick(float DeltaTime); - - void UpdateViewportPosition(); - - virtual FMOD::Studio::System *GetStudioSystem(EFMODSystemContext::Type Context) override; - virtual FMOD::Studio::EventDescription *GetEventDescription(const UFMODEvent *Event, EFMODSystemContext::Type Type) override; - virtual FMOD::Studio::EventInstance *CreateAuditioningInstance(const UFMODEvent *Event) override; - virtual void StopAuditioningInstance() override; - - virtual void SetListenerPosition(int ListenerIndex, UWorld *World, const FTransform &ListenerTransform, float DeltaSeconds) override; - virtual void FinishSetListenerPosition(int ListenerCount, float DeltaSeconds) override; - - virtual const FFMODListener &GetNearestListener(const FVector &Location) override; - - virtual bool HasListenerMoved() override; - - virtual void RefreshSettings(); - - virtual void SetSystemPaused(bool paused) override; - - virtual void SetInPIE(bool bInPIE, bool simulating) override; - - virtual UFMODAsset *FindAssetByName(const FString &Name) override; - virtual UFMODEvent *FindEventByName(const FString &Name) override; - virtual FString GetBankPath(const UFMODBank &Bank) override; - - FSimpleMulticastDelegate BanksReloadedDelegate; - virtual FSimpleMulticastDelegate &BanksReloadedEvent() override { return BanksReloadedDelegate; } - - virtual TArray GetFailedBankLoads(EFMODSystemContext::Type Context) override { return FailedBankLoads[Context]; } - - virtual TArray GetRequiredPlugins() override { return RequiredPlugins; } - - virtual void AddRequiredPlugin(const FString &Plugin) - { - if (!RequiredPlugins.Contains(Plugin)) - { - RequiredPlugins.Add(Plugin); - } - } - - virtual bool UseSound() override { return bUseSound; } - - virtual bool LoadPlugin(EFMODSystemContext::Type Context, const TCHAR *ShortName) override; - - virtual void LogError(int result, const char *function) override; - - virtual bool AreBanksLoaded() override; - - void ResetInterpolation(); - - /** The studio system handle. */ - FMOD::Studio::System *StudioSystem[EFMODSystemContext::Max]; - FMOD::Studio::EventInstance *AuditioningInstance; - - /** The delegate to be invoked when this profiler manager ticks. */ - FTickerDelegate OnTick; - - /** IMediaClockSink wrappers for Studio Systems */ - TSharedPtr ClockSinks[EFMODSystemContext::Max]; - - /** Handle for registered TickDelegate. */ - FDelegateHandle TickDelegateHandle; - - /** Table of assets with name and guid */ - FFMODAssetTable AssetTable; - - /** Periodically checks for updates of the strings.bank file */ - FFMODBankUpdateNotifier BankUpdateNotifier; - - /** List of failed bank files */ - TArray FailedBankLoads[EFMODSystemContext::Max]; - - /** List of required plugins we found when loading banks. */ - TArray RequiredPlugins; - -/** Listener information */ -#if FMOD_VERSION >= 0x00010600 - static const int MAX_LISTENERS = FMOD_MAX_LISTENERS; -#else - static const int MAX_LISTENERS = 1; -#endif - FFMODListener Listeners[MAX_LISTENERS]; - int ListenerCount; - - /** Current snapshot applied via reverb zones*/ - TArray ReverbSnapshots; - - /** True if simulating */ - bool bSimulating; - - /** True if in PIE */ - bool bIsInPIE; - - /** True if we want sound enabled */ - bool bUseSound; - - /** True if we the listener has moved and may have changed audio settings*/ - bool bListenerMoved; - - /** True if we allow live update */ - bool bAllowLiveUpdate; - - bool bBanksLoaded; - - /** Dynamic library */ - FString BaseLibPath; - void *LowLevelLibHandle; - void *StudioLibHandle; - - /** True if the mixer has been paused by application deactivation */ - bool bMixerPaused; - - /** You can also supply a pool of memory for FMOD to work with and it will do so with no extra calls to malloc or free. */ - void *MemPool; - - bool bLoadAllSampleData; -}; - -IMPLEMENT_MODULE(FFMODStudioModule, FMODStudio) - -void FFMODStudioModule::LogError(int result, const char *function) -{ - FString ErrorStr(ANSI_TO_TCHAR(FMOD_ErrorString((FMOD_RESULT)result))); - FString FunctionStr(ANSI_TO_TCHAR(function)); - UE_LOG(LogFMOD, Error, TEXT("'%s' returned '%s'"), *FunctionStr, *ErrorStr); -} - -bool FFMODStudioModule::LoadPlugin(EFMODSystemContext::Type Context, const TCHAR *ShortName) -{ - UE_LOG(LogFMOD, Log, TEXT("Loading plugin '%s'"), ShortName); - - static const int ATTEMPT_COUNT = 2; - static const TCHAR *AttemptPrefixes[ATTEMPT_COUNT] = { - TEXT(""), -#if PLATFORM_64BITS - TEXT("64") -#else - TEXT("32") -#endif - }; - - FMOD::System *LowLevelSystem = nullptr; - verifyfmod(StudioSystem[Context]->getCoreSystem(&LowLevelSystem)); - - FMOD_RESULT PluginLoadResult; - - for (int useLib = 0; useLib < 2; ++useLib) - { - for (int attempt = 0; attempt < 2; ++attempt) - { - // Try to load combinations of 64/32 suffix and lib prefix for relevant platforms - FString AttemptName = FString(ShortName) + AttemptPrefixes[attempt]; - FString PluginPath = GetDllPath(*AttemptName, true, useLib != 0); - - UE_LOG(LogFMOD, Log, TEXT("Trying to load plugin file at location: %s"), *PluginPath); - -#if defined(PLATFORM_UWP) && PLATFORM_UWP - FPaths::MakePathRelativeTo(PluginPath, *(FPaths::RootDir() + TEXT("/"))); -#endif - - unsigned int Handle = 0; - PluginLoadResult = LowLevelSystem->loadPlugin(TCHAR_TO_UTF8(*PluginPath), &Handle, 0); - if (PluginLoadResult == FMOD_OK) - { - UE_LOG(LogFMOD, Log, TEXT("Loaded plugin %s"), ShortName); - return true; - } - } - } - UE_LOG(LogFMOD, Error, TEXT("Failed to load plugin '%s', sounds may not play"), ShortName); - return false; -} - -void *FFMODStudioModule::LoadDll(const TCHAR *ShortName) -{ - FString LibPath = GetDllPath(ShortName, false, true); - - void *Handle = nullptr; - UE_LOG(LogFMOD, Log, TEXT("FFMODStudioModule::LoadDll: Loading %s"), *LibPath); - // Unfortunately Unreal's platform loading code hasn't been implemented on all platforms so we wrap it - Handle = FMODPlatformLoadDll(*LibPath); -#if WITH_EDITOR - if (!Handle && !FApp::IsUnattended()) - { - FString Message = TEXT("Couldn't load FMOD DLL ") + LibPath; - FPlatformMisc::MessageBoxExt(EAppMsgType::Ok, *Message, TEXT("Error")); - } -#endif - if (!Handle) - { - UE_LOG(LogFMOD, Error, TEXT("Failed to load FMOD DLL '%s', FMOD sounds will not play!"), *LibPath); - } - return Handle; -} - -FString FFMODStudioModule::GetDllPath(const TCHAR *ShortName, bool bExplicitPath, bool bUseLibPrefix) -{ - const TCHAR *LibPrefixName = (bUseLibPrefix ? TEXT("lib") : TEXT("")); -#if PLATFORM_MAC - return FString::Printf(TEXT("%s/Mac/%s%s.dylib"), *BaseLibPath, LibPrefixName, ShortName); -#elif PLATFORM_PS4 - const TCHAR *DirPrefix = (bExplicitPath ? TEXT("/app0/prx/") : TEXT("")); - return FString::Printf(TEXT("%s%s%s.prx"), DirPrefix, LibPrefixName, ShortName); -#elif PLATFORM_XBOXONE - return FString::Printf(TEXT("%s.dll"), ShortName); -#elif PLATFORM_ANDROID - return FString::Printf(TEXT("%s%s.so"), LibPrefixName, ShortName); -#elif PLATFORM_LINUX - return FString::Printf(TEXT("%s%s.so"), LibPrefixName, ShortName); -#elif PLATFORM_WINDOWS -#if PLATFORM_64BITS - return FString::Printf(TEXT("%s/Win64/%s.dll"), *BaseLibPath, ShortName); -#else - return FString::Printf(TEXT("%s/Win32/%s.dll"), *BaseLibPath, ShortName); -#endif -#elif defined(PLATFORM_UWP) && PLATFORM_UWP - return FString::Printf(TEXT("%s/UWP64/%s.dll"), *BaseLibPath, ShortName); -#else - UE_LOG(LogFMOD, Error, TEXT("Unsupported platform for dynamic libs")); - return ""; -#endif -} - -bool FFMODStudioModule::LoadLibraries() -{ -#if PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_ANDROID || PLATFORM_LINUX || PLATFORM_MAC || PLATFORM_SWITCH - return true; // Nothing to do on those platforms -#elif PLATFORM_HTML5 - UE_LOG(LogFMOD, Error, TEXT("FMOD Studio not supported on HTML5")); - return false; // Explicitly don't support this -#else - UE_LOG(LogFMOD, Verbose, TEXT("FFMODStudioModule::LoadLibraries")); - -#if defined(FMODSTUDIO_LINK_DEBUG) - FString ConfigName = TEXT("D"); -#elif defined(FMODSTUDIO_LINK_LOGGING) - FString ConfigName = TEXT("L"); -#elif defined(FMODSTUDIO_LINK_RELEASE) - FString ConfigName = TEXT(""); -#else -#error FMODSTUDIO_LINK not defined -#endif - - FString LowLevelName = FString(TEXT("fmod")) + ConfigName; - FString StudioName = FString(TEXT("fmodstudio")) + ConfigName; - LowLevelLibHandle = LoadDll(*LowLevelName); - StudioLibHandle = LoadDll(*StudioName); - return (LowLevelLibHandle != nullptr && StudioLibHandle != nullptr); -#endif -} - -void FFMODStudioModule::StartupModule() -{ - UE_LOG(LogFMOD, Log, TEXT("FFMODStudioModule startup")); - BaseLibPath = IPluginManager::Get().FindPlugin(TEXT("FMODStudio"))->GetBaseDir() + TEXT("/Binaries"); - UE_LOG(LogFMOD, Log, TEXT(" Lib path = '%s'"), *BaseLibPath); - - if (FParse::Param(FCommandLine::Get(), TEXT("nosound")) || FApp::IsBenchmarking() || IsRunningDedicatedServer() || IsRunningCommandlet()) - { - bUseSound = false; - } - - if (FParse::Param(FCommandLine::Get(), TEXT("noliveupdate"))) - { - bAllowLiveUpdate = false; - } - - if (LoadLibraries()) - { - verifyfmod(FMOD::Debug_Initialize(FMOD_DEBUG_LEVEL_WARNING, FMOD_DEBUG_MODE_CALLBACK, FMODLogCallback)); - - const UFMODSettings &Settings = *GetDefault(); -#if PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_ANDROID - int size = Settings.MemoryPoolSizes.Mobile; -#elif PLATFORM_PS4 - int size = Settings.MemoryPoolSizes.PS4; -#elif PLATFORM_XBOXONE - int size = Settings.MemoryPoolSizes.XboxOne; -#elif PLATFORM_SWITCH - int size = Settings.MemoryPoolSizes.Switch; -#else - int size = Settings.MemoryPoolSizes.Desktop; -#endif - if (!GIsEditor && size > 0) - { - MemPool = FMemory::Malloc(size); - verifyfmod(FMOD::Memory_Initialize(MemPool, size, nullptr, nullptr, nullptr)); - } - else - { - verifyfmod(FMOD::Memory_Initialize(0, 0, FMODMemoryAlloc, FMODMemoryRealloc, FMODMemoryFree)); - } - - verifyfmod(FMODPlatformSystemSetup()); - - AcquireFMODFileSystem(); - - // Create sandbox system just for asset loading - AssetTable.Create(); - RefreshSettings(); - - if (GIsEditor) - { - CreateStudioSystem(EFMODSystemContext::Auditioning); - CreateStudioSystem(EFMODSystemContext::Editor); - } - else - { - AssetTable.Destroy(); // Don't need this copy around since we don't hot reload - - SetInPIE(true, false); - } - } - - OnTick = FTickerDelegate::CreateRaw(this, &FFMODStudioModule::Tick); - TickDelegateHandle = FTicker::GetCoreTicker().AddTicker(OnTick); - - if (GIsEditor) - { - BankUpdateNotifier.BanksUpdatedEvent.AddRaw(this, &FFMODStudioModule::HandleBanksUpdated); - } -} - -inline FMOD_SPEAKERMODE ConvertSpeakerMode(EFMODSpeakerMode::Type Mode) -{ - switch (Mode) - { - case EFMODSpeakerMode::Stereo: - return FMOD_SPEAKERMODE_STEREO; - case EFMODSpeakerMode::Surround_5_1: - return FMOD_SPEAKERMODE_5POINT1; - case EFMODSpeakerMode::Surround_7_1: - return FMOD_SPEAKERMODE_7POINT1; - default: - check(0); - return FMOD_SPEAKERMODE_DEFAULT; - }; -} - -void FFMODStudioModule::CreateStudioSystem(EFMODSystemContext::Type Type) -{ - DestroyStudioSystem(Type); - if (!bUseSound) - { - return; - } - - UE_LOG(LogFMOD, Verbose, TEXT("CreateStudioSystem for context %s"), FMODSystemContextNames[Type]); - - const UFMODSettings &Settings = *GetDefault(); - bLoadAllSampleData = Settings.bLoadAllSampleData; - - FMOD_SPEAKERMODE OutputMode = ConvertSpeakerMode(Settings.OutputFormat); - FMOD_STUDIO_INITFLAGS StudioInitFlags = FMOD_STUDIO_INIT_NORMAL; - FMOD_INITFLAGS InitFlags = FMOD_INIT_NORMAL; - -#if (defined(FMODSTUDIO_LINK_DEBUG) || defined(FMODSTUDIO_LINK_LOGGING)) - bool liveUpdateEnabledForType = ((Type == EFMODSystemContext::Auditioning) && Settings.bEnableEditorLiveUpdate) || - ((Type == EFMODSystemContext::Runtime) && Settings.bEnableLiveUpdate); - if (liveUpdateEnabledForType && bAllowLiveUpdate) - { - UE_LOG(LogFMOD, Verbose, TEXT("Enabling live update")); - StudioInitFlags |= FMOD_STUDIO_INIT_LIVEUPDATE; - } -#endif - if (Type == EFMODSystemContext::Auditioning || Type == EFMODSystemContext::Editor) - { - StudioInitFlags |= FMOD_STUDIO_INIT_ALLOW_MISSING_PLUGINS; - } - - verifyfmod(FMOD::Studio::System::create(&StudioSystem[Type])); - FMOD::System *lowLevelSystem = nullptr; - verifyfmod(StudioSystem[Type]->getCoreSystem(&lowLevelSystem)); - - int DriverIndex = 0; - if (!Settings.InitialOutputDriverName.IsEmpty()) - { - int DriverCount = 0; - verifyfmod(lowLevelSystem->getNumDrivers(&DriverCount)); - for (int id = 0; id < DriverCount; ++id) - { - char DriverNameUTF8[256] = {}; - verifyfmod(lowLevelSystem->getDriverInfo(id, DriverNameUTF8, sizeof(DriverNameUTF8), 0, 0, 0, 0)); - FString DriverName(UTF8_TO_TCHAR(DriverNameUTF8)); - UE_LOG(LogFMOD, Log, TEXT("Driver %d: %s"), id, *DriverName); - if (DriverName.Contains(Settings.InitialOutputDriverName)) - { - UE_LOG(LogFMOD, Log, TEXT("Selected driver %d"), id); - DriverIndex = id; - } - } - verifyfmod(lowLevelSystem->setDriver(DriverIndex)); - } - - FTCHARToUTF8 WavWriterDestUTF8(*Settings.WavWriterPath); - void *InitData = nullptr; - if (Type == EFMODSystemContext::Runtime && Settings.WavWriterPath.Len() > 0) - { - UE_LOG(LogFMOD, Log, TEXT("Running with Wav Writer: %s"), *Settings.WavWriterPath); - verifyfmod(lowLevelSystem->setOutput(FMOD_OUTPUTTYPE_WAVWRITER)); - InitData = (void *)WavWriterDestUTF8.Get(); - } - - int SampleRate = Settings.SampleRate; - if (Settings.bMatchHardwareSampleRate) - { - int DefaultSampleRate = 0; - verifyfmod(lowLevelSystem->getSoftwareFormat(&DefaultSampleRate, 0, 0)); - int SystemSampleRate = 0; - verifyfmod(lowLevelSystem->getDriverInfo(DriverIndex, nullptr, 0, nullptr, &SystemSampleRate, nullptr, nullptr)); - UE_LOG(LogFMOD, Log, TEXT("Default sample rate = %d"), DefaultSampleRate); - UE_LOG(LogFMOD, Log, TEXT("System sample rate = %d"), SystemSampleRate); - if (DefaultSampleRate >= 44100 && DefaultSampleRate <= 48000 && SystemSampleRate >= 44100 && SystemSampleRate <= 48000) - { - UE_LOG(LogFMOD, Log, TEXT("Matching system sample rate %d"), SystemSampleRate); - SampleRate = SystemSampleRate; - } - } - - verifyfmod(lowLevelSystem->setSoftwareFormat(SampleRate, OutputMode, 0)); - verifyfmod(lowLevelSystem->setSoftwareChannels(Settings.RealChannelCount)); - AttachFMODFileSystem(lowLevelSystem, Settings.FileBufferSize); - - if (Settings.DSPBufferLength > 0 && Settings.DSPBufferCount > 0) - { - verifyfmod(lowLevelSystem->setDSPBufferSize(Settings.DSPBufferLength, Settings.DSPBufferCount)); - } - - FMOD_ADVANCEDSETTINGS advSettings = { 0 }; - advSettings.cbSize = sizeof(FMOD_ADVANCEDSETTINGS); - if (Settings.bVol0Virtual) - { - advSettings.vol0virtualvol = Settings.Vol0VirtualLevel; - InitFlags |= FMOD_INIT_VOL0_BECOMES_VIRTUAL; - } -#if PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_ANDROID || PLATFORM_SWITCH - advSettings.maxFADPCMCodecs = Settings.RealChannelCount; -#elif PLATFORM_PS4 - advSettings.maxAT9Codecs = Settings.RealChannelCount; -#elif PLATFORM_XBOXONE - advSettings.maxXMACodecs = Settings.RealChannelCount; -#else - advSettings.maxVorbisCodecs = Settings.RealChannelCount; -#endif - if (Type == EFMODSystemContext::Runtime) - { - advSettings.profilePort = Settings.LiveUpdatePort; - } - else if (Type == EFMODSystemContext::Auditioning) - { - advSettings.profilePort = Settings.EditorLiveUpdatePort; - } - advSettings.randomSeed = FMath::Rand(); - verifyfmod(lowLevelSystem->setAdvancedSettings(&advSettings)); - - FMOD_STUDIO_ADVANCEDSETTINGS advStudioSettings = { 0 }; - advStudioSettings.cbsize = sizeof(advStudioSettings); - advStudioSettings.studioupdateperiod = Settings.StudioUpdatePeriod; - - if (!Settings.EncryptionKey.IsEmpty()) - { - advStudioSettings.encryptionkey = TCHAR_TO_UTF8(*Settings.EncryptionKey); - } - - verifyfmod(StudioSystem[Type]->setAdvancedSettings(&advStudioSettings)); - - verifyfmod(StudioSystem[Type]->initialize(Settings.TotalChannelCount, StudioInitFlags, InitFlags, InitData)); - - for (FString PluginName : Settings.PluginFiles) - { - if (!PluginName.IsEmpty()) - LoadPlugin(Type, *PluginName); - } - - if (Type == EFMODSystemContext::Runtime) - { - // Add interrupt callbacks for Mobile - FCoreDelegates::ApplicationWillDeactivateDelegate.AddRaw(this, &FFMODStudioModule::HandleApplicationWillDeactivate); - FCoreDelegates::ApplicationHasReactivatedDelegate.AddRaw(this, &FFMODStudioModule::HandleApplicationHasReactivated); - } - - IMediaModule *MediaModule = FModuleManager::LoadModulePtr("Media"); - - if (MediaModule != nullptr) - { - ClockSinks[Type] = MakeShared(StudioSystem[Type]); - - if (Type == EFMODSystemContext::Runtime) - { - ClockSinks[Type]->SetUpdateListenerPositionDelegate(FTimerDelegate::CreateRaw(this, &FFMODStudioModule::UpdateViewportPosition)); - } - - MediaModule->GetClock().AddSink(ClockSinks[Type].ToSharedRef()); - } -} - -void FFMODStudioModule::DestroyStudioSystem(EFMODSystemContext::Type Type) -{ - UE_LOG(LogFMOD, Verbose, TEXT("DestroyStudioSystem for context %s"), FMODSystemContextNames[Type]); - - if (ClockSinks[Type].IsValid()) - { - // Calling through the shared ptr enforces thread safety with the media clock - ClockSinks[Type]->OnDestroyStudioSystem(); - - IMediaModule *MediaModule = FModuleManager::LoadModulePtr("Media"); - - if (MediaModule != nullptr) - { - MediaModule->GetClock().RemoveSink(ClockSinks[Type].ToSharedRef()); - } - - ClockSinks[Type].Reset(); - } - - // Unload all events and banks to remove warning spam when using split banks - if (StudioSystem[Type] && bLoadAllSampleData) - { - int bankCount; - verifyfmod(StudioSystem[Type]->getBankCount(&bankCount)); - if (bankCount > 0) - { - TArray bankArray; - TArray eventArray; - TArray instanceArray; - - bankArray.SetNumUninitialized(bankCount, false); - verifyfmod(StudioSystem[Type]->getBankList(bankArray.GetData(), bankCount, &bankCount)); - for (int i = 0; i < bankCount; i++) - { - int eventCount; - verifyfmod(bankArray[i]->getEventCount(&eventCount)); - if (eventCount > 0) - { - eventArray.SetNumUninitialized(eventCount, false); - verifyfmod(bankArray[i]->getEventList(eventArray.GetData(), eventCount, &eventCount)); - for (int j = 0; j < eventCount; j++) - { - int instanceCount; - verifyfmod(eventArray[j]->getInstanceCount(&instanceCount)); - if (instanceCount > 0) - { - instanceArray.SetNumUninitialized(instanceCount, false); - verifyfmod(eventArray[j]->getInstanceList(instanceArray.GetData(), instanceCount, &instanceCount)); - for (int k = 0; k < instanceCount; k++) - { - verifyfmod(instanceArray[k]->stop(FMOD_STUDIO_STOP_IMMEDIATE)); - verifyfmod(instanceArray[k]->release()); - } - } - } - } - } - - for (int i = 0; i < bankCount; i++) - { - FMOD_STUDIO_LOADING_STATE state; - bankArray[i]->getSampleLoadingState(&state); - if (state == FMOD_STUDIO_LOADING_STATE_LOADED) - { - verifyfmod(bankArray[i]->unloadSampleData()); - } - } - } - } - - if (StudioSystem[Type]) - { - verifyfmod(StudioSystem[Type]->release()); - StudioSystem[Type] = nullptr; - } -} - -bool FFMODStudioModule::Tick(float DeltaTime) -{ - if (GIsEditor) - { - BankUpdateNotifier.Update(); - } - - if (ClockSinks[EFMODSystemContext::Auditioning].IsValid()) - { - verifyfmod(ClockSinks[EFMODSystemContext::Auditioning]->LastResult); - } - if (ClockSinks[EFMODSystemContext::Runtime].IsValid()) - { - FMOD_STUDIO_CPU_USAGE Usage = {}; - StudioSystem[EFMODSystemContext::Runtime]->getCPUUsage(&Usage); - SET_FLOAT_STAT(STAT_FMOD_CPUMixer, Usage.dspusage); - SET_FLOAT_STAT(STAT_FMOD_CPUStudio, Usage.studiousage); - - int currentAlloc, maxAlloc; - FMOD::Memory_GetStats(¤tAlloc, &maxAlloc, false); - SET_MEMORY_STAT(STAT_FMOD_Current_Memory, currentAlloc); - SET_MEMORY_STAT(STAT_FMOD_Max_Memory, maxAlloc); - - int channels, realChannels; - FMOD::System *lowlevel; - StudioSystem[EFMODSystemContext::Runtime]->getCoreSystem(&lowlevel); - lowlevel->getChannelsPlaying(&channels, &realChannels); - SET_DWORD_STAT(STAT_FMOD_Real_Channels, realChannels); - SET_DWORD_STAT(STAT_FMOD_Total_Channels, channels); - - verifyfmod(ClockSinks[EFMODSystemContext::Runtime]->LastResult); - } - if (ClockSinks[EFMODSystemContext::Editor].IsValid()) - { - verifyfmod(ClockSinks[EFMODSystemContext::Editor]->LastResult); - } - return true; -} - -void FFMODStudioModule::UpdateViewportPosition() -{ - if (bSimulating) - { - return; - } - int ListenerIndex = 0; - - UWorld *ViewportWorld = nullptr; - if (GEngine && GEngine->GameViewport) - { - ViewportWorld = GEngine->GameViewport->GetWorld(); - } - - bool bCameraCut = false; // Not sure how to get View->bCameraCut from here - float DeltaSeconds = ((bCameraCut || !ViewportWorld) ? 0.f : ViewportWorld->GetDeltaSeconds()); - - bListenerMoved = false; - - if (IsValid(ViewportWorld)) - { - for (FConstPlayerControllerIterator Iterator = ViewportWorld->GetPlayerControllerIterator(); Iterator; ++Iterator) - { - APlayerController *PlayerController = Iterator->Get(); - if (PlayerController) - { - ULocalPlayer *LocalPlayer = PlayerController->GetLocalPlayer(); - if (LocalPlayer) - { - FVector Location; - FVector ProjFront; - FVector ProjRight; - PlayerController->GetAudioListenerPosition(/*out*/ Location, /*out*/ ProjFront, /*out*/ ProjRight); - FVector ProjUp = FVector::CrossProduct(ProjFront, ProjRight); - - FTransform ListenerTransform(FRotationMatrix::MakeFromXY(ProjFront, ProjRight)); - ListenerTransform.SetTranslation(Location); - ListenerTransform.NormalizeRotation(); - - SetListenerPosition(ListenerIndex, ViewportWorld, ListenerTransform, DeltaSeconds); - - ListenerIndex++; - } - } - } - FinishSetListenerPosition(ListenerIndex, DeltaSeconds); - } -} - -bool FFMODStudioModule::HasListenerMoved() -{ - return bListenerMoved; -} - -void FFMODStudioModule::ResetInterpolation() -{ - for (FFMODListener &Listener : Listeners) - { - Listener = FFMODListener(); - } -} - -const FFMODListener &FFMODStudioModule::GetNearestListener(const FVector &Location) -{ - float BestDistSq = FLT_MAX; - int BestListener = 0; - for (int i = 0; i < ListenerCount; ++i) - { - const float DistSq = FVector::DistSquared(Location, Listeners[i].Transform.GetTranslation()); - if (DistSq < BestDistSq) - { - BestListener = i; - BestDistSq = DistSq; - } - } - return Listeners[BestListener]; -} - -// Partially copied from FAudioDevice::SetListener -void FFMODStudioModule::SetListenerPosition(int ListenerIndex, UWorld *World, const FTransform &ListenerTransform, float DeltaSeconds) -{ - FMOD::Studio::System *System = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (System && ListenerIndex < MAX_LISTENERS) - { - FVector ListenerPos = ListenerTransform.GetTranslation(); - - FInteriorSettings *InteriorSettings = - (FInteriorSettings *)alloca(sizeof(FInteriorSettings)); // FinteriorSetting::FInteriorSettings() isn't exposed (possible UE4 bug???) - AAudioVolume *Volume = World->GetAudioSettings(ListenerPos, NULL, InteriorSettings); - - Listeners[ListenerIndex].Velocity = - DeltaSeconds > 0.f ? (ListenerTransform.GetTranslation() - Listeners[ListenerIndex].Transform.GetTranslation()) / DeltaSeconds : - FVector::ZeroVector; - - Listeners[ListenerIndex].Transform = ListenerTransform; - - Listeners[ListenerIndex].ApplyInteriorSettings(Volume, *InteriorSettings); - - // We are using a direct copy of the inbuilt transforms but the directions come out wrong. - // Several of the audio functions use GetFront() for right, so we do the same here. - const FVector Up = Listeners[ListenerIndex].GetUp(); - const FVector Right = Listeners[ListenerIndex].GetFront(); - const FVector Forward = Right ^ Up; - - FMOD_3D_ATTRIBUTES Attributes = { { 0 } }; - Attributes.position = FMODUtils::ConvertWorldVector(ListenerPos); - Attributes.forward = FMODUtils::ConvertUnitVector(Forward); - Attributes.up = FMODUtils::ConvertUnitVector(Up); - Attributes.velocity = FMODUtils::ConvertWorldVector(Listeners[ListenerIndex].Velocity); - - // Expand number of listeners dynamically - if (ListenerIndex >= ListenerCount) - { - Listeners[ListenerIndex] = FFMODListener(); - ListenerCount = ListenerIndex + 1; - verifyfmod(System->setNumListeners(ListenerCount)); - } - verifyfmod(System->setListenerAttributes(ListenerIndex, &Attributes)); - - bListenerMoved = true; - } -} - -void FFMODStudioModule::FinishSetListenerPosition(int NumListeners, float DeltaSeconds) -{ - FMOD::Studio::System *System = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime); - if (!System || NumListeners < 1) - { - return; - } - - if (System && NumListeners < ListenerCount) - { - ListenerCount = NumListeners; - verifyfmod(System->setNumListeners(ListenerCount)); - } - - for (int i = 0; i < ListenerCount; ++i) - { - Listeners[i].UpdateCurrentInteriorSettings(); - } - - // Apply a reverb snapshot from the listener position(s) - AAudioVolume *BestVolume = nullptr; - for (int i = 0; i < ListenerCount; ++i) - { - AAudioVolume *CandidateVolume = Listeners[i].Volume; - - if (BestVolume == nullptr || (IsValid(CandidateVolume) && IsValid(BestVolume) && CandidateVolume->GetPriority() > BestVolume->GetPriority())) - { - BestVolume = CandidateVolume; - } - } - UFMODSnapshotReverb *NewSnapshot = nullptr; - - if (IsValid(BestVolume) && BestVolume->GetReverbSettings().bApplyReverb) - { - NewSnapshot = Cast(BestVolume->GetReverbSettings().ReverbEffect); - } - - if (NewSnapshot != nullptr) - { - FString NewSnapshotName = FMODUtils::LookupNameFromGuid(System, NewSnapshot->AssetGuid); - UE_LOG(LogFMOD, Verbose, TEXT("Starting new snapshot '%s'"), *NewSnapshotName); - - // Try to steal old entry - FFMODSnapshotEntry SnapshotEntry; - int SnapshotEntryIndex = -1; - for (int i = 0; i < ReverbSnapshots.Num(); ++i) - { - if (ReverbSnapshots[i].Snapshot == NewSnapshot) - { - UE_LOG(LogFMOD, Verbose, TEXT("Re-using old entry with intensity %f"), ReverbSnapshots[i].CurrentIntensity()); - SnapshotEntryIndex = i; - break; - } - } - // Create new instance - if (SnapshotEntryIndex == -1) - { - UE_LOG(LogFMOD, Verbose, TEXT("Creating new instance")); - - FMOD::Studio::ID Guid = FMODUtils::ConvertGuid(NewSnapshot->AssetGuid); - FMOD::Studio::EventInstance *NewInstance = nullptr; - FMOD::Studio::EventDescription *EventDesc = nullptr; - System->getEventByID(&Guid, &EventDesc); - if (EventDesc) - { - EventDesc->createInstance(&NewInstance); - if (NewInstance) - { - NewInstance->setParameterByName("Intensity", 0.0f); - NewInstance->start(); - } - } - - SnapshotEntryIndex = ReverbSnapshots.Num(); - ReverbSnapshots.Push(FFMODSnapshotEntry(NewSnapshot, NewInstance)); - } - // Fade up - if (ReverbSnapshots[SnapshotEntryIndex].FadeIntensityEnd == 0.0f) - { - ReverbSnapshots[SnapshotEntryIndex].FadeTo(BestVolume->GetReverbSettings().Volume, BestVolume->GetReverbSettings().FadeTime); - } - } - // Fade out all other entries - for (int i = 0; i < ReverbSnapshots.Num(); ++i) - { - UE_LOG(LogFMOD, Verbose, TEXT("Ramping intensity (%f,%f) -> %f"), ReverbSnapshots[i].FadeIntensityStart, ReverbSnapshots[i].FadeIntensityEnd, - ReverbSnapshots[i].CurrentIntensity()); - ReverbSnapshots[i].Instance->setParameterByName("Intensity", 100.0f * ReverbSnapshots[i].CurrentIntensity()); - - if (ReverbSnapshots[i].Snapshot != NewSnapshot) - { - // Start fading out if needed - if (ReverbSnapshots[i].FadeIntensityEnd != 0.0f) - { - ReverbSnapshots[i].FadeTo(0.0f, ReverbSnapshots[i].FadeDuration); - } - // Finish fading out and remove - else if (ReverbSnapshots[i].CurrentIntensity() == 0.0f) - { - UE_LOG(LogFMOD, Verbose, TEXT("Removing snapshot")); - - ReverbSnapshots[i].Instance->stop(FMOD_STUDIO_STOP_ALLOWFADEOUT); - ReverbSnapshots[i].Instance->release(); - ReverbSnapshots.RemoveAt(i); - --i; // removed entry, redo current index for next one - } - } - } -} - -void FFMODStudioModule::RefreshSettings() -{ - AssetTable.Refresh(); - if (GIsEditor) - { - const UFMODSettings &Settings = *GetDefault(); - BankUpdateNotifier.SetFilePath(Settings.GetFullBankPath() / AssetTable.GetMasterStringsBankPath()); - } -} - -void FFMODStudioModule::SetInPIE(bool bInPIE, bool simulating) -{ - bIsInPIE = bInPIE; - bSimulating = simulating; - bListenerMoved = true; - ResetInterpolation(); - - if (GIsEditor) - { - BankUpdateNotifier.EnableUpdate(!bInPIE); - } - - FMOD_DEBUG_FLAGS flags; - - if (bInPIE) - { - if (StudioSystem[EFMODSystemContext::Auditioning]) - { - // We currently don't tear down auditioning system but we do stop the playing event. - if (AuditioningInstance) - { - AuditioningInstance->stop(FMOD_STUDIO_STOP_IMMEDIATE); - AuditioningInstance = nullptr; - } - // Also make sure banks are finishing loading so they aren't grabbing file handles. - StudioSystem[EFMODSystemContext::Auditioning]->flushCommands(); - } - - // TODO: Stop sounds for the Editor system? What should happen if the user previews a sequence with transport - // controls then starts a PIE session? What does happen? - - UE_LOG(LogFMOD, Log, TEXT("Creating runtime Studio System")); - ListenerCount = 1; - CreateStudioSystem(EFMODSystemContext::Runtime); - - UE_LOG(LogFMOD, Log, TEXT("Loading Banks")); - LoadBanks(EFMODSystemContext::Runtime); - - const UFMODSettings &Settings = *GetDefault(); - flags = Settings.LoggingLevel; - } - else - { - ReverbSnapshots.Reset(); - DestroyStudioSystem(EFMODSystemContext::Runtime); - flags = FMOD_DEBUG_LEVEL_WARNING; - } - - verifyfmod(FMOD::Debug_Initialize(flags, FMOD_DEBUG_MODE_CALLBACK, FMODLogCallback)); - -} - -UFMODAsset *FFMODStudioModule::FindAssetByName(const FString &Name) -{ - return AssetTable.FindByName(Name); -} - -UFMODEvent *FFMODStudioModule::FindEventByName(const FString &Name) -{ - UFMODAsset *Asset = AssetTable.FindByName(Name); - return Cast(Asset); -} - -FString FFMODStudioModule::GetBankPath(const UFMODBank &Bank) -{ - FString BankPath = AssetTable.GetBankPath(Bank); - - if (!BankPath.IsEmpty()) - { - const UFMODSettings &Settings = *GetDefault(); - BankPath = Settings.GetFullBankPath() / BankPath; - } - - return BankPath; -} - -void FFMODStudioModule::SetSystemPaused(bool paused) -{ - if (StudioSystem[EFMODSystemContext::Runtime]) - { - if (bMixerPaused != paused) - { - FMOD::System *LowLevelSystem = nullptr; - verifyfmod(StudioSystem[EFMODSystemContext::Runtime]->getCoreSystem(&LowLevelSystem)); - - // Resume mixer before making calls for Android in particular - if (!paused) - { - LowLevelSystem->mixerResume(); - } - - FMOD::ChannelGroup *MasterChannelGroup = nullptr; - verifyfmod(LowLevelSystem->getMasterChannelGroup(&MasterChannelGroup)); - verifyfmod(MasterChannelGroup->setPaused(paused)); - - if (paused) - { - LowLevelSystem->mixerSuspend(); - } - } - - bMixerPaused = paused; - } -} - -void FFMODStudioModule::PostLoadCallback() -{ -} - -void FFMODStudioModule::ShutdownModule() -{ - UE_LOG(LogFMOD, Verbose, TEXT("FFMODStudioModule shutdown")); - - DestroyStudioSystem(EFMODSystemContext::Auditioning); - DestroyStudioSystem(EFMODSystemContext::Runtime); - DestroyStudioSystem(EFMODSystemContext::Editor); - - ReleaseFMODFileSystem(); - - if (MemPool) - FMemory::Free(MemPool); - - if (GIsEditor) - { - BankUpdateNotifier.BanksUpdatedEvent.RemoveAll(this); - } - - if (UObjectInitialized()) - { - // Unregister tick function. - FTicker::GetCoreTicker().RemoveTicker(TickDelegateHandle); - } - - UE_LOG(LogFMOD, Verbose, TEXT("FFMODStudioModule unloading dynamic libraries")); - if (StudioLibHandle) - { - FPlatformProcess::FreeDllHandle(StudioLibHandle); - StudioLibHandle = nullptr; - } - if (LowLevelLibHandle) - { - FPlatformProcess::FreeDllHandle(LowLevelLibHandle); - LowLevelLibHandle = nullptr; - } - UE_LOG(LogFMOD, Verbose, TEXT("FFMODStudioModule finished unloading")); -} - -struct NamedBankEntry -{ - NamedBankEntry() - : Bank(nullptr) - { - } - NamedBankEntry(const FString &InName, FMOD::Studio::Bank *InBank, FMOD_RESULT InResult) - : Name(InName) - , Bank(InBank) - , Result(InResult) - { - } - - FString Name; - FMOD::Studio::Bank *Bank; - FMOD_RESULT Result; -}; - -bool FFMODStudioModule::AreBanksLoaded() -{ - return bBanksLoaded; -} - -void FFMODStudioModule::LoadBanks(EFMODSystemContext::Type Type) -{ - const UFMODSettings &Settings = *GetDefault(); - - FailedBankLoads[Type].Reset(); - if (Type == EFMODSystemContext::Auditioning || Type == EFMODSystemContext::Editor) - { - RequiredPlugins.Reset(); - } - - if (StudioSystem[Type] != nullptr && Settings.IsBankPathSet()) - { - UE_LOG(LogFMOD, Verbose, TEXT("LoadBanks for context %s"), FMODSystemContextNames[Type]); - - /* - Queue up all banks to load asynchronously then wait at the end. - */ - bool bLoadAllBanks = ((Type == EFMODSystemContext::Auditioning) || (Type == EFMODSystemContext::Editor) || Settings.bLoadAllBanks); - bool bLoadSampleData = ((Type == EFMODSystemContext::Runtime) && Settings.bLoadAllSampleData); - bool bLockAllBuses = ((Type == EFMODSystemContext::Runtime) && Settings.bLockAllBuses); - FMOD_STUDIO_LOAD_BANK_FLAGS BankFlags = (bLockAllBuses ? FMOD_STUDIO_LOAD_BANK_NORMAL : FMOD_STUDIO_LOAD_BANK_NONBLOCKING); - FMOD_RESULT Result = FMOD_OK; - TArray BankEntries; - - // Always load the master bank at startup - FMOD::Studio::Bank *MasterBank = nullptr; - - if (AssetTable.GetMasterBankPath().IsEmpty()) - { - FString MasterBankFilename = Settings.GetMasterBankFilename(); - UE_LOG(LogFMOD, Warning, TEXT("Master bank (%s) not found."), *MasterBankFilename); - FailedBankLoads[Type].Add(FString::Printf(TEXT("Could not find master bank (%s). Check project settings."), *MasterBankFilename)); - } - else - { - FString MasterBankPath = Settings.GetFullBankPath() / AssetTable.GetMasterBankPath(); - UE_LOG(LogFMOD, Verbose, TEXT("Loading master bank: %s"), *MasterBankPath); - Result = StudioSystem[Type]->loadBankFile(TCHAR_TO_UTF8(*MasterBankPath), BankFlags, &MasterBank); - BankEntries.Add(NamedBankEntry(MasterBankPath, MasterBank, Result)); - } - - if (Result == FMOD_OK) - { - FMOD::Studio::Bank *MasterAssetsBank = nullptr; - FString MasterAssetsBankPath = Settings.GetFullBankPath() / AssetTable.GetMasterAssetsBankPath(); - if (FPaths::FileExists(MasterAssetsBankPath)) - { - Result = StudioSystem[Type]->loadBankFile(TCHAR_TO_UTF8(*MasterAssetsBankPath), BankFlags, &MasterAssetsBank); - BankEntries.Add(NamedBankEntry(MasterAssetsBankPath, MasterAssetsBank, Result)); - } - } - - if (Result == FMOD_OK) - { - // Auditioning needs string bank to get back full paths from events - // Runtime could do without it, but if we load it we can look up guids to names which is helpful - if (MasterBank) - { - FString StringsBankPath = Settings.GetFullBankPath() / AssetTable.GetMasterStringsBankPath(); - UE_LOG(LogFMOD, Verbose, TEXT("Loading strings bank: %s"), *StringsBankPath); - FMOD::Studio::Bank *StringsBank = nullptr; - Result = StudioSystem[Type]->loadBankFile(TCHAR_TO_UTF8(*StringsBankPath), BankFlags, &StringsBank); - BankEntries.Add(NamedBankEntry(StringsBankPath, StringsBank, Result)); - } - - // Optionally load all banks in the directory - if (bLoadAllBanks) - { - UE_LOG(LogFMOD, Verbose, TEXT("Loading all banks")); - TArray BankFiles; - Settings.GetAllBankPaths(BankFiles); - for (const FString &OtherFile : BankFiles) - { - if (Settings.SkipLoadBankName.Len() && OtherFile.Contains(Settings.SkipLoadBankName)) - { - UE_LOG(LogFMOD, Log, TEXT("Skipping bank: %s"), *OtherFile); - continue; - } - UE_LOG(LogFMOD, Log, TEXT("Loading bank: %s"), *OtherFile); - - FMOD::Studio::Bank *OtherBank; - Result = StudioSystem[Type]->loadBankFile(TCHAR_TO_UTF8(*OtherFile), BankFlags, &OtherBank); - BankEntries.Add(NamedBankEntry(OtherFile, OtherBank, Result)); - } - } - - // Optionally lock all buses to make sure they are created - if (MasterBank && Settings.bLockAllBuses) - { - UE_LOG(LogFMOD, Verbose, TEXT("Locking all buses")); - int BusCount = 0; - verifyfmod(MasterBank->getBusCount(&BusCount)); - if (BusCount != 0) - { - TArray BusList; - BusList.AddZeroed(BusCount); - verifyfmod(MasterBank->getBusList(BusList.GetData(), BusCount, &BusCount)); - BusList.SetNum(BusCount); - for (int BusIdx = 0; BusIdx < BusCount; ++BusIdx) - { - verifyfmod(BusList[BusIdx]->lockChannelGroup()); - } - } - } - } - - // Wait for all banks to load. - StudioSystem[Type]->flushCommands(); - - for (NamedBankEntry &Entry : BankEntries) - { - if (Entry.Result == FMOD_OK) - { - FMOD_STUDIO_LOADING_STATE BankLoadingState = FMOD_STUDIO_LOADING_STATE_ERROR; - Entry.Result = Entry.Bank->getLoadingState(&BankLoadingState); - if (BankLoadingState == FMOD_STUDIO_LOADING_STATE_ERROR) - { - Entry.Bank->unload(); - Entry.Bank = nullptr; - } - else if (bLoadSampleData) - { - verifyfmod(Entry.Bank->loadSampleData()); - } - } - if (Entry.Bank == nullptr || Entry.Result != FMOD_OK) - { - FString ErrorMessage; - if (!FPaths::FileExists(Entry.Name)) - { - ErrorMessage = "File does not exist"; - } - else - { - ErrorMessage = UTF8_TO_TCHAR(FMOD_ErrorString(Entry.Result)); - } - UE_LOG(LogFMOD, Warning, TEXT("Failed to bank: %s (%s)"), *Entry.Name, *ErrorMessage); - FailedBankLoads[Type].Add(FString::Printf(TEXT("%s (%s)"), *FPaths::GetBaseFilename(Entry.Name), *ErrorMessage)); - } - } - } - - bBanksLoaded = true; -} - -void FFMODStudioModule::HandleBanksUpdated() -{ - UE_LOG(LogFMOD, Verbose, TEXT("Refreshing auditioning system")); - - DestroyStudioSystem(EFMODSystemContext::Auditioning); - - AssetTable.Refresh(); - - CreateStudioSystem(EFMODSystemContext::Auditioning); - LoadBanks(EFMODSystemContext::Auditioning); - - DestroyStudioSystem(EFMODSystemContext::Editor); - CreateStudioSystem(EFMODSystemContext::Editor); - LoadBanks(EFMODSystemContext::Editor); - - BanksReloadedDelegate.Broadcast(); -} - -FMOD::Studio::System *FFMODStudioModule::GetStudioSystem(EFMODSystemContext::Type Context) -{ - if (Context == EFMODSystemContext::Max) - { - Context = (bIsInPIE ? EFMODSystemContext::Runtime : EFMODSystemContext::Auditioning); - } - return StudioSystem[Context]; -} - -FMOD::Studio::EventDescription *FFMODStudioModule::GetEventDescription(const UFMODEvent *Event, EFMODSystemContext::Type Context) -{ - if (Context == EFMODSystemContext::Max) - { - Context = (bIsInPIE ? EFMODSystemContext::Runtime : EFMODSystemContext::Auditioning); - } - if (StudioSystem[Context] != nullptr && IsValid(Event) && Event->AssetGuid.IsValid()) - { - FMOD::Studio::ID Guid = FMODUtils::ConvertGuid(Event->AssetGuid); - FMOD::Studio::EventDescription *EventDesc = nullptr; - StudioSystem[Context]->getEventByID(&Guid, &EventDesc); - return EventDesc; - } - return nullptr; -} - -FMOD::Studio::EventInstance *FFMODStudioModule::CreateAuditioningInstance(const UFMODEvent *Event) -{ - StopAuditioningInstance(); - if (IsValid(Event)) - { - FMOD::Studio::EventDescription *EventDesc = GetEventDescription(Event, EFMODSystemContext::Auditioning); - if (EventDesc) - { - FMOD_RESULT Result = EventDesc->createInstance(&AuditioningInstance); - if (Result == FMOD_OK) - { - return AuditioningInstance; - } - } - } - return nullptr; -} - -void FFMODStudioModule::StopAuditioningInstance() -{ - if (AuditioningInstance) - { - // Don't bother checking for errors just in case auditioning is already shutting down - AuditioningInstance->stop(FMOD_STUDIO_STOP_ALLOWFADEOUT); - AuditioningInstance->release(); - AuditioningInstance = nullptr; - } -} diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODStudioPrivatePCH.h b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODStudioPrivatePCH.h deleted file mode 100644 index 9ea2e59..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODStudioPrivatePCH.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. -#pragma once - -#include "CoreMinimal.h" -#include "UObject/NoExportTypes.h" -#include "Components/SceneComponent.h" -#include "Runtime/Launch/Resources/Version.h" - -DECLARE_LOG_CATEGORY_EXTERN(LogFMOD, Log, All); \ No newline at end of file diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODVCA.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/FMODVCA.cpp deleted file mode 100644 index 8c967d6..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/FMODVCA.cpp +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODVCA.h" -#include "FMODStudioModule.h" - -UFMODVCA::UFMODVCA(const FObjectInitializer &ObjectInitializer) - : Super(ObjectInitializer) -{ -} - -/** Get tags to show in content view */ -void UFMODVCA::GetAssetRegistryTags(TArray &OutTags) const -{ - Super::GetAssetRegistryTags(OutTags); -} - -FString UFMODVCA::GetDesc() -{ - return FString::Printf(TEXT("VCA %s"), *AssetGuid.ToString(EGuidFormats::DigitsWithHyphensInBraces)); -} diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlSection.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlSection.cpp deleted file mode 100644 index 7c1fb2f..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlSection.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODEventControlSection.h" -#include "FMODEventControlSectionTemplate.h" -#include "Channels/MovieSceneChannelProxy.h" -#include "UObject/SequencerObjectVersion.h" -#include "UObject/Package.h" - -FFMODEventControlChannel::FFMODEventControlChannel() -{ - SetEnum(FindObject(ANY_PACKAGE, TEXT("EFMODEventControlKey"))); -} - -UFMODEventControlSection::UFMODEventControlSection(const FObjectInitializer &ObjectInitializer) - : Super(ObjectInitializer) -{ - SetRange(TRange::All()); - - int32 LinkerCustomVersion = GetLinkerCustomVersion(FSequencerObjectVersion::GUID); - EMovieSceneCompletionMode CompletionMode; - - if (LinkerCustomVersion < FSequencerObjectVersion::WhenFinishedDefaultsToRestoreState) - { - CompletionMode = EMovieSceneCompletionMode::KeepState; - } - else if (LinkerCustomVersion < FSequencerObjectVersion::WhenFinishedDefaultsToProjectDefault) - { - CompletionMode = EMovieSceneCompletionMode::RestoreState; - } - else - { - CompletionMode = EMovieSceneCompletionMode::ProjectDefault; - } - -#if WITH_EDITOR - - ChannelProxy = MakeShared(ControlKeys, FMovieSceneChannelMetaData(), TMovieSceneExternalValue()); - -#else - - ChannelProxy = MakeShared(ControlKeys); - -#endif -} - -FMovieSceneEvalTemplatePtr UFMODEventControlSection::GenerateTemplate() const -{ - return FFMODEventControlSectionTemplate(*this); -} diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlSection.h b/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlSection.h deleted file mode 100644 index ef7904f..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlSection.h +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "CoreMinimal.h" -#include "UObject/ObjectMacros.h" -#include "Curves/KeyHandle.h" -#include "MovieSceneClipboard.h" -#include "MovieSceneSection.h" -#include "Channels/MovieSceneByteChannel.h" -#include "FMODEventControlSection.generated.h" - -/** Defines the types of FMOD event control keys. */ -UENUM() -enum class EFMODEventControlKey : uint8 -{ - Stop = 0, - Play = 1 -}; - -USTRUCT() -struct FFMODEventControlChannel : public FMovieSceneByteChannel -{ - GENERATED_BODY() - - FFMODEventControlChannel(); -}; - -template <> -struct TStructOpsTypeTraits : public TStructOpsTypeTraitsBase2 -{ - enum - { - WithStructuredSerializeFromMismatchedTag = true - }; -}; - -template <> -struct TMovieSceneChannelTraits : TMovieSceneChannelTraitsBase -{ - enum - { - SupportsDefaults = false - }; - -#if WITH_EDITOR - - /** Byte channels can have external values (ie, they can get their values from external objects for UI purposes) */ - typedef TMovieSceneExternalValue ExtendedEditorDataType; - -#endif -}; - -/** FMOD Event control section */ -UCLASS(MinimalAPI) -class UFMODEventControlSection : public UMovieSceneSection -{ - GENERATED_UCLASS_BODY() - -public: - /** Channel containing the event control keys */ - UPROPERTY() - FFMODEventControlChannel ControlKeys; - -protected: - //~ UMovieSceneSection interface - virtual FMovieSceneEvalTemplatePtr GenerateTemplate() const override; -}; - -inline void AssignValue(FFMODEventControlChannel *InChannel, FKeyHandle InKeyHandle, EFMODEventControlKey InValue) -{ - TMovieSceneChannelData ChannelData = InChannel->GetData(); - int32 ValueIndex = ChannelData.GetIndex(InKeyHandle); - - if (ValueIndex != INDEX_NONE) - { - ChannelData.GetValues()[ValueIndex] = (uint8)InValue; - } -} - -inline bool EvaluateChannel(const FFMODEventControlChannel *InChannel, FFrameTime InTime, EFMODEventControlKey &OutValue) -{ - uint8 RawValue = 0; - if (InChannel->Evaluate(InTime, RawValue)) - { - OutValue = (EFMODEventControlKey)RawValue; - return true; - } - return false; -} diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlSectionTemplate.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlSectionTemplate.cpp deleted file mode 100644 index f764ba6..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlSectionTemplate.cpp +++ /dev/null @@ -1,139 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODEventControlSectionTemplate.h" -#include "FMODAmbientSound.h" -#include "FMODAudioComponent.h" -#include "Evaluation/MovieSceneEvaluation.h" -#include "IMovieScenePlayer.h" - -struct FPlayingToken : IMovieScenePreAnimatedToken -{ - FPlayingToken(UObject &InObject) - { - bPlaying = false; - - if (UFMODAudioComponent *AudioComponent = Cast(&InObject)) - { - if (IsValid(AudioComponent)) - { - bPlaying = AudioComponent->IsPlaying(); - } - } - } - - virtual void RestoreState(UObject &Object, IMovieScenePlayer &Player) override - { - UFMODAudioComponent *AudioComponent = CastChecked(&Object); - - if (AudioComponent) - { - if (bPlaying) - { - AudioComponent->Play(); - } - else - { - AudioComponent->Stop(); - } - } - } - -private: - bool bPlaying; -}; - -struct FPlayingTokenProducer : IMovieScenePreAnimatedTokenProducer -{ - static FMovieSceneAnimTypeID GetAnimTypeID() { return TMovieSceneAnimTypeID(); } - -private: - virtual IMovieScenePreAnimatedTokenPtr CacheExistingState(UObject &Object) const override { return FPlayingToken(Object); } -}; - -struct FFMODEventKeyState : IPersistentEvaluationData -{ - FKeyHandle LastKeyHandle; - FKeyHandle InvalidKeyHandle; -}; - -struct FFMODEventControlExecutionToken : IMovieSceneExecutionToken -{ - FFMODEventControlExecutionToken(EFMODEventControlKey InEventControlKey, FFrameTime InKeyTime) - : EventControlKey(InEventControlKey) - , KeyTime(InKeyTime) - { - } - - /** Execute this token, operating on all objects referenced by 'Operand' */ - virtual void Execute(const FMovieSceneContext &Context, const FMovieSceneEvaluationOperand &Operand, FPersistentEvaluationData &PersistentData, - IMovieScenePlayer &Player) - { - for (TWeakObjectPtr<> &WeakObject : Player.FindBoundObjects(Operand)) - { - UFMODAudioComponent *AudioComponent = Cast(WeakObject.Get()); - - if (!AudioComponent) - { - AFMODAmbientSound *AmbientSound = Cast(WeakObject.Get()); - AudioComponent = AmbientSound ? AmbientSound->AudioComponent : nullptr; - } - - if (IsValid(AudioComponent)) - { - Player.SavePreAnimatedState(*AudioComponent, FPlayingTokenProducer::GetAnimTypeID(), FPlayingTokenProducer()); - - if (EventControlKey == EFMODEventControlKey::Play) - { - if (AudioComponent->IsPlaying()) - { - AudioComponent->Stop(); - } - - EFMODSystemContext::Type SystemContext = - (GWorld && GWorld->WorldType == EWorldType::Editor) ? EFMODSystemContext::Editor : EFMODSystemContext::Runtime; - AudioComponent->PlayInternal(SystemContext); - } - else if (EventControlKey == EFMODEventControlKey::Stop) - { - AudioComponent->Stop(); - } - } - } - } - - EFMODEventControlKey EventControlKey; - FFrameTime KeyTime; -}; - -FFMODEventControlSectionTemplate::FFMODEventControlSectionTemplate(const UFMODEventControlSection &Section) - : ControlKeys(Section.ControlKeys) -{ -} - -void FFMODEventControlSectionTemplate::Evaluate(const FMovieSceneEvaluationOperand &Operand, const FMovieSceneContext &Context, - const FPersistentEvaluationData &PersistentData, FMovieSceneExecutionTokens &ExecutionTokens) const -{ - const bool bPlaying = Context.IsSilent() == false && Context.GetDirection() == EPlayDirection::Forwards && - Context.GetRange().Size() >= FFrameTime(0) && Context.GetStatus() == EMovieScenePlayerStatus::Playing; - - if (!bPlaying) - { - ExecutionTokens.Add(FFMODEventControlExecutionToken(EFMODEventControlKey::Stop, FFrameTime(0))); - } - else - { - TRange PlaybackRange = Context.GetFrameNumberRange(); - TMovieSceneChannelData ChannelData = ControlKeys.GetData(); - - // Find the index of the key handle that exists before this time - TArrayView Times = ChannelData.GetTimes(); - TArrayView Values = ChannelData.GetValues(); - - const int32 LastKeyIndex = Algo::UpperBound(Times, PlaybackRange.GetUpperBoundValue()) - 1; - if (LastKeyIndex >= 0 && PlaybackRange.Contains(Times[LastKeyIndex])) - { - FFMODEventControlExecutionToken NewToken((EFMODEventControlKey)Values[LastKeyIndex], Times[LastKeyIndex]); - ExecutionTokens.Add(MoveTemp(NewToken)); - } - } -} diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlSectionTemplate.h b/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlSectionTemplate.h deleted file mode 100644 index 692f064..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlSectionTemplate.h +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "CoreMinimal.h" -#include "UObject/ObjectMacros.h" -#include "Evaluation/MovieSceneEvalTemplate.h" -#include "FMODEventControlSection.h" -#include "FMODEventControlSectionTemplate.generated.h" - -USTRUCT() -struct FFMODEventControlSectionTemplate : public FMovieSceneEvalTemplate -{ - GENERATED_BODY() - - FFMODEventControlSectionTemplate() {} - FFMODEventControlSectionTemplate(const UFMODEventControlSection &Section); - - UPROPERTY() - FFMODEventControlChannel ControlKeys; - -private: - virtual UScriptStruct &GetScriptStructImpl() const override { return *StaticStruct(); } - virtual void Evaluate(const FMovieSceneEvaluationOperand &Operand, const FMovieSceneContext &Context, - const FPersistentEvaluationData &PersistentData, FMovieSceneExecutionTokens &ExecutionTokens) const override; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlTrack.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlTrack.cpp deleted file mode 100644 index 86ef8b4..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlTrack.cpp +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODEventControlTrack.h" -#include "FMODEventControlSection.h" -#include "IMovieScenePlayer.h" -#include "FMODEventControlSectionTemplate.h" -#include "MovieSceneCommonHelpers.h" - -#define LOCTEXT_NAMESPACE "FMODEventControlTrack" - -UFMODEventControlTrack::UFMODEventControlTrack(const FObjectInitializer &ObjectInitializer) - : Super(ObjectInitializer) -{ -#if WITH_EDITORONLY_DATA - TrackTint = FColor(255, 255, 255, 160); -#endif -} - -const TArray &UFMODEventControlTrack::GetAllSections() const -{ - return ControlSections; -} - -void UFMODEventControlTrack::RemoveAllAnimationData() -{ - // do nothing -} - -bool UFMODEventControlTrack::HasSection(const UMovieSceneSection &Section) const -{ - return ControlSections.Contains(&Section); -} - -void UFMODEventControlTrack::AddSection(UMovieSceneSection &Section) -{ - ControlSections.Add(&Section); -} - -void UFMODEventControlTrack::RemoveSection(UMovieSceneSection &Section) -{ - ControlSections.Remove(&Section); -} - -bool UFMODEventControlTrack::IsEmpty() const -{ - return ControlSections.Num() == 0; -} - -void UFMODEventControlTrack::AddNewSection(FFrameNumber SectionTime) -{ - if (MovieSceneHelpers::FindSectionAtTime(ControlSections, SectionTime) == nullptr) - { - UFMODEventControlSection *NewSection = Cast(CreateNewSection()); - ControlSections.Add(NewSection); - } -} - -UMovieSceneSection *UFMODEventControlTrack::CreateNewSection() -{ - return NewObject(this); -} - -#if WITH_EDITORONLY_DATA -FText UFMODEventControlTrack::GetDefaultDisplayName() const -{ - return LOCTEXT("DisplayName", "FMOD Event"); -} -#endif - -#undef LOCTEXT_NAMESPACE diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlTrack.h b/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlTrack.h deleted file mode 100644 index e80ead0..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventControlTrack.h +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "CoreMinimal.h" -#include "UObject/ObjectMacros.h" -#include "MovieSceneNameableTrack.h" -#include "FMODEventControlTrack.generated.h" - -/** Handles control of an FMOD Event */ -UCLASS(MinimalAPI) -class UFMODEventControlTrack : public UMovieSceneNameableTrack -{ - GENERATED_UCLASS_BODY() - -public: - virtual TArray GetAllControlSections() const { return ControlSections; } - -public: - // Begin UMovieSceneTrack interface - virtual void RemoveAllAnimationData() override; - virtual bool HasSection(const UMovieSceneSection &Section) const override; - virtual void AddSection(UMovieSceneSection &Section) override; - virtual void RemoveSection(UMovieSceneSection &Section) override; - virtual bool IsEmpty() const override; - virtual const TArray &GetAllSections() const override; - virtual void AddNewSection(FFrameNumber SectionTime); - virtual UMovieSceneSection *CreateNewSection() override; -// End UMovieSceneTrack interface - -#if WITH_EDITORONLY_DATA - virtual FText GetDefaultDisplayName() const override; -#endif - -private: - /** List of all event control sections. */ - UPROPERTY() - TArray ControlSections; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventParameterSectionTemplate.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventParameterSectionTemplate.cpp deleted file mode 100644 index 9131dc7..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventParameterSectionTemplate.cpp +++ /dev/null @@ -1,109 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2017. - -#include "FMODEventParameterSectionTemplate.h" -#include "FMODAmbientSound.h" -#include "FMODEvent.h" -#include "FMODEventParameterTrack.h" -#include "IMovieScenePlayer.h" -#include "fmod_studio.hpp" - -struct FFMODEventParameterPreAnimatedToken : IMovieScenePreAnimatedToken -{ - FFMODEventParameterPreAnimatedToken() {} - - FFMODEventParameterPreAnimatedToken(FFMODEventParameterPreAnimatedToken &&) = default; - FFMODEventParameterPreAnimatedToken &operator=(FFMODEventParameterPreAnimatedToken &&) = default; - - virtual void RestoreState(UObject &Object, IMovieScenePlayer &Player) override - { - UFMODAudioComponent *AudioComponent = CastChecked(&Object); - - if (IsValid(AudioComponent)) - { - for (FScalarParameterNameAndValue &Value : Values) - { - AudioComponent->SetParameter(Value.ParameterName, Value.Value); - } - } - } - - TArray Values; -}; - -struct FFMODEventParameterPreAnimatedTokenProducer : IMovieScenePreAnimatedTokenProducer -{ - virtual IMovieScenePreAnimatedTokenPtr CacheExistingState(UObject &Object) const override - { - UFMODAudioComponent *AudioComponent = CastChecked(&Object); - - FFMODEventParameterPreAnimatedToken Token; - - if (IsValid(AudioComponent) && AudioComponent->Event) - { - TArray ParameterDescriptions; - AudioComponent->Event->GetParameterDescriptions(ParameterDescriptions); - - for (const FMOD_STUDIO_PARAMETER_DESCRIPTION &ParameterDescription : ParameterDescriptions) - { - float Value = AudioComponent->GetParameter(ParameterDescription.name); - Token.Values.Add(FScalarParameterNameAndValue(ParameterDescription.name, Value)); - } - } - - return MoveTemp(Token); - } -}; - -struct FFMODEventParameterExecutionToken : IMovieSceneExecutionToken -{ - FFMODEventParameterExecutionToken() = default; - - FFMODEventParameterExecutionToken(FFMODEventParameterExecutionToken &&) = default; - FFMODEventParameterExecutionToken &operator=(FFMODEventParameterExecutionToken &&) = default; - - // Non-copyable - FFMODEventParameterExecutionToken(const FFMODEventParameterExecutionToken &) = delete; - FFMODEventParameterExecutionToken &operator=(const FFMODEventParameterExecutionToken &) = delete; - - virtual void Execute(const FMovieSceneContext &Context, const FMovieSceneEvaluationOperand &Operand, FPersistentEvaluationData &PersistentData, - IMovieScenePlayer &Player) - { - for (TWeakObjectPtr<> &WeakObject : Player.FindBoundObjects(Operand)) - { - UFMODAudioComponent *AudioComponent = Cast(WeakObject.Get()); - - if (!AudioComponent) - { - AFMODAmbientSound *AmbientSound = Cast(WeakObject.Get()); - AudioComponent = AmbientSound ? AmbientSound->AudioComponent : nullptr; - } - - if (IsValid(AudioComponent)) - { - Player.SavePreAnimatedState( - *AudioComponent, TMovieSceneAnimTypeID(), FFMODEventParameterPreAnimatedTokenProducer()); - - for (const FScalarParameterNameAndValue &NameAndValue : Values.ScalarValues) - { - AudioComponent->SetParameter(NameAndValue.ParameterName, NameAndValue.Value); - } - } - } - } - - FEvaluatedParameterSectionValues Values; -}; - -FFMODEventParameterSectionTemplate::FFMODEventParameterSectionTemplate( - const UMovieSceneParameterSection &Section, const UFMODEventParameterTrack &Track) - : FMovieSceneParameterSectionTemplate(Section) -{ -} - -void FFMODEventParameterSectionTemplate::Evaluate(const FMovieSceneEvaluationOperand &Operand, const FMovieSceneContext &Context, - const FPersistentEvaluationData &PersistentData, FMovieSceneExecutionTokens &ExecutionTokens) const -{ - FFMODEventParameterExecutionToken ExecutionToken; - EvaluateCurves(Context, ExecutionToken.Values); - ExecutionTokens.Add(MoveTemp(ExecutionToken)); -} diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventParameterSectionTemplate.h b/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventParameterSectionTemplate.h deleted file mode 100644 index 4fec10e..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventParameterSectionTemplate.h +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "CoreMinimal.h" -#include "UObject/ObjectMacros.h" -#include "Evaluation/MovieSceneParameterTemplate.h" -#include "FMODEventParameterSectionTemplate.generated.h" - -class UFMODEventParameterTrack; - -USTRUCT() -struct FFMODEventParameterSectionTemplate : public FMovieSceneParameterSectionTemplate -{ - GENERATED_BODY() - - FFMODEventParameterSectionTemplate() {} - FFMODEventParameterSectionTemplate(const UMovieSceneParameterSection &Section, const UFMODEventParameterTrack &Track); - -private: - virtual UScriptStruct &GetScriptStructImpl() const override { return *StaticStruct(); } - virtual void Evaluate(const FMovieSceneEvaluationOperand &Operand, const FMovieSceneContext &Context, - const FPersistentEvaluationData &PersistentData, FMovieSceneExecutionTokens &ExecutionTokens) const override; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventParameterTrack.cpp b/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventParameterTrack.cpp deleted file mode 100644 index 6a659b3..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventParameterTrack.cpp +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODEventParameterTrack.h" -#include "FMODEventParameterSectionTemplate.h" -#include "IMovieScenePlayer.h" -#include "MovieSceneCommonHelpers.h" - -#define LOCTEXT_NAMESPACE "FMODEventParameterTrack" - -UFMODEventParameterTrack::UFMODEventParameterTrack(const FObjectInitializer &ObjectInitializer) - : Super(ObjectInitializer) -{ -#if WITH_EDITORONLY_DATA - TrackTint = FColor(0, 170, 255, 65); -#endif -} - -FMovieSceneEvalTemplatePtr UFMODEventParameterTrack::CreateTemplateForSection(const UMovieSceneSection &InSection) const -{ - return FFMODEventParameterSectionTemplate(*CastChecked(&InSection), *this); -} - -UMovieSceneSection *UFMODEventParameterTrack::CreateNewSection() -{ - return NewObject(this, UMovieSceneParameterSection::StaticClass(), NAME_None, RF_Transactional); -} - -void UFMODEventParameterTrack::RemoveAllAnimationData() -{ - Sections.Empty(); -} - -bool UFMODEventParameterTrack::HasSection(const UMovieSceneSection &Section) const -{ - return Sections.Contains(&Section); -} - -void UFMODEventParameterTrack::AddSection(UMovieSceneSection &Section) -{ - Sections.Add(&Section); -} - -void UFMODEventParameterTrack::RemoveSection(UMovieSceneSection &Section) -{ - Sections.Remove(&Section); -} - -bool UFMODEventParameterTrack::IsEmpty() const -{ - return Sections.Num() == 0; -} - -const TArray &UFMODEventParameterTrack::GetAllSections() const -{ - return Sections; -} - -#if WITH_EDITORONLY_DATA -FText UFMODEventParameterTrack::GetDefaultDisplayName() const -{ - return LOCTEXT("DisplayName", "FMOD Event Parameter"); -} -#endif - -void UFMODEventParameterTrack::AddParameterKey(FName ParameterName, FFrameNumber Time, float Value) -{ - UMovieSceneParameterSection *NearestSection = Cast(MovieSceneHelpers::FindNearestSectionAtTime(Sections, Time)); - if (NearestSection == nullptr) - { - NearestSection = Cast(CreateNewSection()); - NearestSection->SetRange(TRange::Inclusive(Time, Time)); - Sections.Add(NearestSection); - } - NearestSection->AddScalarParameterKey(ParameterName, Time, Value); -} - -#undef LOCTEXT_NAMESPACE diff --git a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventParameterTrack.h b/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventParameterTrack.h deleted file mode 100644 index 902f5ac..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Private/Sequencer/FMODEventParameterTrack.h +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "CoreMinimal.h" -#include "UObject/ObjectMacros.h" -#include "Sections/MovieSceneParameterSection.h" -#include "MovieSceneNameableTrack.h" -#include "FMODEventParameterTrack.generated.h" - -/** Handles manipulation of event parameters in a movie scene. */ -UCLASS(MinimalAPI) -class UFMODEventParameterTrack : public UMovieSceneNameableTrack -{ - GENERATED_UCLASS_BODY() - -public: - // Begin UMovieSceneTrack interface - virtual FMovieSceneEvalTemplatePtr CreateTemplateForSection(const UMovieSceneSection &InSection) const override; - virtual UMovieSceneSection *CreateNewSection() override; - virtual void RemoveAllAnimationData() override; - virtual bool HasSection(const UMovieSceneSection &Section) const override; - virtual void AddSection(UMovieSceneSection &Section) override; - virtual void RemoveSection(UMovieSceneSection &Section) override; - virtual bool IsEmpty() const override; - virtual const TArray &GetAllSections() const override; -// End UMovieSceneTrack interface - -#if WITH_EDITORONLY_DATA - virtual FText GetDefaultDisplayName() const override; -#endif - -public: - /** Adds a (scalar) event parameter key to the track. */ - void FMODSTUDIO_API AddParameterKey(FName ParameterName, FFrameNumber Time, float Value); - -private: - /** The sections owned by this track. */ - UPROPERTY() - TArray Sections; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod.h b/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod.h deleted file mode 100644 index 2decfb5..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod.h +++ /dev/null @@ -1,665 +0,0 @@ -/* ======================================================================================== */ -/* FMOD Core API - C header file. */ -/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2019. */ -/* */ -/* Use this header in conjunction with fmod_common.h (which contains all the constants / */ -/* callbacks) to develop using the C interface */ -/* */ -/* For more detail visit: */ -/* https://fmod.com/resources/documentation-api?version=2.0&page=core-api.html */ -/* ======================================================================================== */ - -#ifndef _FMOD_H -#define _FMOD_H - -#include "fmod_common.h" - -#ifdef __cplusplus -extern "C" -{ -#endif - -/* - FMOD global system functions (optional). -*/ -FMOD_RESULT F_API FMOD_Memory_Initialize (void *poolmem, int poollen, FMOD_MEMORY_ALLOC_CALLBACK useralloc, FMOD_MEMORY_REALLOC_CALLBACK userrealloc, FMOD_MEMORY_FREE_CALLBACK userfree, FMOD_MEMORY_TYPE memtypeflags); -FMOD_RESULT F_API FMOD_Memory_GetStats (int *currentalloced, int *maxalloced, FMOD_BOOL blocking); -FMOD_RESULT F_API FMOD_Debug_Initialize (FMOD_DEBUG_FLAGS flags, FMOD_DEBUG_MODE mode, FMOD_DEBUG_CALLBACK callback, const char *filename); -FMOD_RESULT F_API FMOD_File_SetDiskBusy (int busy); -FMOD_RESULT F_API FMOD_File_GetDiskBusy (int *busy); - -/* - FMOD System factory functions. Use this to create an FMOD System Instance. below you will see FMOD_System_Init/Close to get started. -*/ -FMOD_RESULT F_API FMOD_System_Create (FMOD_SYSTEM **system); -FMOD_RESULT F_API FMOD_System_Release (FMOD_SYSTEM *system); - -/* - 'System' API -*/ - -/* Setup functions. */ -FMOD_RESULT F_API FMOD_System_SetOutput (FMOD_SYSTEM *system, FMOD_OUTPUTTYPE output); -FMOD_RESULT F_API FMOD_System_GetOutput (FMOD_SYSTEM *system, FMOD_OUTPUTTYPE *output); -FMOD_RESULT F_API FMOD_System_GetNumDrivers (FMOD_SYSTEM *system, int *numdrivers); -FMOD_RESULT F_API FMOD_System_GetDriverInfo (FMOD_SYSTEM *system, int id, char *name, int namelen, FMOD_GUID *guid, int *systemrate, FMOD_SPEAKERMODE *speakermode, int *speakermodechannels); -FMOD_RESULT F_API FMOD_System_SetDriver (FMOD_SYSTEM *system, int driver); -FMOD_RESULT F_API FMOD_System_GetDriver (FMOD_SYSTEM *system, int *driver); -FMOD_RESULT F_API FMOD_System_SetSoftwareChannels (FMOD_SYSTEM *system, int numsoftwarechannels); -FMOD_RESULT F_API FMOD_System_GetSoftwareChannels (FMOD_SYSTEM *system, int *numsoftwarechannels); -FMOD_RESULT F_API FMOD_System_SetSoftwareFormat (FMOD_SYSTEM *system, int samplerate, FMOD_SPEAKERMODE speakermode, int numrawspeakers); -FMOD_RESULT F_API FMOD_System_GetSoftwareFormat (FMOD_SYSTEM *system, int *samplerate, FMOD_SPEAKERMODE *speakermode, int *numrawspeakers); -FMOD_RESULT F_API FMOD_System_SetDSPBufferSize (FMOD_SYSTEM *system, unsigned int bufferlength, int numbuffers); -FMOD_RESULT F_API FMOD_System_GetDSPBufferSize (FMOD_SYSTEM *system, unsigned int *bufferlength, int *numbuffers); -FMOD_RESULT F_API FMOD_System_SetFileSystem (FMOD_SYSTEM *system, FMOD_FILE_OPEN_CALLBACK useropen, FMOD_FILE_CLOSE_CALLBACK userclose, FMOD_FILE_READ_CALLBACK userread, FMOD_FILE_SEEK_CALLBACK userseek, FMOD_FILE_ASYNCREAD_CALLBACK userasyncread, FMOD_FILE_ASYNCCANCEL_CALLBACK userasynccancel, int blockalign); -FMOD_RESULT F_API FMOD_System_AttachFileSystem (FMOD_SYSTEM *system, FMOD_FILE_OPEN_CALLBACK useropen, FMOD_FILE_CLOSE_CALLBACK userclose, FMOD_FILE_READ_CALLBACK userread, FMOD_FILE_SEEK_CALLBACK userseek); -FMOD_RESULT F_API FMOD_System_SetAdvancedSettings (FMOD_SYSTEM *system, FMOD_ADVANCEDSETTINGS *settings); -FMOD_RESULT F_API FMOD_System_GetAdvancedSettings (FMOD_SYSTEM *system, FMOD_ADVANCEDSETTINGS *settings); -FMOD_RESULT F_API FMOD_System_SetCallback (FMOD_SYSTEM *system, FMOD_SYSTEM_CALLBACK callback, FMOD_SYSTEM_CALLBACK_TYPE callbackmask); - -/* Plug-in support. */ -FMOD_RESULT F_API FMOD_System_SetPluginPath (FMOD_SYSTEM *system, const char *path); -FMOD_RESULT F_API FMOD_System_LoadPlugin (FMOD_SYSTEM *system, const char *filename, unsigned int *handle, unsigned int priority); -FMOD_RESULT F_API FMOD_System_UnloadPlugin (FMOD_SYSTEM *system, unsigned int handle); -FMOD_RESULT F_API FMOD_System_GetNumNestedPlugins (FMOD_SYSTEM *system, unsigned int handle, int *count); -FMOD_RESULT F_API FMOD_System_GetNestedPlugin (FMOD_SYSTEM *system, unsigned int handle, int index, unsigned int *nestedhandle); -FMOD_RESULT F_API FMOD_System_GetNumPlugins (FMOD_SYSTEM *system, FMOD_PLUGINTYPE plugintype, int *numplugins); -FMOD_RESULT F_API FMOD_System_GetPluginHandle (FMOD_SYSTEM *system, FMOD_PLUGINTYPE plugintype, int index, unsigned int *handle); -FMOD_RESULT F_API FMOD_System_GetPluginInfo (FMOD_SYSTEM *system, unsigned int handle, FMOD_PLUGINTYPE *plugintype, char *name, int namelen, unsigned int *version); -FMOD_RESULT F_API FMOD_System_SetOutputByPlugin (FMOD_SYSTEM *system, unsigned int handle); -FMOD_RESULT F_API FMOD_System_GetOutputByPlugin (FMOD_SYSTEM *system, unsigned int *handle); -FMOD_RESULT F_API FMOD_System_CreateDSPByPlugin (FMOD_SYSTEM *system, unsigned int handle, FMOD_DSP **dsp); -FMOD_RESULT F_API FMOD_System_GetDSPInfoByPlugin (FMOD_SYSTEM *system, unsigned int handle, const FMOD_DSP_DESCRIPTION **description); -FMOD_RESULT F_API FMOD_System_RegisterCodec (FMOD_SYSTEM *system, FMOD_CODEC_DESCRIPTION *description, unsigned int *handle, unsigned int priority); -FMOD_RESULT F_API FMOD_System_RegisterDSP (FMOD_SYSTEM *system, const FMOD_DSP_DESCRIPTION *description, unsigned int *handle); -FMOD_RESULT F_API FMOD_System_RegisterOutput (FMOD_SYSTEM *system, const FMOD_OUTPUT_DESCRIPTION *description, unsigned int *handle); - -/* Init/Close. */ -FMOD_RESULT F_API FMOD_System_Init (FMOD_SYSTEM *system, int maxchannels, FMOD_INITFLAGS flags, void *extradriverdata); -FMOD_RESULT F_API FMOD_System_Close (FMOD_SYSTEM *system); - -/* General post-init system functions. */ -FMOD_RESULT F_API FMOD_System_Update (FMOD_SYSTEM *system); -FMOD_RESULT F_API FMOD_System_SetSpeakerPosition (FMOD_SYSTEM *system, FMOD_SPEAKER speaker, float x, float y, FMOD_BOOL active); -FMOD_RESULT F_API FMOD_System_GetSpeakerPosition (FMOD_SYSTEM *system, FMOD_SPEAKER speaker, float *x, float *y, FMOD_BOOL *active); -FMOD_RESULT F_API FMOD_System_SetStreamBufferSize (FMOD_SYSTEM *system, unsigned int filebuffersize, FMOD_TIMEUNIT filebuffersizetype); -FMOD_RESULT F_API FMOD_System_GetStreamBufferSize (FMOD_SYSTEM *system, unsigned int *filebuffersize, FMOD_TIMEUNIT *filebuffersizetype); -FMOD_RESULT F_API FMOD_System_Set3DSettings (FMOD_SYSTEM *system, float dopplerscale, float distancefactor, float rolloffscale); -FMOD_RESULT F_API FMOD_System_Get3DSettings (FMOD_SYSTEM *system, float *dopplerscale, float *distancefactor, float *rolloffscale); -FMOD_RESULT F_API FMOD_System_Set3DNumListeners (FMOD_SYSTEM *system, int numlisteners); -FMOD_RESULT F_API FMOD_System_Get3DNumListeners (FMOD_SYSTEM *system, int *numlisteners); -FMOD_RESULT F_API FMOD_System_Set3DListenerAttributes (FMOD_SYSTEM *system, int listener, const FMOD_VECTOR *pos, const FMOD_VECTOR *vel, const FMOD_VECTOR *forward, const FMOD_VECTOR *up); -FMOD_RESULT F_API FMOD_System_Get3DListenerAttributes (FMOD_SYSTEM *system, int listener, FMOD_VECTOR *pos, FMOD_VECTOR *vel, FMOD_VECTOR *forward, FMOD_VECTOR *up); -FMOD_RESULT F_API FMOD_System_Set3DRolloffCallback (FMOD_SYSTEM *system, FMOD_3D_ROLLOFF_CALLBACK callback); -FMOD_RESULT F_API FMOD_System_MixerSuspend (FMOD_SYSTEM *system); -FMOD_RESULT F_API FMOD_System_MixerResume (FMOD_SYSTEM *system); -FMOD_RESULT F_API FMOD_System_GetDefaultMixMatrix (FMOD_SYSTEM *system, FMOD_SPEAKERMODE sourcespeakermode, FMOD_SPEAKERMODE targetspeakermode, float *matrix, int matrixhop); -FMOD_RESULT F_API FMOD_System_GetSpeakerModeChannels (FMOD_SYSTEM *system, FMOD_SPEAKERMODE mode, int *channels); - -/* System information functions. */ -FMOD_RESULT F_API FMOD_System_GetVersion (FMOD_SYSTEM *system, unsigned int *version); -FMOD_RESULT F_API FMOD_System_GetOutputHandle (FMOD_SYSTEM *system, void **handle); -FMOD_RESULT F_API FMOD_System_GetChannelsPlaying (FMOD_SYSTEM *system, int *channels, int *realchannels); -FMOD_RESULT F_API FMOD_System_GetCPUUsage (FMOD_SYSTEM *system, float *dsp, float *stream, float *geometry, float *update, float *total); -FMOD_RESULT F_API FMOD_System_GetFileUsage (FMOD_SYSTEM *system, long long *sampleBytesRead, long long *streamBytesRead, long long *otherBytesRead); - -/* Sound/DSP/Channel/FX creation and retrieval. */ -FMOD_RESULT F_API FMOD_System_CreateSound (FMOD_SYSTEM *system, const char *name_or_data, FMOD_MODE mode, FMOD_CREATESOUNDEXINFO *exinfo, FMOD_SOUND **sound); -FMOD_RESULT F_API FMOD_System_CreateStream (FMOD_SYSTEM *system, const char *name_or_data, FMOD_MODE mode, FMOD_CREATESOUNDEXINFO *exinfo, FMOD_SOUND **sound); -FMOD_RESULT F_API FMOD_System_CreateDSP (FMOD_SYSTEM *system, const FMOD_DSP_DESCRIPTION *description, FMOD_DSP **dsp); -FMOD_RESULT F_API FMOD_System_CreateDSPByType (FMOD_SYSTEM *system, FMOD_DSP_TYPE type, FMOD_DSP **dsp); -FMOD_RESULT F_API FMOD_System_CreateChannelGroup (FMOD_SYSTEM *system, const char *name, FMOD_CHANNELGROUP **channelgroup); -FMOD_RESULT F_API FMOD_System_CreateSoundGroup (FMOD_SYSTEM *system, const char *name, FMOD_SOUNDGROUP **soundgroup); -FMOD_RESULT F_API FMOD_System_CreateReverb3D (FMOD_SYSTEM *system, FMOD_REVERB3D **reverb); -FMOD_RESULT F_API FMOD_System_PlaySound (FMOD_SYSTEM *system, FMOD_SOUND *sound, FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL paused, FMOD_CHANNEL **channel); -FMOD_RESULT F_API FMOD_System_PlayDSP (FMOD_SYSTEM *system, FMOD_DSP *dsp, FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL paused, FMOD_CHANNEL **channel); -FMOD_RESULT F_API FMOD_System_GetChannel (FMOD_SYSTEM *system, int channelid, FMOD_CHANNEL **channel); -FMOD_RESULT F_API FMOD_System_GetMasterChannelGroup (FMOD_SYSTEM *system, FMOD_CHANNELGROUP **channelgroup); -FMOD_RESULT F_API FMOD_System_GetMasterSoundGroup (FMOD_SYSTEM *system, FMOD_SOUNDGROUP **soundgroup); - -/* Routing to ports. */ -FMOD_RESULT F_API FMOD_System_AttachChannelGroupToPort (FMOD_SYSTEM *system, FMOD_PORT_TYPE portType, FMOD_PORT_INDEX portIndex, FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL passThru); -FMOD_RESULT F_API FMOD_System_DetachChannelGroupFromPort(FMOD_SYSTEM *system, FMOD_CHANNELGROUP *channelgroup); - -/* Reverb API. */ -FMOD_RESULT F_API FMOD_System_SetReverbProperties (FMOD_SYSTEM *system, int instance, const FMOD_REVERB_PROPERTIES *prop); -FMOD_RESULT F_API FMOD_System_GetReverbProperties (FMOD_SYSTEM *system, int instance, FMOD_REVERB_PROPERTIES *prop); - -/* System level DSP functionality. */ -FMOD_RESULT F_API FMOD_System_LockDSP (FMOD_SYSTEM *system); -FMOD_RESULT F_API FMOD_System_UnlockDSP (FMOD_SYSTEM *system); - -/* Recording API. */ -FMOD_RESULT F_API FMOD_System_GetRecordNumDrivers (FMOD_SYSTEM *system, int *numdrivers, int *numconnected); -FMOD_RESULT F_API FMOD_System_GetRecordDriverInfo (FMOD_SYSTEM *system, int id, char *name, int namelen, FMOD_GUID *guid, int *systemrate, FMOD_SPEAKERMODE *speakermode, int *speakermodechannels, FMOD_DRIVER_STATE *state); -FMOD_RESULT F_API FMOD_System_GetRecordPosition (FMOD_SYSTEM *system, int id, unsigned int *position); -FMOD_RESULT F_API FMOD_System_RecordStart (FMOD_SYSTEM *system, int id, FMOD_SOUND *sound, FMOD_BOOL loop); -FMOD_RESULT F_API FMOD_System_RecordStop (FMOD_SYSTEM *system, int id); -FMOD_RESULT F_API FMOD_System_IsRecording (FMOD_SYSTEM *system, int id, FMOD_BOOL *recording); - -/* Geometry API. */ -FMOD_RESULT F_API FMOD_System_CreateGeometry (FMOD_SYSTEM *system, int maxpolygons, int maxvertices, FMOD_GEOMETRY **geometry); -FMOD_RESULT F_API FMOD_System_SetGeometrySettings (FMOD_SYSTEM *system, float maxworldsize); -FMOD_RESULT F_API FMOD_System_GetGeometrySettings (FMOD_SYSTEM *system, float *maxworldsize); -FMOD_RESULT F_API FMOD_System_LoadGeometry (FMOD_SYSTEM *system, const void *data, int datasize, FMOD_GEOMETRY **geometry); -FMOD_RESULT F_API FMOD_System_GetGeometryOcclusion (FMOD_SYSTEM *system, const FMOD_VECTOR *listener, const FMOD_VECTOR *source, float *direct, float *reverb); - -/* Network functions. */ -FMOD_RESULT F_API FMOD_System_SetNetworkProxy (FMOD_SYSTEM *system, const char *proxy); -FMOD_RESULT F_API FMOD_System_GetNetworkProxy (FMOD_SYSTEM *system, char *proxy, int proxylen); -FMOD_RESULT F_API FMOD_System_SetNetworkTimeout (FMOD_SYSTEM *system, int timeout); -FMOD_RESULT F_API FMOD_System_GetNetworkTimeout (FMOD_SYSTEM *system, int *timeout); - -/* Userdata set/get. */ -FMOD_RESULT F_API FMOD_System_SetUserData (FMOD_SYSTEM *system, void *userdata); -FMOD_RESULT F_API FMOD_System_GetUserData (FMOD_SYSTEM *system, void **userdata); - -/* Sound API -*/ - -FMOD_RESULT F_API FMOD_Sound_Release (FMOD_SOUND *sound); -FMOD_RESULT F_API FMOD_Sound_GetSystemObject (FMOD_SOUND *sound, FMOD_SYSTEM **system); - -/* - Standard sound manipulation functions. -*/ - -FMOD_RESULT F_API FMOD_Sound_Lock (FMOD_SOUND *sound, unsigned int offset, unsigned int length, void **ptr1, void **ptr2, unsigned int *len1, unsigned int *len2); -FMOD_RESULT F_API FMOD_Sound_Unlock (FMOD_SOUND *sound, void *ptr1, void *ptr2, unsigned int len1, unsigned int len2); -FMOD_RESULT F_API FMOD_Sound_SetDefaults (FMOD_SOUND *sound, float frequency, int priority); -FMOD_RESULT F_API FMOD_Sound_GetDefaults (FMOD_SOUND *sound, float *frequency, int *priority); -FMOD_RESULT F_API FMOD_Sound_Set3DMinMaxDistance (FMOD_SOUND *sound, float min, float max); -FMOD_RESULT F_API FMOD_Sound_Get3DMinMaxDistance (FMOD_SOUND *sound, float *min, float *max); -FMOD_RESULT F_API FMOD_Sound_Set3DConeSettings (FMOD_SOUND *sound, float insideconeangle, float outsideconeangle, float outsidevolume); -FMOD_RESULT F_API FMOD_Sound_Get3DConeSettings (FMOD_SOUND *sound, float *insideconeangle, float *outsideconeangle, float *outsidevolume); -FMOD_RESULT F_API FMOD_Sound_Set3DCustomRolloff (FMOD_SOUND *sound, FMOD_VECTOR *points, int numpoints); -FMOD_RESULT F_API FMOD_Sound_Get3DCustomRolloff (FMOD_SOUND *sound, FMOD_VECTOR **points, int *numpoints); -FMOD_RESULT F_API FMOD_Sound_GetSubSound (FMOD_SOUND *sound, int index, FMOD_SOUND **subsound); -FMOD_RESULT F_API FMOD_Sound_GetSubSoundParent (FMOD_SOUND *sound, FMOD_SOUND **parentsound); -FMOD_RESULT F_API FMOD_Sound_GetName (FMOD_SOUND *sound, char *name, int namelen); -FMOD_RESULT F_API FMOD_Sound_GetLength (FMOD_SOUND *sound, unsigned int *length, FMOD_TIMEUNIT lengthtype); -FMOD_RESULT F_API FMOD_Sound_GetFormat (FMOD_SOUND *sound, FMOD_SOUND_TYPE *type, FMOD_SOUND_FORMAT *format, int *channels, int *bits); -FMOD_RESULT F_API FMOD_Sound_GetNumSubSounds (FMOD_SOUND *sound, int *numsubsounds); -FMOD_RESULT F_API FMOD_Sound_GetNumTags (FMOD_SOUND *sound, int *numtags, int *numtagsupdated); -FMOD_RESULT F_API FMOD_Sound_GetTag (FMOD_SOUND *sound, const char *name, int index, FMOD_TAG *tag); -FMOD_RESULT F_API FMOD_Sound_GetOpenState (FMOD_SOUND *sound, FMOD_OPENSTATE *openstate, unsigned int *percentbuffered, FMOD_BOOL *starving, FMOD_BOOL *diskbusy); -FMOD_RESULT F_API FMOD_Sound_ReadData (FMOD_SOUND *sound, void *buffer, unsigned int length, unsigned int *read); -FMOD_RESULT F_API FMOD_Sound_SeekData (FMOD_SOUND *sound, unsigned int pcm); - -FMOD_RESULT F_API FMOD_Sound_SetSoundGroup (FMOD_SOUND *sound, FMOD_SOUNDGROUP *soundgroup); -FMOD_RESULT F_API FMOD_Sound_GetSoundGroup (FMOD_SOUND *sound, FMOD_SOUNDGROUP **soundgroup); - -/* - Synchronization point API. These points can come from markers embedded in wav files, and can also generate channel callbacks. -*/ - -FMOD_RESULT F_API FMOD_Sound_GetNumSyncPoints (FMOD_SOUND *sound, int *numsyncpoints); -FMOD_RESULT F_API FMOD_Sound_GetSyncPoint (FMOD_SOUND *sound, int index, FMOD_SYNCPOINT **point); -FMOD_RESULT F_API FMOD_Sound_GetSyncPointInfo (FMOD_SOUND *sound, FMOD_SYNCPOINT *point, char *name, int namelen, unsigned int *offset, FMOD_TIMEUNIT offsettype); -FMOD_RESULT F_API FMOD_Sound_AddSyncPoint (FMOD_SOUND *sound, unsigned int offset, FMOD_TIMEUNIT offsettype, const char *name, FMOD_SYNCPOINT **point); -FMOD_RESULT F_API FMOD_Sound_DeleteSyncPoint (FMOD_SOUND *sound, FMOD_SYNCPOINT *point); - -/* - Functions also in Channel class but here they are the 'default' to save having to change it in Channel all the time. -*/ - -FMOD_RESULT F_API FMOD_Sound_SetMode (FMOD_SOUND *sound, FMOD_MODE mode); -FMOD_RESULT F_API FMOD_Sound_GetMode (FMOD_SOUND *sound, FMOD_MODE *mode); -FMOD_RESULT F_API FMOD_Sound_SetLoopCount (FMOD_SOUND *sound, int loopcount); -FMOD_RESULT F_API FMOD_Sound_GetLoopCount (FMOD_SOUND *sound, int *loopcount); -FMOD_RESULT F_API FMOD_Sound_SetLoopPoints (FMOD_SOUND *sound, unsigned int loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int loopend, FMOD_TIMEUNIT loopendtype); -FMOD_RESULT F_API FMOD_Sound_GetLoopPoints (FMOD_SOUND *sound, unsigned int *loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int *loopend, FMOD_TIMEUNIT loopendtype); - -/* - For MOD/S3M/XM/IT/MID sequenced formats only. -*/ - -FMOD_RESULT F_API FMOD_Sound_GetMusicNumChannels (FMOD_SOUND *sound, int *numchannels); -FMOD_RESULT F_API FMOD_Sound_SetMusicChannelVolume (FMOD_SOUND *sound, int channel, float volume); -FMOD_RESULT F_API FMOD_Sound_GetMusicChannelVolume (FMOD_SOUND *sound, int channel, float *volume); -FMOD_RESULT F_API FMOD_Sound_SetMusicSpeed (FMOD_SOUND *sound, float speed); -FMOD_RESULT F_API FMOD_Sound_GetMusicSpeed (FMOD_SOUND *sound, float *speed); - -/* - Userdata set/get. -*/ - -FMOD_RESULT F_API FMOD_Sound_SetUserData (FMOD_SOUND *sound, void *userdata); -FMOD_RESULT F_API FMOD_Sound_GetUserData (FMOD_SOUND *sound, void **userdata); - -/* - 'Channel' API -*/ - -FMOD_RESULT F_API FMOD_Channel_GetSystemObject (FMOD_CHANNEL *channel, FMOD_SYSTEM **system); - -/* - General control functionality for Channels and ChannelGroups. -*/ - -FMOD_RESULT F_API FMOD_Channel_Stop (FMOD_CHANNEL *channel); -FMOD_RESULT F_API FMOD_Channel_SetPaused (FMOD_CHANNEL *channel, FMOD_BOOL paused); -FMOD_RESULT F_API FMOD_Channel_GetPaused (FMOD_CHANNEL *channel, FMOD_BOOL *paused); -FMOD_RESULT F_API FMOD_Channel_SetVolume (FMOD_CHANNEL *channel, float volume); -FMOD_RESULT F_API FMOD_Channel_GetVolume (FMOD_CHANNEL *channel, float *volume); -FMOD_RESULT F_API FMOD_Channel_SetVolumeRamp (FMOD_CHANNEL *channel, FMOD_BOOL ramp); -FMOD_RESULT F_API FMOD_Channel_GetVolumeRamp (FMOD_CHANNEL *channel, FMOD_BOOL *ramp); -FMOD_RESULT F_API FMOD_Channel_GetAudibility (FMOD_CHANNEL *channel, float *audibility); -FMOD_RESULT F_API FMOD_Channel_SetPitch (FMOD_CHANNEL *channel, float pitch); -FMOD_RESULT F_API FMOD_Channel_GetPitch (FMOD_CHANNEL *channel, float *pitch); -FMOD_RESULT F_API FMOD_Channel_SetMute (FMOD_CHANNEL *channel, FMOD_BOOL mute); -FMOD_RESULT F_API FMOD_Channel_GetMute (FMOD_CHANNEL *channel, FMOD_BOOL *mute); -FMOD_RESULT F_API FMOD_Channel_SetReverbProperties (FMOD_CHANNEL *channel, int instance, float wet); -FMOD_RESULT F_API FMOD_Channel_GetReverbProperties (FMOD_CHANNEL *channel, int instance, float *wet); -FMOD_RESULT F_API FMOD_Channel_SetLowPassGain (FMOD_CHANNEL *channel, float gain); -FMOD_RESULT F_API FMOD_Channel_GetLowPassGain (FMOD_CHANNEL *channel, float *gain); -FMOD_RESULT F_API FMOD_Channel_SetMode (FMOD_CHANNEL *channel, FMOD_MODE mode); -FMOD_RESULT F_API FMOD_Channel_GetMode (FMOD_CHANNEL *channel, FMOD_MODE *mode); -FMOD_RESULT F_API FMOD_Channel_SetCallback (FMOD_CHANNEL *channel, FMOD_CHANNELCONTROL_CALLBACK callback); -FMOD_RESULT F_API FMOD_Channel_IsPlaying (FMOD_CHANNEL *channel, FMOD_BOOL *isplaying); - -/* - Note all 'set' functions alter a final matrix, this is why the only get function is getMixMatrix, to avoid other get functions returning incorrect/obsolete values. -*/ - -FMOD_RESULT F_API FMOD_Channel_SetPan (FMOD_CHANNEL *channel, float pan); -FMOD_RESULT F_API FMOD_Channel_SetMixLevelsOutput (FMOD_CHANNEL *channel, float frontleft, float frontright, float center, float lfe, float surroundleft, float surroundright, float backleft, float backright); -FMOD_RESULT F_API FMOD_Channel_SetMixLevelsInput (FMOD_CHANNEL *channel, float *levels, int numlevels); -FMOD_RESULT F_API FMOD_Channel_SetMixMatrix (FMOD_CHANNEL *channel, float *matrix, int outchannels, int inchannels, int inchannel_hop); -FMOD_RESULT F_API FMOD_Channel_GetMixMatrix (FMOD_CHANNEL *channel, float *matrix, int *outchannels, int *inchannels, int inchannel_hop); - -/* - Clock based functionality. -*/ - -FMOD_RESULT F_API FMOD_Channel_GetDSPClock (FMOD_CHANNEL *channel, unsigned long long *dspclock, unsigned long long *parentclock); -FMOD_RESULT F_API FMOD_Channel_SetDelay (FMOD_CHANNEL *channel, unsigned long long dspclock_start, unsigned long long dspclock_end, FMOD_BOOL stopchannels); -FMOD_RESULT F_API FMOD_Channel_GetDelay (FMOD_CHANNEL *channel, unsigned long long *dspclock_start, unsigned long long *dspclock_end, FMOD_BOOL *stopchannels); -FMOD_RESULT F_API FMOD_Channel_AddFadePoint (FMOD_CHANNEL *channel, unsigned long long dspclock, float volume); -FMOD_RESULT F_API FMOD_Channel_SetFadePointRamp (FMOD_CHANNEL *channel, unsigned long long dspclock, float volume); -FMOD_RESULT F_API FMOD_Channel_RemoveFadePoints (FMOD_CHANNEL *channel, unsigned long long dspclock_start, unsigned long long dspclock_end); -FMOD_RESULT F_API FMOD_Channel_GetFadePoints (FMOD_CHANNEL *channel, unsigned int *numpoints, unsigned long long *point_dspclock, float *point_volume); - -/* - DSP effects. -*/ - -FMOD_RESULT F_API FMOD_Channel_GetDSP (FMOD_CHANNEL *channel, int index, FMOD_DSP **dsp); -FMOD_RESULT F_API FMOD_Channel_AddDSP (FMOD_CHANNEL *channel, int index, FMOD_DSP *dsp); -FMOD_RESULT F_API FMOD_Channel_RemoveDSP (FMOD_CHANNEL *channel, FMOD_DSP *dsp); -FMOD_RESULT F_API FMOD_Channel_GetNumDSPs (FMOD_CHANNEL *channel, int *numdsps); -FMOD_RESULT F_API FMOD_Channel_SetDSPIndex (FMOD_CHANNEL *channel, FMOD_DSP *dsp, int index); -FMOD_RESULT F_API FMOD_Channel_GetDSPIndex (FMOD_CHANNEL *channel, FMOD_DSP *dsp, int *index); - -/* - 3D functionality. -*/ - -FMOD_RESULT F_API FMOD_Channel_Set3DAttributes (FMOD_CHANNEL *channel, const FMOD_VECTOR *pos, const FMOD_VECTOR *vel); -FMOD_RESULT F_API FMOD_Channel_Get3DAttributes (FMOD_CHANNEL *channel, FMOD_VECTOR *pos, FMOD_VECTOR *vel); -FMOD_RESULT F_API FMOD_Channel_Set3DMinMaxDistance (FMOD_CHANNEL *channel, float mindistance, float maxdistance); -FMOD_RESULT F_API FMOD_Channel_Get3DMinMaxDistance (FMOD_CHANNEL *channel, float *mindistance, float *maxdistance); -FMOD_RESULT F_API FMOD_Channel_Set3DConeSettings (FMOD_CHANNEL *channel, float insideconeangle, float outsideconeangle, float outsidevolume); -FMOD_RESULT F_API FMOD_Channel_Get3DConeSettings (FMOD_CHANNEL *channel, float *insideconeangle, float *outsideconeangle, float *outsidevolume); -FMOD_RESULT F_API FMOD_Channel_Set3DConeOrientation (FMOD_CHANNEL *channel, FMOD_VECTOR *orientation); -FMOD_RESULT F_API FMOD_Channel_Get3DConeOrientation (FMOD_CHANNEL *channel, FMOD_VECTOR *orientation); -FMOD_RESULT F_API FMOD_Channel_Set3DCustomRolloff (FMOD_CHANNEL *channel, FMOD_VECTOR *points, int numpoints); -FMOD_RESULT F_API FMOD_Channel_Get3DCustomRolloff (FMOD_CHANNEL *channel, FMOD_VECTOR **points, int *numpoints); -FMOD_RESULT F_API FMOD_Channel_Set3DOcclusion (FMOD_CHANNEL *channel, float directocclusion, float reverbocclusion); -FMOD_RESULT F_API FMOD_Channel_Get3DOcclusion (FMOD_CHANNEL *channel, float *directocclusion, float *reverbocclusion); -FMOD_RESULT F_API FMOD_Channel_Set3DSpread (FMOD_CHANNEL *channel, float angle); -FMOD_RESULT F_API FMOD_Channel_Get3DSpread (FMOD_CHANNEL *channel, float *angle); -FMOD_RESULT F_API FMOD_Channel_Set3DLevel (FMOD_CHANNEL *channel, float level); -FMOD_RESULT F_API FMOD_Channel_Get3DLevel (FMOD_CHANNEL *channel, float *level); -FMOD_RESULT F_API FMOD_Channel_Set3DDopplerLevel (FMOD_CHANNEL *channel, float level); -FMOD_RESULT F_API FMOD_Channel_Get3DDopplerLevel (FMOD_CHANNEL *channel, float *level); -FMOD_RESULT F_API FMOD_Channel_Set3DDistanceFilter (FMOD_CHANNEL *channel, FMOD_BOOL custom, float customLevel, float centerFreq); -FMOD_RESULT F_API FMOD_Channel_Get3DDistanceFilter (FMOD_CHANNEL *channel, FMOD_BOOL *custom, float *customLevel, float *centerFreq); - -/* - Userdata set/get. -*/ - -FMOD_RESULT F_API FMOD_Channel_SetUserData (FMOD_CHANNEL *channel, void *userdata); -FMOD_RESULT F_API FMOD_Channel_GetUserData (FMOD_CHANNEL *channel, void **userdata); - -/* - Channel specific control functionality. -*/ - -FMOD_RESULT F_API FMOD_Channel_SetFrequency (FMOD_CHANNEL *channel, float frequency); -FMOD_RESULT F_API FMOD_Channel_GetFrequency (FMOD_CHANNEL *channel, float *frequency); -FMOD_RESULT F_API FMOD_Channel_SetPriority (FMOD_CHANNEL *channel, int priority); -FMOD_RESULT F_API FMOD_Channel_GetPriority (FMOD_CHANNEL *channel, int *priority); -FMOD_RESULT F_API FMOD_Channel_SetPosition (FMOD_CHANNEL *channel, unsigned int position, FMOD_TIMEUNIT postype); -FMOD_RESULT F_API FMOD_Channel_GetPosition (FMOD_CHANNEL *channel, unsigned int *position, FMOD_TIMEUNIT postype); -FMOD_RESULT F_API FMOD_Channel_SetChannelGroup (FMOD_CHANNEL *channel, FMOD_CHANNELGROUP *channelgroup); -FMOD_RESULT F_API FMOD_Channel_GetChannelGroup (FMOD_CHANNEL *channel, FMOD_CHANNELGROUP **channelgroup); -FMOD_RESULT F_API FMOD_Channel_SetLoopCount (FMOD_CHANNEL *channel, int loopcount); -FMOD_RESULT F_API FMOD_Channel_GetLoopCount (FMOD_CHANNEL *channel, int *loopcount); -FMOD_RESULT F_API FMOD_Channel_SetLoopPoints (FMOD_CHANNEL *channel, unsigned int loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int loopend, FMOD_TIMEUNIT loopendtype); -FMOD_RESULT F_API FMOD_Channel_GetLoopPoints (FMOD_CHANNEL *channel, unsigned int *loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int *loopend, FMOD_TIMEUNIT loopendtype); - -/* - Information only functions. -*/ - -FMOD_RESULT F_API FMOD_Channel_IsVirtual (FMOD_CHANNEL *channel, FMOD_BOOL *isvirtual); -FMOD_RESULT F_API FMOD_Channel_GetCurrentSound (FMOD_CHANNEL *channel, FMOD_SOUND **sound); -FMOD_RESULT F_API FMOD_Channel_GetIndex (FMOD_CHANNEL *channel, int *index); - -/* - 'ChannelGroup' API -*/ - -FMOD_RESULT F_API FMOD_ChannelGroup_GetSystemObject (FMOD_CHANNELGROUP *channelgroup, FMOD_SYSTEM **system); - -/* - General control functionality for Channels and ChannelGroups. -*/ - -FMOD_RESULT F_API FMOD_ChannelGroup_Stop (FMOD_CHANNELGROUP *channelgroup); -FMOD_RESULT F_API FMOD_ChannelGroup_SetPaused (FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL paused); -FMOD_RESULT F_API FMOD_ChannelGroup_GetPaused (FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL *paused); -FMOD_RESULT F_API FMOD_ChannelGroup_SetVolume (FMOD_CHANNELGROUP *channelgroup, float volume); -FMOD_RESULT F_API FMOD_ChannelGroup_GetVolume (FMOD_CHANNELGROUP *channelgroup, float *volume); -FMOD_RESULT F_API FMOD_ChannelGroup_SetVolumeRamp (FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL ramp); -FMOD_RESULT F_API FMOD_ChannelGroup_GetVolumeRamp (FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL *ramp); -FMOD_RESULT F_API FMOD_ChannelGroup_GetAudibility (FMOD_CHANNELGROUP *channelgroup, float *audibility); -FMOD_RESULT F_API FMOD_ChannelGroup_SetPitch (FMOD_CHANNELGROUP *channelgroup, float pitch); -FMOD_RESULT F_API FMOD_ChannelGroup_GetPitch (FMOD_CHANNELGROUP *channelgroup, float *pitch); -FMOD_RESULT F_API FMOD_ChannelGroup_SetMute (FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL mute); -FMOD_RESULT F_API FMOD_ChannelGroup_GetMute (FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL *mute); -FMOD_RESULT F_API FMOD_ChannelGroup_SetReverbProperties (FMOD_CHANNELGROUP *channelgroup, int instance, float wet); -FMOD_RESULT F_API FMOD_ChannelGroup_GetReverbProperties (FMOD_CHANNELGROUP *channelgroup, int instance, float *wet); -FMOD_RESULT F_API FMOD_ChannelGroup_SetLowPassGain (FMOD_CHANNELGROUP *channelgroup, float gain); -FMOD_RESULT F_API FMOD_ChannelGroup_GetLowPassGain (FMOD_CHANNELGROUP *channelgroup, float *gain); -FMOD_RESULT F_API FMOD_ChannelGroup_SetMode (FMOD_CHANNELGROUP *channelgroup, FMOD_MODE mode); -FMOD_RESULT F_API FMOD_ChannelGroup_GetMode (FMOD_CHANNELGROUP *channelgroup, FMOD_MODE *mode); -FMOD_RESULT F_API FMOD_ChannelGroup_SetCallback (FMOD_CHANNELGROUP *channelgroup, FMOD_CHANNELCONTROL_CALLBACK callback); -FMOD_RESULT F_API FMOD_ChannelGroup_IsPlaying (FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL *isplaying); - -/* - Note all 'set' functions alter a final matrix, this is why the only get function is getMixMatrix, to avoid other get functions returning incorrect/obsolete values. -*/ - -FMOD_RESULT F_API FMOD_ChannelGroup_SetPan (FMOD_CHANNELGROUP *channelgroup, float pan); -FMOD_RESULT F_API FMOD_ChannelGroup_SetMixLevelsOutput (FMOD_CHANNELGROUP *channelgroup, float frontleft, float frontright, float center, float lfe, float surroundleft, float surroundright, float backleft, float backright); -FMOD_RESULT F_API FMOD_ChannelGroup_SetMixLevelsInput (FMOD_CHANNELGROUP *channelgroup, float *levels, int numlevels); -FMOD_RESULT F_API FMOD_ChannelGroup_SetMixMatrix (FMOD_CHANNELGROUP *channelgroup, float *matrix, int outchannels, int inchannels, int inchannel_hop); -FMOD_RESULT F_API FMOD_ChannelGroup_GetMixMatrix (FMOD_CHANNELGROUP *channelgroup, float *matrix, int *outchannels, int *inchannels, int inchannel_hop); - -/* - Clock based functionality. -*/ - -FMOD_RESULT F_API FMOD_ChannelGroup_GetDSPClock (FMOD_CHANNELGROUP *channelgroup, unsigned long long *dspclock, unsigned long long *parentclock); -FMOD_RESULT F_API FMOD_ChannelGroup_SetDelay (FMOD_CHANNELGROUP *channelgroup, unsigned long long dspclock_start, unsigned long long dspclock_end, FMOD_BOOL stopchannels); -FMOD_RESULT F_API FMOD_ChannelGroup_GetDelay (FMOD_CHANNELGROUP *channelgroup, unsigned long long *dspclock_start, unsigned long long *dspclock_end, FMOD_BOOL *stopchannels); -FMOD_RESULT F_API FMOD_ChannelGroup_AddFadePoint (FMOD_CHANNELGROUP *channelgroup, unsigned long long dspclock, float volume); -FMOD_RESULT F_API FMOD_ChannelGroup_SetFadePointRamp (FMOD_CHANNELGROUP *channelgroup, unsigned long long dspclock, float volume); -FMOD_RESULT F_API FMOD_ChannelGroup_RemoveFadePoints (FMOD_CHANNELGROUP *channelgroup, unsigned long long dspclock_start, unsigned long long dspclock_end); -FMOD_RESULT F_API FMOD_ChannelGroup_GetFadePoints (FMOD_CHANNELGROUP *channelgroup, unsigned int *numpoints, unsigned long long *point_dspclock, float *point_volume); - -/* - DSP effects. -*/ - -FMOD_RESULT F_API FMOD_ChannelGroup_GetDSP (FMOD_CHANNELGROUP *channelgroup, int index, FMOD_DSP **dsp); -FMOD_RESULT F_API FMOD_ChannelGroup_AddDSP (FMOD_CHANNELGROUP *channelgroup, int index, FMOD_DSP *dsp); -FMOD_RESULT F_API FMOD_ChannelGroup_RemoveDSP (FMOD_CHANNELGROUP *channelgroup, FMOD_DSP *dsp); -FMOD_RESULT F_API FMOD_ChannelGroup_GetNumDSPs (FMOD_CHANNELGROUP *channelgroup, int *numdsps); -FMOD_RESULT F_API FMOD_ChannelGroup_SetDSPIndex (FMOD_CHANNELGROUP *channelgroup, FMOD_DSP *dsp, int index); -FMOD_RESULT F_API FMOD_ChannelGroup_GetDSPIndex (FMOD_CHANNELGROUP *channelgroup, FMOD_DSP *dsp, int *index); - -/* - 3D functionality. -*/ - -FMOD_RESULT F_API FMOD_ChannelGroup_Set3DAttributes (FMOD_CHANNELGROUP *channelgroup, const FMOD_VECTOR *pos, const FMOD_VECTOR *vel); -FMOD_RESULT F_API FMOD_ChannelGroup_Get3DAttributes (FMOD_CHANNELGROUP *channelgroup, FMOD_VECTOR *pos, FMOD_VECTOR *vel); -FMOD_RESULT F_API FMOD_ChannelGroup_Set3DMinMaxDistance (FMOD_CHANNELGROUP *channelgroup, float mindistance, float maxdistance); -FMOD_RESULT F_API FMOD_ChannelGroup_Get3DMinMaxDistance (FMOD_CHANNELGROUP *channelgroup, float *mindistance, float *maxdistance); -FMOD_RESULT F_API FMOD_ChannelGroup_Set3DConeSettings (FMOD_CHANNELGROUP *channelgroup, float insideconeangle, float outsideconeangle, float outsidevolume); -FMOD_RESULT F_API FMOD_ChannelGroup_Get3DConeSettings (FMOD_CHANNELGROUP *channelgroup, float *insideconeangle, float *outsideconeangle, float *outsidevolume); -FMOD_RESULT F_API FMOD_ChannelGroup_Set3DConeOrientation(FMOD_CHANNELGROUP *channelgroup, FMOD_VECTOR *orientation); -FMOD_RESULT F_API FMOD_ChannelGroup_Get3DConeOrientation(FMOD_CHANNELGROUP *channelgroup, FMOD_VECTOR *orientation); -FMOD_RESULT F_API FMOD_ChannelGroup_Set3DCustomRolloff (FMOD_CHANNELGROUP *channelgroup, FMOD_VECTOR *points, int numpoints); -FMOD_RESULT F_API FMOD_ChannelGroup_Get3DCustomRolloff (FMOD_CHANNELGROUP *channelgroup, FMOD_VECTOR **points, int *numpoints); -FMOD_RESULT F_API FMOD_ChannelGroup_Set3DOcclusion (FMOD_CHANNELGROUP *channelgroup, float directocclusion, float reverbocclusion); -FMOD_RESULT F_API FMOD_ChannelGroup_Get3DOcclusion (FMOD_CHANNELGROUP *channelgroup, float *directocclusion, float *reverbocclusion); -FMOD_RESULT F_API FMOD_ChannelGroup_Set3DSpread (FMOD_CHANNELGROUP *channelgroup, float angle); -FMOD_RESULT F_API FMOD_ChannelGroup_Get3DSpread (FMOD_CHANNELGROUP *channelgroup, float *angle); -FMOD_RESULT F_API FMOD_ChannelGroup_Set3DLevel (FMOD_CHANNELGROUP *channelgroup, float level); -FMOD_RESULT F_API FMOD_ChannelGroup_Get3DLevel (FMOD_CHANNELGROUP *channelgroup, float *level); -FMOD_RESULT F_API FMOD_ChannelGroup_Set3DDopplerLevel (FMOD_CHANNELGROUP *channelgroup, float level); -FMOD_RESULT F_API FMOD_ChannelGroup_Get3DDopplerLevel (FMOD_CHANNELGROUP *channelgroup, float *level); -FMOD_RESULT F_API FMOD_ChannelGroup_Set3DDistanceFilter (FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL custom, float customLevel, float centerFreq); -FMOD_RESULT F_API FMOD_ChannelGroup_Get3DDistanceFilter (FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL *custom, float *customLevel, float *centerFreq); - -/* - Userdata set/get. -*/ - -FMOD_RESULT F_API FMOD_ChannelGroup_SetUserData (FMOD_CHANNELGROUP *channelgroup, void *userdata); -FMOD_RESULT F_API FMOD_ChannelGroup_GetUserData (FMOD_CHANNELGROUP *channelgroup, void **userdata); - -FMOD_RESULT F_API FMOD_ChannelGroup_Release (FMOD_CHANNELGROUP *channelgroup); - -/* - Nested channel groups. -*/ - -FMOD_RESULT F_API FMOD_ChannelGroup_AddGroup (FMOD_CHANNELGROUP *channelgroup, FMOD_CHANNELGROUP *group, FMOD_BOOL propagatedspclock, FMOD_DSPCONNECTION **connection); -FMOD_RESULT F_API FMOD_ChannelGroup_GetNumGroups (FMOD_CHANNELGROUP *channelgroup, int *numgroups); -FMOD_RESULT F_API FMOD_ChannelGroup_GetGroup (FMOD_CHANNELGROUP *channelgroup, int index, FMOD_CHANNELGROUP **group); -FMOD_RESULT F_API FMOD_ChannelGroup_GetParentGroup (FMOD_CHANNELGROUP *channelgroup, FMOD_CHANNELGROUP **group); - -/* - Information only functions. -*/ - -FMOD_RESULT F_API FMOD_ChannelGroup_GetName (FMOD_CHANNELGROUP *channelgroup, char *name, int namelen); -FMOD_RESULT F_API FMOD_ChannelGroup_GetNumChannels (FMOD_CHANNELGROUP *channelgroup, int *numchannels); -FMOD_RESULT F_API FMOD_ChannelGroup_GetChannel (FMOD_CHANNELGROUP *channelgroup, int index, FMOD_CHANNEL **channel); - -/* - 'SoundGroup' API -*/ - -FMOD_RESULT F_API FMOD_SoundGroup_Release (FMOD_SOUNDGROUP *soundgroup); -FMOD_RESULT F_API FMOD_SoundGroup_GetSystemObject (FMOD_SOUNDGROUP *soundgroup, FMOD_SYSTEM **system); - -/* - SoundGroup control functions. -*/ - -FMOD_RESULT F_API FMOD_SoundGroup_SetMaxAudible (FMOD_SOUNDGROUP *soundgroup, int maxaudible); -FMOD_RESULT F_API FMOD_SoundGroup_GetMaxAudible (FMOD_SOUNDGROUP *soundgroup, int *maxaudible); -FMOD_RESULT F_API FMOD_SoundGroup_SetMaxAudibleBehavior (FMOD_SOUNDGROUP *soundgroup, FMOD_SOUNDGROUP_BEHAVIOR behavior); -FMOD_RESULT F_API FMOD_SoundGroup_GetMaxAudibleBehavior (FMOD_SOUNDGROUP *soundgroup, FMOD_SOUNDGROUP_BEHAVIOR *behavior); -FMOD_RESULT F_API FMOD_SoundGroup_SetMuteFadeSpeed (FMOD_SOUNDGROUP *soundgroup, float speed); -FMOD_RESULT F_API FMOD_SoundGroup_GetMuteFadeSpeed (FMOD_SOUNDGROUP *soundgroup, float *speed); -FMOD_RESULT F_API FMOD_SoundGroup_SetVolume (FMOD_SOUNDGROUP *soundgroup, float volume); -FMOD_RESULT F_API FMOD_SoundGroup_GetVolume (FMOD_SOUNDGROUP *soundgroup, float *volume); -FMOD_RESULT F_API FMOD_SoundGroup_Stop (FMOD_SOUNDGROUP *soundgroup); - -/* - Information only functions. -*/ - -FMOD_RESULT F_API FMOD_SoundGroup_GetName (FMOD_SOUNDGROUP *soundgroup, char *name, int namelen); -FMOD_RESULT F_API FMOD_SoundGroup_GetNumSounds (FMOD_SOUNDGROUP *soundgroup, int *numsounds); -FMOD_RESULT F_API FMOD_SoundGroup_GetSound (FMOD_SOUNDGROUP *soundgroup, int index, FMOD_SOUND **sound); -FMOD_RESULT F_API FMOD_SoundGroup_GetNumPlaying (FMOD_SOUNDGROUP *soundgroup, int *numplaying); - -/* - Userdata set/get. -*/ - -FMOD_RESULT F_API FMOD_SoundGroup_SetUserData (FMOD_SOUNDGROUP *soundgroup, void *userdata); -FMOD_RESULT F_API FMOD_SoundGroup_GetUserData (FMOD_SOUNDGROUP *soundgroup, void **userdata); - -/* - 'DSP' API -*/ - -FMOD_RESULT F_API FMOD_DSP_Release (FMOD_DSP *dsp); -FMOD_RESULT F_API FMOD_DSP_GetSystemObject (FMOD_DSP *dsp, FMOD_SYSTEM **system); - -/* - Connection / disconnection / input and output enumeration. -*/ - -FMOD_RESULT F_API FMOD_DSP_AddInput (FMOD_DSP *dsp, FMOD_DSP *input, FMOD_DSPCONNECTION **connection, FMOD_DSPCONNECTION_TYPE type); -FMOD_RESULT F_API FMOD_DSP_DisconnectFrom (FMOD_DSP *dsp, FMOD_DSP *target, FMOD_DSPCONNECTION *connection); -FMOD_RESULT F_API FMOD_DSP_DisconnectAll (FMOD_DSP *dsp, FMOD_BOOL inputs, FMOD_BOOL outputs); -FMOD_RESULT F_API FMOD_DSP_GetNumInputs (FMOD_DSP *dsp, int *numinputs); -FMOD_RESULT F_API FMOD_DSP_GetNumOutputs (FMOD_DSP *dsp, int *numoutputs); -FMOD_RESULT F_API FMOD_DSP_GetInput (FMOD_DSP *dsp, int index, FMOD_DSP **input, FMOD_DSPCONNECTION **inputconnection); -FMOD_RESULT F_API FMOD_DSP_GetOutput (FMOD_DSP *dsp, int index, FMOD_DSP **output, FMOD_DSPCONNECTION **outputconnection); - -/* - DSP unit control. -*/ - -FMOD_RESULT F_API FMOD_DSP_SetActive (FMOD_DSP *dsp, FMOD_BOOL active); -FMOD_RESULT F_API FMOD_DSP_GetActive (FMOD_DSP *dsp, FMOD_BOOL *active); -FMOD_RESULT F_API FMOD_DSP_SetBypass (FMOD_DSP *dsp, FMOD_BOOL bypass); -FMOD_RESULT F_API FMOD_DSP_GetBypass (FMOD_DSP *dsp, FMOD_BOOL *bypass); -FMOD_RESULT F_API FMOD_DSP_SetWetDryMix (FMOD_DSP *dsp, float prewet, float postwet, float dry); -FMOD_RESULT F_API FMOD_DSP_GetWetDryMix (FMOD_DSP *dsp, float *prewet, float *postwet, float *dry); -FMOD_RESULT F_API FMOD_DSP_SetChannelFormat (FMOD_DSP *dsp, FMOD_CHANNELMASK channelmask, int numchannels, FMOD_SPEAKERMODE source_speakermode); -FMOD_RESULT F_API FMOD_DSP_GetChannelFormat (FMOD_DSP *dsp, FMOD_CHANNELMASK *channelmask, int *numchannels, FMOD_SPEAKERMODE *source_speakermode); -FMOD_RESULT F_API FMOD_DSP_GetOutputChannelFormat (FMOD_DSP *dsp, FMOD_CHANNELMASK inmask, int inchannels, FMOD_SPEAKERMODE inspeakermode, FMOD_CHANNELMASK *outmask, int *outchannels, FMOD_SPEAKERMODE *outspeakermode); -FMOD_RESULT F_API FMOD_DSP_Reset (FMOD_DSP *dsp); - -/* - DSP parameter control. -*/ - -FMOD_RESULT F_API FMOD_DSP_SetParameterFloat (FMOD_DSP *dsp, int index, float value); -FMOD_RESULT F_API FMOD_DSP_SetParameterInt (FMOD_DSP *dsp, int index, int value); -FMOD_RESULT F_API FMOD_DSP_SetParameterBool (FMOD_DSP *dsp, int index, FMOD_BOOL value); -FMOD_RESULT F_API FMOD_DSP_SetParameterData (FMOD_DSP *dsp, int index, void *data, unsigned int length); -FMOD_RESULT F_API FMOD_DSP_GetParameterFloat (FMOD_DSP *dsp, int index, float *value, char *valuestr, int valuestrlen); -FMOD_RESULT F_API FMOD_DSP_GetParameterInt (FMOD_DSP *dsp, int index, int *value, char *valuestr, int valuestrlen); -FMOD_RESULT F_API FMOD_DSP_GetParameterBool (FMOD_DSP *dsp, int index, FMOD_BOOL *value, char *valuestr, int valuestrlen); -FMOD_RESULT F_API FMOD_DSP_GetParameterData (FMOD_DSP *dsp, int index, void **data, unsigned int *length, char *valuestr, int valuestrlen); -FMOD_RESULT F_API FMOD_DSP_GetNumParameters (FMOD_DSP *dsp, int *numparams); -FMOD_RESULT F_API FMOD_DSP_GetParameterInfo (FMOD_DSP *dsp, int index, FMOD_DSP_PARAMETER_DESC **desc); -FMOD_RESULT F_API FMOD_DSP_GetDataParameterIndex (FMOD_DSP *dsp, int datatype, int *index); -FMOD_RESULT F_API FMOD_DSP_ShowConfigDialog (FMOD_DSP *dsp, void *hwnd, FMOD_BOOL show); - -/* - DSP attributes. -*/ - -FMOD_RESULT F_API FMOD_DSP_GetInfo (FMOD_DSP *dsp, char *name, unsigned int *version, int *channels, int *configwidth, int *configheight); -FMOD_RESULT F_API FMOD_DSP_GetType (FMOD_DSP *dsp, FMOD_DSP_TYPE *type); -FMOD_RESULT F_API FMOD_DSP_GetIdle (FMOD_DSP *dsp, FMOD_BOOL *idle); - -/* - Userdata set/get. -*/ - -FMOD_RESULT F_API FMOD_DSP_SetUserData (FMOD_DSP *dsp, void *userdata); -FMOD_RESULT F_API FMOD_DSP_GetUserData (FMOD_DSP *dsp, void **userdata); - -/* - Metering. -*/ - -FMOD_RESULT F_API FMOD_DSP_SetMeteringEnabled (FMOD_DSP *dsp, FMOD_BOOL inputEnabled, FMOD_BOOL outputEnabled); -FMOD_RESULT F_API FMOD_DSP_GetMeteringEnabled (FMOD_DSP *dsp, FMOD_BOOL *inputEnabled, FMOD_BOOL *outputEnabled); -FMOD_RESULT F_API FMOD_DSP_GetMeteringInfo (FMOD_DSP *dsp, FMOD_DSP_METERING_INFO *inputInfo, FMOD_DSP_METERING_INFO *outputInfo); -FMOD_RESULT F_API FMOD_DSP_GetCPUUsage (FMOD_DSP *dsp, unsigned int *exclusive, unsigned int *inclusive); - -/* - 'DSPConnection' API -*/ - -FMOD_RESULT F_API FMOD_DSPConnection_GetInput (FMOD_DSPCONNECTION *dspconnection, FMOD_DSP **input); -FMOD_RESULT F_API FMOD_DSPConnection_GetOutput (FMOD_DSPCONNECTION *dspconnection, FMOD_DSP **output); -FMOD_RESULT F_API FMOD_DSPConnection_SetMix (FMOD_DSPCONNECTION *dspconnection, float volume); -FMOD_RESULT F_API FMOD_DSPConnection_GetMix (FMOD_DSPCONNECTION *dspconnection, float *volume); -FMOD_RESULT F_API FMOD_DSPConnection_SetMixMatrix (FMOD_DSPCONNECTION *dspconnection, float *matrix, int outchannels, int inchannels, int inchannel_hop); -FMOD_RESULT F_API FMOD_DSPConnection_GetMixMatrix (FMOD_DSPCONNECTION *dspconnection, float *matrix, int *outchannels, int *inchannels, int inchannel_hop); -FMOD_RESULT F_API FMOD_DSPConnection_GetType (FMOD_DSPCONNECTION *dspconnection, FMOD_DSPCONNECTION_TYPE *type); - -/* - Userdata set/get. -*/ - -FMOD_RESULT F_API FMOD_DSPConnection_SetUserData (FMOD_DSPCONNECTION *dspconnection, void *userdata); -FMOD_RESULT F_API FMOD_DSPConnection_GetUserData (FMOD_DSPCONNECTION *dspconnection, void **userdata); - -/* - 'Geometry' API -*/ - -FMOD_RESULT F_API FMOD_Geometry_Release (FMOD_GEOMETRY *geometry); - -/* - Polygon manipulation. -*/ - -FMOD_RESULT F_API FMOD_Geometry_AddPolygon (FMOD_GEOMETRY *geometry, float directocclusion, float reverbocclusion, FMOD_BOOL doublesided, int numvertices, const FMOD_VECTOR *vertices, int *polygonindex); -FMOD_RESULT F_API FMOD_Geometry_GetNumPolygons (FMOD_GEOMETRY *geometry, int *numpolygons); -FMOD_RESULT F_API FMOD_Geometry_GetMaxPolygons (FMOD_GEOMETRY *geometry, int *maxpolygons, int *maxvertices); -FMOD_RESULT F_API FMOD_Geometry_GetPolygonNumVertices (FMOD_GEOMETRY *geometry, int index, int *numvertices); -FMOD_RESULT F_API FMOD_Geometry_SetPolygonVertex (FMOD_GEOMETRY *geometry, int index, int vertexindex, const FMOD_VECTOR *vertex); -FMOD_RESULT F_API FMOD_Geometry_GetPolygonVertex (FMOD_GEOMETRY *geometry, int index, int vertexindex, FMOD_VECTOR *vertex); -FMOD_RESULT F_API FMOD_Geometry_SetPolygonAttributes (FMOD_GEOMETRY *geometry, int index, float directocclusion, float reverbocclusion, FMOD_BOOL doublesided); -FMOD_RESULT F_API FMOD_Geometry_GetPolygonAttributes (FMOD_GEOMETRY *geometry, int index, float *directocclusion, float *reverbocclusion, FMOD_BOOL *doublesided); - -/* - Object manipulation. -*/ - -FMOD_RESULT F_API FMOD_Geometry_SetActive (FMOD_GEOMETRY *geometry, FMOD_BOOL active); -FMOD_RESULT F_API FMOD_Geometry_GetActive (FMOD_GEOMETRY *geometry, FMOD_BOOL *active); -FMOD_RESULT F_API FMOD_Geometry_SetRotation (FMOD_GEOMETRY *geometry, const FMOD_VECTOR *forward, const FMOD_VECTOR *up); -FMOD_RESULT F_API FMOD_Geometry_GetRotation (FMOD_GEOMETRY *geometry, FMOD_VECTOR *forward, FMOD_VECTOR *up); -FMOD_RESULT F_API FMOD_Geometry_SetPosition (FMOD_GEOMETRY *geometry, const FMOD_VECTOR *position); -FMOD_RESULT F_API FMOD_Geometry_GetPosition (FMOD_GEOMETRY *geometry, FMOD_VECTOR *position); -FMOD_RESULT F_API FMOD_Geometry_SetScale (FMOD_GEOMETRY *geometry, const FMOD_VECTOR *scale); -FMOD_RESULT F_API FMOD_Geometry_GetScale (FMOD_GEOMETRY *geometry, FMOD_VECTOR *scale); -FMOD_RESULT F_API FMOD_Geometry_Save (FMOD_GEOMETRY *geometry, void *data, int *datasize); - -/* - Userdata set/get. -*/ - -FMOD_RESULT F_API FMOD_Geometry_SetUserData (FMOD_GEOMETRY *geometry, void *userdata); -FMOD_RESULT F_API FMOD_Geometry_GetUserData (FMOD_GEOMETRY *geometry, void **userdata); - -/* - 'Reverb3D' API -*/ - -FMOD_RESULT F_API FMOD_Reverb3D_Release (FMOD_REVERB3D *reverb3d); - -/* - Reverb manipulation. -*/ - -FMOD_RESULT F_API FMOD_Reverb3D_Set3DAttributes (FMOD_REVERB3D *reverb3d, const FMOD_VECTOR *position, float mindistance, float maxdistance); -FMOD_RESULT F_API FMOD_Reverb3D_Get3DAttributes (FMOD_REVERB3D *reverb3d, FMOD_VECTOR *position, float *mindistance, float *maxdistance); -FMOD_RESULT F_API FMOD_Reverb3D_SetProperties (FMOD_REVERB3D *reverb3d, const FMOD_REVERB_PROPERTIES *properties); -FMOD_RESULT F_API FMOD_Reverb3D_GetProperties (FMOD_REVERB3D *reverb3d, FMOD_REVERB_PROPERTIES *properties); -FMOD_RESULT F_API FMOD_Reverb3D_SetActive (FMOD_REVERB3D *reverb3d, FMOD_BOOL active); -FMOD_RESULT F_API FMOD_Reverb3D_GetActive (FMOD_REVERB3D *reverb3d, FMOD_BOOL *active); - -/* - Userdata set/get. -*/ - -FMOD_RESULT F_API FMOD_Reverb3D_SetUserData (FMOD_REVERB3D *reverb3d, void *userdata); -FMOD_RESULT F_API FMOD_Reverb3D_GetUserData (FMOD_REVERB3D *reverb3d, void **userdata); - -#ifdef __cplusplus -} -#endif - -#endif /* _FMOD_H */ diff --git a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod.hpp b/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod.hpp deleted file mode 100644 index 6e6a37f..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod.hpp +++ /dev/null @@ -1,604 +0,0 @@ -/* ======================================================================================== */ -/* FMOD Core API - C++ header file. */ -/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2019. */ -/* */ -/* Use this header in conjunction with fmod_common.h (which contains all the constants / */ -/* callbacks) to develop using the C++ language. */ -/* */ -/* For more detail visit: */ -/* https://fmod.com/resources/documentation-api?version=2.0&page=core-api.html */ -/* ======================================================================================== */ -#ifndef _FMOD_HPP -#define _FMOD_HPP - -#include "fmod_common.h" -#include "fmod.h" - -/* - FMOD Namespace -*/ -namespace FMOD -{ - class System; - class Sound; - class ChannelControl; - class Channel; - class ChannelGroup; - class SoundGroup; - class DSP; - class DSPConnection; - class Geometry; - class Reverb3D; - - /* - FMOD global system functions (optional). - */ - inline FMOD_RESULT Memory_Initialize (void *poolmem, int poollen, FMOD_MEMORY_ALLOC_CALLBACK useralloc, FMOD_MEMORY_REALLOC_CALLBACK userrealloc, FMOD_MEMORY_FREE_CALLBACK userfree, FMOD_MEMORY_TYPE memtypeflags = FMOD_MEMORY_ALL) { return FMOD_Memory_Initialize(poolmem, poollen, useralloc, userrealloc, userfree, memtypeflags); } - inline FMOD_RESULT Memory_GetStats (int *currentalloced, int *maxalloced, bool blocking = true) { return FMOD_Memory_GetStats(currentalloced, maxalloced, blocking); } - inline FMOD_RESULT Debug_Initialize (FMOD_DEBUG_FLAGS flags, FMOD_DEBUG_MODE mode = FMOD_DEBUG_MODE_TTY, FMOD_DEBUG_CALLBACK callback = 0, const char *filename = 0) { return FMOD_Debug_Initialize(flags, mode, callback, filename); } - inline FMOD_RESULT File_SetDiskBusy (int busy) { return FMOD_File_SetDiskBusy(busy); } - inline FMOD_RESULT File_GetDiskBusy (int *busy) { return FMOD_File_GetDiskBusy(busy); } - - /* - FMOD System factory functions. - */ - inline FMOD_RESULT System_Create (System **system) { return FMOD_System_Create((FMOD_SYSTEM **)system); } - - /* - 'System' API - */ - class System - { - private: - - // Constructor made private so user cannot statically instance a System class. System_Create must be used. - System(); - System(const System &); - - public: - - FMOD_RESULT F_API release (); - - // Setup functions. - FMOD_RESULT F_API setOutput (FMOD_OUTPUTTYPE output); - FMOD_RESULT F_API getOutput (FMOD_OUTPUTTYPE *output); - FMOD_RESULT F_API getNumDrivers (int *numdrivers); - FMOD_RESULT F_API getDriverInfo (int id, char *name, int namelen, FMOD_GUID *guid, int *systemrate, FMOD_SPEAKERMODE *speakermode, int *speakermodechannels); - FMOD_RESULT F_API setDriver (int driver); - FMOD_RESULT F_API getDriver (int *driver); - FMOD_RESULT F_API setSoftwareChannels (int numsoftwarechannels); - FMOD_RESULT F_API getSoftwareChannels (int *numsoftwarechannels); - FMOD_RESULT F_API setSoftwareFormat (int samplerate, FMOD_SPEAKERMODE speakermode, int numrawspeakers); - FMOD_RESULT F_API getSoftwareFormat (int *samplerate, FMOD_SPEAKERMODE *speakermode, int *numrawspeakers); - FMOD_RESULT F_API setDSPBufferSize (unsigned int bufferlength, int numbuffers); - FMOD_RESULT F_API getDSPBufferSize (unsigned int *bufferlength, int *numbuffers); - FMOD_RESULT F_API setFileSystem (FMOD_FILE_OPEN_CALLBACK useropen, FMOD_FILE_CLOSE_CALLBACK userclose, FMOD_FILE_READ_CALLBACK userread, FMOD_FILE_SEEK_CALLBACK userseek, FMOD_FILE_ASYNCREAD_CALLBACK userasyncread, FMOD_FILE_ASYNCCANCEL_CALLBACK userasynccancel, int blockalign); - FMOD_RESULT F_API attachFileSystem (FMOD_FILE_OPEN_CALLBACK useropen, FMOD_FILE_CLOSE_CALLBACK userclose, FMOD_FILE_READ_CALLBACK userread, FMOD_FILE_SEEK_CALLBACK userseek); - FMOD_RESULT F_API setAdvancedSettings (FMOD_ADVANCEDSETTINGS *settings); - FMOD_RESULT F_API getAdvancedSettings (FMOD_ADVANCEDSETTINGS *settings); - FMOD_RESULT F_API setCallback (FMOD_SYSTEM_CALLBACK callback, FMOD_SYSTEM_CALLBACK_TYPE callbackmask = FMOD_SYSTEM_CALLBACK_ALL); - - // Plug-in support. - FMOD_RESULT F_API setPluginPath (const char *path); - FMOD_RESULT F_API loadPlugin (const char *filename, unsigned int *handle, unsigned int priority = 0); - FMOD_RESULT F_API unloadPlugin (unsigned int handle); - FMOD_RESULT F_API getNumNestedPlugins (unsigned int handle, int *count); - FMOD_RESULT F_API getNestedPlugin (unsigned int handle, int index, unsigned int *nestedhandle); - FMOD_RESULT F_API getNumPlugins (FMOD_PLUGINTYPE plugintype, int *numplugins); - FMOD_RESULT F_API getPluginHandle (FMOD_PLUGINTYPE plugintype, int index, unsigned int *handle); - FMOD_RESULT F_API getPluginInfo (unsigned int handle, FMOD_PLUGINTYPE *plugintype, char *name, int namelen, unsigned int *version); - FMOD_RESULT F_API setOutputByPlugin (unsigned int handle); - FMOD_RESULT F_API getOutputByPlugin (unsigned int *handle); - FMOD_RESULT F_API createDSPByPlugin (unsigned int handle, DSP **dsp); - FMOD_RESULT F_API getDSPInfoByPlugin (unsigned int handle, const FMOD_DSP_DESCRIPTION **description); - FMOD_RESULT F_API registerCodec (FMOD_CODEC_DESCRIPTION *description, unsigned int *handle, unsigned int priority = 0); - FMOD_RESULT F_API registerDSP (const FMOD_DSP_DESCRIPTION *description, unsigned int *handle); - FMOD_RESULT F_API registerOutput (const FMOD_OUTPUT_DESCRIPTION *description, unsigned int *handle); - - // Init/Close. - FMOD_RESULT F_API init (int maxchannels, FMOD_INITFLAGS flags, void *extradriverdata); - FMOD_RESULT F_API close (); - - // General post-init system functions. - FMOD_RESULT F_API update (); /* IMPORTANT! CALL THIS ONCE PER FRAME! */ - - FMOD_RESULT F_API setSpeakerPosition (FMOD_SPEAKER speaker, float x, float y, bool active); - FMOD_RESULT F_API getSpeakerPosition (FMOD_SPEAKER speaker, float *x, float *y, bool *active); - FMOD_RESULT F_API setStreamBufferSize (unsigned int filebuffersize, FMOD_TIMEUNIT filebuffersizetype); - FMOD_RESULT F_API getStreamBufferSize (unsigned int *filebuffersize, FMOD_TIMEUNIT *filebuffersizetype); - FMOD_RESULT F_API set3DSettings (float dopplerscale, float distancefactor, float rolloffscale); - FMOD_RESULT F_API get3DSettings (float *dopplerscale, float *distancefactor, float *rolloffscale); - FMOD_RESULT F_API set3DNumListeners (int numlisteners); - FMOD_RESULT F_API get3DNumListeners (int *numlisteners); - FMOD_RESULT F_API set3DListenerAttributes (int listener, const FMOD_VECTOR *pos, const FMOD_VECTOR *vel, const FMOD_VECTOR *forward, const FMOD_VECTOR *up); - FMOD_RESULT F_API get3DListenerAttributes (int listener, FMOD_VECTOR *pos, FMOD_VECTOR *vel, FMOD_VECTOR *forward, FMOD_VECTOR *up); - FMOD_RESULT F_API set3DRolloffCallback (FMOD_3D_ROLLOFF_CALLBACK callback); - FMOD_RESULT F_API mixerSuspend (); - FMOD_RESULT F_API mixerResume (); - FMOD_RESULT F_API getDefaultMixMatrix (FMOD_SPEAKERMODE sourcespeakermode, FMOD_SPEAKERMODE targetspeakermode, float *matrix, int matrixhop); - FMOD_RESULT F_API getSpeakerModeChannels (FMOD_SPEAKERMODE mode, int *channels); - - // System information functions. - FMOD_RESULT F_API getVersion (unsigned int *version); - FMOD_RESULT F_API getOutputHandle (void **handle); - FMOD_RESULT F_API getChannelsPlaying (int *channels, int *realchannels = 0); - FMOD_RESULT F_API getCPUUsage (float *dsp, float *stream, float *geometry, float *update, float *total); - FMOD_RESULT F_API getFileUsage (long long *sampleBytesRead, long long *streamBytesRead, long long *otherBytesRead); - - // Sound/DSP/Channel/FX creation and retrieval. - FMOD_RESULT F_API createSound (const char *name_or_data, FMOD_MODE mode, FMOD_CREATESOUNDEXINFO *exinfo, Sound **sound); - FMOD_RESULT F_API createStream (const char *name_or_data, FMOD_MODE mode, FMOD_CREATESOUNDEXINFO *exinfo, Sound **sound); - FMOD_RESULT F_API createDSP (const FMOD_DSP_DESCRIPTION *description, DSP **dsp); - FMOD_RESULT F_API createDSPByType (FMOD_DSP_TYPE type, DSP **dsp); - FMOD_RESULT F_API createChannelGroup (const char *name, ChannelGroup **channelgroup); - FMOD_RESULT F_API createSoundGroup (const char *name, SoundGroup **soundgroup); - FMOD_RESULT F_API createReverb3D (Reverb3D **reverb); - - FMOD_RESULT F_API playSound (Sound *sound, ChannelGroup *channelgroup, bool paused, Channel **channel); - FMOD_RESULT F_API playDSP (DSP *dsp, ChannelGroup *channelgroup, bool paused, Channel **channel); - FMOD_RESULT F_API getChannel (int channelid, Channel **channel); - FMOD_RESULT F_API getMasterChannelGroup (ChannelGroup **channelgroup); - FMOD_RESULT F_API getMasterSoundGroup (SoundGroup **soundgroup); - - // Routing to ports. - FMOD_RESULT F_API attachChannelGroupToPort (FMOD_PORT_TYPE portType, FMOD_PORT_INDEX portIndex, ChannelGroup *channelgroup, bool passThru = false); - FMOD_RESULT F_API detachChannelGroupFromPort (ChannelGroup *channelgroup); - - // Reverb API. - FMOD_RESULT F_API setReverbProperties (int instance, const FMOD_REVERB_PROPERTIES *prop); - FMOD_RESULT F_API getReverbProperties (int instance, FMOD_REVERB_PROPERTIES *prop); - - // System level DSP functionality. - FMOD_RESULT F_API lockDSP (); - FMOD_RESULT F_API unlockDSP (); - - // Recording API. - FMOD_RESULT F_API getRecordNumDrivers (int *numdrivers, int *numconnected); - FMOD_RESULT F_API getRecordDriverInfo (int id, char *name, int namelen, FMOD_GUID *guid, int *systemrate, FMOD_SPEAKERMODE *speakermode, int *speakermodechannels, FMOD_DRIVER_STATE *state); - FMOD_RESULT F_API getRecordPosition (int id, unsigned int *position); - FMOD_RESULT F_API recordStart (int id, Sound *sound, bool loop); - FMOD_RESULT F_API recordStop (int id); - FMOD_RESULT F_API isRecording (int id, bool *recording); - - // Geometry API. - FMOD_RESULT F_API createGeometry (int maxpolygons, int maxvertices, Geometry **geometry); - FMOD_RESULT F_API setGeometrySettings (float maxworldsize); - FMOD_RESULT F_API getGeometrySettings (float *maxworldsize); - FMOD_RESULT F_API loadGeometry (const void *data, int datasize, Geometry **geometry); - FMOD_RESULT F_API getGeometryOcclusion (const FMOD_VECTOR *listener, const FMOD_VECTOR *source, float *direct, float *reverb); - - // Network functions. - FMOD_RESULT F_API setNetworkProxy (const char *proxy); - FMOD_RESULT F_API getNetworkProxy (char *proxy, int proxylen); - FMOD_RESULT F_API setNetworkTimeout (int timeout); - FMOD_RESULT F_API getNetworkTimeout (int *timeout); - - // Userdata set/get. - FMOD_RESULT F_API setUserData (void *userdata); - FMOD_RESULT F_API getUserData (void **userdata); - }; - - /* - 'Sound' API - */ - class Sound - { - private: - - // Constructor made private so user cannot statically instance a Sound class. Appropriate Sound creation or retrieval function must be used. - Sound(); - Sound(const Sound &); - - public: - - FMOD_RESULT F_API release (); - FMOD_RESULT F_API getSystemObject (System **system); - - // Standard sound manipulation functions. - FMOD_RESULT F_API lock (unsigned int offset, unsigned int length, void **ptr1, void **ptr2, unsigned int *len1, unsigned int *len2); - FMOD_RESULT F_API unlock (void *ptr1, void *ptr2, unsigned int len1, unsigned int len2); - FMOD_RESULT F_API setDefaults (float frequency, int priority); - FMOD_RESULT F_API getDefaults (float *frequency, int *priority); - FMOD_RESULT F_API set3DMinMaxDistance (float min, float max); - FMOD_RESULT F_API get3DMinMaxDistance (float *min, float *max); - FMOD_RESULT F_API set3DConeSettings (float insideconeangle, float outsideconeangle, float outsidevolume); - FMOD_RESULT F_API get3DConeSettings (float *insideconeangle, float *outsideconeangle, float *outsidevolume); - FMOD_RESULT F_API set3DCustomRolloff (FMOD_VECTOR *points, int numpoints); - FMOD_RESULT F_API get3DCustomRolloff (FMOD_VECTOR **points, int *numpoints); - FMOD_RESULT F_API getSubSound (int index, Sound **subsound); - FMOD_RESULT F_API getSubSoundParent (Sound **parentsound); - FMOD_RESULT F_API getName (char *name, int namelen); - FMOD_RESULT F_API getLength (unsigned int *length, FMOD_TIMEUNIT lengthtype); - FMOD_RESULT F_API getFormat (FMOD_SOUND_TYPE *type, FMOD_SOUND_FORMAT *format, int *channels, int *bits); - FMOD_RESULT F_API getNumSubSounds (int *numsubsounds); - FMOD_RESULT F_API getNumTags (int *numtags, int *numtagsupdated); - FMOD_RESULT F_API getTag (const char *name, int index, FMOD_TAG *tag); - FMOD_RESULT F_API getOpenState (FMOD_OPENSTATE *openstate, unsigned int *percentbuffered, bool *starving, bool *diskbusy); - FMOD_RESULT F_API readData (void *buffer, unsigned int length, unsigned int *read); - FMOD_RESULT F_API seekData (unsigned int pcm); - - FMOD_RESULT F_API setSoundGroup (SoundGroup *soundgroup); - FMOD_RESULT F_API getSoundGroup (SoundGroup **soundgroup); - - // Synchronization point API. These points can come from markers embedded in wav files, and can also generate channel callbacks. - FMOD_RESULT F_API getNumSyncPoints (int *numsyncpoints); - FMOD_RESULT F_API getSyncPoint (int index, FMOD_SYNCPOINT **point); - FMOD_RESULT F_API getSyncPointInfo (FMOD_SYNCPOINT *point, char *name, int namelen, unsigned int *offset, FMOD_TIMEUNIT offsettype); - FMOD_RESULT F_API addSyncPoint (unsigned int offset, FMOD_TIMEUNIT offsettype, const char *name, FMOD_SYNCPOINT **point); - FMOD_RESULT F_API deleteSyncPoint (FMOD_SYNCPOINT *point); - - // Functions also in Channel class but here they are the 'default' to save having to change it in Channel all the time. - FMOD_RESULT F_API setMode (FMOD_MODE mode); - FMOD_RESULT F_API getMode (FMOD_MODE *mode); - FMOD_RESULT F_API setLoopCount (int loopcount); - FMOD_RESULT F_API getLoopCount (int *loopcount); - FMOD_RESULT F_API setLoopPoints (unsigned int loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int loopend, FMOD_TIMEUNIT loopendtype); - FMOD_RESULT F_API getLoopPoints (unsigned int *loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int *loopend, FMOD_TIMEUNIT loopendtype); - - // For MOD/S3M/XM/IT/MID sequenced formats only. - FMOD_RESULT F_API getMusicNumChannels (int *numchannels); - FMOD_RESULT F_API setMusicChannelVolume (int channel, float volume); - FMOD_RESULT F_API getMusicChannelVolume (int channel, float *volume); - FMOD_RESULT F_API setMusicSpeed (float speed); - FMOD_RESULT F_API getMusicSpeed (float *speed); - - // Userdata set/get. - FMOD_RESULT F_API setUserData (void *userdata); - FMOD_RESULT F_API getUserData (void **userdata); - }; - - - /* - 'ChannelControl API'. This is a base class for Channel and ChannelGroup so they can share the same functionality. This cannot be used or instansiated explicitly. - */ - class ChannelControl - { - private: - - // Constructor made private so user cannot statically instance a Control class. - ChannelControl(); - ChannelControl(const ChannelControl &); - - public: - - FMOD_RESULT F_API getSystemObject (System **system); - - // General control functionality for Channels and ChannelGroups. - FMOD_RESULT F_API stop (); - FMOD_RESULT F_API setPaused (bool paused); - FMOD_RESULT F_API getPaused (bool *paused); - FMOD_RESULT F_API setVolume (float volume); - FMOD_RESULT F_API getVolume (float *volume); - FMOD_RESULT F_API setVolumeRamp (bool ramp); - FMOD_RESULT F_API getVolumeRamp (bool *ramp); - FMOD_RESULT F_API getAudibility (float *audibility); - FMOD_RESULT F_API setPitch (float pitch); - FMOD_RESULT F_API getPitch (float *pitch); - FMOD_RESULT F_API setMute (bool mute); - FMOD_RESULT F_API getMute (bool *mute); - FMOD_RESULT F_API setReverbProperties (int instance, float wet); - FMOD_RESULT F_API getReverbProperties (int instance, float *wet); - FMOD_RESULT F_API setLowPassGain (float gain); - FMOD_RESULT F_API getLowPassGain (float *gain); - FMOD_RESULT F_API setMode (FMOD_MODE mode); - FMOD_RESULT F_API getMode (FMOD_MODE *mode); - FMOD_RESULT F_API setCallback (FMOD_CHANNELCONTROL_CALLBACK callback); - FMOD_RESULT F_API isPlaying (bool *isplaying); - - // Panning and level adjustment. - // Note all 'set' functions alter a final matrix, this is why the only get function is getMixMatrix, to avoid other get functions returning incorrect/obsolete values. - FMOD_RESULT F_API setPan (float pan); - FMOD_RESULT F_API setMixLevelsOutput (float frontleft, float frontright, float center, float lfe, float surroundleft, float surroundright, float backleft, float backright); - FMOD_RESULT F_API setMixLevelsInput (float *levels, int numlevels); - FMOD_RESULT F_API setMixMatrix (float *matrix, int outchannels, int inchannels, int inchannel_hop = 0); - FMOD_RESULT F_API getMixMatrix (float *matrix, int *outchannels, int *inchannels, int inchannel_hop = 0); - - // Clock based functionality. - FMOD_RESULT F_API getDSPClock (unsigned long long *dspclock, unsigned long long *parentclock); - FMOD_RESULT F_API setDelay (unsigned long long dspclock_start, unsigned long long dspclock_end, bool stopchannels = true); - FMOD_RESULT F_API getDelay (unsigned long long *dspclock_start, unsigned long long *dspclock_end, bool *stopchannels = 0); - FMOD_RESULT F_API addFadePoint (unsigned long long dspclock, float volume); - FMOD_RESULT F_API setFadePointRamp (unsigned long long dspclock, float volume); - FMOD_RESULT F_API removeFadePoints (unsigned long long dspclock_start, unsigned long long dspclock_end); - FMOD_RESULT F_API getFadePoints (unsigned int *numpoints, unsigned long long *point_dspclock, float *point_volume); - - // DSP effects. - FMOD_RESULT F_API getDSP (int index, DSP **dsp); - FMOD_RESULT F_API addDSP (int index, DSP *dsp); - FMOD_RESULT F_API removeDSP (DSP *dsp); - FMOD_RESULT F_API getNumDSPs (int *numdsps); - FMOD_RESULT F_API setDSPIndex (DSP *dsp, int index); - FMOD_RESULT F_API getDSPIndex (DSP *dsp, int *index); - - // 3D functionality. - FMOD_RESULT F_API set3DAttributes (const FMOD_VECTOR *pos, const FMOD_VECTOR *vel); - FMOD_RESULT F_API get3DAttributes (FMOD_VECTOR *pos, FMOD_VECTOR *vel); - FMOD_RESULT F_API set3DMinMaxDistance (float mindistance, float maxdistance); - FMOD_RESULT F_API get3DMinMaxDistance (float *mindistance, float *maxdistance); - FMOD_RESULT F_API set3DConeSettings (float insideconeangle, float outsideconeangle, float outsidevolume); - FMOD_RESULT F_API get3DConeSettings (float *insideconeangle, float *outsideconeangle, float *outsidevolume); - FMOD_RESULT F_API set3DConeOrientation (FMOD_VECTOR *orientation); - FMOD_RESULT F_API get3DConeOrientation (FMOD_VECTOR *orientation); - FMOD_RESULT F_API set3DCustomRolloff (FMOD_VECTOR *points, int numpoints); - FMOD_RESULT F_API get3DCustomRolloff (FMOD_VECTOR **points, int *numpoints); - FMOD_RESULT F_API set3DOcclusion (float directocclusion, float reverbocclusion); - FMOD_RESULT F_API get3DOcclusion (float *directocclusion, float *reverbocclusion); - FMOD_RESULT F_API set3DSpread (float angle); - FMOD_RESULT F_API get3DSpread (float *angle); - FMOD_RESULT F_API set3DLevel (float level); - FMOD_RESULT F_API get3DLevel (float *level); - FMOD_RESULT F_API set3DDopplerLevel (float level); - FMOD_RESULT F_API get3DDopplerLevel (float *level); - FMOD_RESULT F_API set3DDistanceFilter (bool custom, float customLevel, float centerFreq); - FMOD_RESULT F_API get3DDistanceFilter (bool *custom, float *customLevel, float *centerFreq); - - // Userdata set/get. - FMOD_RESULT F_API setUserData (void *userdata); - FMOD_RESULT F_API getUserData (void **userdata); - }; - - /* - 'Channel' API. - */ - class Channel : public ChannelControl - { - private: - - // Constructor made private so user cannot statically instance a Channel class. Appropriate Channel creation or retrieval function must be used. - Channel(); - Channel(const Channel &); - - public: - - // Channel specific control functionality. - FMOD_RESULT F_API setFrequency (float frequency); - FMOD_RESULT F_API getFrequency (float *frequency); - FMOD_RESULT F_API setPriority (int priority); - FMOD_RESULT F_API getPriority (int *priority); - FMOD_RESULT F_API setPosition (unsigned int position, FMOD_TIMEUNIT postype); - FMOD_RESULT F_API getPosition (unsigned int *position, FMOD_TIMEUNIT postype); - FMOD_RESULT F_API setChannelGroup (ChannelGroup *channelgroup); - FMOD_RESULT F_API getChannelGroup (ChannelGroup **channelgroup); - FMOD_RESULT F_API setLoopCount (int loopcount); - FMOD_RESULT F_API getLoopCount (int *loopcount); - FMOD_RESULT F_API setLoopPoints (unsigned int loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int loopend, FMOD_TIMEUNIT loopendtype); - FMOD_RESULT F_API getLoopPoints (unsigned int *loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int *loopend, FMOD_TIMEUNIT loopendtype); - - // Information only functions. - FMOD_RESULT F_API isVirtual (bool *isvirtual); - FMOD_RESULT F_API getCurrentSound (Sound **sound); - FMOD_RESULT F_API getIndex (int *index); - }; - - /* - 'ChannelGroup' API - */ - class ChannelGroup : public ChannelControl - { - private: - - // Constructor made private so user cannot statically instance a ChannelGroup class. Appropriate ChannelGroup creation or retrieval function must be used. - ChannelGroup(); - ChannelGroup(const ChannelGroup &); - - public: - - FMOD_RESULT F_API release (); - - // Nested channel groups. - FMOD_RESULT F_API addGroup (ChannelGroup *group, bool propagatedspclock = true, DSPConnection **connection = 0); - FMOD_RESULT F_API getNumGroups (int *numgroups); - FMOD_RESULT F_API getGroup (int index, ChannelGroup **group); - FMOD_RESULT F_API getParentGroup (ChannelGroup **group); - - // Information only functions. - FMOD_RESULT F_API getName (char *name, int namelen); - FMOD_RESULT F_API getNumChannels (int *numchannels); - FMOD_RESULT F_API getChannel (int index, Channel **channel); - }; - - /* - 'SoundGroup' API - */ - class SoundGroup - { - private: - - // Constructor made private so user cannot statically instance a SoundGroup class. Appropriate SoundGroup creation or retrieval function must be used. - SoundGroup(); - SoundGroup(const SoundGroup &); - - public: - - FMOD_RESULT F_API release (); - FMOD_RESULT F_API getSystemObject (System **system); - - // SoundGroup control functions. - FMOD_RESULT F_API setMaxAudible (int maxaudible); - FMOD_RESULT F_API getMaxAudible (int *maxaudible); - FMOD_RESULT F_API setMaxAudibleBehavior (FMOD_SOUNDGROUP_BEHAVIOR behavior); - FMOD_RESULT F_API getMaxAudibleBehavior (FMOD_SOUNDGROUP_BEHAVIOR *behavior); - FMOD_RESULT F_API setMuteFadeSpeed (float speed); - FMOD_RESULT F_API getMuteFadeSpeed (float *speed); - FMOD_RESULT F_API setVolume (float volume); - FMOD_RESULT F_API getVolume (float *volume); - FMOD_RESULT F_API stop (); - - // Information only functions. - FMOD_RESULT F_API getName (char *name, int namelen); - FMOD_RESULT F_API getNumSounds (int *numsounds); - FMOD_RESULT F_API getSound (int index, Sound **sound); - FMOD_RESULT F_API getNumPlaying (int *numplaying); - - // Userdata set/get. - FMOD_RESULT F_API setUserData (void *userdata); - FMOD_RESULT F_API getUserData (void **userdata); - }; - - /* - 'DSP' API - */ - class DSP - { - private: - - // Constructor made private so user cannot statically instance a DSP class. Appropriate DSP creation or retrieval function must be used. - DSP(); - DSP(const DSP &); - - public: - - FMOD_RESULT F_API release (); - FMOD_RESULT F_API getSystemObject (System **system); - - // Connection / disconnection / input and output enumeration. - FMOD_RESULT F_API addInput (DSP *input, DSPConnection **connection = 0, FMOD_DSPCONNECTION_TYPE type = FMOD_DSPCONNECTION_TYPE_STANDARD); - FMOD_RESULT F_API disconnectFrom (DSP *target, DSPConnection *connection = 0); - FMOD_RESULT F_API disconnectAll (bool inputs, bool outputs); - FMOD_RESULT F_API getNumInputs (int *numinputs); - FMOD_RESULT F_API getNumOutputs (int *numoutputs); - FMOD_RESULT F_API getInput (int index, DSP **input, DSPConnection **inputconnection); - FMOD_RESULT F_API getOutput (int index, DSP **output, DSPConnection **outputconnection); - - // DSP unit control. - FMOD_RESULT F_API setActive (bool active); - FMOD_RESULT F_API getActive (bool *active); - FMOD_RESULT F_API setBypass (bool bypass); - FMOD_RESULT F_API getBypass (bool *bypass); - FMOD_RESULT F_API setWetDryMix (float prewet, float postwet, float dry); - FMOD_RESULT F_API getWetDryMix (float *prewet, float *postwet, float *dry); - FMOD_RESULT F_API setChannelFormat (FMOD_CHANNELMASK channelmask, int numchannels, FMOD_SPEAKERMODE source_speakermode); - FMOD_RESULT F_API getChannelFormat (FMOD_CHANNELMASK *channelmask, int *numchannels, FMOD_SPEAKERMODE *source_speakermode); - FMOD_RESULT F_API getOutputChannelFormat (FMOD_CHANNELMASK inmask, int inchannels, FMOD_SPEAKERMODE inspeakermode, FMOD_CHANNELMASK *outmask, int *outchannels, FMOD_SPEAKERMODE *outspeakermode); - FMOD_RESULT F_API reset (); - - // DSP parameter control. - FMOD_RESULT F_API setParameterFloat (int index, float value); - FMOD_RESULT F_API setParameterInt (int index, int value); - FMOD_RESULT F_API setParameterBool (int index, bool value); - FMOD_RESULT F_API setParameterData (int index, void *data, unsigned int length); - FMOD_RESULT F_API getParameterFloat (int index, float *value, char *valuestr, int valuestrlen); - FMOD_RESULT F_API getParameterInt (int index, int *value, char *valuestr, int valuestrlen); - FMOD_RESULT F_API getParameterBool (int index, bool *value, char *valuestr, int valuestrlen); - FMOD_RESULT F_API getParameterData (int index, void **data, unsigned int *length, char *valuestr, int valuestrlen); - FMOD_RESULT F_API getNumParameters (int *numparams); - FMOD_RESULT F_API getParameterInfo (int index, FMOD_DSP_PARAMETER_DESC **desc); - FMOD_RESULT F_API getDataParameterIndex (int datatype, int *index); - FMOD_RESULT F_API showConfigDialog (void *hwnd, bool show); - - // DSP attributes. - FMOD_RESULT F_API getInfo (char *name, unsigned int *version, int *channels, int *configwidth, int *configheight); - FMOD_RESULT F_API getType (FMOD_DSP_TYPE *type); - FMOD_RESULT F_API getIdle (bool *idle); - - // Userdata set/get. - FMOD_RESULT F_API setUserData (void *userdata); - FMOD_RESULT F_API getUserData (void **userdata); - - // Metering. - FMOD_RESULT F_API setMeteringEnabled (bool inputEnabled, bool outputEnabled); - FMOD_RESULT F_API getMeteringEnabled (bool *inputEnabled, bool *outputEnabled); - FMOD_RESULT F_API getMeteringInfo (FMOD_DSP_METERING_INFO *inputInfo, FMOD_DSP_METERING_INFO *outputInfo); - FMOD_RESULT F_API getCPUUsage (unsigned int *exclusive, unsigned int *inclusive); - }; - - - /* - 'DSPConnection' API - */ - class DSPConnection - { - private: - - // Constructor made private so user cannot statically instance a DSPConnection class. Appropriate DSPConnection creation or retrieval function must be used. - DSPConnection(); - DSPConnection(const DSPConnection &); - - public: - - FMOD_RESULT F_API getInput (DSP **input); - FMOD_RESULT F_API getOutput (DSP **output); - FMOD_RESULT F_API setMix (float volume); - FMOD_RESULT F_API getMix (float *volume); - FMOD_RESULT F_API setMixMatrix (float *matrix, int outchannels, int inchannels, int inchannel_hop = 0); - FMOD_RESULT F_API getMixMatrix (float *matrix, int *outchannels, int *inchannels, int inchannel_hop = 0); - FMOD_RESULT F_API getType (FMOD_DSPCONNECTION_TYPE *type); - - // Userdata set/get. - FMOD_RESULT F_API setUserData (void *userdata); - FMOD_RESULT F_API getUserData (void **userdata); - }; - - - /* - 'Geometry' API - */ - class Geometry - { - private: - - // Constructor made private so user cannot statically instance a Geometry class. Appropriate Geometry creation or retrieval function must be used. - Geometry(); - Geometry(const Geometry &); - - public: - - FMOD_RESULT F_API release (); - - // Polygon manipulation. - FMOD_RESULT F_API addPolygon (float directocclusion, float reverbocclusion, bool doublesided, int numvertices, const FMOD_VECTOR *vertices, int *polygonindex); - FMOD_RESULT F_API getNumPolygons (int *numpolygons); - FMOD_RESULT F_API getMaxPolygons (int *maxpolygons, int *maxvertices); - FMOD_RESULT F_API getPolygonNumVertices (int index, int *numvertices); - FMOD_RESULT F_API setPolygonVertex (int index, int vertexindex, const FMOD_VECTOR *vertex); - FMOD_RESULT F_API getPolygonVertex (int index, int vertexindex, FMOD_VECTOR *vertex); - FMOD_RESULT F_API setPolygonAttributes (int index, float directocclusion, float reverbocclusion, bool doublesided); - FMOD_RESULT F_API getPolygonAttributes (int index, float *directocclusion, float *reverbocclusion, bool *doublesided); - - // Object manipulation. - FMOD_RESULT F_API setActive (bool active); - FMOD_RESULT F_API getActive (bool *active); - FMOD_RESULT F_API setRotation (const FMOD_VECTOR *forward, const FMOD_VECTOR *up); - FMOD_RESULT F_API getRotation (FMOD_VECTOR *forward, FMOD_VECTOR *up); - FMOD_RESULT F_API setPosition (const FMOD_VECTOR *position); - FMOD_RESULT F_API getPosition (FMOD_VECTOR *position); - FMOD_RESULT F_API setScale (const FMOD_VECTOR *scale); - FMOD_RESULT F_API getScale (FMOD_VECTOR *scale); - FMOD_RESULT F_API save (void *data, int *datasize); - - // Userdata set/get. - FMOD_RESULT F_API setUserData (void *userdata); - FMOD_RESULT F_API getUserData (void **userdata); - }; - - - /* - 'Reverb' API - */ - class Reverb3D - { - private: - - // Constructor made private so user cannot statically instance a Reverb3D class. Appropriate Reverb creation or retrieval function must be used. - Reverb3D(); - Reverb3D(const Reverb3D &); - - public: - - FMOD_RESULT F_API release (); - - // Reverb manipulation. - FMOD_RESULT F_API set3DAttributes (const FMOD_VECTOR *position, float mindistance, float maxdistance); - FMOD_RESULT F_API get3DAttributes (FMOD_VECTOR *position, float *mindistance,float *maxdistance); - FMOD_RESULT F_API setProperties (const FMOD_REVERB_PROPERTIES *properties); - FMOD_RESULT F_API getProperties (FMOD_REVERB_PROPERTIES *properties); - FMOD_RESULT F_API setActive (bool active); - FMOD_RESULT F_API getActive (bool *active); - - // Userdata set/get. - FMOD_RESULT F_API setUserData (void *userdata); - FMOD_RESULT F_API getUserData (void **userdata); - }; -} - -#endif diff --git a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_codec.h b/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_codec.h deleted file mode 100644 index cf151cb..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_codec.h +++ /dev/null @@ -1,93 +0,0 @@ -/* ======================================================================================== */ -/* FMOD Core API - Codec development header file. */ -/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2019. */ -/* */ -/* Use this header if you are wanting to develop your own file format plugin to use with */ -/* FMOD's codec system. With this header you can make your own fileformat plugin that FMOD */ -/* can register and use. See the documentation and examples on how to make a working */ -/* plugin. */ -/* */ -/* For more detail visit: */ -/* https://fmod.com/resources/documentation-api?version=2.0&page=core-api.html */ -/* ======================================================================================== */ -#ifndef _FMOD_CODEC_H -#define _FMOD_CODEC_H - -/* - Codec types -*/ -typedef struct FMOD_CODEC_STATE FMOD_CODEC_STATE; -typedef struct FMOD_CODEC_WAVEFORMAT FMOD_CODEC_WAVEFORMAT; - -/* - Codec constants -*/ -#define FMOD_CODEC_WAVEFORMAT_VERSION 3 - -/* - Codec callbacks -*/ -typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_OPEN_CALLBACK) (FMOD_CODEC_STATE *codec_state, FMOD_MODE usermode, FMOD_CREATESOUNDEXINFO *userexinfo); -typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_CLOSE_CALLBACK) (FMOD_CODEC_STATE *codec_state); -typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_READ_CALLBACK) (FMOD_CODEC_STATE *codec_state, void *buffer, unsigned int samples_in, unsigned int *samples_out); -typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_GETLENGTH_CALLBACK) (FMOD_CODEC_STATE *codec_state, unsigned int *length, FMOD_TIMEUNIT lengthtype); -typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_SETPOSITION_CALLBACK) (FMOD_CODEC_STATE *codec_state, int subsound, unsigned int position, FMOD_TIMEUNIT postype); -typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_GETPOSITION_CALLBACK) (FMOD_CODEC_STATE *codec_state, unsigned int *position, FMOD_TIMEUNIT postype); -typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_SOUNDCREATE_CALLBACK) (FMOD_CODEC_STATE *codec_state, int subsound, FMOD_SOUND *sound); -typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_METADATA_CALLBACK) (FMOD_CODEC_STATE *codec_state, FMOD_TAGTYPE tagtype, char *name, void *data, unsigned int datalen, FMOD_TAGDATATYPE datatype, int unique); -typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_GETWAVEFORMAT_CALLBACK)(FMOD_CODEC_STATE *codec_state, int index, FMOD_CODEC_WAVEFORMAT *waveformat); - -/* - Codec structures -*/ -typedef struct FMOD_CODEC_DESCRIPTION -{ - const char *name; - unsigned int version; - int defaultasstream; - FMOD_TIMEUNIT timeunits; - FMOD_CODEC_OPEN_CALLBACK open; - FMOD_CODEC_CLOSE_CALLBACK close; - FMOD_CODEC_READ_CALLBACK read; - FMOD_CODEC_GETLENGTH_CALLBACK getlength; - FMOD_CODEC_SETPOSITION_CALLBACK setposition; - FMOD_CODEC_GETPOSITION_CALLBACK getposition; - FMOD_CODEC_SOUNDCREATE_CALLBACK soundcreate; - FMOD_CODEC_GETWAVEFORMAT_CALLBACK getwaveformat; -} FMOD_CODEC_DESCRIPTION; - -struct FMOD_CODEC_WAVEFORMAT -{ - const char* name; - FMOD_SOUND_FORMAT format; - int channels; - int frequency; - unsigned int lengthbytes; - unsigned int lengthpcm; - unsigned int pcmblocksize; - int loopstart; - int loopend; - FMOD_MODE mode; - FMOD_CHANNELMASK channelmask; - FMOD_CHANNELORDER channelorder; - float peakvolume; -}; - -struct FMOD_CODEC_STATE -{ - int numsubsounds; - FMOD_CODEC_WAVEFORMAT *waveformat; - void *plugindata; - - void *filehandle; - unsigned int filesize; - FMOD_FILE_READ_CALLBACK fileread; - FMOD_FILE_SEEK_CALLBACK fileseek; - FMOD_CODEC_METADATA_CALLBACK metadata; - - int waveformatversion; -}; - -#endif - - diff --git a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_common.h b/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_common.h deleted file mode 100644 index 00d3bdb..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_common.h +++ /dev/null @@ -1,750 +0,0 @@ -/* ======================================================================================== */ -/* FMOD Core API - Common C/C++ header file. */ -/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2019. */ -/* */ -/* This header is included by fmod.hpp (C++ interface) and fmod.h (C interface) */ -/* */ -/* For more detail visit: */ -/* https://fmod.com/resources/documentation-api?version=2.0&page=core-api-common.html */ -/* ======================================================================================== */ -#ifndef _FMOD_COMMON_H -#define _FMOD_COMMON_H - -/* - Library import helpers -*/ -#if defined(_WIN32) || defined(__CYGWIN__) - #define F_CALL __stdcall -#elif defined(__ANDROID__) && defined(__arm__) && !defined(__LP64__) && !defined(__clang__) - #define F_CALL __attribute__((pcs("aapcs"))) -#else - #define F_CALL -#endif - -#if defined(_WIN32) || defined(__CYGWIN__) || defined(__ORBIS__) - #define F_EXPORT __declspec(dllexport) -#elif defined(__APPLE__) || defined(__ANDROID__) || defined(__linux__) - #define F_EXPORT __attribute__((visibility("default"))) -#else - #define F_EXPORT -#endif - -#ifdef DLL_EXPORTS - #define F_API F_EXPORT F_CALL -#else - #define F_API F_CALL -#endif - -#define F_CALLBACK F_CALL - -/* - FMOD core types -*/ -typedef int FMOD_BOOL; -typedef struct FMOD_SYSTEM FMOD_SYSTEM; -typedef struct FMOD_SOUND FMOD_SOUND; -typedef struct FMOD_CHANNELCONTROL FMOD_CHANNELCONTROL; -typedef struct FMOD_CHANNEL FMOD_CHANNEL; -typedef struct FMOD_CHANNELGROUP FMOD_CHANNELGROUP; -typedef struct FMOD_SOUNDGROUP FMOD_SOUNDGROUP; -typedef struct FMOD_REVERB3D FMOD_REVERB3D; -typedef struct FMOD_DSP FMOD_DSP; -typedef struct FMOD_DSPCONNECTION FMOD_DSPCONNECTION; -typedef struct FMOD_POLYGON FMOD_POLYGON; -typedef struct FMOD_GEOMETRY FMOD_GEOMETRY; -typedef struct FMOD_SYNCPOINT FMOD_SYNCPOINT; -typedef struct FMOD_ASYNCREADINFO FMOD_ASYNCREADINFO; -typedef unsigned int FMOD_PORT_TYPE; -typedef unsigned long long FMOD_PORT_INDEX; - -/* - FMOD constants -*/ -#define FMOD_VERSION 0x00020002 /* 0xaaaabbcc -> aaaa = product version, bb = major version, cc = minor version.*/ - -typedef unsigned int FMOD_DEBUG_FLAGS; -#define FMOD_DEBUG_LEVEL_NONE 0x00000000 -#define FMOD_DEBUG_LEVEL_ERROR 0x00000001 -#define FMOD_DEBUG_LEVEL_WARNING 0x00000002 -#define FMOD_DEBUG_LEVEL_LOG 0x00000004 -#define FMOD_DEBUG_TYPE_MEMORY 0x00000100 -#define FMOD_DEBUG_TYPE_FILE 0x00000200 -#define FMOD_DEBUG_TYPE_CODEC 0x00000400 -#define FMOD_DEBUG_TYPE_TRACE 0x00000800 -#define FMOD_DEBUG_DISPLAY_TIMESTAMPS 0x00010000 -#define FMOD_DEBUG_DISPLAY_LINENUMBERS 0x00020000 -#define FMOD_DEBUG_DISPLAY_THREAD 0x00040000 - -typedef unsigned int FMOD_MEMORY_TYPE; -#define FMOD_MEMORY_NORMAL 0x00000000 -#define FMOD_MEMORY_STREAM_FILE 0x00000001 -#define FMOD_MEMORY_STREAM_DECODE 0x00000002 -#define FMOD_MEMORY_SAMPLEDATA 0x00000004 -#define FMOD_MEMORY_DSP_BUFFER 0x00000008 -#define FMOD_MEMORY_PLUGIN 0x00000010 -#define FMOD_MEMORY_PERSISTENT 0x00200000 -#define FMOD_MEMORY_ALL 0xFFFFFFFF - -typedef unsigned int FMOD_INITFLAGS; -#define FMOD_INIT_NORMAL 0x00000000 -#define FMOD_INIT_STREAM_FROM_UPDATE 0x00000001 -#define FMOD_INIT_MIX_FROM_UPDATE 0x00000002 -#define FMOD_INIT_3D_RIGHTHANDED 0x00000004 -#define FMOD_INIT_CHANNEL_LOWPASS 0x00000100 -#define FMOD_INIT_CHANNEL_DISTANCEFILTER 0x00000200 -#define FMOD_INIT_PROFILE_ENABLE 0x00010000 -#define FMOD_INIT_VOL0_BECOMES_VIRTUAL 0x00020000 -#define FMOD_INIT_GEOMETRY_USECLOSEST 0x00040000 -#define FMOD_INIT_PREFER_DOLBY_DOWNMIX 0x00080000 -#define FMOD_INIT_THREAD_UNSAFE 0x00100000 -#define FMOD_INIT_PROFILE_METER_ALL 0x00200000 - -typedef unsigned int FMOD_DRIVER_STATE; -#define FMOD_DRIVER_STATE_CONNECTED 0x00000001 -#define FMOD_DRIVER_STATE_DEFAULT 0x00000002 - -typedef unsigned int FMOD_TIMEUNIT; -#define FMOD_TIMEUNIT_MS 0x00000001 -#define FMOD_TIMEUNIT_PCM 0x00000002 -#define FMOD_TIMEUNIT_PCMBYTES 0x00000004 -#define FMOD_TIMEUNIT_RAWBYTES 0x00000008 -#define FMOD_TIMEUNIT_PCMFRACTION 0x00000010 -#define FMOD_TIMEUNIT_MODORDER 0x00000100 -#define FMOD_TIMEUNIT_MODROW 0x00000200 -#define FMOD_TIMEUNIT_MODPATTERN 0x00000400 - -typedef unsigned int FMOD_SYSTEM_CALLBACK_TYPE; -#define FMOD_SYSTEM_CALLBACK_DEVICELISTCHANGED 0x00000001 -#define FMOD_SYSTEM_CALLBACK_DEVICELOST 0x00000002 -#define FMOD_SYSTEM_CALLBACK_MEMORYALLOCATIONFAILED 0x00000004 -#define FMOD_SYSTEM_CALLBACK_THREADCREATED 0x00000008 -#define FMOD_SYSTEM_CALLBACK_BADDSPCONNECTION 0x00000010 -#define FMOD_SYSTEM_CALLBACK_PREMIX 0x00000020 -#define FMOD_SYSTEM_CALLBACK_POSTMIX 0x00000040 -#define FMOD_SYSTEM_CALLBACK_ERROR 0x00000080 -#define FMOD_SYSTEM_CALLBACK_MIDMIX 0x00000100 -#define FMOD_SYSTEM_CALLBACK_THREADDESTROYED 0x00000200 -#define FMOD_SYSTEM_CALLBACK_PREUPDATE 0x00000400 -#define FMOD_SYSTEM_CALLBACK_POSTUPDATE 0x00000800 -#define FMOD_SYSTEM_CALLBACK_RECORDLISTCHANGED 0x00001000 -#define FMOD_SYSTEM_CALLBACK_ALL 0xFFFFFFFF - -typedef unsigned int FMOD_MODE; -#define FMOD_DEFAULT 0x00000000 -#define FMOD_LOOP_OFF 0x00000001 -#define FMOD_LOOP_NORMAL 0x00000002 -#define FMOD_LOOP_BIDI 0x00000004 -#define FMOD_2D 0x00000008 -#define FMOD_3D 0x00000010 -#define FMOD_CREATESTREAM 0x00000080 -#define FMOD_CREATESAMPLE 0x00000100 -#define FMOD_CREATECOMPRESSEDSAMPLE 0x00000200 -#define FMOD_OPENUSER 0x00000400 -#define FMOD_OPENMEMORY 0x00000800 -#define FMOD_OPENMEMORY_POINT 0x10000000 -#define FMOD_OPENRAW 0x00001000 -#define FMOD_OPENONLY 0x00002000 -#define FMOD_ACCURATETIME 0x00004000 -#define FMOD_MPEGSEARCH 0x00008000 -#define FMOD_NONBLOCKING 0x00010000 -#define FMOD_UNIQUE 0x00020000 -#define FMOD_3D_HEADRELATIVE 0x00040000 -#define FMOD_3D_WORLDRELATIVE 0x00080000 -#define FMOD_3D_INVERSEROLLOFF 0x00100000 -#define FMOD_3D_LINEARROLLOFF 0x00200000 -#define FMOD_3D_LINEARSQUAREROLLOFF 0x00400000 -#define FMOD_3D_INVERSETAPEREDROLLOFF 0x00800000 -#define FMOD_3D_CUSTOMROLLOFF 0x04000000 -#define FMOD_3D_IGNOREGEOMETRY 0x40000000 -#define FMOD_IGNORETAGS 0x02000000 -#define FMOD_LOWMEM 0x08000000 -#define FMOD_VIRTUAL_PLAYFROMSTART 0x80000000 - -typedef unsigned int FMOD_CHANNELMASK; -#define FMOD_CHANNELMASK_FRONT_LEFT 0x00000001 -#define FMOD_CHANNELMASK_FRONT_RIGHT 0x00000002 -#define FMOD_CHANNELMASK_FRONT_CENTER 0x00000004 -#define FMOD_CHANNELMASK_LOW_FREQUENCY 0x00000008 -#define FMOD_CHANNELMASK_SURROUND_LEFT 0x00000010 -#define FMOD_CHANNELMASK_SURROUND_RIGHT 0x00000020 -#define FMOD_CHANNELMASK_BACK_LEFT 0x00000040 -#define FMOD_CHANNELMASK_BACK_RIGHT 0x00000080 -#define FMOD_CHANNELMASK_BACK_CENTER 0x00000100 - -#define FMOD_CHANNELMASK_MONO (FMOD_CHANNELMASK_FRONT_LEFT) -#define FMOD_CHANNELMASK_STEREO (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT) -#define FMOD_CHANNELMASK_LRC (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER) -#define FMOD_CHANNELMASK_QUAD (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_SURROUND_LEFT | FMOD_CHANNELMASK_SURROUND_RIGHT) -#define FMOD_CHANNELMASK_SURROUND (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER | FMOD_CHANNELMASK_SURROUND_LEFT | FMOD_CHANNELMASK_SURROUND_RIGHT) -#define FMOD_CHANNELMASK_5POINT1 (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER | FMOD_CHANNELMASK_LOW_FREQUENCY | FMOD_CHANNELMASK_SURROUND_LEFT | FMOD_CHANNELMASK_SURROUND_RIGHT) -#define FMOD_CHANNELMASK_5POINT1_REARS (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER | FMOD_CHANNELMASK_LOW_FREQUENCY | FMOD_CHANNELMASK_BACK_LEFT | FMOD_CHANNELMASK_BACK_RIGHT) -#define FMOD_CHANNELMASK_7POINT0 (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER | FMOD_CHANNELMASK_SURROUND_LEFT | FMOD_CHANNELMASK_SURROUND_RIGHT | FMOD_CHANNELMASK_BACK_LEFT | FMOD_CHANNELMASK_BACK_RIGHT) -#define FMOD_CHANNELMASK_7POINT1 (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER | FMOD_CHANNELMASK_LOW_FREQUENCY | FMOD_CHANNELMASK_SURROUND_LEFT | FMOD_CHANNELMASK_SURROUND_RIGHT | FMOD_CHANNELMASK_BACK_LEFT | FMOD_CHANNELMASK_BACK_RIGHT) - -/* Preset for FMOD_REVERB_PROPERTIES */ -#define FMOD_PRESET_OFF { 1000, 7, 11, 5000, 100, 100, 100, 250, 0, 20, 96, -80.0f } -#define FMOD_PRESET_GENERIC { 1500, 7, 11, 5000, 83, 100, 100, 250, 0, 14500, 96, -8.0f } -#define FMOD_PRESET_PADDEDCELL { 170, 1, 2, 5000, 10, 100, 100, 250, 0, 160, 84, -7.8f } -#define FMOD_PRESET_ROOM { 400, 2, 3, 5000, 83, 100, 100, 250, 0, 6050, 88, -9.4f } -#define FMOD_PRESET_BATHROOM { 1500, 7, 11, 5000, 54, 100, 60, 250, 0, 2900, 83, 0.5f } -#define FMOD_PRESET_LIVINGROOM { 500, 3, 4, 5000, 10, 100, 100, 250, 0, 160, 58, -19.0f } -#define FMOD_PRESET_STONEROOM { 2300, 12, 17, 5000, 64, 100, 100, 250, 0, 7800, 71, -8.5f } -#define FMOD_PRESET_AUDITORIUM { 4300, 20, 30, 5000, 59, 100, 100, 250, 0, 5850, 64, -11.7f } -#define FMOD_PRESET_CONCERTHALL { 3900, 20, 29, 5000, 70, 100, 100, 250, 0, 5650, 80, -9.8f } -#define FMOD_PRESET_CAVE { 2900, 15, 22, 5000, 100, 100, 100, 250, 0, 20000, 59, -11.3f } -#define FMOD_PRESET_ARENA { 7200, 20, 30, 5000, 33, 100, 100, 250, 0, 4500, 80, -9.6f } -#define FMOD_PRESET_HANGAR { 10000, 20, 30, 5000, 23, 100, 100, 250, 0, 3400, 72, -7.4f } -#define FMOD_PRESET_CARPETTEDHALLWAY { 300, 2, 30, 5000, 10, 100, 100, 250, 0, 500, 56, -24.0f } -#define FMOD_PRESET_HALLWAY { 1500, 7, 11, 5000, 59, 100, 100, 250, 0, 7800, 87, -5.5f } -#define FMOD_PRESET_STONECORRIDOR { 270, 13, 20, 5000, 79, 100, 100, 250, 0, 9000, 86, -6.0f } -#define FMOD_PRESET_ALLEY { 1500, 7, 11, 5000, 86, 100, 100, 250, 0, 8300, 80, -9.8f } -#define FMOD_PRESET_FOREST { 1500, 162, 88, 5000, 54, 79, 100, 250, 0, 760, 94, -12.3f } -#define FMOD_PRESET_CITY { 1500, 7, 11, 5000, 67, 50, 100, 250, 0, 4050, 66, -26.0f } -#define FMOD_PRESET_MOUNTAINS { 1500, 300, 100, 5000, 21, 27, 100, 250, 0, 1220, 82, -24.0f } -#define FMOD_PRESET_QUARRY { 1500, 61, 25, 5000, 83, 100, 100, 250, 0, 3400, 100, -5.0f } -#define FMOD_PRESET_PLAIN { 1500, 179, 100, 5000, 50, 21, 100, 250, 0, 1670, 65, -28.0f } -#define FMOD_PRESET_PARKINGLOT { 1700, 8, 12, 5000, 100, 100, 100, 250, 0, 20000, 56, -19.5f } -#define FMOD_PRESET_SEWERPIPE { 2800, 14, 21, 5000, 14, 80, 60, 250, 0, 3400, 66, 1.2f } -#define FMOD_PRESET_UNDERWATER { 1500, 7, 11, 5000, 10, 100, 100, 250, 0, 500, 92, 7.0f } - -#define FMOD_MAX_CHANNEL_WIDTH 32 -#define FMOD_MAX_SYSTEMS 8 -#define FMOD_MAX_LISTENERS 8 -#define FMOD_REVERB_MAXINSTANCES 4 -#define FMOD_PORT_INDEX_NONE 0xFFFFFFFFFFFFFFFF - -typedef enum FMOD_RESULT -{ - FMOD_OK, - FMOD_ERR_BADCOMMAND, - FMOD_ERR_CHANNEL_ALLOC, - FMOD_ERR_CHANNEL_STOLEN, - FMOD_ERR_DMA, - FMOD_ERR_DSP_CONNECTION, - FMOD_ERR_DSP_DONTPROCESS, - FMOD_ERR_DSP_FORMAT, - FMOD_ERR_DSP_INUSE, - FMOD_ERR_DSP_NOTFOUND, - FMOD_ERR_DSP_RESERVED, - FMOD_ERR_DSP_SILENCE, - FMOD_ERR_DSP_TYPE, - FMOD_ERR_FILE_BAD, - FMOD_ERR_FILE_COULDNOTSEEK, - FMOD_ERR_FILE_DISKEJECTED, - FMOD_ERR_FILE_EOF, - FMOD_ERR_FILE_ENDOFDATA, - FMOD_ERR_FILE_NOTFOUND, - FMOD_ERR_FORMAT, - FMOD_ERR_HEADER_MISMATCH, - FMOD_ERR_HTTP, - FMOD_ERR_HTTP_ACCESS, - FMOD_ERR_HTTP_PROXY_AUTH, - FMOD_ERR_HTTP_SERVER_ERROR, - FMOD_ERR_HTTP_TIMEOUT, - FMOD_ERR_INITIALIZATION, - FMOD_ERR_INITIALIZED, - FMOD_ERR_INTERNAL, - FMOD_ERR_INVALID_FLOAT, - FMOD_ERR_INVALID_HANDLE, - FMOD_ERR_INVALID_PARAM, - FMOD_ERR_INVALID_POSITION, - FMOD_ERR_INVALID_SPEAKER, - FMOD_ERR_INVALID_SYNCPOINT, - FMOD_ERR_INVALID_THREAD, - FMOD_ERR_INVALID_VECTOR, - FMOD_ERR_MAXAUDIBLE, - FMOD_ERR_MEMORY, - FMOD_ERR_MEMORY_CANTPOINT, - FMOD_ERR_NEEDS3D, - FMOD_ERR_NEEDSHARDWARE, - FMOD_ERR_NET_CONNECT, - FMOD_ERR_NET_SOCKET_ERROR, - FMOD_ERR_NET_URL, - FMOD_ERR_NET_WOULD_BLOCK, - FMOD_ERR_NOTREADY, - FMOD_ERR_OUTPUT_ALLOCATED, - FMOD_ERR_OUTPUT_CREATEBUFFER, - FMOD_ERR_OUTPUT_DRIVERCALL, - FMOD_ERR_OUTPUT_FORMAT, - FMOD_ERR_OUTPUT_INIT, - FMOD_ERR_OUTPUT_NODRIVERS, - FMOD_ERR_PLUGIN, - FMOD_ERR_PLUGIN_MISSING, - FMOD_ERR_PLUGIN_RESOURCE, - FMOD_ERR_PLUGIN_VERSION, - FMOD_ERR_RECORD, - FMOD_ERR_REVERB_CHANNELGROUP, - FMOD_ERR_REVERB_INSTANCE, - FMOD_ERR_SUBSOUNDS, - FMOD_ERR_SUBSOUND_ALLOCATED, - FMOD_ERR_SUBSOUND_CANTMOVE, - FMOD_ERR_TAGNOTFOUND, - FMOD_ERR_TOOMANYCHANNELS, - FMOD_ERR_TRUNCATED, - FMOD_ERR_UNIMPLEMENTED, - FMOD_ERR_UNINITIALIZED, - FMOD_ERR_UNSUPPORTED, - FMOD_ERR_VERSION, - FMOD_ERR_EVENT_ALREADY_LOADED, - FMOD_ERR_EVENT_LIVEUPDATE_BUSY, - FMOD_ERR_EVENT_LIVEUPDATE_MISMATCH, - FMOD_ERR_EVENT_LIVEUPDATE_TIMEOUT, - FMOD_ERR_EVENT_NOTFOUND, - FMOD_ERR_STUDIO_UNINITIALIZED, - FMOD_ERR_STUDIO_NOT_LOADED, - FMOD_ERR_INVALID_STRING, - FMOD_ERR_ALREADY_LOCKED, - FMOD_ERR_NOT_LOCKED, - FMOD_ERR_RECORD_DISCONNECTED, - FMOD_ERR_TOOMANYSAMPLES, - - FMOD_RESULT_FORCEINT = 65536 -} FMOD_RESULT; - -typedef enum FMOD_CHANNELCONTROL_TYPE -{ - FMOD_CHANNELCONTROL_CHANNEL, - FMOD_CHANNELCONTROL_CHANNELGROUP, - - FMOD_CHANNELCONTROL_MAX, - FMOD_CHANNELCONTROL_FORCEINT = 65536 -} FMOD_CHANNELCONTROL_TYPE; - -typedef enum FMOD_OUTPUTTYPE -{ - FMOD_OUTPUTTYPE_AUTODETECT, - FMOD_OUTPUTTYPE_UNKNOWN, - FMOD_OUTPUTTYPE_NOSOUND, - FMOD_OUTPUTTYPE_WAVWRITER, - FMOD_OUTPUTTYPE_NOSOUND_NRT, - FMOD_OUTPUTTYPE_WAVWRITER_NRT, - FMOD_OUTPUTTYPE_WASAPI, - FMOD_OUTPUTTYPE_ASIO, - FMOD_OUTPUTTYPE_PULSEAUDIO, - FMOD_OUTPUTTYPE_ALSA, - FMOD_OUTPUTTYPE_COREAUDIO, - FMOD_OUTPUTTYPE_AUDIOTRACK, - FMOD_OUTPUTTYPE_OPENSL, - FMOD_OUTPUTTYPE_AUDIOOUT, - FMOD_OUTPUTTYPE_AUDIO3D, - FMOD_OUTPUTTYPE_WEBAUDIO, - FMOD_OUTPUTTYPE_NNAUDIO, - FMOD_OUTPUTTYPE_WINSONIC, - - FMOD_OUTPUTTYPE_MAX, - FMOD_OUTPUTTYPE_FORCEINT = 65536 -} FMOD_OUTPUTTYPE; - -typedef enum FMOD_DEBUG_MODE -{ - FMOD_DEBUG_MODE_TTY, - FMOD_DEBUG_MODE_FILE, - FMOD_DEBUG_MODE_CALLBACK, - - FMOD_DEBUG_MODE_FORCEINT = 65536 -} FMOD_DEBUG_MODE; - -typedef enum FMOD_SPEAKERMODE -{ - FMOD_SPEAKERMODE_DEFAULT, - FMOD_SPEAKERMODE_RAW, - FMOD_SPEAKERMODE_MONO, - FMOD_SPEAKERMODE_STEREO, - FMOD_SPEAKERMODE_QUAD, - FMOD_SPEAKERMODE_SURROUND, - FMOD_SPEAKERMODE_5POINT1, - FMOD_SPEAKERMODE_7POINT1, - FMOD_SPEAKERMODE_7POINT1POINT4, - - FMOD_SPEAKERMODE_MAX, - FMOD_SPEAKERMODE_FORCEINT = 65536 -} FMOD_SPEAKERMODE; - -typedef enum FMOD_SPEAKER -{ - FMOD_SPEAKER_FRONT_LEFT, - FMOD_SPEAKER_FRONT_RIGHT, - FMOD_SPEAKER_FRONT_CENTER, - FMOD_SPEAKER_LOW_FREQUENCY, - FMOD_SPEAKER_SURROUND_LEFT, - FMOD_SPEAKER_SURROUND_RIGHT, - FMOD_SPEAKER_BACK_LEFT, - FMOD_SPEAKER_BACK_RIGHT, - FMOD_SPEAKER_TOP_FRONT_LEFT, - FMOD_SPEAKER_TOP_FRONT_RIGHT, - FMOD_SPEAKER_TOP_BACK_LEFT, - FMOD_SPEAKER_TOP_BACK_RIGHT, - - FMOD_SPEAKER_MAX, - FMOD_SPEAKER_FORCEINT = 65536 -} FMOD_SPEAKER; - -typedef enum FMOD_CHANNELORDER -{ - FMOD_CHANNELORDER_DEFAULT, - FMOD_CHANNELORDER_WAVEFORMAT, - FMOD_CHANNELORDER_PROTOOLS, - FMOD_CHANNELORDER_ALLMONO, - FMOD_CHANNELORDER_ALLSTEREO, - FMOD_CHANNELORDER_ALSA, - - FMOD_CHANNELORDER_MAX, - FMOD_CHANNELORDER_FORCEINT = 65536 -} FMOD_CHANNELORDER; - -typedef enum FMOD_PLUGINTYPE -{ - FMOD_PLUGINTYPE_OUTPUT, - FMOD_PLUGINTYPE_CODEC, - FMOD_PLUGINTYPE_DSP, - - FMOD_PLUGINTYPE_MAX, - FMOD_PLUGINTYPE_FORCEINT = 65536 -} FMOD_PLUGINTYPE; - -typedef enum FMOD_SOUND_TYPE -{ - FMOD_SOUND_TYPE_UNKNOWN, - FMOD_SOUND_TYPE_AIFF, - FMOD_SOUND_TYPE_ASF, - FMOD_SOUND_TYPE_DLS, - FMOD_SOUND_TYPE_FLAC, - FMOD_SOUND_TYPE_FSB, - FMOD_SOUND_TYPE_IT, - FMOD_SOUND_TYPE_MIDI, - FMOD_SOUND_TYPE_MOD, - FMOD_SOUND_TYPE_MPEG, - FMOD_SOUND_TYPE_OGGVORBIS, - FMOD_SOUND_TYPE_PLAYLIST, - FMOD_SOUND_TYPE_RAW, - FMOD_SOUND_TYPE_S3M, - FMOD_SOUND_TYPE_USER, - FMOD_SOUND_TYPE_WAV, - FMOD_SOUND_TYPE_XM, - FMOD_SOUND_TYPE_XMA, - FMOD_SOUND_TYPE_AUDIOQUEUE, - FMOD_SOUND_TYPE_AT9, - FMOD_SOUND_TYPE_VORBIS, - FMOD_SOUND_TYPE_MEDIA_FOUNDATION, - FMOD_SOUND_TYPE_MEDIACODEC, - FMOD_SOUND_TYPE_FADPCM, - - FMOD_SOUND_TYPE_MAX, - FMOD_SOUND_TYPE_FORCEINT = 65536 -} FMOD_SOUND_TYPE; - -typedef enum FMOD_SOUND_FORMAT -{ - FMOD_SOUND_FORMAT_NONE, - FMOD_SOUND_FORMAT_PCM8, - FMOD_SOUND_FORMAT_PCM16, - FMOD_SOUND_FORMAT_PCM24, - FMOD_SOUND_FORMAT_PCM32, - FMOD_SOUND_FORMAT_PCMFLOAT, - FMOD_SOUND_FORMAT_BITSTREAM, - - FMOD_SOUND_FORMAT_MAX, - FMOD_SOUND_FORMAT_FORCEINT = 65536 -} FMOD_SOUND_FORMAT; - -typedef enum FMOD_OPENSTATE -{ - FMOD_OPENSTATE_READY, - FMOD_OPENSTATE_LOADING, - FMOD_OPENSTATE_ERROR, - FMOD_OPENSTATE_CONNECTING, - FMOD_OPENSTATE_BUFFERING, - FMOD_OPENSTATE_SEEKING, - FMOD_OPENSTATE_PLAYING, - FMOD_OPENSTATE_SETPOSITION, - - FMOD_OPENSTATE_MAX, - FMOD_OPENSTATE_FORCEINT = 65536 -} FMOD_OPENSTATE; - -typedef enum FMOD_SOUNDGROUP_BEHAVIOR -{ - FMOD_SOUNDGROUP_BEHAVIOR_FAIL, - FMOD_SOUNDGROUP_BEHAVIOR_MUTE, - FMOD_SOUNDGROUP_BEHAVIOR_STEALLOWEST, - - FMOD_SOUNDGROUP_BEHAVIOR_MAX, - FMOD_SOUNDGROUP_BEHAVIOR_FORCEINT = 65536 -} FMOD_SOUNDGROUP_BEHAVIOR; - -typedef enum FMOD_CHANNELCONTROL_CALLBACK_TYPE -{ - FMOD_CHANNELCONTROL_CALLBACK_END, - FMOD_CHANNELCONTROL_CALLBACK_VIRTUALVOICE, - FMOD_CHANNELCONTROL_CALLBACK_SYNCPOINT, - FMOD_CHANNELCONTROL_CALLBACK_OCCLUSION, - - FMOD_CHANNELCONTROL_CALLBACK_MAX, - FMOD_CHANNELCONTROL_CALLBACK_FORCEINT = 65536 -} FMOD_CHANNELCONTROL_CALLBACK_TYPE; - -typedef enum FMOD_CHANNELCONTROL_DSP_INDEX -{ - FMOD_CHANNELCONTROL_DSP_HEAD = -1, - FMOD_CHANNELCONTROL_DSP_FADER = -2, - FMOD_CHANNELCONTROL_DSP_TAIL = -3, - - FMOD_CHANNELCONTROL_DSP_FORCEINT = 65536 -} FMOD_CHANNELCONTROL_DSP_INDEX; - -typedef enum FMOD_ERRORCALLBACK_INSTANCETYPE -{ - FMOD_ERRORCALLBACK_INSTANCETYPE_NONE, - FMOD_ERRORCALLBACK_INSTANCETYPE_SYSTEM, - FMOD_ERRORCALLBACK_INSTANCETYPE_CHANNEL, - FMOD_ERRORCALLBACK_INSTANCETYPE_CHANNELGROUP, - FMOD_ERRORCALLBACK_INSTANCETYPE_CHANNELCONTROL, - FMOD_ERRORCALLBACK_INSTANCETYPE_SOUND, - FMOD_ERRORCALLBACK_INSTANCETYPE_SOUNDGROUP, - FMOD_ERRORCALLBACK_INSTANCETYPE_DSP, - FMOD_ERRORCALLBACK_INSTANCETYPE_DSPCONNECTION, - FMOD_ERRORCALLBACK_INSTANCETYPE_GEOMETRY, - FMOD_ERRORCALLBACK_INSTANCETYPE_REVERB3D, - FMOD_ERRORCALLBACK_INSTANCETYPE_STUDIO_SYSTEM, - FMOD_ERRORCALLBACK_INSTANCETYPE_STUDIO_EVENTDESCRIPTION, - FMOD_ERRORCALLBACK_INSTANCETYPE_STUDIO_EVENTINSTANCE, - FMOD_ERRORCALLBACK_INSTANCETYPE_STUDIO_PARAMETERINSTANCE, - FMOD_ERRORCALLBACK_INSTANCETYPE_STUDIO_BUS, - FMOD_ERRORCALLBACK_INSTANCETYPE_STUDIO_VCA, - FMOD_ERRORCALLBACK_INSTANCETYPE_STUDIO_BANK, - FMOD_ERRORCALLBACK_INSTANCETYPE_STUDIO_COMMANDREPLAY, - - FMOD_ERRORCALLBACK_INSTANCETYPE_FORCEINT = 65536 -} FMOD_ERRORCALLBACK_INSTANCETYPE; - -typedef enum FMOD_DSP_RESAMPLER -{ - FMOD_DSP_RESAMPLER_DEFAULT, - FMOD_DSP_RESAMPLER_NOINTERP, - FMOD_DSP_RESAMPLER_LINEAR, - FMOD_DSP_RESAMPLER_CUBIC, - FMOD_DSP_RESAMPLER_SPLINE, - - FMOD_DSP_RESAMPLER_MAX, - FMOD_DSP_RESAMPLER_FORCEINT = 65536 -} FMOD_DSP_RESAMPLER; - -typedef enum FMOD_DSPCONNECTION_TYPE -{ - FMOD_DSPCONNECTION_TYPE_STANDARD, - FMOD_DSPCONNECTION_TYPE_SIDECHAIN, - FMOD_DSPCONNECTION_TYPE_SEND, - FMOD_DSPCONNECTION_TYPE_SEND_SIDECHAIN, - - FMOD_DSPCONNECTION_TYPE_MAX, - FMOD_DSPCONNECTION_TYPE_FORCEINT = 65536 -} FMOD_DSPCONNECTION_TYPE; - -typedef enum FMOD_TAGTYPE -{ - FMOD_TAGTYPE_UNKNOWN, - FMOD_TAGTYPE_ID3V1, - FMOD_TAGTYPE_ID3V2, - FMOD_TAGTYPE_VORBISCOMMENT, - FMOD_TAGTYPE_SHOUTCAST, - FMOD_TAGTYPE_ICECAST, - FMOD_TAGTYPE_ASF, - FMOD_TAGTYPE_MIDI, - FMOD_TAGTYPE_PLAYLIST, - FMOD_TAGTYPE_FMOD, - FMOD_TAGTYPE_USER, - - FMOD_TAGTYPE_MAX, - FMOD_TAGTYPE_FORCEINT = 65536 -} FMOD_TAGTYPE; - -typedef enum FMOD_TAGDATATYPE -{ - FMOD_TAGDATATYPE_BINARY, - FMOD_TAGDATATYPE_INT, - FMOD_TAGDATATYPE_FLOAT, - FMOD_TAGDATATYPE_STRING, - FMOD_TAGDATATYPE_STRING_UTF16, - FMOD_TAGDATATYPE_STRING_UTF16BE, - FMOD_TAGDATATYPE_STRING_UTF8, - - FMOD_TAGDATATYPE_MAX, - FMOD_TAGDATATYPE_FORCEINT = 65536 -} FMOD_TAGDATATYPE; - -/* - FMOD callbacks -*/ -typedef FMOD_RESULT (F_CALL *FMOD_DEBUG_CALLBACK) (FMOD_DEBUG_FLAGS flags, const char *file, int line, const char* func, const char* message); -typedef FMOD_RESULT (F_CALL *FMOD_SYSTEM_CALLBACK) (FMOD_SYSTEM *system, FMOD_SYSTEM_CALLBACK_TYPE type, void *commanddata1, void* commanddata2, void *userdata); -typedef FMOD_RESULT (F_CALL *FMOD_CHANNELCONTROL_CALLBACK) (FMOD_CHANNELCONTROL *channelcontrol, FMOD_CHANNELCONTROL_TYPE controltype, FMOD_CHANNELCONTROL_CALLBACK_TYPE callbacktype, void *commanddata1, void *commanddata2); -typedef FMOD_RESULT (F_CALL *FMOD_SOUND_NONBLOCK_CALLBACK) (FMOD_SOUND *sound, FMOD_RESULT result); -typedef FMOD_RESULT (F_CALL *FMOD_SOUND_PCMREAD_CALLBACK) (FMOD_SOUND *sound, void *data, unsigned int datalen); -typedef FMOD_RESULT (F_CALL *FMOD_SOUND_PCMSETPOS_CALLBACK) (FMOD_SOUND *sound, int subsound, unsigned int position, FMOD_TIMEUNIT postype); -typedef FMOD_RESULT (F_CALL *FMOD_FILE_OPEN_CALLBACK) (const char *name, unsigned int *filesize, void **handle, void *userdata); -typedef FMOD_RESULT (F_CALL *FMOD_FILE_CLOSE_CALLBACK) (void *handle, void *userdata); -typedef FMOD_RESULT (F_CALL *FMOD_FILE_READ_CALLBACK) (void *handle, void *buffer, unsigned int sizebytes, unsigned int *bytesread, void *userdata); -typedef FMOD_RESULT (F_CALL *FMOD_FILE_SEEK_CALLBACK) (void *handle, unsigned int pos, void *userdata); -typedef FMOD_RESULT (F_CALL *FMOD_FILE_ASYNCREAD_CALLBACK) (FMOD_ASYNCREADINFO *info, void *userdata); -typedef FMOD_RESULT (F_CALL *FMOD_FILE_ASYNCCANCEL_CALLBACK)(FMOD_ASYNCREADINFO *info, void *userdata); -typedef void (F_CALL *FMOD_FILE_ASYNCDONE_FUNC) (FMOD_ASYNCREADINFO *info, FMOD_RESULT result); -typedef void* (F_CALL *FMOD_MEMORY_ALLOC_CALLBACK) (unsigned int size, FMOD_MEMORY_TYPE type, const char *sourcestr); -typedef void* (F_CALL *FMOD_MEMORY_REALLOC_CALLBACK) (void *ptr, unsigned int size, FMOD_MEMORY_TYPE type, const char *sourcestr); -typedef void (F_CALL *FMOD_MEMORY_FREE_CALLBACK) (void *ptr, FMOD_MEMORY_TYPE type, const char *sourcestr); -typedef float (F_CALL *FMOD_3D_ROLLOFF_CALLBACK) (FMOD_CHANNELCONTROL *channelcontrol, float distance); - -/* - FMOD structs -*/ -struct FMOD_ASYNCREADINFO -{ - void *handle; - unsigned int offset; - unsigned int sizebytes; - int priority; - void *userdata; - void *buffer; - unsigned int bytesread; - FMOD_FILE_ASYNCDONE_FUNC done; -}; - -typedef struct FMOD_VECTOR -{ - float x; - float y; - float z; -} FMOD_VECTOR; - -typedef struct FMOD_3D_ATTRIBUTES -{ - FMOD_VECTOR position; - FMOD_VECTOR velocity; - FMOD_VECTOR forward; - FMOD_VECTOR up; -} FMOD_3D_ATTRIBUTES; - -typedef struct FMOD_GUID -{ - unsigned int Data1; - unsigned short Data2; - unsigned short Data3; - unsigned char Data4[8]; -} FMOD_GUID; - -typedef struct FMOD_PLUGINLIST -{ - FMOD_PLUGINTYPE type; - void *description; -} FMOD_PLUGINLIST; - -typedef struct FMOD_ADVANCEDSETTINGS -{ - int cbSize; - int maxMPEGCodecs; - int maxADPCMCodecs; - int maxXMACodecs; - int maxVorbisCodecs; - int maxAT9Codecs; - int maxFADPCMCodecs; - int maxPCMCodecs; - int ASIONumChannels; - char **ASIOChannelList; - FMOD_SPEAKER *ASIOSpeakerList; - float vol0virtualvol; - unsigned int defaultDecodeBufferSize; - unsigned short profilePort; - unsigned int geometryMaxFadeTime; - float distanceFilterCenterFreq; - int reverb3Dinstance; - int DSPBufferPoolSize; - unsigned int stackSizeStream; - unsigned int stackSizeNonBlocking; - unsigned int stackSizeMixer; - FMOD_DSP_RESAMPLER resamplerMethod; - unsigned int commandQueueSize; - unsigned int randomSeed; -} FMOD_ADVANCEDSETTINGS; - -typedef struct FMOD_TAG -{ - FMOD_TAGTYPE type; - FMOD_TAGDATATYPE datatype; - char *name; - void *data; - unsigned int datalen; - FMOD_BOOL updated; -} FMOD_TAG; - -typedef struct FMOD_CREATESOUNDEXINFO -{ - int cbsize; - unsigned int length; - unsigned int fileoffset; - int numchannels; - int defaultfrequency; - FMOD_SOUND_FORMAT format; - unsigned int decodebuffersize; - int initialsubsound; - int numsubsounds; - int *inclusionlist; - int inclusionlistnum; - FMOD_SOUND_PCMREAD_CALLBACK pcmreadcallback; - FMOD_SOUND_PCMSETPOS_CALLBACK pcmsetposcallback; - FMOD_SOUND_NONBLOCK_CALLBACK nonblockcallback; - const char *dlsname; - const char *encryptionkey; - int maxpolyphony; - void *userdata; - FMOD_SOUND_TYPE suggestedsoundtype; - FMOD_FILE_OPEN_CALLBACK fileuseropen; - FMOD_FILE_CLOSE_CALLBACK fileuserclose; - FMOD_FILE_READ_CALLBACK fileuserread; - FMOD_FILE_SEEK_CALLBACK fileuserseek; - FMOD_FILE_ASYNCREAD_CALLBACK fileuserasyncread; - FMOD_FILE_ASYNCCANCEL_CALLBACK fileuserasynccancel; - void *fileuserdata; - int filebuffersize; - FMOD_CHANNELORDER channelorder; - FMOD_SOUNDGROUP *initialsoundgroup; - unsigned int initialseekposition; - FMOD_TIMEUNIT initialseekpostype; - int ignoresetfilesystem; - unsigned int audioqueuepolicy; - unsigned int minmidigranularity; - int nonblockthreadid; - FMOD_GUID *fsbguid; -} FMOD_CREATESOUNDEXINFO; - -typedef struct FMOD_REVERB_PROPERTIES -{ - float DecayTime; - float EarlyDelay; - float LateDelay; - float HFReference; - float HFDecayRatio; - float Diffusion; - float Density; - float LowShelfFrequency; - float LowShelfGain; - float HighCut; - float EarlyLateMix; - float WetLevel; -} FMOD_REVERB_PROPERTIES; - -typedef struct FMOD_ERRORCALLBACK_INFO -{ - FMOD_RESULT result; - FMOD_ERRORCALLBACK_INSTANCETYPE instancetype; - void *instance; - const char *functionname; - const char *functionparams; -} FMOD_ERRORCALLBACK_INFO; - -/* - FMOD optional headers for plugin development -*/ -#include "fmod_codec.h" -#include "fmod_dsp.h" -#include "fmod_output.h" - -#endif diff --git a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_dsp.h b/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_dsp.h deleted file mode 100644 index 8964591..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_dsp.h +++ /dev/null @@ -1,414 +0,0 @@ -/* ======================================================================================== */ -/* FMOD Core API - DSP header file. */ -/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2019. */ -/* */ -/* Use this header if you are wanting to develop your own DSP plugin to use with FMODs */ -/* dsp system. With this header you can make your own DSP plugin that FMOD can */ -/* register and use. See the documentation and examples on how to make a working plugin. */ -/* */ -/* For more detail visit: */ -/* https://fmod.com/resources/documentation-api?version=2.0&page=plugin-api-dsp.html */ -/* =========================================================================================*/ -#ifndef _FMOD_DSP_H -#define _FMOD_DSP_H - -#include "fmod_dsp_effects.h" - -typedef struct FMOD_DSP_STATE FMOD_DSP_STATE; -typedef struct FMOD_DSP_BUFFER_ARRAY FMOD_DSP_BUFFER_ARRAY; -typedef struct FMOD_COMPLEX FMOD_COMPLEX; - -/* - DSP Constants -*/ -#define FMOD_PLUGIN_SDK_VERSION 110 -#define FMOD_DSP_GETPARAM_VALUESTR_LENGTH 32 - -typedef enum -{ - FMOD_DSP_PROCESS_PERFORM, - FMOD_DSP_PROCESS_QUERY -} FMOD_DSP_PROCESS_OPERATION; - -typedef enum FMOD_DSP_PAN_SURROUND_FLAGS -{ - FMOD_DSP_PAN_SURROUND_DEFAULT = 0, - FMOD_DSP_PAN_SURROUND_ROTATION_NOT_BIASED = 1, - - FMOD_DSP_PAN_SURROUND_FLAGS_FORCEINT = 65536 -} FMOD_DSP_PAN_SURROUND_FLAGS; - -typedef enum -{ - FMOD_DSP_PARAMETER_TYPE_FLOAT, - FMOD_DSP_PARAMETER_TYPE_INT, - FMOD_DSP_PARAMETER_TYPE_BOOL, - FMOD_DSP_PARAMETER_TYPE_DATA, - - FMOD_DSP_PARAMETER_TYPE_MAX, - FMOD_DSP_PARAMETER_TYPE_FORCEINT = 65536 -} FMOD_DSP_PARAMETER_TYPE; - -typedef enum -{ - FMOD_DSP_PARAMETER_FLOAT_MAPPING_TYPE_LINEAR, - FMOD_DSP_PARAMETER_FLOAT_MAPPING_TYPE_AUTO, - FMOD_DSP_PARAMETER_FLOAT_MAPPING_TYPE_PIECEWISE_LINEAR, - - FMOD_DSP_PARAMETER_FLOAT_MAPPING_TYPE_FORCEINT = 65536 -} FMOD_DSP_PARAMETER_FLOAT_MAPPING_TYPE; - -typedef enum -{ - FMOD_DSP_PARAMETER_DATA_TYPE_USER = 0, - FMOD_DSP_PARAMETER_DATA_TYPE_OVERALLGAIN = -1, - FMOD_DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES = -2, - FMOD_DSP_PARAMETER_DATA_TYPE_SIDECHAIN = -3, - FMOD_DSP_PARAMETER_DATA_TYPE_FFT = -4, - FMOD_DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES_MULTI = -5, -} FMOD_DSP_PARAMETER_DATA_TYPE; - -/* - DSP Callbacks -*/ -typedef FMOD_RESULT (F_CALL *FMOD_DSP_CREATE_CALLBACK) (FMOD_DSP_STATE *dsp_state); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_RELEASE_CALLBACK) (FMOD_DSP_STATE *dsp_state); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_RESET_CALLBACK) (FMOD_DSP_STATE *dsp_state); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_READ_CALLBACK) (FMOD_DSP_STATE *dsp_state, float *inbuffer, float *outbuffer, unsigned int length, int inchannels, int *outchannels); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_PROCESS_CALLBACK) (FMOD_DSP_STATE *dsp_state, unsigned int length, const FMOD_DSP_BUFFER_ARRAY *inbufferarray, FMOD_DSP_BUFFER_ARRAY *outbufferarray, FMOD_BOOL inputsidle, FMOD_DSP_PROCESS_OPERATION op); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_SETPOSITION_CALLBACK) (FMOD_DSP_STATE *dsp_state, unsigned int pos); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_SHOULDIPROCESS_CALLBACK) (FMOD_DSP_STATE *dsp_state, FMOD_BOOL inputsidle, unsigned int length, FMOD_CHANNELMASK inmask, int inchannels, FMOD_SPEAKERMODE speakermode); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_SETPARAM_FLOAT_CALLBACK) (FMOD_DSP_STATE *dsp_state, int index, float value); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_SETPARAM_INT_CALLBACK) (FMOD_DSP_STATE *dsp_state, int index, int value); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_SETPARAM_BOOL_CALLBACK) (FMOD_DSP_STATE *dsp_state, int index, FMOD_BOOL value); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_SETPARAM_DATA_CALLBACK) (FMOD_DSP_STATE *dsp_state, int index, void *data, unsigned int length); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_GETPARAM_FLOAT_CALLBACK) (FMOD_DSP_STATE *dsp_state, int index, float *value, char *valuestr); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_GETPARAM_INT_CALLBACK) (FMOD_DSP_STATE *dsp_state, int index, int *value, char *valuestr); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_GETPARAM_BOOL_CALLBACK) (FMOD_DSP_STATE *dsp_state, int index, FMOD_BOOL *value, char *valuestr); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_GETPARAM_DATA_CALLBACK) (FMOD_DSP_STATE *dsp_state, int index, void **data, unsigned int *length, char *valuestr); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_SYSTEM_REGISTER_CALLBACK) (FMOD_DSP_STATE *dsp_state); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_SYSTEM_DEREGISTER_CALLBACK) (FMOD_DSP_STATE *dsp_state); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_SYSTEM_MIX_CALLBACK) (FMOD_DSP_STATE *dsp_state, int stage); - -/* - DSP Functions -*/ -typedef void * (F_CALL *FMOD_DSP_ALLOC_FUNC) (unsigned int size, FMOD_MEMORY_TYPE type, const char *sourcestr); -typedef void * (F_CALL *FMOD_DSP_REALLOC_FUNC) (void *ptr, unsigned int size, FMOD_MEMORY_TYPE type, const char *sourcestr); -typedef void (F_CALL *FMOD_DSP_FREE_FUNC) (void *ptr, FMOD_MEMORY_TYPE type, const char *sourcestr); -typedef void (F_CALL *FMOD_DSP_LOG_FUNC) (FMOD_DEBUG_FLAGS level, const char *file, int line, const char *function, const char *string, ...); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_GETSAMPLERATE_FUNC) (FMOD_DSP_STATE *dsp_state, int *rate); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_GETBLOCKSIZE_FUNC) (FMOD_DSP_STATE *dsp_state, unsigned int *blocksize); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_GETSPEAKERMODE_FUNC) (FMOD_DSP_STATE *dsp_state, FMOD_SPEAKERMODE *speakermode_mixer, FMOD_SPEAKERMODE *speakermode_output); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_GETCLOCK_FUNC) (FMOD_DSP_STATE *dsp_state, unsigned long long *clock, unsigned int *offset, unsigned int *length); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_GETLISTENERATTRIBUTES_FUNC) (FMOD_DSP_STATE *dsp_state, int *numlisteners, FMOD_3D_ATTRIBUTES *attributes); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_GETUSERDATA_FUNC) (FMOD_DSP_STATE *dsp_state, void **userdata); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_DFT_FFTREAL_FUNC) (FMOD_DSP_STATE *dsp_state, int size, const float *signal, FMOD_COMPLEX* dft, const float *window, int signalhop); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_DFT_IFFTREAL_FUNC) (FMOD_DSP_STATE *dsp_state, int size, const FMOD_COMPLEX *dft, float* signal, const float *window, int signalhop); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_PAN_SUMMONOMATRIX_FUNC) (FMOD_DSP_STATE *dsp_state, FMOD_SPEAKERMODE sourceSpeakerMode, float lowFrequencyGain, float overallGain, float *matrix); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_PAN_SUMSTEREOMATRIX_FUNC) (FMOD_DSP_STATE *dsp_state, FMOD_SPEAKERMODE sourceSpeakerMode, float pan, float lowFrequencyGain, float overallGain, int matrixHop, float *matrix); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_PAN_SUMSURROUNDMATRIX_FUNC) (FMOD_DSP_STATE *dsp_state, FMOD_SPEAKERMODE sourceSpeakerMode, FMOD_SPEAKERMODE targetSpeakerMode, float direction, float extent, float rotation, float lowFrequencyGain, float overallGain, int matrixHop, float *matrix, FMOD_DSP_PAN_SURROUND_FLAGS flags); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_PAN_SUMMONOTOSURROUNDMATRIX_FUNC) (FMOD_DSP_STATE *dsp_state, FMOD_SPEAKERMODE targetSpeakerMode, float direction, float extent, float lowFrequencyGain, float overallGain, int matrixHop, float *matrix); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_PAN_SUMSTEREOTOSURROUNDMATRIX_FUNC) (FMOD_DSP_STATE *dsp_state, FMOD_SPEAKERMODE targetSpeakerMode, float direction, float extent, float rotation, float lowFrequencyGain, float overallGain, int matrixHop, float *matrix); -typedef FMOD_RESULT (F_CALL *FMOD_DSP_PAN_GETROLLOFFGAIN_FUNC) (FMOD_DSP_STATE *dsp_state, FMOD_DSP_PAN_3D_ROLLOFF_TYPE rolloff, float distance, float mindistance, float maxdistance, float *gain); - -/* - DSP Structures -*/ -typedef struct FMOD_DSP_BUFFER_ARRAY -{ - int numbuffers; - int *buffernumchannels; - FMOD_CHANNELMASK *bufferchannelmask; - float **buffers; - FMOD_SPEAKERMODE speakermode; -} FMOD_DSP_BUFFER_ARRAY; - -typedef struct FMOD_COMPLEX -{ - float real; - float imag; -} FMOD_COMPLEX; - -typedef struct FMOD_DSP_PARAMETER_FLOAT_MAPPING_PIECEWISE_LINEAR -{ - int numpoints; - float *pointparamvalues; - float *pointpositions; -} FMOD_DSP_PARAMETER_FLOAT_MAPPING_PIECEWISE_LINEAR; - -typedef struct FMOD_DSP_PARAMETER_FLOAT_MAPPING -{ - FMOD_DSP_PARAMETER_FLOAT_MAPPING_TYPE type; - FMOD_DSP_PARAMETER_FLOAT_MAPPING_PIECEWISE_LINEAR piecewiselinearmapping; -} FMOD_DSP_PARAMETER_FLOAT_MAPPING; - -typedef struct FMOD_DSP_PARAMETER_DESC_FLOAT -{ - float min; - float max; - float defaultval; - FMOD_DSP_PARAMETER_FLOAT_MAPPING mapping; -} FMOD_DSP_PARAMETER_DESC_FLOAT; - -typedef struct FMOD_DSP_PARAMETER_DESC_INT -{ - int min; - int max; - int defaultval; - FMOD_BOOL goestoinf; - const char* const* valuenames; -} FMOD_DSP_PARAMETER_DESC_INT; - -typedef struct FMOD_DSP_PARAMETER_DESC_BOOL -{ - FMOD_BOOL defaultval; - const char* const* valuenames; -} FMOD_DSP_PARAMETER_DESC_BOOL; - -typedef struct FMOD_DSP_PARAMETER_DESC_DATA -{ - int datatype; -} FMOD_DSP_PARAMETER_DESC_DATA; - -typedef struct FMOD_DSP_PARAMETER_DESC -{ - FMOD_DSP_PARAMETER_TYPE type; - char name[16]; - char label[16]; - const char *description; - - union - { - FMOD_DSP_PARAMETER_DESC_FLOAT floatdesc; - FMOD_DSP_PARAMETER_DESC_INT intdesc; - FMOD_DSP_PARAMETER_DESC_BOOL booldesc; - FMOD_DSP_PARAMETER_DESC_DATA datadesc; - }; -} FMOD_DSP_PARAMETER_DESC; - -typedef struct FMOD_DSP_PARAMETER_OVERALLGAIN -{ - float linear_gain; - float linear_gain_additive; -} FMOD_DSP_PARAMETER_OVERALLGAIN; - -typedef struct FMOD_DSP_PARAMETER_3DATTRIBUTES -{ - FMOD_3D_ATTRIBUTES relative; - FMOD_3D_ATTRIBUTES absolute; -} FMOD_DSP_PARAMETER_3DATTRIBUTES; - -typedef struct FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI -{ - int numlisteners; - FMOD_3D_ATTRIBUTES relative[FMOD_MAX_LISTENERS]; - float weight[FMOD_MAX_LISTENERS]; - FMOD_3D_ATTRIBUTES absolute; -} FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI; - -typedef struct FMOD_DSP_PARAMETER_SIDECHAIN -{ - FMOD_BOOL sidechainenable; -} FMOD_DSP_PARAMETER_SIDECHAIN; - -typedef struct FMOD_DSP_PARAMETER_FFT -{ - int length; - int numchannels; - float *spectrum[32]; -} FMOD_DSP_PARAMETER_FFT; - -typedef struct FMOD_DSP_DESCRIPTION -{ - unsigned int pluginsdkversion; - char name[32]; - unsigned int version; - int numinputbuffers; - int numoutputbuffers; - FMOD_DSP_CREATE_CALLBACK create; - FMOD_DSP_RELEASE_CALLBACK release; - FMOD_DSP_RESET_CALLBACK reset; - FMOD_DSP_READ_CALLBACK read; - FMOD_DSP_PROCESS_CALLBACK process; - FMOD_DSP_SETPOSITION_CALLBACK setposition; - - int numparameters; - FMOD_DSP_PARAMETER_DESC **paramdesc; - FMOD_DSP_SETPARAM_FLOAT_CALLBACK setparameterfloat; - FMOD_DSP_SETPARAM_INT_CALLBACK setparameterint; - FMOD_DSP_SETPARAM_BOOL_CALLBACK setparameterbool; - FMOD_DSP_SETPARAM_DATA_CALLBACK setparameterdata; - FMOD_DSP_GETPARAM_FLOAT_CALLBACK getparameterfloat; - FMOD_DSP_GETPARAM_INT_CALLBACK getparameterint; - FMOD_DSP_GETPARAM_BOOL_CALLBACK getparameterbool; - FMOD_DSP_GETPARAM_DATA_CALLBACK getparameterdata; - FMOD_DSP_SHOULDIPROCESS_CALLBACK shouldiprocess; - void *userdata; - - FMOD_DSP_SYSTEM_REGISTER_CALLBACK sys_register; - FMOD_DSP_SYSTEM_DEREGISTER_CALLBACK sys_deregister; - FMOD_DSP_SYSTEM_MIX_CALLBACK sys_mix; - -} FMOD_DSP_DESCRIPTION; - -typedef struct FMOD_DSP_STATE_DFT_FUNCTIONS -{ - FMOD_DSP_DFT_FFTREAL_FUNC fftreal; - FMOD_DSP_DFT_IFFTREAL_FUNC inversefftreal; -} FMOD_DSP_STATE_DFT_FUNCTIONS; - -typedef struct FMOD_DSP_STATE_PAN_FUNCTIONS -{ - FMOD_DSP_PAN_SUMMONOMATRIX_FUNC summonomatrix; - FMOD_DSP_PAN_SUMSTEREOMATRIX_FUNC sumstereomatrix; - FMOD_DSP_PAN_SUMSURROUNDMATRIX_FUNC sumsurroundmatrix; - FMOD_DSP_PAN_SUMMONOTOSURROUNDMATRIX_FUNC summonotosurroundmatrix; - FMOD_DSP_PAN_SUMSTEREOTOSURROUNDMATRIX_FUNC sumstereotosurroundmatrix; - FMOD_DSP_PAN_GETROLLOFFGAIN_FUNC getrolloffgain; -} FMOD_DSP_STATE_PAN_FUNCTIONS; - -typedef struct FMOD_DSP_STATE_FUNCTIONS -{ - FMOD_DSP_ALLOC_FUNC alloc; - FMOD_DSP_REALLOC_FUNC realloc; - FMOD_DSP_FREE_FUNC free; - FMOD_DSP_GETSAMPLERATE_FUNC getsamplerate; - FMOD_DSP_GETBLOCKSIZE_FUNC getblocksize; - FMOD_DSP_STATE_DFT_FUNCTIONS *dft; - FMOD_DSP_STATE_PAN_FUNCTIONS *pan; - FMOD_DSP_GETSPEAKERMODE_FUNC getspeakermode; - FMOD_DSP_GETCLOCK_FUNC getclock; - FMOD_DSP_GETLISTENERATTRIBUTES_FUNC getlistenerattributes; - FMOD_DSP_LOG_FUNC log; - FMOD_DSP_GETUSERDATA_FUNC getuserdata; -} FMOD_DSP_STATE_FUNCTIONS; - -struct FMOD_DSP_STATE -{ - void *instance; - void *plugindata; - FMOD_CHANNELMASK channelmask; - FMOD_SPEAKERMODE source_speakermode; - float *sidechaindata; - int sidechainchannels; - FMOD_DSP_STATE_FUNCTIONS *functions; - int systemobject; -}; - -typedef struct FMOD_DSP_METERING_INFO -{ - int numsamples; - float peaklevel[32]; - float rmslevel[32]; - short numchannels; -} FMOD_DSP_METERING_INFO; - -/* - DSP Macros -*/ -#define FMOD_DSP_INIT_PARAMDESC_FLOAT(_paramstruct, _name, _label, _description, _min, _max, _defaultval) \ - memset(&(_paramstruct), 0, sizeof(_paramstruct)); \ - (_paramstruct).type = FMOD_DSP_PARAMETER_TYPE_FLOAT; \ - strncpy((_paramstruct).name, _name, 15); \ - strncpy((_paramstruct).label, _label, 15); \ - (_paramstruct).description = _description; \ - (_paramstruct).floatdesc.min = _min; \ - (_paramstruct).floatdesc.max = _max; \ - (_paramstruct).floatdesc.defaultval = _defaultval; \ - (_paramstruct).floatdesc.mapping.type = FMOD_DSP_PARAMETER_FLOAT_MAPPING_TYPE_AUTO; - -#define FMOD_DSP_INIT_PARAMDESC_FLOAT_WITH_MAPPING(_paramstruct, _name, _label, _description, _defaultval, _values, _positions); \ - memset(&(_paramstruct), 0, sizeof(_paramstruct)); \ - (_paramstruct).type = FMOD_DSP_PARAMETER_TYPE_FLOAT; \ - strncpy((_paramstruct).name, _name , 15); \ - strncpy((_paramstruct).label, _label, 15); \ - (_paramstruct).description = _description; \ - (_paramstruct).floatdesc.min = _values[0]; \ - (_paramstruct).floatdesc.max = _values[sizeof(_values) / sizeof(float) - 1]; \ - (_paramstruct).floatdesc.defaultval = _defaultval; \ - (_paramstruct).floatdesc.mapping.type = FMOD_DSP_PARAMETER_FLOAT_MAPPING_TYPE_PIECEWISE_LINEAR; \ - (_paramstruct).floatdesc.mapping.piecewiselinearmapping.numpoints = sizeof(_values) / sizeof(float); \ - (_paramstruct).floatdesc.mapping.piecewiselinearmapping.pointparamvalues = _values; \ - (_paramstruct).floatdesc.mapping.piecewiselinearmapping.pointpositions = _positions; - -#define FMOD_DSP_INIT_PARAMDESC_INT(_paramstruct, _name, _label, _description, _min, _max, _defaultval, _goestoinf, _valuenames) \ - memset(&(_paramstruct), 0, sizeof(_paramstruct)); \ - (_paramstruct).type = FMOD_DSP_PARAMETER_TYPE_INT; \ - strncpy((_paramstruct).name, _name , 15); \ - strncpy((_paramstruct).label, _label, 15); \ - (_paramstruct).description = _description; \ - (_paramstruct).intdesc.min = _min; \ - (_paramstruct).intdesc.max = _max; \ - (_paramstruct).intdesc.defaultval = _defaultval; \ - (_paramstruct).intdesc.goestoinf = _goestoinf; \ - (_paramstruct).intdesc.valuenames = _valuenames; - -#define FMOD_DSP_INIT_PARAMDESC_INT_ENUMERATED(_paramstruct, _name, _label, _description, _defaultval, _valuenames) \ - memset(&(_paramstruct), 0, sizeof(_paramstruct)); \ - (_paramstruct).type = FMOD_DSP_PARAMETER_TYPE_INT; \ - strncpy((_paramstruct).name, _name , 15); \ - strncpy((_paramstruct).label, _label, 15); \ - (_paramstruct).description = _description; \ - (_paramstruct).intdesc.min = 0; \ - (_paramstruct).intdesc.max = sizeof(_valuenames) / sizeof(char*) - 1; \ - (_paramstruct).intdesc.defaultval = _defaultval; \ - (_paramstruct).intdesc.goestoinf = false; \ - (_paramstruct).intdesc.valuenames = _valuenames; - -#define FMOD_DSP_INIT_PARAMDESC_BOOL(_paramstruct, _name, _label, _description, _defaultval, _valuenames) \ - memset(&(_paramstruct), 0, sizeof(_paramstruct)); \ - (_paramstruct).type = FMOD_DSP_PARAMETER_TYPE_BOOL; \ - strncpy((_paramstruct).name, _name , 15); \ - strncpy((_paramstruct).label, _label, 15); \ - (_paramstruct).description = _description; \ - (_paramstruct).booldesc.defaultval = _defaultval; \ - (_paramstruct).booldesc.valuenames = _valuenames; - -#define FMOD_DSP_INIT_PARAMDESC_DATA(_paramstruct, _name, _label, _description, _datatype) \ - memset(&(_paramstruct), 0, sizeof(_paramstruct)); \ - (_paramstruct).type = FMOD_DSP_PARAMETER_TYPE_DATA; \ - strncpy((_paramstruct).name, _name , 15); \ - strncpy((_paramstruct).label, _label, 15); \ - (_paramstruct).description = _description; \ - (_paramstruct).datadesc.datatype = _datatype; - -#define FMOD_DSP_ALLOC(_state, _size) \ - (_state)->functions->alloc(_size, FMOD_MEMORY_NORMAL, __FILE__) -#define FMOD_DSP_REALLOC(_state, _ptr, _size) \ - (_state)->functions->realloc(_ptr, _size, FMOD_MEMORY_NORMAL, __FILE__) -#define FMOD_DSP_FREE(_state, _ptr) \ - (_state)->functions->free(_ptr, FMOD_MEMORY_NORMAL, __FILE__) -#define FMOD_DSP_LOG(_state, _level, _location, _format, ...) \ - (_state)->functions->log(_level, __FILE__, __LINE__, _location, _format, __VA_ARGS__) -#define FMOD_DSP_GETSAMPLERATE(_state, _rate) \ - (_state)->functions->getsamplerate(_state, _rate) -#define FMOD_DSP_GETBLOCKSIZE(_state, _blocksize) \ - (_state)->functions->getblocksize(_state, _blocksize) -#define FMOD_DSP_GETSPEAKERMODE(_state, _speakermodemix, _speakermodeout) \ - (_state)->functions->getspeakermode(_state, _speakermodemix, _speakermodeout) -#define FMOD_DSP_GETCLOCK(_state, _clock, _offset, _length) \ - (_state)->functions->getclock(_state, _clock, _offset, _length) -#define FMOD_DSP_GETLISTENERATTRIBUTES(_state, _numlisteners, _attributes) \ - (_state)->functions->getlistenerattributes(_state, _numlisteners, _attributes) -#define FMOD_DSP_GETUSERDATA(_state, _userdata) \ - (_state)->functions->getuserdata(_state, _userdata) -#define FMOD_DSP_DFT_FFTREAL(_state, _size, _signal, _dft, _window, _signalhop) \ - (_state)->functions->dft->fftreal(_state, _size, _signal, _dft, _window, _signalhop) -#define FMOD_DSP_DFT_IFFTREAL(_state, _size, _dft, _signal, _window, _signalhop) \ - (_state)->functions->dft->inversefftreal(_state, _size, _dft, _signal, _window, _signalhop) -#define FMOD_DSP_PAN_SUMMONOMATRIX(_state, _sourcespeakermode, _lowfrequencygain, _overallgain, _matrix) \ - (_state)->functions->pan->summonomatrix(_state, _sourcespeakermode, _lowfrequencygain, _overallgain, _matrix) -#define FMOD_DSP_PAN_SUMSTEREOMATRIX(_state, _sourcespeakermode, _pan, _lowfrequencygain, _overallgain, _matrixhop, _matrix) \ - (_state)->functions->pan->sumstereomatrix(_state, _sourcespeakermode, _pan, _lowfrequencygain, _overallgain, _matrixhop, _matrix) -#define FMOD_DSP_PAN_SUMSURROUNDMATRIX(_state, _sourcespeakermode, _targetspeakermode, _direction, _extent, _rotation, _lowfrequencygain, _overallgain, _matrixhop, _matrix, _flags) \ - (_state)->functions->pan->sumsurroundmatrix(_state, _sourcespeakermode, _targetspeakermode, _direction, _extent, _rotation, _lowfrequencygain, _overallgain, _matrixhop, _matrix, _flags) -#define FMOD_DSP_PAN_SUMMONOTOSURROUNDMATRIX(_state, _targetspeakermode, _direction, _extent, _lowfrequencygain, _overallgain, _matrixhop, _matrix) \ - (_state)->functions->pan->summonotosurroundmatrix(_state, _targetspeakermode, _direction, _extent, _lowfrequencygain, _overallgain, _matrixhop, _matrix) -#define FMOD_DSP_PAN_SUMSTEREOTOSURROUNDMATRIX(_state, _targetspeakermode, _direction, _extent, _rotation, _lowfrequencygain, _overallgain, matrixhop, _matrix) \ - (_state)->functions->pan->sumstereotosurroundmatrix(_state, _targetspeakermode, _direction, _extent, _rotation, _lowfrequencygain, _overallgain, matrixhop, _matrix) -#define FMOD_DSP_PAN_GETROLLOFFGAIN(_state, _rolloff, _distance, _mindistance, _maxdistance, _gain) \ - (_state)->functions->pan->getrolloffgain(_state, _rolloff, _distance, _mindistance, _maxdistance, _gain) - -#endif - diff --git a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_dsp_effects.h b/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_dsp_effects.h deleted file mode 100644 index 616c358..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_dsp_effects.h +++ /dev/null @@ -1,537 +0,0 @@ -/* ============================================================================================================= */ -/* FMOD Core API - Built-in effects header file. */ -/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2019. */ -/* */ -/* In this header you can find parameter structures for FMOD system registered DSP effects */ -/* and generators. */ -/* */ -/* For more detail visit: */ -/* https://fmod.com/resources/documentation-api?version=2.0&page=core-api-common-dsp-effects.html#fmod_dsp_type */ -/* ============================================================================================================= */ - -#ifndef _FMOD_DSP_EFFECTS_H -#define _FMOD_DSP_EFFECTS_H - -typedef enum -{ - FMOD_DSP_TYPE_UNKNOWN, - FMOD_DSP_TYPE_MIXER, - FMOD_DSP_TYPE_OSCILLATOR, - FMOD_DSP_TYPE_LOWPASS, - FMOD_DSP_TYPE_ITLOWPASS, - FMOD_DSP_TYPE_HIGHPASS, - FMOD_DSP_TYPE_ECHO, - FMOD_DSP_TYPE_FADER, - FMOD_DSP_TYPE_FLANGE, - FMOD_DSP_TYPE_DISTORTION, - FMOD_DSP_TYPE_NORMALIZE, - FMOD_DSP_TYPE_LIMITER, - FMOD_DSP_TYPE_PARAMEQ, - FMOD_DSP_TYPE_PITCHSHIFT, - FMOD_DSP_TYPE_CHORUS, - FMOD_DSP_TYPE_VSTPLUGIN, - FMOD_DSP_TYPE_WINAMPPLUGIN, - FMOD_DSP_TYPE_ITECHO, - FMOD_DSP_TYPE_COMPRESSOR, - FMOD_DSP_TYPE_SFXREVERB, - FMOD_DSP_TYPE_LOWPASS_SIMPLE, - FMOD_DSP_TYPE_DELAY, - FMOD_DSP_TYPE_TREMOLO, - FMOD_DSP_TYPE_LADSPAPLUGIN, - FMOD_DSP_TYPE_SEND, - FMOD_DSP_TYPE_RETURN, - FMOD_DSP_TYPE_HIGHPASS_SIMPLE, - FMOD_DSP_TYPE_PAN, - FMOD_DSP_TYPE_THREE_EQ, - FMOD_DSP_TYPE_FFT, - FMOD_DSP_TYPE_LOUDNESS_METER, - FMOD_DSP_TYPE_ENVELOPEFOLLOWER, - FMOD_DSP_TYPE_CONVOLUTIONREVERB, - FMOD_DSP_TYPE_CHANNELMIX, - FMOD_DSP_TYPE_TRANSCEIVER, - FMOD_DSP_TYPE_OBJECTPAN, - FMOD_DSP_TYPE_MULTIBAND_EQ, - - FMOD_DSP_TYPE_MAX, - FMOD_DSP_TYPE_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */ -} FMOD_DSP_TYPE; - -/* - =================================================================================================== - - FMOD built in effect parameters. - Use DSP::setParameter with these enums for the 'index' parameter. - - =================================================================================================== -*/ - -typedef enum -{ - FMOD_DSP_OSCILLATOR_TYPE, - FMOD_DSP_OSCILLATOR_RATE -} FMOD_DSP_OSCILLATOR; - - -typedef enum -{ - FMOD_DSP_LOWPASS_CUTOFF, - FMOD_DSP_LOWPASS_RESONANCE -} FMOD_DSP_LOWPASS; - - -typedef enum -{ - FMOD_DSP_ITLOWPASS_CUTOFF, - FMOD_DSP_ITLOWPASS_RESONANCE -} FMOD_DSP_ITLOWPASS; - - -typedef enum -{ - FMOD_DSP_HIGHPASS_CUTOFF, - FMOD_DSP_HIGHPASS_RESONANCE -} FMOD_DSP_HIGHPASS; - - -typedef enum -{ - FMOD_DSP_ECHO_DELAY, - FMOD_DSP_ECHO_FEEDBACK, - FMOD_DSP_ECHO_DRYLEVEL, - FMOD_DSP_ECHO_WETLEVEL -} FMOD_DSP_ECHO; - - -typedef enum FMOD_DSP_FADER -{ - FMOD_DSP_FADER_GAIN, - FMOD_DSP_FADER_OVERALL_GAIN, -} FMOD_DSP_FADER; - - -typedef enum -{ - FMOD_DSP_FLANGE_MIX, - FMOD_DSP_FLANGE_DEPTH, - FMOD_DSP_FLANGE_RATE -} FMOD_DSP_FLANGE; - - -typedef enum -{ - FMOD_DSP_DISTORTION_LEVEL -} FMOD_DSP_DISTORTION; - - -typedef enum -{ - FMOD_DSP_NORMALIZE_FADETIME, - FMOD_DSP_NORMALIZE_THRESHHOLD, - FMOD_DSP_NORMALIZE_MAXAMP -} FMOD_DSP_NORMALIZE; - - -typedef enum -{ - FMOD_DSP_LIMITER_RELEASETIME, - FMOD_DSP_LIMITER_CEILING, - FMOD_DSP_LIMITER_MAXIMIZERGAIN, - FMOD_DSP_LIMITER_MODE, -} FMOD_DSP_LIMITER; - - -typedef enum -{ - FMOD_DSP_PARAMEQ_CENTER, - FMOD_DSP_PARAMEQ_BANDWIDTH, - FMOD_DSP_PARAMEQ_GAIN -} FMOD_DSP_PARAMEQ; - - -typedef enum FMOD_DSP_MULTIBAND_EQ -{ - FMOD_DSP_MULTIBAND_EQ_A_FILTER, - FMOD_DSP_MULTIBAND_EQ_A_FREQUENCY, - FMOD_DSP_MULTIBAND_EQ_A_Q, - FMOD_DSP_MULTIBAND_EQ_A_GAIN, - FMOD_DSP_MULTIBAND_EQ_B_FILTER, - FMOD_DSP_MULTIBAND_EQ_B_FREQUENCY, - FMOD_DSP_MULTIBAND_EQ_B_Q, - FMOD_DSP_MULTIBAND_EQ_B_GAIN, - FMOD_DSP_MULTIBAND_EQ_C_FILTER, - FMOD_DSP_MULTIBAND_EQ_C_FREQUENCY, - FMOD_DSP_MULTIBAND_EQ_C_Q, - FMOD_DSP_MULTIBAND_EQ_C_GAIN, - FMOD_DSP_MULTIBAND_EQ_D_FILTER, - FMOD_DSP_MULTIBAND_EQ_D_FREQUENCY, - FMOD_DSP_MULTIBAND_EQ_D_Q, - FMOD_DSP_MULTIBAND_EQ_D_GAIN, - FMOD_DSP_MULTIBAND_EQ_E_FILTER, - FMOD_DSP_MULTIBAND_EQ_E_FREQUENCY, - FMOD_DSP_MULTIBAND_EQ_E_Q, - FMOD_DSP_MULTIBAND_EQ_E_GAIN, -} FMOD_DSP_MULTIBAND_EQ; - - -typedef enum FMOD_DSP_MULTIBAND_EQ_FILTER_TYPE -{ - FMOD_DSP_MULTIBAND_EQ_FILTER_DISABLED, - FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_12DB, - FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_24DB, - FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_48DB, - FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_12DB, - FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_24DB, - FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_48DB, - FMOD_DSP_MULTIBAND_EQ_FILTER_LOWSHELF, - FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHSHELF, - FMOD_DSP_MULTIBAND_EQ_FILTER_PEAKING, - FMOD_DSP_MULTIBAND_EQ_FILTER_BANDPASS, - FMOD_DSP_MULTIBAND_EQ_FILTER_NOTCH, - FMOD_DSP_MULTIBAND_EQ_FILTER_ALLPASS, -} FMOD_DSP_MULTIBAND_EQ_FILTER_TYPE; - - -typedef enum -{ - FMOD_DSP_PITCHSHIFT_PITCH, - FMOD_DSP_PITCHSHIFT_FFTSIZE, - FMOD_DSP_PITCHSHIFT_OVERLAP, - FMOD_DSP_PITCHSHIFT_MAXCHANNELS -} FMOD_DSP_PITCHSHIFT; - - -typedef enum -{ - FMOD_DSP_CHORUS_MIX, - FMOD_DSP_CHORUS_RATE, - FMOD_DSP_CHORUS_DEPTH, -} FMOD_DSP_CHORUS; - - -typedef enum -{ - FMOD_DSP_ITECHO_WETDRYMIX, - FMOD_DSP_ITECHO_FEEDBACK, - FMOD_DSP_ITECHO_LEFTDELAY, - FMOD_DSP_ITECHO_RIGHTDELAY, - FMOD_DSP_ITECHO_PANDELAY -} FMOD_DSP_ITECHO; - -typedef enum -{ - FMOD_DSP_COMPRESSOR_THRESHOLD, - FMOD_DSP_COMPRESSOR_RATIO, - FMOD_DSP_COMPRESSOR_ATTACK, - FMOD_DSP_COMPRESSOR_RELEASE, - FMOD_DSP_COMPRESSOR_GAINMAKEUP, - FMOD_DSP_COMPRESSOR_USESIDECHAIN, - FMOD_DSP_COMPRESSOR_LINKED -} FMOD_DSP_COMPRESSOR; - -typedef enum -{ - FMOD_DSP_SFXREVERB_DECAYTIME, - FMOD_DSP_SFXREVERB_EARLYDELAY, - FMOD_DSP_SFXREVERB_LATEDELAY, - FMOD_DSP_SFXREVERB_HFREFERENCE, - FMOD_DSP_SFXREVERB_HFDECAYRATIO, - FMOD_DSP_SFXREVERB_DIFFUSION, - FMOD_DSP_SFXREVERB_DENSITY, - FMOD_DSP_SFXREVERB_LOWSHELFFREQUENCY, - FMOD_DSP_SFXREVERB_LOWSHELFGAIN, - FMOD_DSP_SFXREVERB_HIGHCUT, - FMOD_DSP_SFXREVERB_EARLYLATEMIX, - FMOD_DSP_SFXREVERB_WETLEVEL, - FMOD_DSP_SFXREVERB_DRYLEVEL -} FMOD_DSP_SFXREVERB; - -typedef enum -{ - FMOD_DSP_LOWPASS_SIMPLE_CUTOFF -} FMOD_DSP_LOWPASS_SIMPLE; - - -typedef enum -{ - FMOD_DSP_DELAY_CH0, - FMOD_DSP_DELAY_CH1, - FMOD_DSP_DELAY_CH2, - FMOD_DSP_DELAY_CH3, - FMOD_DSP_DELAY_CH4, - FMOD_DSP_DELAY_CH5, - FMOD_DSP_DELAY_CH6, - FMOD_DSP_DELAY_CH7, - FMOD_DSP_DELAY_CH8, - FMOD_DSP_DELAY_CH9, - FMOD_DSP_DELAY_CH10, - FMOD_DSP_DELAY_CH11, - FMOD_DSP_DELAY_CH12, - FMOD_DSP_DELAY_CH13, - FMOD_DSP_DELAY_CH14, - FMOD_DSP_DELAY_CH15, - FMOD_DSP_DELAY_MAXDELAY -} FMOD_DSP_DELAY; - - -typedef enum -{ - FMOD_DSP_TREMOLO_FREQUENCY, - FMOD_DSP_TREMOLO_DEPTH, - FMOD_DSP_TREMOLO_SHAPE, - FMOD_DSP_TREMOLO_SKEW, - FMOD_DSP_TREMOLO_DUTY, - FMOD_DSP_TREMOLO_SQUARE, - FMOD_DSP_TREMOLO_PHASE, - FMOD_DSP_TREMOLO_SPREAD -} FMOD_DSP_TREMOLO; - - -typedef enum -{ - FMOD_DSP_SEND_RETURNID, - FMOD_DSP_SEND_LEVEL, -} FMOD_DSP_SEND; - - -typedef enum -{ - FMOD_DSP_RETURN_ID, - FMOD_DSP_RETURN_INPUT_SPEAKER_MODE -} FMOD_DSP_RETURN; - - -typedef enum -{ - FMOD_DSP_HIGHPASS_SIMPLE_CUTOFF -} FMOD_DSP_HIGHPASS_SIMPLE; - - -typedef enum -{ - FMOD_DSP_PAN_2D_STEREO_MODE_DISTRIBUTED, - FMOD_DSP_PAN_2D_STEREO_MODE_DISCRETE -} FMOD_DSP_PAN_2D_STEREO_MODE_TYPE; - - -typedef enum -{ - FMOD_DSP_PAN_MODE_MONO, - FMOD_DSP_PAN_MODE_STEREO, - FMOD_DSP_PAN_MODE_SURROUND -} FMOD_DSP_PAN_MODE_TYPE; - - -typedef enum -{ - FMOD_DSP_PAN_3D_ROLLOFF_LINEARSQUARED, - FMOD_DSP_PAN_3D_ROLLOFF_LINEAR, - FMOD_DSP_PAN_3D_ROLLOFF_INVERSE, - FMOD_DSP_PAN_3D_ROLLOFF_INVERSETAPERED, - FMOD_DSP_PAN_3D_ROLLOFF_CUSTOM -} FMOD_DSP_PAN_3D_ROLLOFF_TYPE; - - -typedef enum -{ - FMOD_DSP_PAN_3D_EXTENT_MODE_AUTO, - FMOD_DSP_PAN_3D_EXTENT_MODE_USER, - FMOD_DSP_PAN_3D_EXTENT_MODE_OFF -} FMOD_DSP_PAN_3D_EXTENT_MODE_TYPE; - - -typedef enum -{ - FMOD_DSP_PAN_MODE, - FMOD_DSP_PAN_2D_STEREO_POSITION, - FMOD_DSP_PAN_2D_DIRECTION, - FMOD_DSP_PAN_2D_EXTENT, - FMOD_DSP_PAN_2D_ROTATION, - FMOD_DSP_PAN_2D_LFE_LEVEL, - FMOD_DSP_PAN_2D_STEREO_MODE, - FMOD_DSP_PAN_2D_STEREO_SEPARATION, - FMOD_DSP_PAN_2D_STEREO_AXIS, - FMOD_DSP_PAN_ENABLED_SPEAKERS, - FMOD_DSP_PAN_3D_POSITION, - FMOD_DSP_PAN_3D_ROLLOFF, - FMOD_DSP_PAN_3D_MIN_DISTANCE, - FMOD_DSP_PAN_3D_MAX_DISTANCE, - FMOD_DSP_PAN_3D_EXTENT_MODE, - FMOD_DSP_PAN_3D_SOUND_SIZE, - FMOD_DSP_PAN_3D_MIN_EXTENT, - FMOD_DSP_PAN_3D_PAN_BLEND, - FMOD_DSP_PAN_LFE_UPMIX_ENABLED, - FMOD_DSP_PAN_OVERALL_GAIN, - FMOD_DSP_PAN_SURROUND_SPEAKER_MODE, - FMOD_DSP_PAN_2D_HEIGHT_BLEND, -} FMOD_DSP_PAN; - - -typedef enum -{ - FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_12DB, - FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_24DB, - FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_48DB -} FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_TYPE; - - -typedef enum -{ - FMOD_DSP_THREE_EQ_LOWGAIN, - FMOD_DSP_THREE_EQ_MIDGAIN, - FMOD_DSP_THREE_EQ_HIGHGAIN, - FMOD_DSP_THREE_EQ_LOWCROSSOVER, - FMOD_DSP_THREE_EQ_HIGHCROSSOVER, - FMOD_DSP_THREE_EQ_CROSSOVERSLOPE -} FMOD_DSP_THREE_EQ; - - -typedef enum -{ - FMOD_DSP_FFT_WINDOW_RECT, - FMOD_DSP_FFT_WINDOW_TRIANGLE, - FMOD_DSP_FFT_WINDOW_HAMMING, - FMOD_DSP_FFT_WINDOW_HANNING, - FMOD_DSP_FFT_WINDOW_BLACKMAN, - FMOD_DSP_FFT_WINDOW_BLACKMANHARRIS -} FMOD_DSP_FFT_WINDOW; - - -typedef enum -{ - FMOD_DSP_FFT_WINDOWSIZE, - FMOD_DSP_FFT_WINDOWTYPE, - FMOD_DSP_FFT_SPECTRUMDATA, - FMOD_DSP_FFT_DOMINANT_FREQ -} FMOD_DSP_FFT; - - -typedef enum -{ - FMOD_DSP_ENVELOPEFOLLOWER_ATTACK, - FMOD_DSP_ENVELOPEFOLLOWER_RELEASE, - FMOD_DSP_ENVELOPEFOLLOWER_ENVELOPE, - FMOD_DSP_ENVELOPEFOLLOWER_USESIDECHAIN -} FMOD_DSP_ENVELOPEFOLLOWER; - -typedef enum -{ - FMOD_DSP_CONVOLUTION_REVERB_PARAM_IR, - FMOD_DSP_CONVOLUTION_REVERB_PARAM_WET, - FMOD_DSP_CONVOLUTION_REVERB_PARAM_DRY, - FMOD_DSP_CONVOLUTION_REVERB_PARAM_LINKED -} FMOD_DSP_CONVOLUTION_REVERB; - -typedef enum -{ - FMOD_DSP_CHANNELMIX_OUTPUT_DEFAULT, - FMOD_DSP_CHANNELMIX_OUTPUT_ALLMONO, - FMOD_DSP_CHANNELMIX_OUTPUT_ALLSTEREO, - FMOD_DSP_CHANNELMIX_OUTPUT_ALLQUAD, - FMOD_DSP_CHANNELMIX_OUTPUT_ALL5POINT1, - FMOD_DSP_CHANNELMIX_OUTPUT_ALL7POINT1, - FMOD_DSP_CHANNELMIX_OUTPUT_ALLLFE, - FMOD_DSP_CHANNELMIX_OUTPUT_ALL7POINT1POINT4 -} FMOD_DSP_CHANNELMIX_OUTPUT; - -typedef enum -{ - FMOD_DSP_CHANNELMIX_OUTPUTGROUPING, - FMOD_DSP_CHANNELMIX_GAIN_CH0, - FMOD_DSP_CHANNELMIX_GAIN_CH1, - FMOD_DSP_CHANNELMIX_GAIN_CH2, - FMOD_DSP_CHANNELMIX_GAIN_CH3, - FMOD_DSP_CHANNELMIX_GAIN_CH4, - FMOD_DSP_CHANNELMIX_GAIN_CH5, - FMOD_DSP_CHANNELMIX_GAIN_CH6, - FMOD_DSP_CHANNELMIX_GAIN_CH7, - FMOD_DSP_CHANNELMIX_GAIN_CH8, - FMOD_DSP_CHANNELMIX_GAIN_CH9, - FMOD_DSP_CHANNELMIX_GAIN_CH10, - FMOD_DSP_CHANNELMIX_GAIN_CH11, - FMOD_DSP_CHANNELMIX_GAIN_CH12, - FMOD_DSP_CHANNELMIX_GAIN_CH13, - FMOD_DSP_CHANNELMIX_GAIN_CH14, - FMOD_DSP_CHANNELMIX_GAIN_CH15, - FMOD_DSP_CHANNELMIX_GAIN_CH16, - FMOD_DSP_CHANNELMIX_GAIN_CH17, - FMOD_DSP_CHANNELMIX_GAIN_CH18, - FMOD_DSP_CHANNELMIX_GAIN_CH19, - FMOD_DSP_CHANNELMIX_GAIN_CH20, - FMOD_DSP_CHANNELMIX_GAIN_CH21, - FMOD_DSP_CHANNELMIX_GAIN_CH22, - FMOD_DSP_CHANNELMIX_GAIN_CH23, - FMOD_DSP_CHANNELMIX_GAIN_CH24, - FMOD_DSP_CHANNELMIX_GAIN_CH25, - FMOD_DSP_CHANNELMIX_GAIN_CH26, - FMOD_DSP_CHANNELMIX_GAIN_CH27, - FMOD_DSP_CHANNELMIX_GAIN_CH28, - FMOD_DSP_CHANNELMIX_GAIN_CH29, - FMOD_DSP_CHANNELMIX_GAIN_CH30, - FMOD_DSP_CHANNELMIX_GAIN_CH31, - FMOD_DSP_CHANNELMIX_OUTPUT_CH0, - FMOD_DSP_CHANNELMIX_OUTPUT_CH1, - FMOD_DSP_CHANNELMIX_OUTPUT_CH2, - FMOD_DSP_CHANNELMIX_OUTPUT_CH3, - FMOD_DSP_CHANNELMIX_OUTPUT_CH4, - FMOD_DSP_CHANNELMIX_OUTPUT_CH5, - FMOD_DSP_CHANNELMIX_OUTPUT_CH6, - FMOD_DSP_CHANNELMIX_OUTPUT_CH7, - FMOD_DSP_CHANNELMIX_OUTPUT_CH8, - FMOD_DSP_CHANNELMIX_OUTPUT_CH9, - FMOD_DSP_CHANNELMIX_OUTPUT_CH10, - FMOD_DSP_CHANNELMIX_OUTPUT_CH11, - FMOD_DSP_CHANNELMIX_OUTPUT_CH12, - FMOD_DSP_CHANNELMIX_OUTPUT_CH13, - FMOD_DSP_CHANNELMIX_OUTPUT_CH14, - FMOD_DSP_CHANNELMIX_OUTPUT_CH15, - FMOD_DSP_CHANNELMIX_OUTPUT_CH16, - FMOD_DSP_CHANNELMIX_OUTPUT_CH17, - FMOD_DSP_CHANNELMIX_OUTPUT_CH18, - FMOD_DSP_CHANNELMIX_OUTPUT_CH19, - FMOD_DSP_CHANNELMIX_OUTPUT_CH20, - FMOD_DSP_CHANNELMIX_OUTPUT_CH21, - FMOD_DSP_CHANNELMIX_OUTPUT_CH22, - FMOD_DSP_CHANNELMIX_OUTPUT_CH23, - FMOD_DSP_CHANNELMIX_OUTPUT_CH24, - FMOD_DSP_CHANNELMIX_OUTPUT_CH25, - FMOD_DSP_CHANNELMIX_OUTPUT_CH26, - FMOD_DSP_CHANNELMIX_OUTPUT_CH27, - FMOD_DSP_CHANNELMIX_OUTPUT_CH28, - FMOD_DSP_CHANNELMIX_OUTPUT_CH29, - FMOD_DSP_CHANNELMIX_OUTPUT_CH30, - FMOD_DSP_CHANNELMIX_OUTPUT_CH31 -} FMOD_DSP_CHANNELMIX; - -typedef enum -{ - FMOD_DSP_TRANSCEIVER_SPEAKERMODE_AUTO = -1, - FMOD_DSP_TRANSCEIVER_SPEAKERMODE_MONO = 0, - FMOD_DSP_TRANSCEIVER_SPEAKERMODE_STEREO, - FMOD_DSP_TRANSCEIVER_SPEAKERMODE_SURROUND, -} FMOD_DSP_TRANSCEIVER_SPEAKERMODE; - - -typedef enum -{ - FMOD_DSP_TRANSCEIVER_TRANSMIT, - FMOD_DSP_TRANSCEIVER_GAIN, - FMOD_DSP_TRANSCEIVER_CHANNEL, - FMOD_DSP_TRANSCEIVER_TRANSMITSPEAKERMODE -} FMOD_DSP_TRANSCEIVER; - - -typedef enum -{ - FMOD_DSP_OBJECTPAN_3D_POSITION, - FMOD_DSP_OBJECTPAN_3D_ROLLOFF, - FMOD_DSP_OBJECTPAN_3D_MIN_DISTANCE, - FMOD_DSP_OBJECTPAN_3D_MAX_DISTANCE, - FMOD_DSP_OBJECTPAN_3D_EXTENT_MODE, - FMOD_DSP_OBJECTPAN_3D_SOUND_SIZE, - FMOD_DSP_OBJECTPAN_3D_MIN_EXTENT, - FMOD_DSP_OBJECTPAN_OVERALL_GAIN, - FMOD_DSP_OBJECTPAN_OUTPUTGAIN -} FMOD_DSP_OBJECTPAN; - -#endif - diff --git a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_errors.h b/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_errors.h deleted file mode 100644 index 44d0296..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_errors.h +++ /dev/null @@ -1,110 +0,0 @@ -/* ============================================================================================== */ -/* FMOD Core / Studio API - Error string header file. */ -/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2019. */ -/* */ -/* Use this header if you want to store or display a string version / english explanation */ -/* of the FMOD error codes. */ -/* */ -/* For more detail visit: */ -/* https://fmod.com/resources/documentation-api?version=2.0&page=core-api-common.html#fmod_result */ -/* =============================================================================================== */ -#ifndef _FMOD_ERRORS_H -#define _FMOD_ERRORS_H - -#include "fmod.h" - -#ifdef __GNUC__ -static const char *FMOD_ErrorString(FMOD_RESULT errcode) __attribute__((unused)); -#endif - -static const char *FMOD_ErrorString(FMOD_RESULT errcode) -{ - switch (errcode) - { - case FMOD_OK: return "No errors."; - case FMOD_ERR_BADCOMMAND: return "Tried to call a function on a data type that does not allow this type of functionality (ie calling Sound::lock on a streaming sound)."; - case FMOD_ERR_CHANNEL_ALLOC: return "Error trying to allocate a channel."; - case FMOD_ERR_CHANNEL_STOLEN: return "The specified channel has been reused to play another sound."; - case FMOD_ERR_DMA: return "DMA Failure. See debug output for more information."; - case FMOD_ERR_DSP_CONNECTION: return "DSP connection error. Connection possibly caused a cyclic dependency or connected dsps with incompatible buffer counts."; - case FMOD_ERR_DSP_DONTPROCESS: return "DSP return code from a DSP process query callback. Tells mixer not to call the process callback and therefore not consume CPU. Use this to optimize the DSP graph."; - case FMOD_ERR_DSP_FORMAT: return "DSP Format error. A DSP unit may have attempted to connect to this network with the wrong format, or a matrix may have been set with the wrong size if the target unit has a specified channel map."; - case FMOD_ERR_DSP_INUSE: return "DSP is already in the mixer's DSP network. It must be removed before being reinserted or released."; - case FMOD_ERR_DSP_NOTFOUND: return "DSP connection error. Couldn't find the DSP unit specified."; - case FMOD_ERR_DSP_RESERVED: return "DSP operation error. Cannot perform operation on this DSP as it is reserved by the system."; - case FMOD_ERR_DSP_SILENCE: return "DSP return code from a DSP process query callback. Tells mixer silence would be produced from read, so go idle and not consume CPU. Use this to optimize the DSP graph."; - case FMOD_ERR_DSP_TYPE: return "DSP operation cannot be performed on a DSP of this type."; - case FMOD_ERR_FILE_BAD: return "Error loading file."; - case FMOD_ERR_FILE_COULDNOTSEEK: return "Couldn't perform seek operation. This is a limitation of the medium (ie netstreams) or the file format."; - case FMOD_ERR_FILE_DISKEJECTED: return "Media was ejected while reading."; - case FMOD_ERR_FILE_EOF: return "End of file unexpectedly reached while trying to read essential data (truncated?)."; - case FMOD_ERR_FILE_ENDOFDATA: return "End of current chunk reached while trying to read data."; - case FMOD_ERR_FILE_NOTFOUND: return "File not found."; - case FMOD_ERR_FORMAT: return "Unsupported file or audio format."; - case FMOD_ERR_HEADER_MISMATCH: return "There is a version mismatch between the FMOD header and either the FMOD Studio library or the FMOD Low Level library."; - case FMOD_ERR_HTTP: return "A HTTP error occurred. This is a catch-all for HTTP errors not listed elsewhere."; - case FMOD_ERR_HTTP_ACCESS: return "The specified resource requires authentication or is forbidden."; - case FMOD_ERR_HTTP_PROXY_AUTH: return "Proxy authentication is required to access the specified resource."; - case FMOD_ERR_HTTP_SERVER_ERROR: return "A HTTP server error occurred."; - case FMOD_ERR_HTTP_TIMEOUT: return "The HTTP request timed out."; - case FMOD_ERR_INITIALIZATION: return "FMOD was not initialized correctly to support this function."; - case FMOD_ERR_INITIALIZED: return "Cannot call this command after System::init."; - case FMOD_ERR_INTERNAL: return "An error occurred that wasn't supposed to. Contact support."; - case FMOD_ERR_INVALID_FLOAT: return "Value passed in was a NaN, Inf or denormalized float."; - case FMOD_ERR_INVALID_HANDLE: return "An invalid object handle was used."; - case FMOD_ERR_INVALID_PARAM: return "An invalid parameter was passed to this function."; - case FMOD_ERR_INVALID_POSITION: return "An invalid seek position was passed to this function."; - case FMOD_ERR_INVALID_SPEAKER: return "An invalid speaker was passed to this function based on the current speaker mode."; - case FMOD_ERR_INVALID_SYNCPOINT: return "The syncpoint did not come from this sound handle."; - case FMOD_ERR_INVALID_THREAD: return "Tried to call a function on a thread that is not supported."; - case FMOD_ERR_INVALID_VECTOR: return "The vectors passed in are not unit length, or perpendicular."; - case FMOD_ERR_MAXAUDIBLE: return "Reached maximum audible playback count for this sound's soundgroup."; - case FMOD_ERR_MEMORY: return "Not enough memory or resources."; - case FMOD_ERR_MEMORY_CANTPOINT: return "Can't use FMOD_OPENMEMORY_POINT on non PCM source data, or non mp3/xma/adpcm data if FMOD_CREATECOMPRESSEDSAMPLE was used."; - case FMOD_ERR_NEEDS3D: return "Tried to call a command on a 2d sound when the command was meant for 3d sound."; - case FMOD_ERR_NEEDSHARDWARE: return "Tried to use a feature that requires hardware support."; - case FMOD_ERR_NET_CONNECT: return "Couldn't connect to the specified host."; - case FMOD_ERR_NET_SOCKET_ERROR: return "A socket error occurred. This is a catch-all for socket-related errors not listed elsewhere."; - case FMOD_ERR_NET_URL: return "The specified URL couldn't be resolved."; - case FMOD_ERR_NET_WOULD_BLOCK: return "Operation on a non-blocking socket could not complete immediately."; - case FMOD_ERR_NOTREADY: return "Operation could not be performed because specified sound/DSP connection is not ready."; - case FMOD_ERR_OUTPUT_ALLOCATED: return "Error initializing output device, but more specifically, the output device is already in use and cannot be reused."; - case FMOD_ERR_OUTPUT_CREATEBUFFER: return "Error creating hardware sound buffer."; - case FMOD_ERR_OUTPUT_DRIVERCALL: return "A call to a standard soundcard driver failed, which could possibly mean a bug in the driver or resources were missing or exhausted."; - case FMOD_ERR_OUTPUT_FORMAT: return "Soundcard does not support the specified format."; - case FMOD_ERR_OUTPUT_INIT: return "Error initializing output device."; - case FMOD_ERR_OUTPUT_NODRIVERS: return "The output device has no drivers installed. If pre-init, FMOD_OUTPUT_NOSOUND is selected as the output mode. If post-init, the function just fails."; - case FMOD_ERR_PLUGIN: return "An unspecified error has been returned from a plugin."; - case FMOD_ERR_PLUGIN_MISSING: return "A requested output, dsp unit type or codec was not available."; - case FMOD_ERR_PLUGIN_RESOURCE: return "A resource that the plugin requires cannot be found. (ie the DLS file for MIDI playback)"; - case FMOD_ERR_PLUGIN_VERSION: return "A plugin was built with an unsupported SDK version."; - case FMOD_ERR_RECORD: return "An error occurred trying to initialize the recording device."; - case FMOD_ERR_REVERB_CHANNELGROUP: return "Reverb properties cannot be set on this channel because a parent channelgroup owns the reverb connection."; - case FMOD_ERR_REVERB_INSTANCE: return "Specified instance in FMOD_REVERB_PROPERTIES couldn't be set. Most likely because it is an invalid instance number or the reverb doesn't exist."; - case FMOD_ERR_SUBSOUNDS: return "The error occurred because the sound referenced contains subsounds when it shouldn't have, or it doesn't contain subsounds when it should have. The operation may also not be able to be performed on a parent sound."; - case FMOD_ERR_SUBSOUND_ALLOCATED: return "This subsound is already being used by another sound, you cannot have more than one parent to a sound. Null out the other parent's entry first."; - case FMOD_ERR_SUBSOUND_CANTMOVE: return "Shared subsounds cannot be replaced or moved from their parent stream, such as when the parent stream is an FSB file."; - case FMOD_ERR_TAGNOTFOUND: return "The specified tag could not be found or there are no tags."; - case FMOD_ERR_TOOMANYCHANNELS: return "The sound created exceeds the allowable input channel count. This can be increased using the 'maxinputchannels' parameter in System::setSoftwareFormat."; - case FMOD_ERR_TRUNCATED: return "The retrieved string is too long to fit in the supplied buffer and has been truncated."; - case FMOD_ERR_UNIMPLEMENTED: return "Something in FMOD hasn't been implemented when it should be! contact support!"; - case FMOD_ERR_UNINITIALIZED: return "This command failed because System::init or System::setDriver was not called."; - case FMOD_ERR_UNSUPPORTED: return "A command issued was not supported by this object. Possibly a plugin without certain callbacks specified."; - case FMOD_ERR_VERSION: return "The version number of this file format is not supported."; - case FMOD_ERR_EVENT_ALREADY_LOADED: return "The specified bank has already been loaded."; - case FMOD_ERR_EVENT_LIVEUPDATE_BUSY: return "The live update connection failed due to the game already being connected."; - case FMOD_ERR_EVENT_LIVEUPDATE_MISMATCH: return "The live update connection failed due to the game data being out of sync with the tool."; - case FMOD_ERR_EVENT_LIVEUPDATE_TIMEOUT: return "The live update connection timed out."; - case FMOD_ERR_EVENT_NOTFOUND: return "The requested event, parameter, bus or vca could not be found."; - case FMOD_ERR_STUDIO_UNINITIALIZED: return "The Studio::System object is not yet initialized."; - case FMOD_ERR_STUDIO_NOT_LOADED: return "The specified resource is not loaded, so it can't be unloaded."; - case FMOD_ERR_INVALID_STRING: return "An invalid string was passed to this function."; - case FMOD_ERR_ALREADY_LOCKED: return "The specified resource is already locked."; - case FMOD_ERR_NOT_LOCKED: return "The specified resource is not locked, so it can't be unlocked."; - case FMOD_ERR_RECORD_DISCONNECTED: return "The specified recording driver has been disconnected."; - case FMOD_ERR_TOOMANYSAMPLES: return "The length provided exceeds the allowable limit."; - default : return "Unknown error."; - }; -} - -#endif diff --git a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_output.h b/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_output.h deleted file mode 100644 index cda8555..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_output.h +++ /dev/null @@ -1,124 +0,0 @@ -/* ======================================================================================== */ -/* FMOD Core API - output development header file. */ -/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2019. */ -/* */ -/* Use this header if you are wanting to develop your own output plugin to use with */ -/* FMOD's output system. With this header you can make your own output plugin that FMOD */ -/* can register and use. See the documentation and examples on how to make a working */ -/* plugin. */ -/* */ -/* For more detail visit: */ -/* https://fmod.com/resources/documentation-api?version=2.0&page=plugin-api-output.html */ -/* ======================================================================================== */ -#ifndef _FMOD_OUTPUT_H -#define _FMOD_OUTPUT_H - -typedef struct FMOD_OUTPUT_STATE FMOD_OUTPUT_STATE; -typedef struct FMOD_OUTPUT_OBJECT3DINFO FMOD_OUTPUT_OBJECT3DINFO; - -/* - Output constants -*/ -#define FMOD_OUTPUT_PLUGIN_VERSION 4 - -/* - Output callbacks -*/ -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_GETNUMDRIVERS_CALLBACK) (FMOD_OUTPUT_STATE *output_state, int *numdrivers); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_GETDRIVERINFO_CALLBACK) (FMOD_OUTPUT_STATE *output_state, int id, char *name, int namelen, FMOD_GUID *guid, int *systemrate, FMOD_SPEAKERMODE *speakermode, int *speakermodechannels); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_INIT_CALLBACK) (FMOD_OUTPUT_STATE *output_state, int selecteddriver, FMOD_INITFLAGS flags, int *outputrate, FMOD_SPEAKERMODE *speakermode, int *speakermodechannels, FMOD_SOUND_FORMAT *outputformat, int dspbufferlength, int dspnumbuffers, void *extradriverdata); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_START_CALLBACK) (FMOD_OUTPUT_STATE *output_state); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_STOP_CALLBACK) (FMOD_OUTPUT_STATE *output_state); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_CLOSE_CALLBACK) (FMOD_OUTPUT_STATE *output_state); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_UPDATE_CALLBACK) (FMOD_OUTPUT_STATE *output_state); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_GETHANDLE_CALLBACK) (FMOD_OUTPUT_STATE *output_state, void **handle); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_GETPOSITION_CALLBACK) (FMOD_OUTPUT_STATE *output_state, unsigned int *pcm); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_LOCK_CALLBACK) (FMOD_OUTPUT_STATE *output_state, unsigned int offset, unsigned int length, void **ptr1, void **ptr2, unsigned int *len1, unsigned int *len2); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_UNLOCK_CALLBACK) (FMOD_OUTPUT_STATE *output_state, void *ptr1, void *ptr2, unsigned int len1, unsigned int len2); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_MIXER_CALLBACK) (FMOD_OUTPUT_STATE *output_state); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_OBJECT3DGETINFO_CALLBACK) (FMOD_OUTPUT_STATE *output_state, int *maxhardwareobjects); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_OBJECT3DALLOC_CALLBACK) (FMOD_OUTPUT_STATE *output_state, void **object3d); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_OBJECT3DFREE_CALLBACK) (FMOD_OUTPUT_STATE *output_state, void *object3d); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_OBJECT3DUPDATE_CALLBACK) (FMOD_OUTPUT_STATE *output_state, void *object3d, const FMOD_OUTPUT_OBJECT3DINFO *info); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_OPENPORT_CALLBACK) (FMOD_OUTPUT_STATE *output_state, FMOD_PORT_TYPE portType, FMOD_PORT_INDEX portIndex, int *portId, int *portRate, int *portChannels, FMOD_SOUND_FORMAT *portFormat); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_CLOSEPORT_CALLBACK) (FMOD_OUTPUT_STATE *output_state, int portId); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_DEVICELISTCHANGED_CALLBACK)(FMOD_OUTPUT_STATE *output_state); - -/* - Output functions -*/ -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_READFROMMIXER_FUNC) (FMOD_OUTPUT_STATE *output_state, void *buffer, unsigned int length); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_COPYPORT_FUNC) (FMOD_OUTPUT_STATE *output_state, int portId, void *buffer, unsigned int length); -typedef FMOD_RESULT (F_CALL *FMOD_OUTPUT_REQUESTRESET_FUNC) (FMOD_OUTPUT_STATE *output_state); -typedef void * (F_CALL *FMOD_OUTPUT_ALLOC_FUNC) (unsigned int size, unsigned int align, const char *file, int line); -typedef void (F_CALL *FMOD_OUTPUT_FREE_FUNC) (void *ptr, const char *file, int line); -typedef void (F_CALL *FMOD_OUTPUT_LOG_FUNC) (FMOD_DEBUG_FLAGS level, const char *file, int line, const char *function, const char *string, ...); - -/* - Output structures -*/ -typedef struct FMOD_OUTPUT_DESCRIPTION -{ - unsigned int apiversion; - const char *name; - unsigned int version; - int polling; - FMOD_OUTPUT_GETNUMDRIVERS_CALLBACK getnumdrivers; - FMOD_OUTPUT_GETDRIVERINFO_CALLBACK getdriverinfo; - FMOD_OUTPUT_INIT_CALLBACK init; - FMOD_OUTPUT_START_CALLBACK start; - FMOD_OUTPUT_STOP_CALLBACK stop; - FMOD_OUTPUT_CLOSE_CALLBACK close; - FMOD_OUTPUT_UPDATE_CALLBACK update; - FMOD_OUTPUT_GETHANDLE_CALLBACK gethandle; - FMOD_OUTPUT_GETPOSITION_CALLBACK getposition; - FMOD_OUTPUT_LOCK_CALLBACK lock; - FMOD_OUTPUT_UNLOCK_CALLBACK unlock; - FMOD_OUTPUT_MIXER_CALLBACK mixer; - FMOD_OUTPUT_OBJECT3DGETINFO_CALLBACK object3dgetinfo; - FMOD_OUTPUT_OBJECT3DALLOC_CALLBACK object3dalloc; - FMOD_OUTPUT_OBJECT3DFREE_CALLBACK object3dfree; - FMOD_OUTPUT_OBJECT3DUPDATE_CALLBACK object3dupdate; - FMOD_OUTPUT_OPENPORT_CALLBACK openport; - FMOD_OUTPUT_CLOSEPORT_CALLBACK closeport; - FMOD_OUTPUT_DEVICELISTCHANGED_CALLBACK devicelistchanged; -} FMOD_OUTPUT_DESCRIPTION; - -struct FMOD_OUTPUT_STATE -{ - void *plugindata; - FMOD_OUTPUT_READFROMMIXER_FUNC readfrommixer; - FMOD_OUTPUT_ALLOC_FUNC alloc; - FMOD_OUTPUT_FREE_FUNC free; - FMOD_OUTPUT_LOG_FUNC log; - FMOD_OUTPUT_COPYPORT_FUNC copyport; - FMOD_OUTPUT_REQUESTRESET_FUNC requestreset; -}; - -struct FMOD_OUTPUT_OBJECT3DINFO -{ - float *buffer; - unsigned int bufferlength; - FMOD_VECTOR position; - float gain; - float spread; - float priority; -}; - -/* - Output macros -*/ -#define FMOD_OUTPUT_READFROMMIXER(_state, _buffer, _length) \ - (_state)->readfrommixer(_state, _buffer, _length) -#define FMOD_OUTPUT_ALLOC(_state, _size, _align) \ - (_state)->alloc(_size, _align, __FILE__, __LINE__) -#define FMOD_OUTPUT_FREE(_state, _ptr) \ - (_state)->free(_ptr, __FILE__, __LINE__) -#define FMOD_OUTPUT_LOG(_state, _level, _location, _format, ...) \ - (_state)->log(_level, __FILE__, __LINE__, _location, _format, __VA_ARGS__) -#define FMOD_OUTPUT_COPYPORT(_state, _id, _buffer, _length) \ - (_state)->copyport(_state, _id, _buffer, _length) -#define FMOD_OUTPUT_REQUESTRESET(_state) \ - (_state)->requestreset(_state) - -#endif /* _FMOD_OUTPUT_H */ diff --git a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_studio.h b/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_studio.h deleted file mode 100644 index 3ffa325..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_studio.h +++ /dev/null @@ -1,231 +0,0 @@ -/* ======================================================================================== */ -/* FMOD Studio API - C header file. */ -/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2019. */ -/* */ -/* Use this header in conjunction with fmod_studio_common.h (which contains all the */ -/* constants / callbacks) to develop using the C language. */ -/* */ -/* For more detail visit: */ -/* https://fmod.com/resources/documentation-api?version=2.0&page=page=studio-api.html */ -/* ======================================================================================== */ -#ifndef FMOD_STUDIO_H -#define FMOD_STUDIO_H - -#include "fmod_studio_common.h" - -#ifdef __cplusplus -extern "C" -{ -#endif - -/* - Global -*/ -FMOD_RESULT F_API FMOD_Studio_ParseID(const char *idstring, FMOD_GUID *id); -FMOD_RESULT F_API FMOD_Studio_System_Create(FMOD_STUDIO_SYSTEM **system, unsigned int headerversion); - -/* - System -*/ -FMOD_BOOL F_API FMOD_Studio_System_IsValid(FMOD_STUDIO_SYSTEM *system); -FMOD_RESULT F_API FMOD_Studio_System_SetAdvancedSettings(FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_ADVANCEDSETTINGS *settings); -FMOD_RESULT F_API FMOD_Studio_System_GetAdvancedSettings(FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_ADVANCEDSETTINGS *settings); -FMOD_RESULT F_API FMOD_Studio_System_Initialize(FMOD_STUDIO_SYSTEM *system, int maxchannels, FMOD_STUDIO_INITFLAGS studioflags, FMOD_INITFLAGS flags, void *extradriverdata); -FMOD_RESULT F_API FMOD_Studio_System_Release(FMOD_STUDIO_SYSTEM *system); -FMOD_RESULT F_API FMOD_Studio_System_Update(FMOD_STUDIO_SYSTEM *system); -FMOD_RESULT F_API FMOD_Studio_System_GetCoreSystem(FMOD_STUDIO_SYSTEM *system, FMOD_SYSTEM **coresystem); -FMOD_RESULT F_API FMOD_Studio_System_GetEvent(FMOD_STUDIO_SYSTEM *system, const char *pathOrID, FMOD_STUDIO_EVENTDESCRIPTION **event); -FMOD_RESULT F_API FMOD_Studio_System_GetBus(FMOD_STUDIO_SYSTEM *system, const char *pathOrID, FMOD_STUDIO_BUS **bus); -FMOD_RESULT F_API FMOD_Studio_System_GetVCA(FMOD_STUDIO_SYSTEM *system, const char *pathOrID, FMOD_STUDIO_VCA **vca); -FMOD_RESULT F_API FMOD_Studio_System_GetBank(FMOD_STUDIO_SYSTEM *system, const char *pathOrID, FMOD_STUDIO_BANK **bank); -FMOD_RESULT F_API FMOD_Studio_System_GetEventByID(FMOD_STUDIO_SYSTEM *system, const FMOD_GUID *id, FMOD_STUDIO_EVENTDESCRIPTION **event); -FMOD_RESULT F_API FMOD_Studio_System_GetBusByID(FMOD_STUDIO_SYSTEM *system, const FMOD_GUID *id, FMOD_STUDIO_BUS **bus); -FMOD_RESULT F_API FMOD_Studio_System_GetVCAByID(FMOD_STUDIO_SYSTEM *system, const FMOD_GUID *id, FMOD_STUDIO_VCA **vca); -FMOD_RESULT F_API FMOD_Studio_System_GetBankByID(FMOD_STUDIO_SYSTEM *system, const FMOD_GUID *id, FMOD_STUDIO_BANK **bank); -FMOD_RESULT F_API FMOD_Studio_System_GetSoundInfo(FMOD_STUDIO_SYSTEM *system, const char *key, FMOD_STUDIO_SOUND_INFO *info); -FMOD_RESULT F_API FMOD_Studio_System_GetParameterDescriptionByName(FMOD_STUDIO_SYSTEM *system, const char *name, FMOD_STUDIO_PARAMETER_DESCRIPTION *parameter); -FMOD_RESULT F_API FMOD_Studio_System_GetParameterDescriptionByID(FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_PARAMETER_ID id, FMOD_STUDIO_PARAMETER_DESCRIPTION *parameter); -FMOD_RESULT F_API FMOD_Studio_System_GetParameterByID(FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_PARAMETER_ID id, float *value, float *finalvalue); -FMOD_RESULT F_API FMOD_Studio_System_SetParameterByID(FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_PARAMETER_ID id, float value, FMOD_BOOL ignoreseekspeed); -FMOD_RESULT F_API FMOD_Studio_System_SetParametersByIDs(FMOD_STUDIO_SYSTEM *system, const FMOD_STUDIO_PARAMETER_ID *ids, float *values, int count, FMOD_BOOL ignoreseekspeed); -FMOD_RESULT F_API FMOD_Studio_System_GetParameterByName(FMOD_STUDIO_SYSTEM *system, const char *name, float *value, float *finalvalue); -FMOD_RESULT F_API FMOD_Studio_System_SetParameterByName(FMOD_STUDIO_SYSTEM *system, const char *name, float value, FMOD_BOOL ignoreseekspeed); -FMOD_RESULT F_API FMOD_Studio_System_LookupID(FMOD_STUDIO_SYSTEM *system, const char *path, FMOD_GUID *id); -FMOD_RESULT F_API FMOD_Studio_System_LookupPath(FMOD_STUDIO_SYSTEM *system, const FMOD_GUID *id, char *path, int size, int *retrieved); -FMOD_RESULT F_API FMOD_Studio_System_GetNumListeners(FMOD_STUDIO_SYSTEM *system, int *numlisteners); -FMOD_RESULT F_API FMOD_Studio_System_SetNumListeners(FMOD_STUDIO_SYSTEM *system, int numlisteners); -FMOD_RESULT F_API FMOD_Studio_System_GetListenerAttributes(FMOD_STUDIO_SYSTEM *system, int index, FMOD_3D_ATTRIBUTES *attributes); -FMOD_RESULT F_API FMOD_Studio_System_SetListenerAttributes(FMOD_STUDIO_SYSTEM *system, int index, FMOD_3D_ATTRIBUTES *attributes); -FMOD_RESULT F_API FMOD_Studio_System_GetListenerWeight(FMOD_STUDIO_SYSTEM *system, int index, float *weight); -FMOD_RESULT F_API FMOD_Studio_System_SetListenerWeight(FMOD_STUDIO_SYSTEM *system, int index, float weight); -FMOD_RESULT F_API FMOD_Studio_System_LoadBankFile(FMOD_STUDIO_SYSTEM *system, const char *filename, FMOD_STUDIO_LOAD_BANK_FLAGS flags, FMOD_STUDIO_BANK **bank); -FMOD_RESULT F_API FMOD_Studio_System_LoadBankMemory(FMOD_STUDIO_SYSTEM *system, const char *buffer, int length, FMOD_STUDIO_LOAD_MEMORY_MODE mode, FMOD_STUDIO_LOAD_BANK_FLAGS flags, FMOD_STUDIO_BANK **bank); -FMOD_RESULT F_API FMOD_Studio_System_LoadBankCustom(FMOD_STUDIO_SYSTEM *system, const FMOD_STUDIO_BANK_INFO *info, FMOD_STUDIO_LOAD_BANK_FLAGS flags, FMOD_STUDIO_BANK **bank); -FMOD_RESULT F_API FMOD_Studio_System_RegisterPlugin(FMOD_STUDIO_SYSTEM *system, const FMOD_DSP_DESCRIPTION *description); -FMOD_RESULT F_API FMOD_Studio_System_UnregisterPlugin(FMOD_STUDIO_SYSTEM *system, const char *name); -FMOD_RESULT F_API FMOD_Studio_System_UnloadAll(FMOD_STUDIO_SYSTEM *system); -FMOD_RESULT F_API FMOD_Studio_System_FlushCommands(FMOD_STUDIO_SYSTEM *system); -FMOD_RESULT F_API FMOD_Studio_System_FlushSampleLoading(FMOD_STUDIO_SYSTEM *system); -FMOD_RESULT F_API FMOD_Studio_System_StartCommandCapture(FMOD_STUDIO_SYSTEM *system, const char *filename, FMOD_STUDIO_COMMANDCAPTURE_FLAGS flags); -FMOD_RESULT F_API FMOD_Studio_System_StopCommandCapture(FMOD_STUDIO_SYSTEM *system); -FMOD_RESULT F_API FMOD_Studio_System_LoadCommandReplay(FMOD_STUDIO_SYSTEM *system, const char *filename, FMOD_STUDIO_COMMANDREPLAY_FLAGS flags, FMOD_STUDIO_COMMANDREPLAY **replay); -FMOD_RESULT F_API FMOD_Studio_System_GetBankCount(FMOD_STUDIO_SYSTEM *system, int *count); -FMOD_RESULT F_API FMOD_Studio_System_GetBankList(FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_BANK **array, int capacity, int *count); -FMOD_RESULT F_API FMOD_Studio_System_GetParameterDescriptionCount(FMOD_STUDIO_SYSTEM *system, int *count); -FMOD_RESULT F_API FMOD_Studio_System_GetParameterDescriptionList(FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_PARAMETER_DESCRIPTION *array, int capacity, int *count); -FMOD_RESULT F_API FMOD_Studio_System_GetCPUUsage(FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_CPU_USAGE *usage); -FMOD_RESULT F_API FMOD_Studio_System_GetBufferUsage(FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_BUFFER_USAGE *usage); -FMOD_RESULT F_API FMOD_Studio_System_ResetBufferUsage(FMOD_STUDIO_SYSTEM *system); -FMOD_RESULT F_API FMOD_Studio_System_SetCallback(FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_SYSTEM_CALLBACK callback, FMOD_STUDIO_SYSTEM_CALLBACK_TYPE callbackmask); -FMOD_RESULT F_API FMOD_Studio_System_SetUserData(FMOD_STUDIO_SYSTEM *system, void *userdata); -FMOD_RESULT F_API FMOD_Studio_System_GetUserData(FMOD_STUDIO_SYSTEM *system, void **userdata); - -/* - EventDescription -*/ -FMOD_BOOL F_API FMOD_Studio_EventDescription_IsValid(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription); -FMOD_RESULT F_API FMOD_Studio_EventDescription_GetID(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_GUID *id); -FMOD_RESULT F_API FMOD_Studio_EventDescription_GetPath(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, char *path, int size, int *retrieved); -FMOD_RESULT F_API FMOD_Studio_EventDescription_GetParameterDescriptionCount(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, int *count); -FMOD_RESULT F_API FMOD_Studio_EventDescription_GetParameterDescriptionByIndex(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, int index, FMOD_STUDIO_PARAMETER_DESCRIPTION *parameter); -FMOD_RESULT F_API FMOD_Studio_EventDescription_GetParameterDescriptionByName(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, const char *name, FMOD_STUDIO_PARAMETER_DESCRIPTION *parameter); -FMOD_RESULT F_API FMOD_Studio_EventDescription_GetParameterDescriptionByID(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_STUDIO_PARAMETER_ID id, FMOD_STUDIO_PARAMETER_DESCRIPTION *parameter); -FMOD_RESULT F_API FMOD_Studio_EventDescription_GetUserPropertyCount(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, int *count); -FMOD_RESULT F_API FMOD_Studio_EventDescription_GetUserPropertyByIndex(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, int index, FMOD_STUDIO_USER_PROPERTY *property); -FMOD_RESULT F_API FMOD_Studio_EventDescription_GetUserProperty(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, const char *name, FMOD_STUDIO_USER_PROPERTY *property); -FMOD_RESULT F_API FMOD_Studio_EventDescription_GetLength(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, int *length); -FMOD_RESULT F_API FMOD_Studio_EventDescription_GetMinimumDistance(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, float *distance); -FMOD_RESULT F_API FMOD_Studio_EventDescription_GetMaximumDistance(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, float *distance); -FMOD_RESULT F_API FMOD_Studio_EventDescription_GetSoundSize(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, float *size); -FMOD_RESULT F_API FMOD_Studio_EventDescription_IsSnapshot(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_BOOL *snapshot); -FMOD_RESULT F_API FMOD_Studio_EventDescription_IsOneshot(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_BOOL *oneshot); -FMOD_RESULT F_API FMOD_Studio_EventDescription_IsStream(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_BOOL *isStream); -FMOD_RESULT F_API FMOD_Studio_EventDescription_Is3D(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_BOOL *is3D); -FMOD_RESULT F_API FMOD_Studio_EventDescription_HasCue(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_BOOL *cue); -FMOD_RESULT F_API FMOD_Studio_EventDescription_CreateInstance(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_STUDIO_EVENTINSTANCE **instance); -FMOD_RESULT F_API FMOD_Studio_EventDescription_GetInstanceCount(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, int *count); -FMOD_RESULT F_API FMOD_Studio_EventDescription_GetInstanceList(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_STUDIO_EVENTINSTANCE **array, int capacity, int *count); -FMOD_RESULT F_API FMOD_Studio_EventDescription_LoadSampleData(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription); -FMOD_RESULT F_API FMOD_Studio_EventDescription_UnloadSampleData(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription); -FMOD_RESULT F_API FMOD_Studio_EventDescription_GetSampleLoadingState(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_STUDIO_LOADING_STATE *state); -FMOD_RESULT F_API FMOD_Studio_EventDescription_ReleaseAllInstances(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription); -FMOD_RESULT F_API FMOD_Studio_EventDescription_SetCallback(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_STUDIO_EVENT_CALLBACK callback, FMOD_STUDIO_EVENT_CALLBACK_TYPE callbackmask); -FMOD_RESULT F_API FMOD_Studio_EventDescription_GetUserData(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, void **userdata); -FMOD_RESULT F_API FMOD_Studio_EventDescription_SetUserData(FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, void *userdata); - -/* - EventInstance -*/ -FMOD_BOOL F_API FMOD_Studio_EventInstance_IsValid(FMOD_STUDIO_EVENTINSTANCE *eventinstance); -FMOD_RESULT F_API FMOD_Studio_EventInstance_GetDescription(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_STUDIO_EVENTDESCRIPTION **description); -FMOD_RESULT F_API FMOD_Studio_EventInstance_GetVolume(FMOD_STUDIO_EVENTINSTANCE *eventinstance, float *volume, float *finalvolume); -FMOD_RESULT F_API FMOD_Studio_EventInstance_SetVolume(FMOD_STUDIO_EVENTINSTANCE *eventinstance, float volume); -FMOD_RESULT F_API FMOD_Studio_EventInstance_GetPitch(FMOD_STUDIO_EVENTINSTANCE *eventinstance, float *pitch, float *finalpitch); -FMOD_RESULT F_API FMOD_Studio_EventInstance_SetPitch(FMOD_STUDIO_EVENTINSTANCE *eventinstance, float pitch); -FMOD_RESULT F_API FMOD_Studio_EventInstance_Get3DAttributes(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_3D_ATTRIBUTES *attributes); -FMOD_RESULT F_API FMOD_Studio_EventInstance_Set3DAttributes(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_3D_ATTRIBUTES *attributes); -FMOD_RESULT F_API FMOD_Studio_EventInstance_GetListenerMask(FMOD_STUDIO_EVENTINSTANCE *eventinstance, unsigned int *mask); -FMOD_RESULT F_API FMOD_Studio_EventInstance_SetListenerMask(FMOD_STUDIO_EVENTINSTANCE *eventinstance, unsigned int mask); -FMOD_RESULT F_API FMOD_Studio_EventInstance_GetProperty(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_STUDIO_EVENT_PROPERTY index, float *value); -FMOD_RESULT F_API FMOD_Studio_EventInstance_SetProperty(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_STUDIO_EVENT_PROPERTY index, float value); -FMOD_RESULT F_API FMOD_Studio_EventInstance_GetReverbLevel(FMOD_STUDIO_EVENTINSTANCE *eventinstance, int index, float *level); -FMOD_RESULT F_API FMOD_Studio_EventInstance_SetReverbLevel(FMOD_STUDIO_EVENTINSTANCE *eventinstance, int index, float level); -FMOD_RESULT F_API FMOD_Studio_EventInstance_GetPaused(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_BOOL *paused); -FMOD_RESULT F_API FMOD_Studio_EventInstance_SetPaused(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_BOOL paused); -FMOD_RESULT F_API FMOD_Studio_EventInstance_Start(FMOD_STUDIO_EVENTINSTANCE *eventinstance); -FMOD_RESULT F_API FMOD_Studio_EventInstance_Stop(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_STUDIO_STOP_MODE mode); -FMOD_RESULT F_API FMOD_Studio_EventInstance_GetTimelinePosition(FMOD_STUDIO_EVENTINSTANCE *eventinstance, int *position); -FMOD_RESULT F_API FMOD_Studio_EventInstance_SetTimelinePosition(FMOD_STUDIO_EVENTINSTANCE *eventinstance, int position); -FMOD_RESULT F_API FMOD_Studio_EventInstance_GetPlaybackState(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_STUDIO_PLAYBACK_STATE *state); -FMOD_RESULT F_API FMOD_Studio_EventInstance_GetChannelGroup(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_CHANNELGROUP **group); -FMOD_RESULT F_API FMOD_Studio_EventInstance_Release(FMOD_STUDIO_EVENTINSTANCE *eventinstance); -FMOD_RESULT F_API FMOD_Studio_EventInstance_IsVirtual(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_BOOL *virtualstate); -FMOD_RESULT F_API FMOD_Studio_EventInstance_GetParameterByName(FMOD_STUDIO_EVENTINSTANCE *eventinstance, const char *name, float *value, float *finalvalue); -FMOD_RESULT F_API FMOD_Studio_EventInstance_SetParameterByName(FMOD_STUDIO_EVENTINSTANCE *eventinstance, const char *name, float value, FMOD_BOOL ignoreseekspeed); -FMOD_RESULT F_API FMOD_Studio_EventInstance_GetParameterByID(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_STUDIO_PARAMETER_ID id, float *value, float *finalvalue); -FMOD_RESULT F_API FMOD_Studio_EventInstance_SetParameterByID(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_STUDIO_PARAMETER_ID id, float value, FMOD_BOOL ignoreseekspeed); -FMOD_RESULT F_API FMOD_Studio_EventInstance_SetParametersByIDs(FMOD_STUDIO_EVENTINSTANCE *eventinstance, const FMOD_STUDIO_PARAMETER_ID *ids, float *values, int count, FMOD_BOOL ignoreseekspeed); -FMOD_RESULT F_API FMOD_Studio_EventInstance_TriggerCue(FMOD_STUDIO_EVENTINSTANCE *eventinstance); -FMOD_RESULT F_API FMOD_Studio_EventInstance_SetCallback(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_STUDIO_EVENT_CALLBACK callback, FMOD_STUDIO_EVENT_CALLBACK_TYPE callbackmask); -FMOD_RESULT F_API FMOD_Studio_EventInstance_GetUserData(FMOD_STUDIO_EVENTINSTANCE *eventinstance, void **userdata); -FMOD_RESULT F_API FMOD_Studio_EventInstance_SetUserData(FMOD_STUDIO_EVENTINSTANCE *eventinstance, void *userdata); - -/* - Bus -*/ -FMOD_BOOL F_API FMOD_Studio_Bus_IsValid(FMOD_STUDIO_BUS *bus); -FMOD_RESULT F_API FMOD_Studio_Bus_GetID(FMOD_STUDIO_BUS *bus, FMOD_GUID *id); -FMOD_RESULT F_API FMOD_Studio_Bus_GetPath(FMOD_STUDIO_BUS *bus, char *path, int size, int *retrieved); -FMOD_RESULT F_API FMOD_Studio_Bus_GetVolume(FMOD_STUDIO_BUS *bus, float *volume, float *finalvolume); -FMOD_RESULT F_API FMOD_Studio_Bus_SetVolume(FMOD_STUDIO_BUS *bus, float volume); -FMOD_RESULT F_API FMOD_Studio_Bus_GetPaused(FMOD_STUDIO_BUS *bus, FMOD_BOOL *paused); -FMOD_RESULT F_API FMOD_Studio_Bus_SetPaused(FMOD_STUDIO_BUS *bus, FMOD_BOOL paused); -FMOD_RESULT F_API FMOD_Studio_Bus_GetMute(FMOD_STUDIO_BUS *bus, FMOD_BOOL *mute); -FMOD_RESULT F_API FMOD_Studio_Bus_SetMute(FMOD_STUDIO_BUS *bus, FMOD_BOOL mute); -FMOD_RESULT F_API FMOD_Studio_Bus_StopAllEvents(FMOD_STUDIO_BUS *bus, FMOD_STUDIO_STOP_MODE mode); -FMOD_RESULT F_API FMOD_Studio_Bus_LockChannelGroup(FMOD_STUDIO_BUS *bus); -FMOD_RESULT F_API FMOD_Studio_Bus_UnlockChannelGroup(FMOD_STUDIO_BUS *bus); -FMOD_RESULT F_API FMOD_Studio_Bus_GetChannelGroup(FMOD_STUDIO_BUS *bus, FMOD_CHANNELGROUP **group); - -/* - VCA -*/ -FMOD_BOOL F_API FMOD_Studio_VCA_IsValid(FMOD_STUDIO_VCA *vca); -FMOD_RESULT F_API FMOD_Studio_VCA_GetID(FMOD_STUDIO_VCA *vca, FMOD_GUID *id); -FMOD_RESULT F_API FMOD_Studio_VCA_GetPath(FMOD_STUDIO_VCA *vca, char *path, int size, int *retrieved); -FMOD_RESULT F_API FMOD_Studio_VCA_GetVolume(FMOD_STUDIO_VCA *vca, float *volume, float *finalvolume); -FMOD_RESULT F_API FMOD_Studio_VCA_SetVolume(FMOD_STUDIO_VCA *vca, float volume); - -/* - Bank -*/ -FMOD_BOOL F_API FMOD_Studio_Bank_IsValid(FMOD_STUDIO_BANK *bank); -FMOD_RESULT F_API FMOD_Studio_Bank_GetID(FMOD_STUDIO_BANK *bank, FMOD_GUID *id); -FMOD_RESULT F_API FMOD_Studio_Bank_GetPath(FMOD_STUDIO_BANK *bank, char *path, int size, int *retrieved); -FMOD_RESULT F_API FMOD_Studio_Bank_Unload(FMOD_STUDIO_BANK *bank); -FMOD_RESULT F_API FMOD_Studio_Bank_LoadSampleData(FMOD_STUDIO_BANK *bank); -FMOD_RESULT F_API FMOD_Studio_Bank_UnloadSampleData(FMOD_STUDIO_BANK *bank); -FMOD_RESULT F_API FMOD_Studio_Bank_GetLoadingState(FMOD_STUDIO_BANK *bank, FMOD_STUDIO_LOADING_STATE *state); -FMOD_RESULT F_API FMOD_Studio_Bank_GetSampleLoadingState(FMOD_STUDIO_BANK *bank, FMOD_STUDIO_LOADING_STATE *state); -FMOD_RESULT F_API FMOD_Studio_Bank_GetStringCount(FMOD_STUDIO_BANK *bank, int *count); -FMOD_RESULT F_API FMOD_Studio_Bank_GetStringInfo(FMOD_STUDIO_BANK *bank, int index, FMOD_GUID *id, char *path, int size, int *retrieved); -FMOD_RESULT F_API FMOD_Studio_Bank_GetEventCount(FMOD_STUDIO_BANK *bank, int *count); -FMOD_RESULT F_API FMOD_Studio_Bank_GetEventList(FMOD_STUDIO_BANK *bank, FMOD_STUDIO_EVENTDESCRIPTION **array, int capacity, int *count); -FMOD_RESULT F_API FMOD_Studio_Bank_GetBusCount(FMOD_STUDIO_BANK *bank, int *count); -FMOD_RESULT F_API FMOD_Studio_Bank_GetBusList(FMOD_STUDIO_BANK *bank, FMOD_STUDIO_BUS **array, int capacity, int *count); -FMOD_RESULT F_API FMOD_Studio_Bank_GetVCACount(FMOD_STUDIO_BANK *bank, int *count); -FMOD_RESULT F_API FMOD_Studio_Bank_GetVCAList(FMOD_STUDIO_BANK *bank, FMOD_STUDIO_VCA **array, int capacity, int *count); -FMOD_RESULT F_API FMOD_Studio_Bank_GetUserData(FMOD_STUDIO_BANK *bank, void **userdata); -FMOD_RESULT F_API FMOD_Studio_Bank_SetUserData(FMOD_STUDIO_BANK *bank, void *userdata); - -/* - Command playback information -*/ -FMOD_BOOL F_API FMOD_Studio_CommandReplay_IsValid(FMOD_STUDIO_COMMANDREPLAY *replay); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_GetSystem(FMOD_STUDIO_COMMANDREPLAY *replay, FMOD_STUDIO_SYSTEM **system); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_GetLength(FMOD_STUDIO_COMMANDREPLAY *replay, float *length); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_GetCommandCount(FMOD_STUDIO_COMMANDREPLAY *replay, int *count); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_GetCommandInfo(FMOD_STUDIO_COMMANDREPLAY *replay, int commandindex, FMOD_STUDIO_COMMAND_INFO *info); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_GetCommandString(FMOD_STUDIO_COMMANDREPLAY *replay, int commandindex, char *buffer, int length); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_GetCommandAtTime(FMOD_STUDIO_COMMANDREPLAY *replay, float time, int *commandindex); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_SetBankPath(FMOD_STUDIO_COMMANDREPLAY *replay, const char *bankPath); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_Start(FMOD_STUDIO_COMMANDREPLAY *replay); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_Stop(FMOD_STUDIO_COMMANDREPLAY *replay); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_SeekToTime(FMOD_STUDIO_COMMANDREPLAY *replay, float time); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_SeekToCommand(FMOD_STUDIO_COMMANDREPLAY *replay, int commandindex); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_GetPaused(FMOD_STUDIO_COMMANDREPLAY *replay, FMOD_BOOL *paused); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_SetPaused(FMOD_STUDIO_COMMANDREPLAY *replay, FMOD_BOOL paused); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_GetPlaybackState(FMOD_STUDIO_COMMANDREPLAY *replay, FMOD_STUDIO_PLAYBACK_STATE *state); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_GetCurrentCommand(FMOD_STUDIO_COMMANDREPLAY *replay, int *commandindex, float *currenttime); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_Release(FMOD_STUDIO_COMMANDREPLAY *replay); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_SetFrameCallback(FMOD_STUDIO_COMMANDREPLAY *replay, FMOD_STUDIO_COMMANDREPLAY_FRAME_CALLBACK callback); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_SetLoadBankCallback(FMOD_STUDIO_COMMANDREPLAY *replay, FMOD_STUDIO_COMMANDREPLAY_LOAD_BANK_CALLBACK callback); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_SetCreateInstanceCallback(FMOD_STUDIO_COMMANDREPLAY *replay, FMOD_STUDIO_COMMANDREPLAY_CREATE_INSTANCE_CALLBACK callback); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_GetUserData(FMOD_STUDIO_COMMANDREPLAY *replay, void **userdata); -FMOD_RESULT F_API FMOD_Studio_CommandReplay_SetUserData(FMOD_STUDIO_COMMANDREPLAY *replay, void *userdata); - -#ifdef __cplusplus -} -#endif - -#endif /* FMOD_STUDIO_H */ diff --git a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_studio.hpp b/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_studio.hpp deleted file mode 100644 index d14a2d1..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_studio.hpp +++ /dev/null @@ -1,377 +0,0 @@ -/* ======================================================================================== */ -/* FMOD Studio API - C++ header file. */ -/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2019. */ -/* */ -/* Use this header in conjunction with fmod_studio_common.h (which contains all the */ -/* constants / callbacks) to develop using the C++ language. */ -/* */ -/* For more detail visit: */ -/* https://fmod.com/resources/documentation-api?version=2.0&page=page=studio-api.html */ -/* ======================================================================================== */ -#ifndef FMOD_STUDIO_HPP -#define FMOD_STUDIO_HPP - -#include "fmod_studio_common.h" -#include "fmod_studio.h" - -#include "fmod.hpp" - -namespace FMOD -{ - -namespace Studio -{ - typedef FMOD_GUID ID; // Deprecated. Please use FMOD_GUID type. - - class System; - class EventDescription; - class EventInstance; - class Bus; - class VCA; - class Bank; - class CommandReplay; - - inline FMOD_RESULT parseID(const char *idstring, FMOD_GUID *id) { return FMOD_Studio_ParseID(idstring, id); } - - class System - { - private: - // Constructor made private so user cannot statically instance a System class. System::create must be used. - System(); - System(const System &); - - public: - static FMOD_RESULT F_API create(System **system, unsigned int headerversion = FMOD_VERSION); - FMOD_RESULT F_API setAdvancedSettings(FMOD_STUDIO_ADVANCEDSETTINGS *settings); - FMOD_RESULT F_API getAdvancedSettings(FMOD_STUDIO_ADVANCEDSETTINGS *settings); - FMOD_RESULT F_API initialize(int maxchannels, FMOD_STUDIO_INITFLAGS studioflags, FMOD_INITFLAGS flags, void *extradriverdata); - FMOD_RESULT F_API release(); - - // Handle validity - bool F_API isValid() const; - - // Update processing - FMOD_RESULT F_API update(); - FMOD_RESULT F_API flushCommands(); - FMOD_RESULT F_API flushSampleLoading(); - - // Low-level API access - FMOD_RESULT F_API getCoreSystem(FMOD::System **system) const; - - // Asset retrieval - FMOD_RESULT F_API getEvent(const char *path, EventDescription **event) const; - FMOD_RESULT F_API getBus(const char *path, Bus **bus) const; - FMOD_RESULT F_API getVCA(const char *path, VCA **vca) const; - FMOD_RESULT F_API getBank(const char *path, Bank **bank) const; - FMOD_RESULT F_API getEventByID(const FMOD_GUID *id, EventDescription **event) const; - FMOD_RESULT F_API getBusByID(const FMOD_GUID *id, Bus **bus) const; - FMOD_RESULT F_API getVCAByID(const FMOD_GUID *id, VCA **vca) const; - FMOD_RESULT F_API getBankByID(const FMOD_GUID *id, Bank **bank) const; - FMOD_RESULT F_API getSoundInfo(const char *key, FMOD_STUDIO_SOUND_INFO *info) const; - FMOD_RESULT F_API getParameterDescriptionByName(const char *name, FMOD_STUDIO_PARAMETER_DESCRIPTION *parameter) const; - FMOD_RESULT F_API getParameterDescriptionByID(FMOD_STUDIO_PARAMETER_ID id, FMOD_STUDIO_PARAMETER_DESCRIPTION *parameter) const; - - // Global parameter control - FMOD_RESULT F_API getParameterByID(FMOD_STUDIO_PARAMETER_ID id, float *value, float *finalvalue = 0) const; - FMOD_RESULT F_API setParameterByID(FMOD_STUDIO_PARAMETER_ID id, float value, bool ignoreseekspeed = false); - FMOD_RESULT F_API setParametersByIDs(const FMOD_STUDIO_PARAMETER_ID *ids, float *values, int count, bool ignoreseekspeed = false); - FMOD_RESULT F_API getParameterByName(const char *name, float *value, float *finalvalue = 0) const; - FMOD_RESULT F_API setParameterByName(const char *name, float value, bool ignoreseekspeed = false); - - // Path lookup - FMOD_RESULT F_API lookupID(const char *path, FMOD_GUID *id) const; - FMOD_RESULT F_API lookupPath(const FMOD_GUID *id, char *path, int size, int *retrieved) const; - - // Listener control - FMOD_RESULT F_API getNumListeners(int *numlisteners); - FMOD_RESULT F_API setNumListeners(int numlisteners); - FMOD_RESULT F_API getListenerAttributes(int listener, FMOD_3D_ATTRIBUTES *attributes) const; - FMOD_RESULT F_API setListenerAttributes(int listener, const FMOD_3D_ATTRIBUTES *attributes); - FMOD_RESULT F_API getListenerWeight(int listener, float *weight); - FMOD_RESULT F_API setListenerWeight(int listener, float weight); - - // Bank control - FMOD_RESULT F_API loadBankFile(const char *filename, FMOD_STUDIO_LOAD_BANK_FLAGS flags, Bank **bank); - FMOD_RESULT F_API loadBankMemory(const char *buffer, int length, FMOD_STUDIO_LOAD_MEMORY_MODE mode, FMOD_STUDIO_LOAD_BANK_FLAGS flags, Bank **bank); - FMOD_RESULT F_API loadBankCustom(const FMOD_STUDIO_BANK_INFO *info, FMOD_STUDIO_LOAD_BANK_FLAGS flags, Bank **bank); - FMOD_RESULT F_API unloadAll(); - - // General functionality - FMOD_RESULT F_API getCPUUsage(FMOD_STUDIO_CPU_USAGE *usage) const; - FMOD_RESULT F_API getBufferUsage(FMOD_STUDIO_BUFFER_USAGE *usage) const; - FMOD_RESULT F_API resetBufferUsage(); - FMOD_RESULT F_API registerPlugin(const FMOD_DSP_DESCRIPTION *description); - FMOD_RESULT F_API unregisterPlugin(const char *name); - - // Enumeration - FMOD_RESULT F_API getBankCount(int *count) const; - FMOD_RESULT F_API getBankList(Bank **array, int capacity, int *count) const; - FMOD_RESULT F_API getParameterDescriptionCount(int *count) const; - FMOD_RESULT F_API getParameterDescriptionList(FMOD_STUDIO_PARAMETER_DESCRIPTION *array, int capacity, int *count) const; - - // Command capture and replay - FMOD_RESULT F_API startCommandCapture(const char *filename, FMOD_STUDIO_COMMANDCAPTURE_FLAGS flags); - FMOD_RESULT F_API stopCommandCapture(); - FMOD_RESULT F_API loadCommandReplay(const char *filename, FMOD_STUDIO_COMMANDREPLAY_FLAGS flags, CommandReplay **replay); - - // Callbacks - FMOD_RESULT F_API setCallback(FMOD_STUDIO_SYSTEM_CALLBACK callback, FMOD_STUDIO_SYSTEM_CALLBACK_TYPE callbackmask = FMOD_STUDIO_SYSTEM_CALLBACK_ALL); - FMOD_RESULT F_API getUserData(void **userdata) const; - FMOD_RESULT F_API setUserData(void *userdata); - - }; - - class EventDescription - { - private: - // Constructor made private so user cannot statically instance the class. - EventDescription(); - EventDescription(const EventDescription &); - - public: - // Handle validity - bool F_API isValid() const; - - // Property access - FMOD_RESULT F_API getID(FMOD_GUID *id) const; - FMOD_RESULT F_API getPath(char *path, int size, int *retrieved) const; - FMOD_RESULT F_API getParameterDescriptionCount(int *count) const; - FMOD_RESULT F_API getParameterDescriptionByIndex(int index, FMOD_STUDIO_PARAMETER_DESCRIPTION *parameter) const; - FMOD_RESULT F_API getParameterDescriptionByName(const char *name, FMOD_STUDIO_PARAMETER_DESCRIPTION *parameter) const; - FMOD_RESULT F_API getParameterDescriptionByID(FMOD_STUDIO_PARAMETER_ID id, FMOD_STUDIO_PARAMETER_DESCRIPTION *parameter) const; - FMOD_RESULT F_API getUserPropertyCount(int *count) const; - FMOD_RESULT F_API getUserPropertyByIndex(int index, FMOD_STUDIO_USER_PROPERTY *property) const; - FMOD_RESULT F_API getUserProperty(const char *name, FMOD_STUDIO_USER_PROPERTY *property) const; - FMOD_RESULT F_API getLength(int *length) const; - FMOD_RESULT F_API getMinimumDistance(float *distance) const; - FMOD_RESULT F_API getMaximumDistance(float *distance) const; - FMOD_RESULT F_API getSoundSize(float *size) const; - - FMOD_RESULT F_API isSnapshot(bool *snapshot) const; - FMOD_RESULT F_API isOneshot(bool *oneshot) const; - FMOD_RESULT F_API isStream(bool *isStream) const; - FMOD_RESULT F_API is3D(bool *is3d) const; - FMOD_RESULT F_API hasCue(bool *cue) const; - - // Playback control - FMOD_RESULT F_API createInstance(EventInstance **instance) const; - FMOD_RESULT F_API getInstanceCount(int *count) const; - FMOD_RESULT F_API getInstanceList(EventInstance **array, int capacity, int *count) const; - - // Sample data loading control - FMOD_RESULT F_API loadSampleData(); - FMOD_RESULT F_API unloadSampleData(); - FMOD_RESULT F_API getSampleLoadingState(FMOD_STUDIO_LOADING_STATE *state) const; - - // Convenience functions - FMOD_RESULT F_API releaseAllInstances(); - - // Callbacks - FMOD_RESULT F_API setCallback(FMOD_STUDIO_EVENT_CALLBACK callback, FMOD_STUDIO_EVENT_CALLBACK_TYPE callbackmask = FMOD_STUDIO_EVENT_CALLBACK_ALL); - FMOD_RESULT F_API getUserData(void **userdata) const; - FMOD_RESULT F_API setUserData(void *userdata); - }; - - class EventInstance - { - private: - // Constructor made private so user cannot statically instance the class. - EventInstance(); - EventInstance(const EventInstance &); - - public: - // Handle validity - bool F_API isValid() const; - - // Property access - FMOD_RESULT F_API getDescription(EventDescription **description) const; - - // Playback control - FMOD_RESULT F_API getVolume(float *volume, float *finalvolume = 0) const; - FMOD_RESULT F_API setVolume(float volume); - - FMOD_RESULT F_API getPitch(float *pitch, float *finalpitch = 0) const; - FMOD_RESULT F_API setPitch(float pitch); - - FMOD_RESULT F_API get3DAttributes(FMOD_3D_ATTRIBUTES *attributes) const; - FMOD_RESULT F_API set3DAttributes(const FMOD_3D_ATTRIBUTES *attributes); - - FMOD_RESULT F_API getListenerMask(unsigned int *mask) const; - FMOD_RESULT F_API setListenerMask(unsigned int mask); - - FMOD_RESULT F_API getProperty(FMOD_STUDIO_EVENT_PROPERTY index, float *value) const; - FMOD_RESULT F_API setProperty(FMOD_STUDIO_EVENT_PROPERTY index, float value); - - FMOD_RESULT F_API getReverbLevel(int index, float *level) const; - FMOD_RESULT F_API setReverbLevel(int index, float level); - - FMOD_RESULT F_API getPaused(bool *paused) const; - FMOD_RESULT F_API setPaused(bool paused); - - FMOD_RESULT F_API start(); - FMOD_RESULT F_API stop(FMOD_STUDIO_STOP_MODE mode); - - FMOD_RESULT F_API getTimelinePosition(int *position) const; - FMOD_RESULT F_API setTimelinePosition(int position); - - FMOD_RESULT F_API getPlaybackState(FMOD_STUDIO_PLAYBACK_STATE *state) const; - - FMOD_RESULT F_API getChannelGroup(ChannelGroup **group) const; - - FMOD_RESULT F_API release(); - - FMOD_RESULT F_API isVirtual(bool *virtualstate) const; - - FMOD_RESULT F_API getParameterByID(FMOD_STUDIO_PARAMETER_ID id, float *value, float *finalvalue = 0) const; - FMOD_RESULT F_API setParameterByID(FMOD_STUDIO_PARAMETER_ID id, float value, bool ignoreseekspeed = false); - FMOD_RESULT F_API setParametersByIDs(const FMOD_STUDIO_PARAMETER_ID *ids, float *values, int count, bool ignoreseekspeed = false); - - FMOD_RESULT F_API getParameterByName(const char *name, float *value, float *finalvalue = 0) const; - FMOD_RESULT F_API setParameterByName(const char *name, float value, bool ignoreseekspeed = false); - - FMOD_RESULT F_API triggerCue(); - - // Callbacks - FMOD_RESULT F_API setCallback(FMOD_STUDIO_EVENT_CALLBACK callback, FMOD_STUDIO_EVENT_CALLBACK_TYPE callbackmask = FMOD_STUDIO_EVENT_CALLBACK_ALL); - FMOD_RESULT F_API getUserData(void **userdata) const; - FMOD_RESULT F_API setUserData(void *userdata); - }; - - class Bus - { - private: - // Constructor made private so user cannot statically instance the class. - Bus(); - Bus(const Bus &); - - public: - // Handle validity - bool F_API isValid() const; - - // Property access - FMOD_RESULT F_API getID(FMOD_GUID *id) const; - FMOD_RESULT F_API getPath(char *path, int size, int *retrieved) const; - - // Playback control - FMOD_RESULT F_API getVolume(float *volume, float *finalvolume = 0) const; - FMOD_RESULT F_API setVolume(float volume); - - FMOD_RESULT F_API getPaused(bool *paused) const; - FMOD_RESULT F_API setPaused(bool paused); - - FMOD_RESULT F_API getMute(bool *mute) const; - FMOD_RESULT F_API setMute(bool mute); - - FMOD_RESULT F_API stopAllEvents(FMOD_STUDIO_STOP_MODE mode); - - // Low-level API access - FMOD_RESULT F_API lockChannelGroup(); - FMOD_RESULT F_API unlockChannelGroup(); - FMOD_RESULT F_API getChannelGroup(FMOD::ChannelGroup **group) const; - }; - - class VCA - { - private: - // Constructor made private so user cannot statically instance the class. - VCA(); - VCA(const VCA &); - - public: - // Handle validity - bool F_API isValid() const; - - // Property access - FMOD_RESULT F_API getID(FMOD_GUID *id) const; - FMOD_RESULT F_API getPath(char *path, int size, int *retrieved) const; - - // Playback control - FMOD_RESULT F_API getVolume(float *volume, float *finalvolume = 0) const; - FMOD_RESULT F_API setVolume(float volume); - }; - - class Bank - { - private: - // Constructor made private so user cannot statically instance the class. - Bank(); - Bank(const Bank &); - - public: - // Handle validity - bool F_API isValid() const; - - // Property access - FMOD_RESULT F_API getID(FMOD_GUID *id) const; - FMOD_RESULT F_API getPath(char *path, int size, int *retrieved) const; - - // Loading control - FMOD_RESULT F_API unload(); - FMOD_RESULT F_API loadSampleData(); - FMOD_RESULT F_API unloadSampleData(); - - FMOD_RESULT F_API getLoadingState(FMOD_STUDIO_LOADING_STATE *state) const; - FMOD_RESULT F_API getSampleLoadingState(FMOD_STUDIO_LOADING_STATE *state) const; - - // Enumeration - FMOD_RESULT F_API getStringCount(int *count) const; - FMOD_RESULT F_API getStringInfo(int index, FMOD_GUID *id, char *path, int size, int *retrieved) const; - FMOD_RESULT F_API getEventCount(int *count) const; - FMOD_RESULT F_API getEventList(EventDescription **array, int capacity, int *count) const; - FMOD_RESULT F_API getBusCount(int *count) const; - FMOD_RESULT F_API getBusList(Bus **array, int capacity, int *count) const; - FMOD_RESULT F_API getVCACount(int *count) const; - FMOD_RESULT F_API getVCAList(VCA **array, int capacity, int *count) const; - - FMOD_RESULT F_API getUserData(void **userdata) const; - FMOD_RESULT F_API setUserData(void *userdata); - }; - - class CommandReplay - { - private: - // Constructor made private so user cannot statically instance the class. - CommandReplay(); - CommandReplay(const CommandReplay &); - - public: - // Handle validity - bool F_API isValid() const; - - // Information query - FMOD_RESULT F_API getSystem(System **system) const; - FMOD_RESULT F_API getLength(float *length) const; - - FMOD_RESULT F_API getCommandCount(int *count) const; - FMOD_RESULT F_API getCommandInfo(int commandindex, FMOD_STUDIO_COMMAND_INFO *info) const; - FMOD_RESULT F_API getCommandString(int commandindex, char *buffer, int length) const; - FMOD_RESULT F_API getCommandAtTime(float time, int *commandindex) const; - - // Playback - FMOD_RESULT F_API setBankPath(const char *bankPath); - FMOD_RESULT F_API start(); - FMOD_RESULT F_API stop(); - FMOD_RESULT F_API seekToTime(float time); - FMOD_RESULT F_API seekToCommand(int commandindex); - FMOD_RESULT F_API getPaused(bool *paused) const; - FMOD_RESULT F_API setPaused(bool paused); - FMOD_RESULT F_API getPlaybackState(FMOD_STUDIO_PLAYBACK_STATE *state) const; - FMOD_RESULT F_API getCurrentCommand(int *commandindex, float *currenttime) const; - - // Release - FMOD_RESULT F_API release(); - - // Callbacks - FMOD_RESULT F_API setFrameCallback(FMOD_STUDIO_COMMANDREPLAY_FRAME_CALLBACK callback); - FMOD_RESULT F_API setLoadBankCallback(FMOD_STUDIO_COMMANDREPLAY_LOAD_BANK_CALLBACK callback); - FMOD_RESULT F_API setCreateInstanceCallback(FMOD_STUDIO_COMMANDREPLAY_CREATE_INSTANCE_CALLBACK callback); - - FMOD_RESULT F_API getUserData(void **userdata) const; - FMOD_RESULT F_API setUserData(void *userdata); - }; - -} // namespace Studio - -} // namespace FMOD - -#endif //FMOD_STUDIO_HPP diff --git a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_studio_common.h b/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_studio_common.h deleted file mode 100644 index 1928d71..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Public/FMOD/fmod_studio_common.h +++ /dev/null @@ -1,316 +0,0 @@ -/* ======================================================================================== */ -/* FMOD Studio API - Common C/C++ header file. */ -/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2019. */ -/* */ -/* This header defines common enumerations, structs and callbacks that are shared between */ -/* the C and C++ interfaces. */ -/* */ -/* For more detail visit: */ -/* https://fmod.com/resources/documentation-api?version=2.0&page=page=studio-api.html */ -/* ======================================================================================== */ -#ifndef FMOD_STUDIO_COMMON_H -#define FMOD_STUDIO_COMMON_H - -#include "fmod.h" - -/* - FMOD Studio types. -*/ -typedef struct FMOD_STUDIO_SYSTEM FMOD_STUDIO_SYSTEM; -typedef struct FMOD_STUDIO_EVENTDESCRIPTION FMOD_STUDIO_EVENTDESCRIPTION; -typedef struct FMOD_STUDIO_EVENTINSTANCE FMOD_STUDIO_EVENTINSTANCE; -typedef struct FMOD_STUDIO_BUS FMOD_STUDIO_BUS; -typedef struct FMOD_STUDIO_VCA FMOD_STUDIO_VCA; -typedef struct FMOD_STUDIO_BANK FMOD_STUDIO_BANK; -typedef struct FMOD_STUDIO_COMMANDREPLAY FMOD_STUDIO_COMMANDREPLAY; - -/* - FMOD Studio constants -*/ -#define FMOD_STUDIO_LOAD_MEMORY_ALIGNMENT 32 - -typedef unsigned int FMOD_STUDIO_INITFLAGS; -#define FMOD_STUDIO_INIT_NORMAL 0x00000000 -#define FMOD_STUDIO_INIT_LIVEUPDATE 0x00000001 -#define FMOD_STUDIO_INIT_ALLOW_MISSING_PLUGINS 0x00000002 -#define FMOD_STUDIO_INIT_SYNCHRONOUS_UPDATE 0x00000004 -#define FMOD_STUDIO_INIT_DEFERRED_CALLBACKS 0x00000008 -#define FMOD_STUDIO_INIT_LOAD_FROM_UPDATE 0x00000010 - -typedef unsigned int FMOD_STUDIO_PARAMETER_FLAGS; -#define FMOD_STUDIO_PARAMETER_READONLY 0x00000001 -#define FMOD_STUDIO_PARAMETER_AUTOMATIC 0x00000002 -#define FMOD_STUDIO_PARAMETER_GLOBAL 0x00000004 - -typedef unsigned int FMOD_STUDIO_SYSTEM_CALLBACK_TYPE; -#define FMOD_STUDIO_SYSTEM_CALLBACK_PREUPDATE 0x00000001 -#define FMOD_STUDIO_SYSTEM_CALLBACK_POSTUPDATE 0x00000002 -#define FMOD_STUDIO_SYSTEM_CALLBACK_BANK_UNLOAD 0x00000004 -#define FMOD_STUDIO_SYSTEM_CALLBACK_ALL 0xFFFFFFFF - -typedef unsigned int FMOD_STUDIO_EVENT_CALLBACK_TYPE; -#define FMOD_STUDIO_EVENT_CALLBACK_CREATED 0x00000001 -#define FMOD_STUDIO_EVENT_CALLBACK_DESTROYED 0x00000002 -#define FMOD_STUDIO_EVENT_CALLBACK_STARTING 0x00000004 -#define FMOD_STUDIO_EVENT_CALLBACK_STARTED 0x00000008 -#define FMOD_STUDIO_EVENT_CALLBACK_RESTARTED 0x00000010 -#define FMOD_STUDIO_EVENT_CALLBACK_STOPPED 0x00000020 -#define FMOD_STUDIO_EVENT_CALLBACK_START_FAILED 0x00000040 -#define FMOD_STUDIO_EVENT_CALLBACK_CREATE_PROGRAMMER_SOUND 0x00000080 -#define FMOD_STUDIO_EVENT_CALLBACK_DESTROY_PROGRAMMER_SOUND 0x00000100 -#define FMOD_STUDIO_EVENT_CALLBACK_PLUGIN_CREATED 0x00000200 -#define FMOD_STUDIO_EVENT_CALLBACK_PLUGIN_DESTROYED 0x00000400 -#define FMOD_STUDIO_EVENT_CALLBACK_TIMELINE_MARKER 0x00000800 -#define FMOD_STUDIO_EVENT_CALLBACK_TIMELINE_BEAT 0x00001000 -#define FMOD_STUDIO_EVENT_CALLBACK_SOUND_PLAYED 0x00002000 -#define FMOD_STUDIO_EVENT_CALLBACK_SOUND_STOPPED 0x00004000 -#define FMOD_STUDIO_EVENT_CALLBACK_REAL_TO_VIRTUAL 0x00008000 -#define FMOD_STUDIO_EVENT_CALLBACK_VIRTUAL_TO_REAL 0x00010000 -#define FMOD_STUDIO_EVENT_CALLBACK_ALL 0xFFFFFFFF - -typedef unsigned int FMOD_STUDIO_LOAD_BANK_FLAGS; -#define FMOD_STUDIO_LOAD_BANK_NORMAL 0x00000000 -#define FMOD_STUDIO_LOAD_BANK_NONBLOCKING 0x00000001 -#define FMOD_STUDIO_LOAD_BANK_DECOMPRESS_SAMPLES 0x00000002 -#define FMOD_STUDIO_LOAD_BANK_UNENCRYPTED 0x00000004 - -typedef unsigned int FMOD_STUDIO_COMMANDCAPTURE_FLAGS; -#define FMOD_STUDIO_COMMANDCAPTURE_NORMAL 0x00000000 -#define FMOD_STUDIO_COMMANDCAPTURE_FILEFLUSH 0x00000001 -#define FMOD_STUDIO_COMMANDCAPTURE_SKIP_INITIAL_STATE 0x00000002 - -typedef unsigned int FMOD_STUDIO_COMMANDREPLAY_FLAGS; -#define FMOD_STUDIO_COMMANDREPLAY_NORMAL 0x00000000 -#define FMOD_STUDIO_COMMANDREPLAY_SKIP_CLEANUP 0x00000001 -#define FMOD_STUDIO_COMMANDREPLAY_FAST_FORWARD 0x00000002 -#define FMOD_STUDIO_COMMANDREPLAY_SKIP_BANK_LOAD 0x00000004 - -typedef enum FMOD_STUDIO_LOADING_STATE -{ - FMOD_STUDIO_LOADING_STATE_UNLOADING, - FMOD_STUDIO_LOADING_STATE_UNLOADED, - FMOD_STUDIO_LOADING_STATE_LOADING, - FMOD_STUDIO_LOADING_STATE_LOADED, - FMOD_STUDIO_LOADING_STATE_ERROR, - - FMOD_STUDIO_LOADING_STATE_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */ -} FMOD_STUDIO_LOADING_STATE; - -typedef enum FMOD_STUDIO_LOAD_MEMORY_MODE -{ - FMOD_STUDIO_LOAD_MEMORY, - FMOD_STUDIO_LOAD_MEMORY_POINT, - - FMOD_STUDIO_LOAD_MEMORY_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */ -} FMOD_STUDIO_LOAD_MEMORY_MODE; - -typedef enum FMOD_STUDIO_PARAMETER_TYPE -{ - FMOD_STUDIO_PARAMETER_GAME_CONTROLLED, - FMOD_STUDIO_PARAMETER_AUTOMATIC_DISTANCE, - FMOD_STUDIO_PARAMETER_AUTOMATIC_EVENT_CONE_ANGLE, - FMOD_STUDIO_PARAMETER_AUTOMATIC_EVENT_ORIENTATION, - FMOD_STUDIO_PARAMETER_AUTOMATIC_DIRECTION, - FMOD_STUDIO_PARAMETER_AUTOMATIC_ELEVATION, - FMOD_STUDIO_PARAMETER_AUTOMATIC_LISTENER_ORIENTATION, - FMOD_STUDIO_PARAMETER_AUTOMATIC_SPEED, - - FMOD_STUDIO_PARAMETER_MAX, - FMOD_STUDIO_PARAMETER_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */ -} FMOD_STUDIO_PARAMETER_TYPE; - -typedef enum FMOD_STUDIO_USER_PROPERTY_TYPE -{ - FMOD_STUDIO_USER_PROPERTY_TYPE_INTEGER, - FMOD_STUDIO_USER_PROPERTY_TYPE_BOOLEAN, - FMOD_STUDIO_USER_PROPERTY_TYPE_FLOAT, - FMOD_STUDIO_USER_PROPERTY_TYPE_STRING, - - FMOD_STUDIO_USER_PROPERTY_TYPE_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */ -} FMOD_STUDIO_USER_PROPERTY_TYPE; - -typedef enum FMOD_STUDIO_EVENT_PROPERTY -{ - FMOD_STUDIO_EVENT_PROPERTY_CHANNELPRIORITY, - FMOD_STUDIO_EVENT_PROPERTY_SCHEDULE_DELAY, - FMOD_STUDIO_EVENT_PROPERTY_SCHEDULE_LOOKAHEAD, - FMOD_STUDIO_EVENT_PROPERTY_MINIMUM_DISTANCE, - FMOD_STUDIO_EVENT_PROPERTY_MAXIMUM_DISTANCE, - FMOD_STUDIO_EVENT_PROPERTY_MAX, - - FMOD_STUDIO_EVENT_PROPERTY_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */ -} FMOD_STUDIO_EVENT_PROPERTY; - -typedef enum FMOD_STUDIO_PLAYBACK_STATE -{ - FMOD_STUDIO_PLAYBACK_PLAYING, - FMOD_STUDIO_PLAYBACK_SUSTAINING, - FMOD_STUDIO_PLAYBACK_STOPPED, - FMOD_STUDIO_PLAYBACK_STARTING, - FMOD_STUDIO_PLAYBACK_STOPPING, - - FMOD_STUDIO_PLAYBACK_FORCEINT = 65536 -} FMOD_STUDIO_PLAYBACK_STATE; - -typedef enum FMOD_STUDIO_STOP_MODE -{ - FMOD_STUDIO_STOP_ALLOWFADEOUT, - FMOD_STUDIO_STOP_IMMEDIATE, - - FMOD_STUDIO_STOP_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */ -} FMOD_STUDIO_STOP_MODE; - -typedef enum FMOD_STUDIO_INSTANCETYPE -{ - FMOD_STUDIO_INSTANCETYPE_NONE, - FMOD_STUDIO_INSTANCETYPE_SYSTEM, - FMOD_STUDIO_INSTANCETYPE_EVENTDESCRIPTION, - FMOD_STUDIO_INSTANCETYPE_EVENTINSTANCE, - FMOD_STUDIO_INSTANCETYPE_PARAMETERINSTANCE, - FMOD_STUDIO_INSTANCETYPE_BUS, - FMOD_STUDIO_INSTANCETYPE_VCA, - FMOD_STUDIO_INSTANCETYPE_BANK, - FMOD_STUDIO_INSTANCETYPE_COMMANDREPLAY, - - FMOD_STUDIO_INSTANCETYPE_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */ -} FMOD_STUDIO_INSTANCETYPE; - -/* - FMOD Studio structures -*/ -typedef struct FMOD_STUDIO_BANK_INFO -{ - int size; - void *userdata; - int userdatalength; - FMOD_FILE_OPEN_CALLBACK opencallback; - FMOD_FILE_CLOSE_CALLBACK closecallback; - FMOD_FILE_READ_CALLBACK readcallback; - FMOD_FILE_SEEK_CALLBACK seekcallback; -} FMOD_STUDIO_BANK_INFO; - -typedef struct FMOD_STUDIO_PARAMETER_ID -{ - unsigned int data1; - unsigned int data2; -} FMOD_STUDIO_PARAMETER_ID; - -typedef struct FMOD_STUDIO_PARAMETER_DESCRIPTION -{ - const char *name; - FMOD_STUDIO_PARAMETER_ID id; - float minimum; - float maximum; - float defaultvalue; - FMOD_STUDIO_PARAMETER_TYPE type; - FMOD_STUDIO_PARAMETER_FLAGS flags; -} FMOD_STUDIO_PARAMETER_DESCRIPTION; - -typedef struct FMOD_STUDIO_USER_PROPERTY -{ - const char *name; - FMOD_STUDIO_USER_PROPERTY_TYPE type; - - union - { - int intvalue; - FMOD_BOOL boolvalue; - float floatvalue; - const char *stringvalue; - }; -} FMOD_STUDIO_USER_PROPERTY; - -typedef struct FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES -{ - const char *name; - FMOD_SOUND *sound; - int subsoundIndex; -} FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES; - -typedef struct FMOD_STUDIO_PLUGIN_INSTANCE_PROPERTIES -{ - const char *name; - FMOD_DSP *dsp; -} FMOD_STUDIO_PLUGIN_INSTANCE_PROPERTIES; - -typedef struct FMOD_STUDIO_TIMELINE_MARKER_PROPERTIES -{ - const char *name; - int position; -} FMOD_STUDIO_TIMELINE_MARKER_PROPERTIES; - -typedef struct FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES -{ - int bar; - int beat; - int position; - float tempo; - int timesignatureupper; - int timesignaturelower; -} FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES; - -typedef struct FMOD_STUDIO_ADVANCEDSETTINGS -{ - int cbsize; - unsigned int commandqueuesize; - unsigned int handleinitialsize; - int studioupdateperiod; - int idlesampledatapoolsize; - unsigned int streamingscheduledelay; - const char* encryptionkey; -} FMOD_STUDIO_ADVANCEDSETTINGS; - -typedef struct FMOD_STUDIO_CPU_USAGE -{ - float dspusage; - float streamusage; - float geometryusage; - float updateusage; - float studiousage; -} FMOD_STUDIO_CPU_USAGE; - -typedef struct FMOD_STUDIO_BUFFER_INFO -{ - int currentusage; - int peakusage; - int capacity; - int stallcount; - float stalltime; -} FMOD_STUDIO_BUFFER_INFO; - -typedef struct FMOD_STUDIO_BUFFER_USAGE -{ - FMOD_STUDIO_BUFFER_INFO studiocommandqueue; - FMOD_STUDIO_BUFFER_INFO studiohandle; -} FMOD_STUDIO_BUFFER_USAGE; - -typedef struct FMOD_STUDIO_SOUND_INFO -{ - const char *name_or_data; - FMOD_MODE mode; - FMOD_CREATESOUNDEXINFO exinfo; - int subsoundindex; -} FMOD_STUDIO_SOUND_INFO; - -typedef struct FMOD_STUDIO_COMMAND_INFO -{ - const char *commandname; - int parentcommandindex; - int framenumber; - float frametime; - FMOD_STUDIO_INSTANCETYPE instancetype; - FMOD_STUDIO_INSTANCETYPE outputtype; - unsigned int instancehandle; - unsigned int outputhandle; -} FMOD_STUDIO_COMMAND_INFO; - -/* - FMOD Studio callbacks. -*/ -typedef FMOD_RESULT (F_CALLBACK *FMOD_STUDIO_SYSTEM_CALLBACK) (FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_SYSTEM_CALLBACK_TYPE type, void *commanddata, void *userdata); -typedef FMOD_RESULT (F_CALLBACK *FMOD_STUDIO_EVENT_CALLBACK) (FMOD_STUDIO_EVENT_CALLBACK_TYPE type, FMOD_STUDIO_EVENTINSTANCE *event, void *parameters); -typedef FMOD_RESULT (F_CALLBACK *FMOD_STUDIO_COMMANDREPLAY_FRAME_CALLBACK) (FMOD_STUDIO_COMMANDREPLAY *replay, int commandindex, float currenttime, void *userdata); -typedef FMOD_RESULT (F_CALLBACK *FMOD_STUDIO_COMMANDREPLAY_LOAD_BANK_CALLBACK) (FMOD_STUDIO_COMMANDREPLAY *replay, int commandindex, const FMOD_GUID *bankguid, const char *bankfilename, FMOD_STUDIO_LOAD_BANK_FLAGS flags, FMOD_STUDIO_BANK **bank, void *userdata); -typedef FMOD_RESULT (F_CALLBACK *FMOD_STUDIO_COMMANDREPLAY_CREATE_INSTANCE_CALLBACK) (FMOD_STUDIO_COMMANDREPLAY *replay, int commandindex, FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_STUDIO_EVENTINSTANCE **instance, void *userdata); - -#endif // FMOD_STUDIO_COMMON_H diff --git a/Plugins/FMODStudio/Source/FMODStudio/Public/FMODStudioModule.h b/Plugins/FMODStudio/Source/FMODStudio/Public/FMODStudioModule.h deleted file mode 100644 index b8076ca..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Public/FMODStudioModule.h +++ /dev/null @@ -1,160 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "Modules/ModuleManager.h" - -namespace FMOD -{ -namespace Studio -{ -class System; -class EventDescription; -class EventInstance; -} -} - -class UFMODAsset; -class UFMODBank; -class UFMODEvent; -class UWorld; -class AAudioVolume; -struct FInteriorSettings; -struct FFMODListener; // Currently only for private use, we don't export this type - -// Which FMOD Studio system to use -namespace EFMODSystemContext -{ -enum Type -{ - // For use auditioning sounds within the editor - Auditioning, - - // For use in PIE and in-game - Runtime, - - // For use when playing events in an editor world (e.g. previewing a level sequence) - Editor, - - // Max number of types - Max -}; -} - -/** - * The public interface to this module - */ -class IFMODStudioModule : public IModuleInterface -{ -public: - /** - * Singleton-like access to this module's interface. This is just for convenience! - * Beware of calling this during the shutdown phase, though. Your module might have been unloaded already. - * - * @return Returns singleton instance, loading the module on demand if needed - */ - static inline IFMODStudioModule &Get() { return FModuleManager::LoadModuleChecked("FMODStudio"); } - - /** - * Checks to see if this module is loaded and ready. It is only valid to call Get() if IsAvailable() returns true. - * - * @return True if the module is loaded and ready to use - */ - static inline bool IsAvailable() { return FModuleManager::Get().IsModuleLoaded("FMODStudio"); } - - /** - * Get a pointer to the runtime studio system (only valid in-game or in PIE) - */ - virtual FMOD::Studio::System *GetStudioSystem(EFMODSystemContext::Type Context) = 0; - - /** - * Set system paused (for PIE pause) - */ - virtual void SetSystemPaused(bool paused) = 0; - - /** - * Called when user changes any studio settings - */ - virtual void RefreshSettings() = 0; - - /** - * Called when we enter of leave PIE mode - */ - virtual void SetInPIE(bool bInPIE, bool bSimulating) = 0; - - /** - * Look up an asset given its name - */ - virtual UFMODAsset *FindAssetByName(const FString &Name) = 0; - - /** - * Look up an event given its name - */ - virtual UFMODEvent *FindEventByName(const FString &Name) = 0; - - /** - * Get the disk path for a Bank asset - */ - virtual FString GetBankPath(const UFMODBank &Bank) = 0; - - /** - * Get an event description. - * The system type can control which Studio system to use, or leave it as System_Max for it to choose automatically. - */ - virtual FMOD::Studio::EventDescription *GetEventDescription( - const UFMODEvent *Event, EFMODSystemContext::Type Context = EFMODSystemContext::Max) = 0; - - /** - * Create a single auditioning instance using the auditioning system - */ - virtual FMOD::Studio::EventInstance *CreateAuditioningInstance(const UFMODEvent *Event) = 0; - - /** - * Stop any auditioning instance - */ - virtual void StopAuditioningInstance() = 0; - - /** - * Return whether the listener(s) have moved - */ - virtual bool HasListenerMoved() = 0; - - /** - * Called to change the listener position for editor mode - */ - virtual void SetListenerPosition(int ListenerIndex, UWorld *World, const FTransform &ListenerTransform, float DeltaSeconds) = 0; - - /** - * Called to change the listener position for editor mode - */ - virtual void FinishSetListenerPosition(int NumListeners, float DeltaSeconds) = 0; - - /** - * Return the audio settings for the listener nearest the given location - */ - virtual const FFMODListener &GetNearestListener(const FVector &Location) = 0; - - /** This event is fired after all banks were reloaded */ - virtual FSimpleMulticastDelegate &BanksReloadedEvent() = 0; - - /** Return a list of banks that failed to load due to an error */ - virtual TArray GetFailedBankLoads(EFMODSystemContext::Type Context) = 0; - - /** Return a list of plugins that appear to be needed */ - virtual TArray GetRequiredPlugins() = 0; - - /** Register a plugin that is required */ - virtual void AddRequiredPlugin(const FString &Plugin) = 0; - - /** Returns whether sound is enabled for the game */ - virtual bool UseSound() = 0; - - /** Attempts to load a plugin by name */ - virtual bool LoadPlugin(EFMODSystemContext::Type Context, const TCHAR *ShortName) = 0; - - /** Log a FMOD error */ - virtual void LogError(int result, const char *function) = 0; - - /** Returns if the banks have been loaded */ - virtual bool AreBanksLoaded() = 0; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudio/Public/FMODUtils.h b/Plugins/FMODStudio/Source/FMODStudio/Public/FMODUtils.h deleted file mode 100644 index 9c9ea8d..0000000 --- a/Plugins/FMODStudio/Source/FMODStudio/Public/FMODUtils.h +++ /dev/null @@ -1,202 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "fmod_studio.hpp" -#include "fmod.hpp" - -#include "Runtime/Launch/Resources/Version.h" -#include "Engine/Engine.h" - -#include "FMODStudioModule.h" - -#define verifyfmod(fn) \ - { \ - FMOD_RESULT _result = (fn); \ - if (_result != FMOD_OK) \ - { \ - FMODUtils::LogError(_result, #fn); \ - } \ - } - -namespace FMODUtils -{ - -// Unreal defines 1 unit == 1cm, so convert to metres for Studio automatically -#define FMOD_VECTOR_SCALE_DEFAULT 0.01f - -// Just call into module -inline void LogError(FMOD_RESULT result, const char *function) -{ - IFMODStudioModule::Get().LogError(result, function); -} - -inline void Assign(FMOD_VECTOR &Dest, const FVector &Src) -{ - Dest.x = Src.X; - Dest.y = Src.Y; - Dest.z = Src.Z; -} - -inline FMOD_VECTOR ConvertWorldVector(const FVector &Src) -{ - static FMatrix UE4toFMOD(FVector(0.0f, 0.0f, FMOD_VECTOR_SCALE_DEFAULT), FVector(FMOD_VECTOR_SCALE_DEFAULT, 0.0f, 0.0f), - FVector(0.0f, FMOD_VECTOR_SCALE_DEFAULT, 0.0f), FVector::ZeroVector); - - FMOD_VECTOR Dest; - Assign(Dest, UE4toFMOD.TransformPosition(Src)); - return Dest; -} - -inline FMOD_VECTOR ConvertUnitVector(const FVector &Src) -{ - static FMatrix UE4toFMOD(FVector(0.0f, 0.0f, 1.0f), FVector(1.0f, 0.0f, 0.0f), FVector(0.0f, 1.0f, 0.0f), FVector::ZeroVector); - - FMOD_VECTOR Dest; - Assign(Dest, UE4toFMOD.TransformVector(Src)); - return Dest; -} - -inline void Assign(FMOD_3D_ATTRIBUTES &Dest, const FTransform &Src) -{ - Dest.position = ConvertWorldVector(Src.GetTranslation()); - Dest.forward = ConvertUnitVector(Src.GetUnitAxis(EAxis::X)); - Dest.up = ConvertUnitVector(Src.GetUnitAxis(EAxis::Z)); -} - -inline float DistanceToUEScale(float FMODDistance) -{ - return FMODDistance / FMOD_VECTOR_SCALE_DEFAULT; -} - -inline bool IsWorldAudible(UWorld *World, bool AllowInEditor) -{ - if (GEngine && IFMODStudioModule::Get().UseSound()) - { - if (!IsValid(World)) - { - return true; - } - - if (World->bAllowAudioPlayback && World->GetNetMode() != NM_DedicatedServer) - { - EWorldType::Type previewEnum; - previewEnum = EWorldType::EditorPreview; - if (World->IsGameWorld() || World->WorldType == previewEnum || (AllowInEditor && World->WorldType == EWorldType::Editor)) - { - return true; - } - } - } - return false; -} - -inline FMOD::Studio::ID ConvertGuid(const FGuid &UnrealGuid) -{ - // Unreal doesn't follow the usual windows GUID format, instead it parses - // them as 4 integers - FMOD::Studio::ID StudioGuid; - FMemory::Memcpy(&StudioGuid, &UnrealGuid, sizeof(StudioGuid)); - Swap(StudioGuid.Data2, StudioGuid.Data3); - Swap(StudioGuid.Data4[0], StudioGuid.Data4[3]); - Swap(StudioGuid.Data4[1], StudioGuid.Data4[2]); - Swap(StudioGuid.Data4[4], StudioGuid.Data4[7]); - Swap(StudioGuid.Data4[5], StudioGuid.Data4[6]); - return StudioGuid; -} - -inline FGuid ConvertGuid(const FMOD::Studio::ID &StudioGuid) -{ - // Unreal doesn't follow the usual windows GUID format, instead it parses - // them as 4 integers - FMOD::Studio::ID CopiedGuid; - FMemory::Memcpy(&CopiedGuid, &StudioGuid, sizeof(StudioGuid)); - Swap(CopiedGuid.Data2, CopiedGuid.Data3); - Swap(CopiedGuid.Data4[0], CopiedGuid.Data4[3]); - Swap(CopiedGuid.Data4[1], CopiedGuid.Data4[2]); - Swap(CopiedGuid.Data4[4], CopiedGuid.Data4[7]); - Swap(CopiedGuid.Data4[5], CopiedGuid.Data4[6]); - FGuid UnrealGuid; - FMemory::Memcpy(&UnrealGuid, &CopiedGuid, sizeof(CopiedGuid)); - return UnrealGuid; -} - -template -inline FGuid GetID(StudioType *Instance) -{ - FMOD::Studio::ID StudioID = { 0 }; - verifyfmod(Instance->getID(&StudioID)); - return FMODUtils::ConvertGuid(StudioID); -} - -template -inline FString GetPath(StudioType *Instance) -{ - int ActualSize = 128; // Start with expected enough space - TArray RawBuffer; - FMOD_RESULT Result; - do - { - RawBuffer.SetNum(ActualSize); - Result = Instance->getPath(RawBuffer.GetData(), ActualSize, &ActualSize); - } while (Result == FMOD_ERR_TRUNCATED); - - if (Result == FMOD_OK) - { - return FString(UTF8_TO_TCHAR(RawBuffer.GetData())); - } - else - { - return FString(); - } -} - -inline FString LookupNameFromGuid(FMOD::Studio::System *StudioSystem, const FMOD::Studio::ID &Guid) -{ - int ActualSize = 128; // Start with expected enough space - TArray RawBuffer; - FMOD_RESULT Result; - do - { - RawBuffer.SetNum(ActualSize); - Result = StudioSystem->lookupPath(&Guid, RawBuffer.GetData(), ActualSize, &ActualSize); - } while (Result == FMOD_ERR_TRUNCATED); - - if (Result == FMOD_OK) - { - return FString(UTF8_TO_TCHAR(RawBuffer.GetData())); - } - else - { - return FString(); - } -} - -inline FString LookupNameFromGuid(FMOD::Studio::System *StudioSystem, const FGuid &Guid) -{ - return LookupNameFromGuid(StudioSystem, ConvertGuid(Guid)); -} - -inline FString ParameterTypeToString(FMOD_STUDIO_PARAMETER_TYPE Type) -{ - switch (Type) - { - case FMOD_STUDIO_PARAMETER_GAME_CONTROLLED: - return FString("Game Controlled"); - case FMOD_STUDIO_PARAMETER_AUTOMATIC_DISTANCE: - return FString("Distance (Auto)"); - case FMOD_STUDIO_PARAMETER_AUTOMATIC_EVENT_CONE_ANGLE: - return FString("Event Cone Angle (Auto)"); - case FMOD_STUDIO_PARAMETER_AUTOMATIC_EVENT_ORIENTATION: - return FString("Event Orientation (Auto)"); - case FMOD_STUDIO_PARAMETER_AUTOMATIC_DIRECTION: - return FString("Direction (Auto)"); - case FMOD_STUDIO_PARAMETER_AUTOMATIC_ELEVATION: - return FString("Elevation (Auto)"); - case FMOD_STUDIO_PARAMETER_AUTOMATIC_LISTENER_ORIENTATION: - return FString("Listener Orientation (Auto)"); - } - - return FString(); -} -} \ No newline at end of file diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Classes/FMODAmbientSoundActorFactory.h b/Plugins/FMODStudio/Source/FMODStudioEditor/Classes/FMODAmbientSoundActorFactory.h deleted file mode 100644 index 2b3d72f..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Classes/FMODAmbientSoundActorFactory.h +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "ActorFactories/ActorFactory.h" -#include "FMODAmbientSoundActorFactory.generated.h" - -/** FMOD Ambient Sound Actor Factory. -*/ -UCLASS(MinimalAPI, config = Editor, collapsecategories, hidecategories = Object) -class UFMODAmbientSoundActorFactory : public UActorFactory -{ - GENERATED_UCLASS_BODY() - - // Begin UActorFactory Interface - virtual void PostSpawnActor(UObject *Asset, AActor *NewActor) override; - virtual void PostCreateBlueprint(UObject *Asset, AActor *CDO) override; - virtual bool CanCreateActorFrom(const FAssetData &AssetData, FText &OutErrorMsg) override; - virtual UObject *GetAssetFromActorInstance(AActor *ActorInstance) override; - // End UActorFactory Interface -}; diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/FMODStudioEditor.Build.cs b/Plugins/FMODStudio/Source/FMODStudioEditor/FMODStudioEditor.Build.cs deleted file mode 100644 index 9000c26..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/FMODStudioEditor.Build.cs +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. -using System.IO; - -namespace UnrealBuildTool.Rules -{ - public class FMODStudioEditor : ModuleRules - { - #if WITH_FORWARDED_MODULE_RULES_CTOR - public FMODStudioEditor(ReadOnlyTargetRules Target) : base(Target) - #else - public FMODStudioEditor(TargetInfo Target) - #endif - { - PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; - PrivatePCHHeaderFile = "Private/FMODStudioEditorPrivatePCH.h"; - - bFasterWithoutUnity = true; - - PrivateIncludePaths.AddRange( - new string[] { - "FMODStudio/Private", - "FMODStudio/Public/FMOD", - Path.Combine(ModuleDirectory, "Classes") - } - ); - - PublicDependencyModuleNames.AddRange( - new string[] - { - "Core", - "CoreUObject", - "Engine", - "FMODStudio", - "InputCore", - "UnrealEd", - "Sequencer" - } - ); - - PrivateDependencyModuleNames.AddRange( - new string[] - { - "Slate", - "SlateCore", - "Settings", - "EditorStyle", - "LevelEditor", - "AssetTools", - "AssetRegistry", - "PropertyEditor", - "WorkspaceMenuStructure", - "Sockets", - "LevelSequence", - "MovieScene", - "MovieSceneTracks", - "MovieSceneTools" - } - ); - } - } -} \ No newline at end of file diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/AssetTypeActions_FMODEvent.cpp b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/AssetTypeActions_FMODEvent.cpp deleted file mode 100644 index 9eb023a..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/AssetTypeActions_FMODEvent.cpp +++ /dev/null @@ -1,145 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "AssetTypeActions_FMODEvent.h" -#include "AssetTypeActions_Base.h" -#include "FMODEventEditor.h" -#include "FMODEvent.h" -#include "FMODUtils.h" -#include "FMODStudioModule.h" -#include "FMODStudioEditorModule.h" -#include "UnrealEd/Public/Editor.h" -#include "Framework/MultiBox/MultiBoxBuilder.h" -#include "EditorStyle/Public/EditorStyleSet.h" - -#define LOCTEXT_NAMESPACE "AssetTypeActions" - -FAssetTypeActions_FMODEvent::FAssetTypeActions_FMODEvent() - : CurrentPreviewEventInstance(nullptr) -{ - BeginPIEDelegateHandle = FEditorDelegates::BeginPIE.AddRaw(this, &FAssetTypeActions_FMODEvent::HandleBeginPIE); - IFMODStudioModule::Get().BanksReloadedEvent().AddRaw(this, &FAssetTypeActions_FMODEvent::HandleBanksReloaded); -} - -FAssetTypeActions_FMODEvent::~FAssetTypeActions_FMODEvent() -{ - FEditorDelegates::BeginPIE.Remove(BeginPIEDelegateHandle); - IFMODStudioModule::Get().BanksReloadedEvent().RemoveAll(this); - IFMODStudioModule::Get().StopAuditioningInstance(); -} - -UClass *FAssetTypeActions_FMODEvent::GetSupportedClass() const -{ - return UFMODEvent::StaticClass(); -} - -void FAssetTypeActions_FMODEvent::GetActions(const TArray &InObjects, FMenuBuilder &MenuBuilder) -{ - auto Events = GetTypedWeakObjectPtrs(InObjects); - - MenuBuilder.AddMenuEntry(LOCTEXT("FMODEvent_Play", "Play"), LOCTEXT("FMODEvent_PlayTooltip", "Plays the selected FMOD event."), - FSlateIcon(FEditorStyle::GetStyleSetName(), "MediaAsset.AssetActions.Play"), - FUIAction(FExecuteAction::CreateSP(this, &FAssetTypeActions_FMODEvent::ExecutePlay, Events), - FCanExecuteAction::CreateSP(this, &FAssetTypeActions_FMODEvent::CanExecutePlayCommand, Events))); - - MenuBuilder.AddMenuEntry(LOCTEXT("FMODEvent_Stop", "Stop"), LOCTEXT("FMODEvent_StopTooltip", "Stops the currently playing FMOD event."), - FSlateIcon(FEditorStyle::GetStyleSetName(), "MediaAsset.AssetActions.Stop"), - FUIAction(FExecuteAction::CreateSP(this, &FAssetTypeActions_FMODEvent::ExecuteStop, Events), FCanExecuteAction())); -} - -void FAssetTypeActions_FMODEvent::OpenAssetEditor(const TArray &InObjects, TSharedPtr EditWithinLevelEditor) -{ - EToolkitMode::Type Mode = EditWithinLevelEditor.IsValid() ? EToolkitMode::WorldCentric : EToolkitMode::Standalone; - - for (auto ObjIt = InObjects.CreateConstIterator(); ObjIt; ++ObjIt) - { - auto Event = Cast(*ObjIt); - if (IsValid(Event)) - { - TSharedRef NewFMODEventEditor(new FFMODEventEditor()); - NewFMODEventEditor->InitFMODEventEditor(Mode, EditWithinLevelEditor, Event); - } - } -} - -bool FAssetTypeActions_FMODEvent::CanExecutePlayCommand(TArray> Objects) const -{ - return Objects.Num() == 1; -} - -void FAssetTypeActions_FMODEvent::AssetsActivated(const TArray &InObjects, EAssetTypeActivationMethod::Type ActivationType) -{ - if (ActivationType == EAssetTypeActivationMethod::Previewed) - { - for (auto ObjIt = InObjects.CreateConstIterator(); ObjIt; ++ObjIt) - { - UFMODEvent *Event = Cast(*ObjIt); - if (IsValid(Event)) - { - // Only play the first valid event - PlayEvent(Event); - break; - } - } - } - else - { - FAssetTypeActions_Base::AssetsActivated(InObjects, ActivationType); - } -} - -void FAssetTypeActions_FMODEvent::ExecuteEdit(TArray> Objects) -{ - for (auto ObjIt = Objects.CreateConstIterator(); ObjIt; ++ObjIt) - { - auto Object = (*ObjIt).Get(); - if (IsValid(Object)) - { - FAssetEditorManager::Get().OpenEditorForAsset(Object); - } - } -} - -void FAssetTypeActions_FMODEvent::ExecutePlay(TArray> Objects) -{ - for (auto ObjIt = Objects.CreateConstIterator(); ObjIt; ++ObjIt) - { - UFMODEvent *Event = (*ObjIt).Get(); - if (IsValid(Event)) - { - // Only play the first valid event - PlayEvent(Event); - break; - } - } -} - -void FAssetTypeActions_FMODEvent::ExecuteStop(TArray> Objects) -{ - IFMODStudioModule::Get().StopAuditioningInstance(); -} - -void FAssetTypeActions_FMODEvent::PlayEvent(UFMODEvent *Event) -{ - if (IsValid(Event)) - { - CurrentPreviewEventInstance = IFMODStudioModule::Get().CreateAuditioningInstance(Event); - if (CurrentPreviewEventInstance != nullptr) - { - CurrentPreviewEventInstance->start(); - } - } -} - -void FAssetTypeActions_FMODEvent::HandleBeginPIE(bool bSimulating) -{ - // Studio module will handle its own auditioning, just clear the handle - CurrentPreviewEventInstance = nullptr; -} - -void FAssetTypeActions_FMODEvent::HandleBanksReloaded() -{ - // Studio module will handle its own auditioning, just clear the handle - CurrentPreviewEventInstance = nullptr; -} - -#undef LOCTEXT_NAMESPACE diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/AssetTypeActions_FMODEvent.h b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/AssetTypeActions_FMODEvent.h deleted file mode 100644 index 27c958d..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/AssetTypeActions_FMODEvent.h +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "AssetTypeActions_Base.h" - -namespace FMOD -{ -namespace Studio -{ -class EventInstance; -} -} - -class UFMODEvent; - -class FAssetTypeActions_FMODEvent : public FAssetTypeActions_Base -{ -public: - FAssetTypeActions_FMODEvent(); - ~FAssetTypeActions_FMODEvent(); - - // IAssetTypeActions Implementation - virtual FText GetName() const override { return NSLOCTEXT("AssetTypeActions", "AssetTypeActions_FMODEvent", "FMOD Event"); } - virtual FColor GetTypeColor() const override { return FColor(0, 175, 255); } - virtual UClass *GetSupportedClass() const override; - virtual bool HasActions(const TArray &InObjects) const override { return true; } - virtual void GetActions(const TArray &InObjects, FMenuBuilder &MenuBuilder) override; - virtual void AssetsActivated(const TArray &InObjects, EAssetTypeActivationMethod::Type ActivationType) override; - virtual void OpenAssetEditor( - const TArray &InObjects, TSharedPtr EditWithinLevelEditor = TSharedPtr()) override; - virtual bool CanFilter() override { return false; } - virtual uint32 GetCategories() override { return EAssetTypeCategories::Sounds; } - -private: - /** Returns true if only one event is selected to play */ - bool CanExecutePlayCommand(TArray> Objects) const; - - /** Handler for when Edit is selected */ - void ExecuteEdit(TArray> Objects); - - /** Handler for when Play is selected */ - void ExecutePlay(TArray> Objects); - - /** Handler for when Stop is selected */ - void ExecuteStop(TArray> Objects); - - /** Plays the event */ - void PlayEvent(UFMODEvent *Event); - - void HandleBeginPIE(bool bSimulating); - void HandleBanksReloaded(); - - FMOD::Studio::EventInstance *CurrentPreviewEventInstance; - FDelegateHandle BeginPIEDelegateHandle; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAmbientSoundActorFactory.cpp b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAmbientSoundActorFactory.cpp deleted file mode 100644 index 90e15a2..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAmbientSoundActorFactory.cpp +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODAmbientSoundActorFactory.h" -#include "FMODStudioEditorPrivatePCH.h" -#include "FMODAmbientSound.h" -#include "FMODEvent.h" -#include "AssetRegistry/Public/AssetData.h" -#include "Editor/EditorEngine.h" - -UFMODAmbientSoundActorFactory::UFMODAmbientSoundActorFactory(const FObjectInitializer &ObjectInitializer) - : Super(ObjectInitializer) -{ - DisplayName = NSLOCTEXT("FMOD", "FMODAmbientSoundDisplayName", "FMOD Ambient Sound"); - NewActorClass = AFMODAmbientSound::StaticClass(); -} - -bool UFMODAmbientSoundActorFactory::CanCreateActorFrom(const FAssetData &AssetData, FText &OutErrorMsg) -{ - //We allow creating AAmbientSounds without an existing sound asset - if (UActorFactory::CanCreateActorFrom(AssetData, OutErrorMsg)) - { - return true; - } - - if (AssetData.IsValid() && !AssetData.GetClass()->IsChildOf(UFMODEvent::StaticClass())) - { - OutErrorMsg = NSLOCTEXT("FMOD", "CanCreateActorFrom_NoFMODEventAsset", "A valid FMOD Event asset must be specified."); - return false; - } - - return true; -} - -void UFMODAmbientSoundActorFactory::PostSpawnActor(UObject *Asset, AActor *NewActor) -{ - UFMODEvent *Event = Cast(Asset); - - if (Event != NULL) - { - AFMODAmbientSound *NewSound = CastChecked(NewActor); - FActorLabelUtilities::SetActorLabelUnique(NewSound, Event->GetName()); - NewSound->AudioComponent->Event = Event; - } -} - -UObject *UFMODAmbientSoundActorFactory::GetAssetFromActorInstance(AActor *Instance) -{ - check(Instance->IsA(NewActorClass)); - AFMODAmbientSound *SoundActor = CastChecked(Instance); - - check(SoundActor->AudioComponent); - return SoundActor->AudioComponent->Event.Get(); -} - -void UFMODAmbientSoundActorFactory::PostCreateBlueprint(UObject *Asset, AActor *CDO) -{ - if (Asset != NULL && CDO != NULL) - { - UFMODEvent *Event = Cast(Asset); - - if (Event != NULL) - { - AFMODAmbientSound *NewSound = CastChecked(CDO); - NewSound->AudioComponent->Event = Event; - } - } -} \ No newline at end of file diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAssetBroker.h b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAssetBroker.h deleted file mode 100644 index 3a8a37c..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAssetBroker.h +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "ComponentAssetBroker.h" -#include "FMODEvent.h" - -////////////////////////////////////////////////////////////////////////// -// FFMODAssetBroker - -class FFMODAssetBroker : public IComponentAssetBroker -{ -public: - UClass *GetSupportedAssetClass() override { return UFMODEvent::StaticClass(); } - - virtual bool AssignAssetToComponent(UActorComponent *InComponent, UObject *InAsset) override - { - if (UFMODAudioComponent *AudioComp = Cast(InComponent)) - { - UFMODEvent *Event = Cast(InAsset); - - if ((Event != NULL) || (InAsset == NULL)) - { - AudioComp->Event = Event; - return true; - } - } - return false; - } - - virtual UObject *GetAssetFromComponent(UActorComponent *InComponent) override - { - if (UFMODAudioComponent *AudioComp = Cast(InComponent)) - { - return AudioComp->Event.Get(); - } - return NULL; - } -}; diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAudioComponentDetails.cpp b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAudioComponentDetails.cpp deleted file mode 100644 index 6d71b3d..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAudioComponentDetails.cpp +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODAudioComponentDetails.h" -#include "Toolkits/AssetEditorManager.h" -#include "FMODAmbientSound.h" -#include "FMODStudioModule.h" -#include "FMODEvent.h" -#include "fmod_studio.hpp" -#include "Widgets/Input/SButton.h" -#include "PropertyEditor/Public/DetailLayoutBuilder.h" -#include "PropertyEditor/Public/DetailCategoryBuilder.h" - -#define LOCTEXT_NAMESPACE "FMODStudio" - -TSharedRef FFMODAudioComponentDetails::MakeInstance() -{ - return MakeShareable(new FFMODAudioComponentDetails); -} - -void FFMODAudioComponentDetails::CustomizeDetails(IDetailLayoutBuilder &DetailBuilder) -{ - const TArray> &SelectedObjects = DetailBuilder.GetSelectedObjects(); - - for (int32 ObjectIndex = 0; !AudioComponent.IsValid() && ObjectIndex < SelectedObjects.Num(); ++ObjectIndex) - { - const TWeakObjectPtr &CurrentObject = SelectedObjects[ObjectIndex]; - if (CurrentObject.Get()->GetClass()->IsChildOf(UFMODAudioComponent::StaticClass())) - { - AudioComponent = Cast(CurrentObject.Get()); - } - else - { - AudioComponent = Cast(CurrentObject.Get())->FindComponentByClass(); - } - } - - DetailBuilder.EditCategory(TEXT("FMODAudio")) - .AddCustomRow( - FText::GetEmpty())[SNew(SVerticalBox) + - SVerticalBox::Slot() - .Padding(0, 2.0f, 0, 0) - .FillHeight(1.0f) - .VAlign( - VAlign_Center)[SNew(SHorizontalBox) + - SHorizontalBox::Slot() - .AutoWidth() - .Padding(2.0f, 0.0f) - .VAlign(VAlign_Center) - .HAlign(HAlign_Left)[SNew(SButton) - .VAlign(VAlign_Center) - .OnClicked(this, &FFMODAudioComponentDetails::OnEditSoundClicked) - .Text(LOCTEXT("View Details", "Details"))] + - SHorizontalBox::Slot() - .AutoWidth() - .Padding(2.0f, 0.0f) - .VAlign(VAlign_Center) - .HAlign(HAlign_Left)[SNew(SButton) - .VAlign(VAlign_Center) - .OnClicked(this, &FFMODAudioComponentDetails::OnPlaySoundClicked) - .Text(LOCTEXT("Play FMOD Event", "Play"))] + - SHorizontalBox::Slot() - .AutoWidth() - .Padding(2.0f, 0.0f) - .VAlign(VAlign_Center) - .HAlign(HAlign_Left)[SNew(SButton) - .VAlign(VAlign_Center) - .OnClicked(this, &FFMODAudioComponentDetails::OnStopSoundClicked) - .Text(LOCTEXT("Stop FMOD Event", "Stop"))]]]; -} - -FReply FFMODAudioComponentDetails::OnEditSoundClicked() -{ - if (AudioComponent.IsValid()) - { - UFMODEvent *Event = AudioComponent.Get()->Event.Get(); - if (Event) - { - FAssetEditorManager::Get().OpenEditorForAsset(Event); - } - } - - return FReply::Handled(); -} - -FReply FFMODAudioComponentDetails::OnPlaySoundClicked() -{ - if (AudioComponent.IsValid()) - { - UFMODEvent *Event = AudioComponent.Get()->Event.Get(); - if (IsValid(Event)) - { - FMOD::Studio::EventInstance *Instance = IFMODStudioModule::Get().CreateAuditioningInstance(Event); - if (Instance) - { - for (auto param : AudioComponent->ParameterCache) - { - Instance->setParameterByName(TCHAR_TO_UTF8(*param.Key.ToString()), param.Value); - } - Instance->start(); - } - } - } - - return FReply::Handled(); -} - -FReply FFMODAudioComponentDetails::OnStopSoundClicked() -{ - IFMODStudioModule::Get().StopAuditioningInstance(); - - return FReply::Handled(); -} - -#undef LOCTEXT_NAMESPACE diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAudioComponentDetails.h b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAudioComponentDetails.h deleted file mode 100644 index c446528..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAudioComponentDetails.h +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -//#include "PropertyEditing.h" -#include "PropertyCustomizationHelpers.h" -#include "PropertyEditor/Public/IDetailCustomization.h" - -class FFMODAudioComponentDetails : public IDetailCustomization -{ -public: - /** Makes a new instance of this detail layout class for a specific detail view requesting it */ - static TSharedRef MakeInstance(); - -private: - /** IDetailCustomization interface */ - virtual void CustomizeDetails(IDetailLayoutBuilder &DetailBuilder) override; - - FReply OnEditSoundClicked(); - FReply OnPlaySoundClicked(); - FReply OnStopSoundClicked(); - - TWeakObjectPtr AudioComponent; -}; \ No newline at end of file diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAudioComponentVisualizer.cpp b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAudioComponentVisualizer.cpp deleted file mode 100644 index b54ddac..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAudioComponentVisualizer.cpp +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODAudioComponentVisualizer.h" -#include "FMODAudioComponent.h" -#include "FMODUtils.h" -#include "FMODEvent.h" -#include "fmod_studio.hpp" -#include "Engine/Public/SceneView.h" -#include "Engine/Public/SceneManagement.h" - -void FFMODAudioComponentVisualizer::DrawVisualization(const UActorComponent *Component, const FSceneView *View, FPrimitiveDrawInterface *PDI) -{ - if (View->Family->EngineShowFlags.AudioRadius) - { - const UFMODAudioComponent *AudioComp = Cast(Component); - if (IsValid(AudioComp) && AudioComp->Event.IsValid()) - { - FMOD::Studio::EventDescription *EventDesc = - IFMODStudioModule::Get().GetEventDescription(AudioComp->Event.Get(), EFMODSystemContext::Auditioning); - if (EventDesc != nullptr) - { - bool bIs3D = false; - EventDesc->is3D(&bIs3D); - if (bIs3D) - { - const FColor AudioOuterRadiusColor(255, 153, 0); - const FColor AudioInnerRadiusColor(216, 130, 0); - - const FTransform &Transform = AudioComp->GetComponentTransform(); - - float MinDistance = 0.0f; - float MaxDistance = 0.0f; - if (AudioComp->AttenuationDetails.bOverrideAttenuation) - { - MinDistance = AudioComp->AttenuationDetails.MinimumDistance; - MaxDistance = AudioComp->AttenuationDetails.MaximumDistance; - } - else - { - EventDesc->getMinimumDistance(&MinDistance); - EventDesc->getMaximumDistance(&MaxDistance); - } - MinDistance = FMODUtils::DistanceToUEScale(MinDistance); - MaxDistance = FMODUtils::DistanceToUEScale(MaxDistance); - - DrawWireSphereAutoSides(PDI, Transform.GetTranslation(), AudioOuterRadiusColor, MinDistance, SDPG_World); - if (MaxDistance != MinDistance) - { - DrawWireSphereAutoSides(PDI, Transform.GetTranslation(), AudioInnerRadiusColor, MaxDistance, SDPG_World); - } - } - } - } - } -} diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAudioComponentVisualizer.h b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAudioComponentVisualizer.h deleted file mode 100644 index 3fa1450..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODAudioComponentVisualizer.h +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "ComponentVisualizer.h" - -class FFMODAudioComponentVisualizer : public FComponentVisualizer -{ -public: - // Begin FComponentVisualizer interface - virtual void DrawVisualization(const UActorComponent *Component, const FSceneView *View, FPrimitiveDrawInterface *PDI) override; - // End FComponentVisualizer interface -}; diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODEventEditor.cpp b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODEventEditor.cpp deleted file mode 100644 index 975e44e..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODEventEditor.cpp +++ /dev/null @@ -1,188 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODEventEditor.h" -#include "FMODEvent.h" -#include "FMODStudioModule.h" -#include "FMODUtils.h" -#include "SFMODEventEditorPanel.h" -#include "Widgets/Docking/SDockTab.h" -//#include "WorkspaceMenuStructureModule.h" -#include "fmod_studio.hpp" -#include "UnrealEd/Public/Editor.h" - -#define LOCTEXT_NAMESPACE "FMODEventEditor" - -DEFINE_LOG_CATEGORY_STATIC(LogFMODEventEditor, Log, All); - -const FName FFMODEventEditor::EventEditorTabId(TEXT("FFMODEventEditor_EventView")); -const FName FFMODEventEditor::FMODEventEditorAppIdentifier(TEXT("FMODEventEditorApp")); - -void FFMODEventEditor::RegisterTabSpawners(const TSharedRef &NewTabManager) -{ - WorkspaceMenuCategory = NewTabManager->AddLocalWorkspaceMenuCategory(LOCTEXT("WorkspaceMenu_FMODEventEditor", "FMOD Event Editor")); - auto WorkspaceMenuCategoryRef = WorkspaceMenuCategory.ToSharedRef(); - - FAssetEditorToolkit::RegisterTabSpawners(NewTabManager); - - NewTabManager->RegisterTabSpawner(EventEditorTabId, FOnSpawnTab::CreateSP(this, &FFMODEventEditor::SpawnTab_EventEditor)) - .SetDisplayName(LOCTEXT("EventTab", "FMOD Event")) - .SetGroup(WorkspaceMenuCategoryRef); -} - -void FFMODEventEditor::UnregisterTabSpawners(const TSharedRef &NewTabManager) -{ - FAssetEditorToolkit::UnregisterTabSpawners(NewTabManager); - - NewTabManager->UnregisterTabSpawner(EventEditorTabId); -} - -FFMODEventEditor::FFMODEventEditor() - : CurrentPreviewEventInstance(nullptr) -{ - IFMODStudioModule::Get().BanksReloadedEvent().AddRaw(this, &FFMODEventEditor::HandleBanksReloaded); - BeginPIEDelegateHandle = FEditorDelegates::BeginPIE.AddRaw(this, &FFMODEventEditor::HandleBeginPIE); -} - -FFMODEventEditor::~FFMODEventEditor() -{ - IFMODStudioModule::Get().BanksReloadedEvent().RemoveAll(this); - FEditorDelegates::BeginPIE.Remove(BeginPIEDelegateHandle); - - CurrentPreviewEventInstance = nullptr; -} - -UFMODEvent *FFMODEventEditor::GetEditedEvent() const -{ - return EditedEvent; -} - -FMOD::Studio::EventDescription *FFMODEventEditor::GetEventDescription() const -{ - return IFMODStudioModule::Get().GetEventDescription(EditedEvent, EFMODSystemContext::Auditioning); -} - -void FFMODEventEditor::PlayEvent() -{ - CurrentPreviewEventInstance = IFMODStudioModule::Get().CreateAuditioningInstance(EditedEvent); - if (CurrentPreviewEventInstance != nullptr) - { - TArray values; - TArray ids; - - ParameterValues.GenerateKeyArray(ids); - ParameterValues.GenerateValueArray(values); - - CurrentPreviewEventInstance->setParametersByIDs(ids.GetData(), values.GetData(), ParameterValues.Num()); - - CurrentPreviewEventInstance->start(); - } -} - -void FFMODEventEditor::PauseEvent() -{ - if (CurrentPreviewEventInstance != nullptr) - { - bool bIsPaused = false; - CurrentPreviewEventInstance->getPaused(&bIsPaused); - CurrentPreviewEventInstance->setPaused(!bIsPaused); - } -} - -void FFMODEventEditor::StopEvent() -{ - IFMODStudioModule::Get().StopAuditioningInstance(); -} - -void FFMODEventEditor::SetParameterValue(FMOD_STUDIO_PARAMETER_ID ParameterId, float Value) -{ - ParameterValues[ParameterId] = Value; - - if (CurrentPreviewEventInstance != nullptr) - { - CurrentPreviewEventInstance->setParameterByID(ParameterId, Value); - } -} - -void FFMODEventEditor::AddParameter(FMOD_STUDIO_PARAMETER_ID ParameterId, float Value) -{ - ParameterValues.Add(ParameterId, Value); -} - -float FFMODEventEditor::GetParameterValue(FMOD_STUDIO_PARAMETER_ID Id) -{ - return ParameterValues[Id]; -} - -void FFMODEventEditor::InitFMODEventEditor(const EToolkitMode::Type Mode, const TSharedPtr &InitToolkitHost, UFMODEvent *Event) -{ - if (IsValid(Event)) - { - EditedEvent = Event; - - TSharedRef StandaloneDefaultLayout = - FTabManager::NewLayout("Standalone_FMODEventEditor_Layout") - ->AddArea(FTabManager::NewPrimaryArea() - ->SetOrientation(Orient_Vertical) - ->Split(FTabManager::NewStack()->AddTab(EventEditorTabId, ETabState::OpenedTab)->SetHideTabWell(true))); - - const bool bCreateDefaultStandaloneMenu = true; - const bool bCreateDefaultToolbar = false; - FAssetEditorToolkit::InitAssetEditor(Mode, InitToolkitHost, FFMODEventEditor::FMODEventEditorAppIdentifier, StandaloneDefaultLayout, - bCreateDefaultStandaloneMenu, bCreateDefaultToolbar, Event); - } -} - -FName FFMODEventEditor::GetToolkitFName() const -{ - return FName("FMODEventEditor"); -} - -FText FFMODEventEditor::GetBaseToolkitName() const -{ - return LOCTEXT("ToolkitName", "FMOD Event Editor"); -} - -FString FFMODEventEditor::GetWorldCentricTabPrefix() const -{ - return LOCTEXT("WorldCentricTabPrefix", "FMOD Event ").ToString(); -} - -FLinearColor FFMODEventEditor::GetWorldCentricTabColorScale() const -{ - return FLinearColor(0.0f, 0.0f, 0.5f, 0.5f); -} - -void FFMODEventEditor::CreateInternalWidgets() -{ - FMODEventEditorPanel = SNew(SFMODEventEditorPanel).FMODEventEditor(SharedThis(this)); -} - -TSharedRef FFMODEventEditor::SpawnTab_EventEditor(const FSpawnTabArgs &Args) -{ - check(Args.GetTabId().TabType == EventEditorTabId); - - CreateInternalWidgets(); - - return SAssignNew(OwnerTab, SDockTab) - .Label(LOCTEXT("EventEditorTitle", "FMOD Event")) - .TabColorScale(GetTabColorScale())[FMODEventEditorPanel.ToSharedRef()]; -} - -void FFMODEventEditor::HandleBanksReloaded() -{ - CurrentPreviewEventInstance = nullptr; - - CreateInternalWidgets(); - - if (OwnerTab.IsValid()) - { - OwnerTab->SetContent(FMODEventEditorPanel.ToSharedRef()); - } -} - -void FFMODEventEditor::HandleBeginPIE(bool bSimulating) -{ - CurrentPreviewEventInstance = nullptr; -} - -#undef LOCTEXT_NAMESPACE diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODEventEditor.h b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODEventEditor.h deleted file mode 100644 index f4ab707..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODEventEditor.h +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "Toolkits/AssetEditorToolkit.h" -#include "fmod_studio_common.h" - -namespace FMOD -{ -namespace Studio -{ -class EventDescription; -class EventInstance; -} -} - -static bool operator==(const FMOD_STUDIO_PARAMETER_ID &a, const FMOD_STUDIO_PARAMETER_ID &b) -{ - return (a.data1 == b.data1 && a.data2 == b.data2); -} -FORCEINLINE uint32 GetTypeHash(const FMOD_STUDIO_PARAMETER_ID& id) -{ - return FCrc::MemCrc_DEPRECATED(&id, sizeof(FMOD_STUDIO_PARAMETER_ID)); -} - -class FFMODEventEditor : public FAssetEditorToolkit -{ -public: - virtual void RegisterTabSpawners(const TSharedRef &NewTabManager) override; - virtual void UnregisterTabSpawners(const TSharedRef &NewTabManager) override; - - /** - * Edits the specified event - * - * @param Mode Asset editing mode for this editor (standalone or world-centric) - * @param InitToolkitHost When Mode is WorldCentric, this is the level editor instance to spawn this editor within - * @param Event The event to edit - */ - void InitFMODEventEditor(const EToolkitMode::Type Mode, const TSharedPtr &InitToolkitHost, class UFMODEvent *Event); - - /** Constructor */ - FFMODEventEditor(); - - /** Destructor */ - virtual ~FFMODEventEditor(); - - UFMODEvent *GetEditedEvent() const; - FMOD::Studio::EventDescription *GetEventDescription() const; - void PlayEvent(); - void PauseEvent(); - void StopEvent(); - float GetParameterValue(FMOD_STUDIO_PARAMETER_ID Id); - void SetParameterValue(FMOD_STUDIO_PARAMETER_ID ParameterId, float Value); - void AddParameter(FMOD_STUDIO_PARAMETER_ID ParameterId, float Value); - - /** IToolkit interface */ - virtual FName GetToolkitFName() const override; - virtual FText GetBaseToolkitName() const override; - virtual FString GetWorldCentricTabPrefix() const override; - virtual FLinearColor GetWorldCentricTabColorScale() const override; - -private: - TMap ParameterValues; - FMOD::Studio::EventInstance *CurrentPreviewEventInstance; - - void HandlePreBanksReloaded(); - void HandleBanksReloaded(); - void HandleBeginPIE(bool bSimulating); - - /** Creates all internal widgets for the tabs to point at */ - void CreateInternalWidgets(); - - /** Spawns the tab with the FMOD event inside */ - TSharedRef SpawnTab_EventEditor(const FSpawnTabArgs &Args); - - TSharedPtr FMODEventEditorPanel; - TSharedPtr OwnerTab; - - /** The tab id for the event editor tab */ - static const FName EventEditorTabId; - - /** FMOD event editor app identifier string */ - static const FName FMODEventEditorAppIdentifier; - - class UFMODEvent *EditedEvent; - - FDelegateHandle BeginPIEDelegateHandle; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODStudioEditorModule.cpp b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODStudioEditorModule.cpp deleted file mode 100644 index be83081..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODStudioEditorModule.cpp +++ /dev/null @@ -1,1110 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODStudioEditorModule.h" -#include "FMODStudioModule.h" -#include "FMODStudioStyle.h" -#include "FMODAudioComponent.h" -#include "FMODAssetBroker.h" -#include "FMODSettings.h" -#include "FMODUtils.h" - -#include "FMODEventEditor.h" -#include "FMODAudioComponentVisualizer.h" -#include "FMODAudioComponentDetails.h" -#include "Sequencer/FMODChannelEditors.h" -#include "Sequencer/FMODEventControlSection.h" -#include "Sequencer/FMODEventControlTrackEditor.h" -#include "Sequencer/FMODEventParameterTrackEditor.h" -#include "AssetTypeActions_FMODEvent.h" - -#include "UnrealEd/Public/AssetSelection.h" -#include "Slate/Public/Framework/Notifications/NotificationManager.h" -#include "Slate/Public/Widgets/Notifications/SNotificationList.h" -#include "Developer/Settings/Public/ISettingsModule.h" -#include "Developer/Settings/Public/ISettingsSection.h" -#include "UnrealEd/Public/Editor.h" -#include "Slate/SceneViewport.h" -#include "LevelEditor/Public/LevelEditor.h" -#include "Sockets/Public/SocketSubsystem.h" -#include "Sockets/Public/Sockets.h" -#include "Sockets/Public/IPAddress.h" -#include "UnrealEd/Public/FileHelpers.h" -#include "Sequencer/Public/ISequencerModule.h" -#include "Sequencer/Public/SequencerChannelInterface.h" -#include "MovieSceneTools/Public/ClipboardTypes.h" -#include "Engine/Public/DebugRenderSceneProxy.h" -#include "Engine/Classes/Debug/DebugDrawService.h" -#include "Settings/ProjectPackagingSettings.h" -#include "UnrealEdGlobals.h" -#include "UnrealEd/Public/LevelEditorViewport.h" -#include "ActorFactories/ActorFactory.h" -#include "Engine/Canvas.h" -#include "Editor/UnrealEdEngine.h" -#include "Slate/Public/Framework/MultiBox/MultiBoxBuilder.h" -#include "Misc/MessageDialog.h" -#include "HAL/FileManager.h" - -#include "fmod_studio.hpp" - -#define LOCTEXT_NAMESPACE "FMODStudio" - -DEFINE_LOG_CATEGORY(LogFMOD); - -class FFMODStudioLink -{ -public: - FFMODStudioLink() - : SocketSubsystem(nullptr) - , Socket(nullptr) - { - SocketSubsystem = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM); - } - - ~FFMODStudioLink() { Disconnect(); } - - bool Connect() - { - if (!SocketSubsystem) - return false; - - Disconnect(); - Socket = SocketSubsystem->CreateSocket(NAME_Stream, TEXT("FMOD Studio Connection"), false); - - TSharedRef Addr = SocketSubsystem->CreateInternetAddr(); - bool Valid = false; - Addr->SetIp(TEXT("127.0.0.1"), Valid); - if (!Valid) - return false; - - Addr->SetPort(3663); - return Socket->Connect(*Addr); - } - - void Disconnect() - { - if (SocketSubsystem && Socket) - { - SocketSubsystem->DestroySocket(Socket); - Socket = nullptr; - } - } - - bool Execute(const TCHAR *Message, FString &OutMessage) - { - OutMessage = TEXT(""); - if (!Socket) - { - return false; - } - - UE_LOG(LogFMOD, Log, TEXT("Sent studio message: %s"), Message); - - FTCHARToUTF8 MessageChars(Message); - int32 BytesSent = 0; - if (!Socket->Send((const uint8 *)MessageChars.Get(), MessageChars.Length(), BytesSent)) - { - return false; - } - - while (1) - { - FString BackMessage; - if (!ReadMessage(BackMessage)) - { - return false; - } - UE_LOG(LogFMOD, Log, TEXT("Received studio message: %s"), *BackMessage); - if (BackMessage.StartsWith(TEXT("out(): "))) - { - OutMessage = BackMessage.Mid(7).TrimEnd(); - break; - } - else - { - // Keep going - } - } - return true; - } - -private: - bool ReadMessage(FString &OutMessage) - { - while (1) - { - for (int32 i = 0; i < ReceivedMessage.Num(); ++i) - { - if (ReceivedMessage[i] == '\0') - { - OutMessage = FString(UTF8_TO_TCHAR(ReceivedMessage.GetData())); - ReceivedMessage.RemoveAt(0, i + 1); - return true; - } - } - - int32 ExtraSpace = 64; - int32 CurrentSize = ReceivedMessage.Num(); - ReceivedMessage.SetNum(CurrentSize + ExtraSpace); - int32 ActualRead = 0; - if (!Socket->Wait(ESocketWaitConditions::WaitForRead, FTimespan::FromSeconds(10))) - { - return false; - } - else if (!Socket->Recv((uint8 *)ReceivedMessage.GetData() + CurrentSize, ExtraSpace, ActualRead)) - { - return false; - } - ReceivedMessage.SetNum(CurrentSize + ActualRead); - } - } - - ISocketSubsystem *SocketSubsystem; - FSocket *Socket; - TArray ReceivedMessage; -}; - -class FFMODStudioEditorModule : public IFMODStudioEditorModule -{ -public: - /** IModuleInterface implementation */ - FFMODStudioEditorModule() - : bSimulating(false) - , bIsInPIE(false) - , bRegisteredComponentVisualizers(false) - , bRunningTest(false) - , TestDelay(0.0f) - , TestStep(0) - { - } - - virtual void StartupModule() override; - virtual void PostLoadCallback() override; - virtual void ShutdownModule() override; - - bool HandleSettingsSaved(); - - /** Called after all banks were reloaded by the studio module */ - void HandleBanksReloaded(); - - /** Show notification */ - void ShowNotification(const FText &Text, SNotificationItem::ECompletionState State); - - void BeginPIE(bool simulating); - void EndPIE(bool simulating); - void PausePIE(bool simulating); - void ResumePIE(bool simulating); - - void ViewportDraw(UCanvas *Canvas, APlayerController *); - - bool Tick(float DeltaTime); - - /** Add extensions to menu */ - void AddHelpMenuExtension(FMenuBuilder &MenuBuilder); - void AddFileMenuExtension(FMenuBuilder &MenuBuilder); - - /** Show FMOD version */ - void ShowVersion(); - /** Open CHM */ - void OpenIntegrationDocs(); - /** Open web page to online docs */ - void OpenAPIDocs(); - /** Open Video tutorials page */ - void OpenVideoTutorials(); - /** Set Studio build path */ - void ValidateFMOD(); - - /** Reload banks */ - void ReloadBanks(); - - void TickTest(float DeltaTime); - - TArray RegisteredComponentClassNames; - void RegisterComponentVisualizer(FName ComponentClassName, TSharedPtr Visualizer); - - /** The delegate to be invoked when this profiler manager ticks. */ - FTickerDelegate OnTick; - - /** Handle for registered delegates. */ - FDelegateHandle TickDelegateHandle; - FDelegateHandle BeginPIEDelegateHandle; - FDelegateHandle EndPIEDelegateHandle; - FDelegateHandle PausePIEDelegateHandle; - FDelegateHandle ResumePIEDelegateHandle; - FDelegateHandle HandleBanksReloadedDelegateHandle; - FDelegateHandle FMODControlTrackEditorCreateTrackEditorHandle; - FDelegateHandle FMODParamTrackEditorCreateTrackEditorHandle; - - /** Hook for drawing viewport */ - FDebugDrawDelegate ViewportDrawingDelegate; - FDelegateHandle ViewportDrawingDelegateHandle; - - TSharedPtr AssetBroker; - - /** The extender to pass to the level editor to extend it's window menu */ - TSharedPtr MainMenuExtender; - - /** Asset type actions for events (edit, play, stop) */ - TSharedPtr FMODEventAssetTypeActions; - - ISettingsSectionPtr SettingsSection; - - bool bSimulating; - bool bIsInPIE; - bool bRegisteredComponentVisualizers; - bool bRunningTest; - float TestDelay; - int TestStep; -}; - -IMPLEMENT_MODULE(FFMODStudioEditorModule, FMODStudioEditor) - -void FFMODStudioEditorModule::StartupModule() -{ - UE_LOG(LogFMOD, Log, TEXT("FFMODStudioEditorModule startup")); - - AssetBroker = MakeShareable(new FFMODAssetBroker); - FComponentAssetBrokerage::RegisterBroker(AssetBroker, UFMODAudioComponent::StaticClass(), true, true); - - if (ISettingsModule *SettingsModule = FModuleManager::GetModulePtr("Settings")) - { - SettingsSection = SettingsModule->RegisterSettings("Project", "Plugins", "FMODStudio", LOCTEXT("FMODStudioSettingsName", "FMOD Studio"), - LOCTEXT("FMODStudioDescription", "Configure the FMOD Studio plugin"), GetMutableDefault()); - - if (SettingsSection.IsValid()) - { - SettingsSection->OnModified().BindRaw(this, &FFMODStudioEditorModule::HandleSettingsSaved); - } - } - - // Register with the sequencer module that we provide auto-key handlers. - ISequencerModule &SequencerModule = FModuleManager::Get().LoadModuleChecked("Sequencer"); - FMODControlTrackEditorCreateTrackEditorHandle = - SequencerModule.RegisterTrackEditor(FOnCreateTrackEditor::CreateStatic(&FFMODEventControlTrackEditor::CreateTrackEditor)); - FMODParamTrackEditorCreateTrackEditorHandle = - SequencerModule.RegisterTrackEditor(FOnCreateTrackEditor::CreateStatic(&FFMODEventParameterTrackEditor::CreateTrackEditor)); - SequencerModule.RegisterChannelInterface(); - - // Register the details customizations - { - FPropertyEditorModule &PropertyModule = FModuleManager::LoadModuleChecked("PropertyEditor"); - PropertyModule.RegisterCustomClassLayout( - "FMODAudioComponent", FOnGetDetailCustomizationInstance::CreateStatic(&FFMODAudioComponentDetails::MakeInstance)); - PropertyModule.NotifyCustomizationModuleChanged(); - } - - // Need to load the editor module since it gets created after us, and we can't re-order ourselves otherwise our asset registration stops working! - // It only works if we are running the editor, not a commandlet - if (!IsRunningCommandlet()) - { - MainMenuExtender = MakeShareable(new FExtender); - MainMenuExtender->AddMenuExtension( - "HelpBrowse", EExtensionHook::After, NULL, FMenuExtensionDelegate::CreateRaw(this, &FFMODStudioEditorModule::AddHelpMenuExtension)); - MainMenuExtender->AddMenuExtension( - "FileLoadAndSave", EExtensionHook::After, NULL, FMenuExtensionDelegate::CreateRaw(this, &FFMODStudioEditorModule::AddFileMenuExtension)); - - FLevelEditorModule *LevelEditor = FModuleManager::LoadModulePtr(TEXT("LevelEditor")); - if (LevelEditor) - { - LevelEditor->GetMenuExtensibilityManager()->AddExtender(MainMenuExtender); - } - } - - // Register AssetTypeActions - IAssetTools &AssetTools = FModuleManager::GetModuleChecked("AssetTools").Get(); - - FMODEventAssetTypeActions = MakeShareable(new FAssetTypeActions_FMODEvent); - AssetTools.RegisterAssetTypeActions(FMODEventAssetTypeActions.ToSharedRef()); - - // Register slate style overrides - FFMODStudioStyle::Initialize(); - - BeginPIEDelegateHandle = FEditorDelegates::BeginPIE.AddRaw(this, &FFMODStudioEditorModule::BeginPIE); - EndPIEDelegateHandle = FEditorDelegates::EndPIE.AddRaw(this, &FFMODStudioEditorModule::EndPIE); - PausePIEDelegateHandle = FEditorDelegates::PausePIE.AddRaw(this, &FFMODStudioEditorModule::PausePIE); - ResumePIEDelegateHandle = FEditorDelegates::ResumePIE.AddRaw(this, &FFMODStudioEditorModule::ResumePIE); - - ViewportDrawingDelegate = FDebugDrawDelegate::CreateRaw(this, &FFMODStudioEditorModule::ViewportDraw); - ViewportDrawingDelegateHandle = UDebugDrawService::Register(TEXT("Editor"), ViewportDrawingDelegate); - - OnTick = FTickerDelegate::CreateRaw(this, &FFMODStudioEditorModule::Tick); - TickDelegateHandle = FTicker::GetCoreTicker().AddTicker(OnTick); - - // This module is loaded after FMODStudioModule - HandleBanksReloadedDelegateHandle = IFMODStudioModule::Get().BanksReloadedEvent().AddRaw(this, &FFMODStudioEditorModule::HandleBanksReloaded); - - if (FParse::Param(FCommandLine::Get(), TEXT("fmodtest"))) - { - bRunningTest = true; - } -} - -void FFMODStudioEditorModule::AddHelpMenuExtension(FMenuBuilder &MenuBuilder) -{ - MenuBuilder.BeginSection("FMODHelp", LOCTEXT("FMODHelpLabel", "FMOD Help")); - MenuBuilder.AddMenuEntry(LOCTEXT("FMODVersionMenuEntryTitle", "About FMOD Studio"), - LOCTEXT("FMODVersionMenuEntryToolTip", "Shows the informationa about FMOD Studio."), FSlateIcon(), - FUIAction(FExecuteAction::CreateRaw(this, &FFMODStudioEditorModule::ShowVersion))); - -#if PLATFORM_WINDOWS - MenuBuilder.AddMenuEntry(LOCTEXT("FMODHelpCHMTitle", "FMOD Documentation..."), - LOCTEXT("FMODHelpCHMToolTip", "Opens the local FMOD documentation."), - FSlateIcon(FEditorStyle::GetStyleSetName(), "LevelEditor.BrowseAPIReference"), - FUIAction(FExecuteAction::CreateRaw(this, &FFMODStudioEditorModule::OpenIntegrationDocs))); -#endif - - MenuBuilder.AddMenuEntry(LOCTEXT("FMODHelpOnlineTitle", "FMOD Online Documentation..."), - LOCTEXT("FMODHelpOnlineToolTip", "Go to the online FMOD documentation."), - FSlateIcon(FEditorStyle::GetStyleSetName(), "LevelEditor.BrowseDocumentation"), - FUIAction(FExecuteAction::CreateRaw(this, &FFMODStudioEditorModule::OpenAPIDocs))); - - MenuBuilder.AddMenuEntry(LOCTEXT("FMODHelpVideosTitle", "FMOD Tutorial Videos..."), - LOCTEXT("FMODHelpVideosToolTip", "Go to the online FMOD tutorial videos."), - FSlateIcon(FEditorStyle::GetStyleSetName(), "LevelEditor.Tutorials"), - FUIAction(FExecuteAction::CreateRaw(this, &FFMODStudioEditorModule::OpenVideoTutorials))); - - MenuBuilder.AddMenuEntry(LOCTEXT("FMODSetStudioBuildTitle", "Validate FMOD"), - LOCTEXT("FMODSetStudioBuildToolTip", "Verifies that FMOD and FMOD Studio are working as expected."), FSlateIcon(), - FUIAction(FExecuteAction::CreateRaw(this, &FFMODStudioEditorModule::ValidateFMOD))); - - MenuBuilder.EndSection(); -} - -void FFMODStudioEditorModule::AddFileMenuExtension(FMenuBuilder &MenuBuilder) -{ - MenuBuilder.BeginSection("FMODFile", LOCTEXT("FMODFileLabel", "FMOD")); - MenuBuilder.AddMenuEntry(LOCTEXT("FMODFileMenuEntryTitle", "Reload Banks"), - LOCTEXT("FMODFileMenuEntryToolTip", "Force a manual reload of all FMOD Studio banks."), FSlateIcon(), - FUIAction(FExecuteAction::CreateRaw(this, &FFMODStudioEditorModule::ReloadBanks))); - MenuBuilder.EndSection(); -} - -unsigned int GetDLLVersion() -{ - // Just grab it from the audition context which is always valid - unsigned int DLLVersion = 0; - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Auditioning); - if (StudioSystem) - { - FMOD::System *LowLevelSystem = nullptr; - if (StudioSystem->getCoreSystem(&LowLevelSystem) == FMOD_OK) - { - LowLevelSystem->getVersion(&DLLVersion); - } - } - return DLLVersion; -} - -FString VersionToString(unsigned int Version) -{ - unsigned int ProductVersion = (Version & 0xffff0000) >> 16; - unsigned int MajorVersion = (Version & 0x0000ff00) >> 8; - unsigned int MinorVersion = (Version & 0x000000ff); - return FString::Printf(TEXT("%d.%02d.%02d"), ProductVersion, MajorVersion, MinorVersion); -} - -unsigned int MakeVersion(unsigned int ProductVersion, unsigned int MajorVersion, unsigned int MinorVersion) -{ - return ((ProductVersion & 0xffff) << 16) | ((MajorVersion & 0xff) << 8) | (MinorVersion & 0xff); -} - -unsigned int VersionFromString(FString Version) -{ - unsigned int ProductVersion = 0; - unsigned int MajorVersion = 0; - unsigned int MinorVersion = 0; - TArray VersionFields; - - if (Version.ParseIntoArray(VersionFields, TEXT(".")) == 3) - { - ProductVersion = FCString::Atoi(*VersionFields[0]); - MajorVersion = FCString::Atoi(*VersionFields[1]); - MinorVersion = FCString::Atoi(*VersionFields[2]); - } - - return MakeVersion(ProductVersion, MajorVersion, MinorVersion); -} - -void FFMODStudioEditorModule::ShowVersion() -{ - FString HeaderVersion = VersionToString(FMOD_VERSION); - FString DLLVersion = VersionToString(GetDLLVersion()); - - FText VersionMessage = FText::Format(LOCTEXT("FMODStudio_About", - "FMOD Studio\n\nBuilt Version: {0}\nDLL Version: {1}\n\nCopyright \u00A9 Firelight Technologies Pty " - "Ltd.\n\nSee LICENSE.TXT for additional license information."), - FText::FromString(HeaderVersion), FText::FromString(DLLVersion)); - - FMessageDialog::Open(EAppMsgType::Ok, VersionMessage); -} - -void FFMODStudioEditorModule::OpenIntegrationDocs() -{ - FPlatformProcess::LaunchFileInDefaultExternalApplication(TEXT("https://fmod.com/resources/documentation-ue4")); -} - -void FFMODStudioEditorModule::OpenAPIDocs() -{ - FPlatformProcess::LaunchFileInDefaultExternalApplication(TEXT("https://fmod.com/resources/documentation-api")); -} - -void FFMODStudioEditorModule::OpenVideoTutorials() -{ - FPlatformProcess::LaunchFileInDefaultExternalApplication(TEXT("http://www.youtube.com/user/FMODTV")); -} - -void FFMODStudioEditorModule::ValidateFMOD() -{ - int ProblemsFound = 0; - FFMODStudioLink StudioLink; - bool Connected = StudioLink.Connect(); - - if (!Connected) - { - if (EAppReturnType::No == - FMessageDialog::Open(EAppMsgType::YesNo, - LOCTEXT("SetStudioBuildStudioNotRunning", - "FMODStudio does not appear to be running. Only some validation will occur. Do you want to continue anyway?"))) - { - return; - } - } - - unsigned int HeaderVersion = FMOD_VERSION; - unsigned int DLLVersion = GetDLLVersion(); - unsigned int StudioVersion = 0; - - if (Connected) - { - FString StudioVersionString; - - if (StudioLink.Execute(TEXT("studio.version"), StudioVersionString)) - { - // We expect something like "Version xx.yy.zz, 32/64, Some build number" - UE_LOG(LogFMOD, Log, TEXT("Received studio version: %s"), *StudioVersionString); - TArray VersionParts; - - if (StudioVersionString.StartsWith(TEXT("Version ")) && StudioVersionString.ParseIntoArray(VersionParts, TEXT(",")) >= 1) - { - StudioVersion = VersionFromString(VersionParts[0].RightChop(8)); - } - } - } - - if (HeaderVersion != DLLVersion) - { - FText VersionMessage = FText::Format(LOCTEXT("SetStudioBuildStudio_Status", - "The FMOD DLL version is different to the version the integration was built against. This may " - "cause problems running the game.\nBuilt Version: {0}\nDLL Version: {1}\n"), - FText::FromString(VersionToString(HeaderVersion)), FText::FromString(VersionToString(DLLVersion))); - FMessageDialog::Open(EAppMsgType::Ok, VersionMessage); - ProblemsFound++; - } - - if (StudioVersion != DLLVersion) - { - FText VersionMessage = - FText::Format(LOCTEXT("SetStudioBuildStudio_Version", - "The Studio tool is different to the version the integration was built against. The integration may not be able to " - "load the banks that the tool builds.\n\nBuilt Version: {0}\nDLL Version: {1}\nStudio Version: {2}\n\nWe recommend " - "using the Studio tool that matches the integration.\n\nDo you want to continue with the validation?"), - FText::FromString(VersionToString(HeaderVersion)), FText::FromString(VersionToString(DLLVersion)), - FText::FromString(VersionToString(StudioVersion))); - - if (EAppReturnType::No == FMessageDialog::Open(EAppMsgType::YesNo, VersionMessage)) - { - return; - } - - ProblemsFound++; - } - - const UFMODSettings &Settings = *GetDefault(); - FString FullBankPath = Settings.BankOutputDirectory.Path; - - if (FPaths::IsRelative(FullBankPath)) - { - FullBankPath = FPaths::ProjectContentDir() / FullBankPath; - } - - FString PlatformBankPath = Settings.GetFullBankPath(); - FullBankPath = FPaths::ConvertRelativePathToFull(FullBankPath); - PlatformBankPath = FPaths::ConvertRelativePathToFull(PlatformBankPath); - - if (Connected) - { - // File path was added in FMOD Studio 1.07.00 - FString StudioProjectPath; - FString StudioProjectDir; - - if (StudioVersion >= MakeVersion(1, 7, 0)) - { - StudioLink.Execute(TEXT("studio.project.filePath"), StudioProjectPath); - - if (StudioProjectPath.IsEmpty() || StudioProjectPath == TEXT("undefined")) - { - FMessageDialog::Open(EAppMsgType::Ok, - LOCTEXT("SetStudioBuildStudio_NewProject", - "FMOD Studio has an empty project. Please go to FMOD Studio, and press Save to create your new project.")); - // Just try to save anyway - FString Result; - StudioLink.Execute(TEXT("studio.project.save()"), Result); - } - - StudioLink.Execute(TEXT("studio.project.filePath"), StudioProjectPath); - - if (StudioProjectPath != TEXT("undefined")) - { - StudioProjectDir = FPaths::GetPath(StudioProjectPath); - } - } - - FString StudioPathString; - StudioLink.Execute(TEXT("studio.project.workspace.builtBanksOutputDirectory"), StudioPathString); - - if (StudioPathString == TEXT("undefined")) - { - StudioPathString = TEXT(""); - } - - FString CanonicalBankPath = FullBankPath; - FPaths::CollapseRelativeDirectories(CanonicalBankPath); - FPaths::NormalizeDirectoryName(CanonicalBankPath); - FPaths::RemoveDuplicateSlashes(CanonicalBankPath); - FPaths::NormalizeDirectoryName(CanonicalBankPath); - FString CanonicalStudioPath = StudioPathString; - - if (FPaths::IsRelative(CanonicalStudioPath) && !StudioProjectDir.IsEmpty() && !StudioPathString.IsEmpty()) - { - CanonicalStudioPath = FPaths::Combine(*StudioProjectDir, *CanonicalStudioPath); - } - - FPaths::CollapseRelativeDirectories(CanonicalStudioPath); - FPaths::NormalizeDirectoryName(CanonicalStudioPath); - FPaths::RemoveDuplicateSlashes(CanonicalStudioPath); - FPaths::NormalizeDirectoryName(CanonicalStudioPath); - - if (!FPaths::IsSamePath(CanonicalBankPath, CanonicalStudioPath)) - { - FString BankPathToSet = FullBankPath; - - // Extra logic - if we have put the studio project inside the game project, then make it relative - if (!StudioProjectDir.IsEmpty()) - { - FString GameBaseDir = FPaths::ConvertRelativePathToFull(FPaths::ProjectDir()); - FString BankPathFromGameProject = FullBankPath; - FString StudioProjectFromGameProject = StudioProjectDir; - if (FPaths::MakePathRelativeTo(BankPathFromGameProject, *GameBaseDir) && !BankPathFromGameProject.Contains(TEXT("..")) && - FPaths::MakePathRelativeTo(StudioProjectFromGameProject, *GameBaseDir) && !StudioProjectFromGameProject.Contains(TEXT(".."))) - { - FPaths::MakePathRelativeTo(BankPathToSet, *(StudioProjectDir + TEXT("/"))); - } - } - - ProblemsFound++; - - FText AskMessage = FText::Format(LOCTEXT("SetStudioBuildStudio_Ask", - "FMOD Studio build path should be set up.\n\nCurrent Studio build path: {0}\nNew build path: " - "{1}\n\nDo you want to fix up the project now?"), - FText::FromString(StudioPathString), FText::FromString(BankPathToSet)); - - if (EAppReturnType::Yes == FMessageDialog::Open(EAppMsgType::YesNo, AskMessage)) - { - FString Result; - StudioLink.Execute(*FString::Printf(TEXT("studio.project.workspace.builtBanksOutputDirectory = \"%s\";"), *BankPathToSet), Result); - StudioLink.Execute(TEXT("studio.project.workspace.builtBanksOutputDirectory"), Result); - - if (Result != BankPathToSet) - { - FMessageDialog::Open(EAppMsgType::Ok, - LOCTEXT("SetStudioBuildStudio_Save", - "Failed to set bank directory. Please go to FMOD Studio, and set the bank path in FMOD Studio project settings.")); - } - - FMessageDialog::Open( - EAppMsgType::Ok, LOCTEXT("SetStudioBuildStudio_Save", "Please go to FMOD Studio, save your project and build banks.")); - // Just try to do it again anyway - StudioLink.Execute(TEXT("studio.project.save()"), Result); - StudioLink.Execute(TEXT("studio.project.build()"), Result); - // Pretend settings have changed which will force a reload - IFMODStudioModule::Get().RefreshSettings(); - } - } - } - - bool bAnyBankFiles = false; - - // Check bank path - if (!FPaths::DirectoryExists(FullBankPath) || !FPaths::DirectoryExists(PlatformBankPath)) - { - FText DirMessage = FText::Format(LOCTEXT("SetStudioBuildStudio_Dir", - "The FMOD Content directory does not exist. Please make sure FMOD Studio is exporting banks into the " - "correct location.\n\nBanks should be exported to: {0}\nBanks files should exist in: {1}\n"), - FText::FromString(FullBankPath), FText::FromString(PlatformBankPath)); - FMessageDialog::Open(EAppMsgType::Ok, DirMessage); - ProblemsFound++; - } - else - { - TArray BankFiles; - Settings.GetAllBankPaths(BankFiles, true); - - if (BankFiles.Num() != 0) - { - bAnyBankFiles = true; - } - else - { - FText EmptyBankDirMessage = - FText::Format(LOCTEXT("SetStudioBuildStudio_EmptyBankDir", - "The FMOD Content directory does not have any bank files in them. Please make sure FMOD Studio is exporting banks " - "into the correct location.\n\nBanks should be exported to: {0}\nBanks files should exist in: {1}\n"), - FText::FromString(FullBankPath), FText::FromString(PlatformBankPath)); - FMessageDialog::Open(EAppMsgType::Ok, EmptyBankDirMessage); - ProblemsFound++; - } - } - - // Look for banks that may have failed to load - if (bAnyBankFiles) - { - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Auditioning); - int BankCount = 0; - StudioSystem->getBankCount(&BankCount); - TArray FailedBanks = IFMODStudioModule::Get().GetFailedBankLoads(EFMODSystemContext::Auditioning); - - if (BankCount == 0 || FailedBanks.Num() != 0) - { - FString CombinedBanks; - - for (auto Bank : FailedBanks) - { - CombinedBanks += Bank; - CombinedBanks += TEXT("\n"); - } - - FText BankLoadMessage; - - if (BankCount == 0 && FailedBanks.Num() == 0) - { - BankLoadMessage = LOCTEXT("SetStudioBuildStudio_BankLoad", "Failed to load banks\n"); - } - else if (BankCount == 0) - { - BankLoadMessage = - FText::Format(LOCTEXT("SetStudioBuildStudio_BankLoad", "Failed to load banks:\n{0}\n"), FText::FromString(CombinedBanks)); - } - else - { - BankLoadMessage = - FText::Format(LOCTEXT("SetStudioBuildStudio_BankLoad", "Some banks failed to load:\n{0}\n"), FText::FromString(CombinedBanks)); - } - - FMessageDialog::Open(EAppMsgType::Ok, BankLoadMessage); - ProblemsFound++; - } - else - { - int TotalEventCount = 0; - TArray Banks; - Banks.SetNum(BankCount); - StudioSystem->getBankList(Banks.GetData(), BankCount, &BankCount); - - for (FMOD::Studio::Bank *Bank : Banks) - { - int EventCount = 0; - Bank->getEventCount(&EventCount); - TotalEventCount += EventCount; - } - - if (TotalEventCount == 0) - { - FMessageDialog::Open(EAppMsgType::Ok, - LOCTEXT("SetStudioBuildStudio_NoEvents", - "Banks have been loaded but they didn't have any events in them. Please make sure you have added some events to banks.")); - ProblemsFound++; - } - } - } - - // Look for required plugins that have not been registered - TArray RequiredPlugins = IFMODStudioModule::Get().GetRequiredPlugins(); - - if (RequiredPlugins.Num() != 0 && Settings.PluginFiles.Num() == 0) - { - FString CombinedPlugins; - - for (auto Name : RequiredPlugins) - { - CombinedPlugins += Name; - CombinedPlugins += TEXT("\n"); - } - - FText PluginMessage = - FText::Format(LOCTEXT("SetStudioBuildStudio_Plugins", - "The banks require the following plugins, but no plugin filenames are listed in the settings:\n{0}\n"), - FText::FromString(CombinedPlugins)); - FMessageDialog::Open(EAppMsgType::Ok, PluginMessage); - ProblemsFound++; - } - - // Look for FMOD in packaging settings - UProjectPackagingSettings *PackagingSettings = Cast(UProjectPackagingSettings::StaticClass()->GetDefaultObject()); - bool bPackagingFound = false; - - for (int i = 0; i < PackagingSettings->DirectoriesToAlwaysStageAsUFS.Num(); ++i) - { - // We allow subdirectory references, such as "FMOD/Mobile" - if (PackagingSettings->DirectoriesToAlwaysStageAsUFS[i].Path.StartsWith(Settings.BankOutputDirectory.Path)) - { - bPackagingFound = true; - break; - } - } - - if (!bPackagingFound) - { - ProblemsFound++; - if (EAppReturnType::Yes == - FMessageDialog::Open(EAppMsgType::YesNo, - LOCTEXT("PackagingFMOD_Ask", - "FMOD has not been added to the \"Additional Non-Asset Directories to Package\" list.\n\nDo you want add it now?"))) - { - PackagingSettings->DirectoriesToAlwaysStageAsUFS.Add(Settings.BankOutputDirectory); - PackagingSettings->UpdateDefaultConfigFile(); - } - } - - // Summary - if (ProblemsFound) - { - FMessageDialog::Open(EAppMsgType::Ok, LOCTEXT("SetStudioBuildStudio_FinishedBad", "Finished validation.\n")); - } - else - { - FMessageDialog::Open(EAppMsgType::Ok, LOCTEXT("SetStudioBuildStudio_FinishedGood", "Finished validation. No problems detected.\n")); - } -} - -void FFMODStudioEditorModule::ReloadBanks() -{ - // Pretend settings have changed which will force a reload - IFMODStudioModule::Get().RefreshSettings(); -} - -bool FFMODStudioEditorModule::Tick(float DeltaTime) -{ - if (!bRegisteredComponentVisualizers && GUnrealEd != nullptr) - { - // Register component visualizers (GUnrealED is required for this, but not initialized before this module loads, so we have to wait until GUnrealEd is available) - RegisterComponentVisualizer(UFMODAudioComponent::StaticClass()->GetFName(), MakeShareable(new FFMODAudioComponentVisualizer)); - - bRegisteredComponentVisualizers = true; - } - - if (bRunningTest) - { - TickTest(DeltaTime); - } - - // Update listener position for Editor sound system - FMOD::Studio::System *StudioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Editor); - if (StudioSystem) - { - if (GCurrentLevelEditingViewportClient) - { - const FVector &ViewLocation = GCurrentLevelEditingViewportClient->GetViewLocation(); - FMatrix CameraToWorld = FRotationMatrix::Make(GCurrentLevelEditingViewportClient->GetViewRotation()); - FVector Up = CameraToWorld.GetUnitAxis(EAxis::Z); - FVector Forward = CameraToWorld.GetUnitAxis(EAxis::X); - - FMOD_3D_ATTRIBUTES Attributes = { { 0 } }; - Attributes.position = FMODUtils::ConvertWorldVector(ViewLocation); - Attributes.forward = FMODUtils::ConvertUnitVector(Forward); - Attributes.up = FMODUtils::ConvertUnitVector(Up); - - verifyfmod(StudioSystem->setListenerAttributes(0, &Attributes)); - } - } - - return true; -} - -void FFMODStudioEditorModule::TickTest(float DeltaTime) -{ - TestDelay -= DeltaTime; - if (TestDelay > 0.0f) - { - return; // Still waiting - } - - // Default time to next step - TestDelay = 1.0f; - TestStep++; - - UE_LOG(LogFMOD, Log, TEXT("Test step %d"), TestStep); - - switch (TestStep) - { - case 1: - { - // Spawn event in level - FString EventPath; - if (FParse::Value(FCommandLine::Get(), TEXT("spawnevent="), EventPath)) - { - UFMODEvent *FoundEvent = IFMODStudioModule::Get().FindEventByName(EventPath); - if (FoundEvent) - { - UActorFactory *ActorFactory = FActorFactoryAssetProxy::GetFactoryForAssetObject(FoundEvent); - if (ActorFactory) - { - AActor *NewActor = ActorFactory->CreateActor(FoundEvent, GWorld->GetCurrentLevel(), FTransform()); - UE_LOG(LogFMOD, Log, TEXT("Placing '%s' in world: New actor %p"), *EventPath, NewActor); - } - else - { - UE_LOG(LogFMOD, Error, TEXT("Failed to find factory for event: '%s'"), *EventPath); - } - } - else - { - UE_LOG(LogFMOD, Error, TEXT("Failed to find event: '%s'"), *EventPath); - } - } - break; - } - case 2: - { - // Save FMOD directory to package - UProjectPackagingSettings *PackagingSettings = - Cast(UProjectPackagingSettings::StaticClass()->GetDefaultObject()); - const UFMODSettings &Settings = *GetDefault(); - PackagingSettings->DirectoriesToAlwaysStageAsUFS.Add(Settings.BankOutputDirectory); - PackagingSettings->UpdateDefaultConfigFile(); - break; - } - case 3: - { - // Save map - FEditorFileUtils::SaveDirtyPackages(false, true, false, true, false, false); - break; - } - case 4: - { - // Begin PIE - UWorld *EditorWorld = GEditor->GetEditorWorldContext().World(); - GEditor->PlayInEditor(EditorWorld, false); - break; - } - case 5: - { - // Extra delay - TestDelay = 10.0f; - break; - } - case 6: - { - // Finish test - GIsRequestingExit = true; - break; - } - } -} - -void FFMODStudioEditorModule::BeginPIE(bool simulating) -{ - UE_LOG(LogFMOD, Verbose, TEXT("FFMODStudioEditorModule BeginPIE: %d"), simulating); - bSimulating = simulating; - bIsInPIE = true; - IFMODStudioModule::Get().SetInPIE(true, simulating); -} - -void FFMODStudioEditorModule::EndPIE(bool simulating) -{ - UE_LOG(LogFMOD, Verbose, TEXT("FFMODStudioEditorModule EndPIE: %d"), simulating); - bSimulating = false; - bIsInPIE = false; - IFMODStudioModule::Get().SetInPIE(false, simulating); -} - -void FFMODStudioEditorModule::PausePIE(bool simulating) -{ - UE_LOG(LogFMOD, Verbose, TEXT("FFMODStudioEditorModule PausePIE%d")); - IFMODStudioModule::Get().SetSystemPaused(true); -} - -void FFMODStudioEditorModule::ResumePIE(bool simulating) -{ - UE_LOG(LogFMOD, Verbose, TEXT("FFMODStudioEditorModule ResumePIE")); - IFMODStudioModule::Get().SetSystemPaused(false); -} - -void FFMODStudioEditorModule::PostLoadCallback() -{ - UE_LOG(LogFMOD, Verbose, TEXT("FFMODStudioEditorModule PostLoadCallback")); -} - -void FFMODStudioEditorModule::ViewportDraw(UCanvas *Canvas, APlayerController *) -{ - // Only want to update based on viewport in simulate mode. - // In PIE/game, we update from the player controller instead. - if (!bSimulating) - { - return; - } - - const FSceneView *View = Canvas->SceneView; - - if (View->Drawer == GCurrentLevelEditingViewportClient) - { - UWorld *World = GCurrentLevelEditingViewportClient->GetWorld(); - const FVector &ViewLocation = GCurrentLevelEditingViewportClient->GetViewLocation(); - - FMatrix CameraToWorld = View->ViewMatrices.GetViewMatrix().InverseFast(); - FVector ProjUp = CameraToWorld.TransformVector(FVector(0, 1000, 0)); - FVector ProjRight = CameraToWorld.TransformVector(FVector(1000, 0, 0)); - - FTransform ListenerTransform(FRotationMatrix::MakeFromZY(ProjUp, ProjRight)); - ListenerTransform.SetTranslation(ViewLocation); - ListenerTransform.NormalizeRotation(); - - IFMODStudioModule::Get().SetListenerPosition(0, World, ListenerTransform, 0.0f); - IFMODStudioModule::Get().FinishSetListenerPosition(1, 0.0f); - } -} - -void FFMODStudioEditorModule::ShutdownModule() -{ - UE_LOG(LogFMOD, Verbose, TEXT("FFMODStudioEditorModule shutdown")); - - if (UObjectInitialized()) - { - // Unregister tick function. - FTicker::GetCoreTicker().RemoveTicker(TickDelegateHandle); - - FEditorDelegates::BeginPIE.Remove(BeginPIEDelegateHandle); - FEditorDelegates::EndPIE.Remove(EndPIEDelegateHandle); - FEditorDelegates::PausePIE.Remove(PausePIEDelegateHandle); - FEditorDelegates::ResumePIE.Remove(ResumePIEDelegateHandle); - - if (ViewportDrawingDelegate.IsBound()) - { - UDebugDrawService::Unregister(ViewportDrawingDelegateHandle); - } - - FComponentAssetBrokerage::UnregisterBroker(AssetBroker); - - if (MainMenuExtender.IsValid()) - { - FLevelEditorModule *LevelEditorModule = FModuleManager::GetModulePtr("LevelEditor"); - if (LevelEditorModule) - { - LevelEditorModule->GetMenuExtensibilityManager()->RemoveExtender(MainMenuExtender); - } - } - } - - if (ISettingsModule *SettingsModule = FModuleManager::GetModulePtr("Settings")) - { - SettingsModule->UnregisterSettings("Project", "Plugins", "FMODStudio"); - } - - // Unregister AssetTypeActions - if (FModuleManager::Get().IsModuleLoaded("AssetTools")) - { - IAssetTools &AssetTools = FModuleManager::GetModuleChecked("AssetTools").Get(); - - AssetTools.UnregisterAssetTypeActions(FMODEventAssetTypeActions.ToSharedRef()); - } - - // Unregister component visualizers - if (GUnrealEd != nullptr) - { - // Iterate over all class names we registered for - for (FName ClassName : RegisteredComponentClassNames) - { - GUnrealEd->UnregisterComponentVisualizer(ClassName); - } - } - - // Unregister sequencer track creation delegates - ISequencerModule *SequencerModule = FModuleManager::GetModulePtr("Sequencer"); - if (SequencerModule != nullptr) - { - SequencerModule->UnRegisterTrackEditor(FMODControlTrackEditorCreateTrackEditorHandle); - SequencerModule->UnRegisterTrackEditor(FMODParamTrackEditorCreateTrackEditorHandle); - } - IFMODStudioModule::Get().BanksReloadedEvent().Remove(HandleBanksReloadedDelegateHandle); -} - -bool FFMODStudioEditorModule::HandleSettingsSaved() -{ - IFMODStudioModule::Get().RefreshSettings(); - - return true; -} - -void FFMODStudioEditorModule::HandleBanksReloaded() -{ - // Show a reload notification - TArray FailedBanks = IFMODStudioModule::Get().GetFailedBankLoads(EFMODSystemContext::Auditioning); - FText Message; - SNotificationItem::ECompletionState State; - if (FailedBanks.Num() == 0) - { - Message = LOCTEXT("FMODBanksReloaded", "Reloaded FMOD Banks\n"); - State = SNotificationItem::CS_Success; - } - else - { - FString CombinedMessage = "Problem loading FMOD Banks:"; - for (auto Entry : FailedBanks) - { - CombinedMessage += TEXT("\n"); - CombinedMessage += Entry; - - UE_LOG(LogFMOD, Warning, TEXT("Problem loading FMOD Bank: %s"), *Entry); - } - - Message = FText::Format(LOCTEXT("FMODBanksReloaded", "{0}"), FText::FromString(CombinedMessage)); - State = SNotificationItem::CS_Fail; - } - ShowNotification(Message, State); -} - -void FFMODStudioEditorModule::ShowNotification(const FText &Text, SNotificationItem::ECompletionState State) -{ - FNotificationInfo Info(Text); - Info.Image = FEditorStyle::GetBrush(TEXT("NoBrush")); - Info.FadeInDuration = 0.1f; - Info.FadeOutDuration = 0.5f; - Info.ExpireDuration = State == SNotificationItem::CS_Fail ? 6.0f : 1.5f; - Info.bUseThrobber = false; - Info.bUseSuccessFailIcons = true; - Info.bUseLargeFont = true; - Info.bFireAndForget = false; - Info.bAllowThrottleWhenFrameRateIsLow = false; - auto NotificationItem = FSlateNotificationManager::Get().AddNotification(Info); - NotificationItem->SetCompletionState(State); - NotificationItem->ExpireAndFadeout(); - - if (GCurrentLevelEditingViewportClient) - { - // Refresh any 3d event visualization - GCurrentLevelEditingViewportClient->bNeedsRedraw = true; - } -} - -void FFMODStudioEditorModule::RegisterComponentVisualizer(FName ComponentClassName, TSharedPtr Visualizer) -{ - if (GUnrealEd != nullptr) - { - GUnrealEd->RegisterComponentVisualizer(ComponentClassName, Visualizer); - } - - RegisteredComponentClassNames.Add(ComponentClassName); - - if (Visualizer.IsValid()) - { - Visualizer->OnRegister(); - } -} diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODStudioEditorPrivatePCH.h b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODStudioEditorPrivatePCH.h deleted file mode 100644 index ad9ba43..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODStudioEditorPrivatePCH.h +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. -#pragma once - -#include "Runtime/Engine/Classes/Components/SceneComponent.h" -#include "Runtime/Engine/Classes/Camera/CameraComponent.h" -#include "Runtime/Engine/Classes/Curves/IntegralCurve.h" -#include "Runtime/Engine/Classes/Curves/NameCurve.h" -#include "Runtime/Engine/Classes/Curves/RichCurve.h" -#include "Runtime/MovieScene/Public/MovieScene.h" -#include "Runtime/MovieScene/Public/KeyParams.h" - -#include "Editor/Sequencer/Public/ISectionLayoutBuilder.h" -#include "Editor/Sequencer/Public/ISequencerSection.h" -#include "Editor/Sequencer/Public/MovieSceneTrackEditor.h" -#include "Runtime/MovieScene/Public/MovieSceneCommonHelpers.h" -#include "Runtime/MovieScene/Public/MovieSceneSection.h" -#include "Editor/UnrealEd/Public/ScopedTransaction.h" - -DECLARE_LOG_CATEGORY_EXTERN(LogFMOD, Log, All); \ No newline at end of file diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODStudioStyle.cpp b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODStudioStyle.cpp deleted file mode 100644 index 4539bf2..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODStudioStyle.cpp +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODStudioStyle.h" -#include "EditorStyle/Public/Interfaces/IEditorStyleModule.h" -#include "Modules/ModuleManager.h" - -#define IMAGE_BRUSH(RelativePath, ...) FSlateImageBrush(Style.RootToContentDir(RelativePath, TEXT(".png")), __VA_ARGS__) -#define BOX_BRUSH(RelativePath, ...) FSlateBoxBrush(Style.RootToContentDir(RelativePath, TEXT(".png")), __VA_ARGS__) - -////////////////////////////////////////////////////////////////////////// -// FFMODStudioStyle - -TSharedPtr FFMODStudioStyle::StyleInstance = NULL; - -void FFMODStudioStyle::Initialize() -{ - if (!StyleInstance.IsValid()) - { - StyleInstance = Create(); - } - - SetStyle(StyleInstance.ToSharedRef()); -} - -void FFMODStudioStyle::Shutdown() -{ - ResetToDefault(); - ensure(StyleInstance.IsUnique()); - StyleInstance.Reset(); -} - -TSharedRef FFMODStudioStyle::Create() -{ - IEditorStyleModule &EditorStyle = FModuleManager::LoadModuleChecked(TEXT("EditorStyle")); - TSharedRef StyleRef = EditorStyle.CreateEditorStyleInstance(); - FSlateStyleSet &Style = StyleRef.Get(); - - const FVector2D Icon20x20(20.0f, 20.0f); - const FVector2D Icon40x40(40.0f, 40.0f); - - Style.Set("ClassIcon.FMODAmbientSound", new IMAGE_BRUSH("Icons/AssetIcons/AmbientSound_16x", FVector2D(16.0f, 16.0f))); - Style.Set("ClassThumbnail.FMODAmbientSound", new IMAGE_BRUSH("Icons/AssetIcons/AmbientSound_64x", FVector2D(64.0f, 64.0f))); - - Style.Set("ClassIcon.FMODAudioComponent", new IMAGE_BRUSH("Icons/ActorIcons/SoundActor_16x", FVector2D(16.0f, 16.0f))); - - Style.Set("ClassIcon.FMODAsset", new IMAGE_BRUSH("Icons/ActorIcons/SoundActor_16x", FVector2D(16.0f, 16.0f))); - - return StyleRef; -} - -////////////////////////////////////////////////////////////////////////// - -#undef IMAGE_BRUSH diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODStudioStyle.h b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODStudioStyle.h deleted file mode 100644 index 5eb4793..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/FMODStudioStyle.h +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once -#include "SlateCore/Public/Styling/SlateStyle.h" -#include "EditorStyle/Public/EditorStyleSet.h" - -class FFMODStudioStyle : public FEditorStyle -{ -public: - static void Initialize(); - - static void Shutdown(); - -private: - static TSharedRef Create(); - -private: - static TSharedPtr StyleInstance; - -private: - FFMODStudioStyle() {} -}; diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/SFMODEventEditorPanel.cpp b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/SFMODEventEditorPanel.cpp deleted file mode 100644 index 32c430c..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/SFMODEventEditorPanel.cpp +++ /dev/null @@ -1,287 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "SFMODEventEditorPanel.h" -#include "FMODStudioModule.h" -#include "FMODUtils.h" -#include "Input/Reply.h" -#include "Widgets/Input/SNumericEntryBox.h" -#include "Widgets/Layout/SExpandableArea.h" -#include "EditorStyle/Public/EditorStyleSet.h" -#include "Widgets/Input/SButton.h" -#include "Widgets/Layout/SScrollBox.h" -#include "fmod_studio.hpp" - -#define LOCTEXT_NAMESPACE "FMODEventEditor" - -SFMODEventEditorPanel::~SFMODEventEditorPanel() -{ -} - -void SFMODEventEditorPanel::Construct(const FArguments &InArgs) -{ - FMODEventEditorPtr = InArgs._FMODEventEditor; - - FMOD::Studio::EventDescription *EventDescription = FMODEventEditorPtr.Pin()->GetEventDescription(); - - TSharedRef ToolbarBorder = ConstructToolbar(EventDescription); - TSharedRef InfoArea = ConstructInfo(EventDescription); - TSharedRef ParametersArea = ConstructParameters(EventDescription); - TSharedRef UserPropertiesArea = ConstructUserProperties(EventDescription); - - TSharedRef ChildWidget = SNew(SVerticalBox) + SVerticalBox::Slot().AutoHeight().Padding(0.0f, 3.0f)[InfoArea] + - SVerticalBox::Slot().AutoHeight().Padding(0.0f, 3.0f)[ParametersArea] + - SVerticalBox::Slot().AutoHeight().Padding(0.0f, 3.0f)[UserPropertiesArea]; - - ChildSlot[SNew(SVerticalBox) + SVerticalBox::Slot().AutoHeight().Padding(0.0f, 3.0f)[ToolbarBorder] + - SVerticalBox::Slot().FillHeight( - 1.0f)[SNew(SScrollBox) + - SScrollBox::Slot().Padding(0.0f)[SNew(SVerticalBox) + SVerticalBox::Slot().AutoHeight().Padding(0.0f)[ChildWidget]]]]; -} - -TSharedRef SFMODEventEditorPanel::ConstructToolbar(FMOD::Studio::EventDescription *EventDescription) -{ - float MinDistance = 0.0f; - float MaxDistance = 0.0f; - int32 EventLengthMS = 0; - bool bIsOneshot = false, bIsStream = false, bIs3D = false; - if (EventDescription != nullptr) - { - EventDescription->getMinimumDistance(&MinDistance); - EventDescription->getMaximumDistance(&MaxDistance); - EventDescription->getLength(&EventLengthMS); - EventDescription->isOneshot(&bIsOneshot); - EventDescription->isStream(&bIsStream); - EventDescription->is3D(&bIs3D); - } - - const FTimespan EventLength = FTimespan::FromMilliseconds((double)EventLengthMS); - const FString EventLengthString = - EventLength.GetHours() <= 0 ? EventLength.ToString(TEXT("%m:%s.%f")) : EventLength.ToString(TEXT("%h:%m:%s.%f")); - - const FText RadiusText = - FText::Format(LOCTEXT("RadiusFormat", "Distance Attenuation: {0}m to {1}m"), FText::AsNumber(MinDistance), FText::AsNumber(MaxDistance)); - const FText LengthText = FText::Format(LOCTEXT("LengthFormat", "Length: {0}"), FText::FromString(EventLengthString)); - - FText EventInfoText; - if (bIs3D && bIsOneshot) - { - EventInfoText = FText::Format(LOCTEXT("RadiusLengthFormat", "{0} - {1}"), RadiusText, LengthText); - } - else if (!bIs3D && bIsOneshot) - { - EventInfoText = LengthText; - } - else if (bIs3D && !bIsOneshot) - { - EventInfoText = RadiusText; - } - - return SNew(SBorder) - .BorderImage(FEditorStyle::Get().GetBrush("ToolPanel.GroupBorder")) - .Padding(6.0f) - .Content()[SNew(SHorizontalBox) + - SHorizontalBox::Slot() - .AutoWidth() - .Padding(0.0f, 0.0f, 2.0f, 0.0f) - .VAlign(VAlign_Center) - .HAlign(HAlign_Left)[SNew(SButton) - .VAlign(VAlign_Center) - .Text(LOCTEXT("Play", "Play")) - .ContentPadding(4) - .OnClicked(this, &SFMODEventEditorPanel::OnClickedPlay)] + - SHorizontalBox::Slot() - .AutoWidth() - .Padding(2.0f, 0.0f) - .VAlign(VAlign_Center) - .HAlign(HAlign_Left) - [SNew(SButton).Text(LOCTEXT("Pause", "Pause")).ContentPadding(4).OnClicked(this, &SFMODEventEditorPanel::OnClickedPause)] + - SHorizontalBox::Slot() - .AutoWidth() - .Padding(2.0f, 0.0f) - .VAlign(VAlign_Center) - .HAlign(HAlign_Left)[SNew(SButton) - .VAlign(VAlign_Center) - .Text(LOCTEXT("Stop", "Stop")) - .ContentPadding(4) - .OnClicked(this, &SFMODEventEditorPanel::OnClickedStop)] + - SHorizontalBox::Slot() - .FillWidth(1.0f) - .Padding(2.0f, 0.0f) - .VAlign(VAlign_Center) - .HAlign(HAlign_Right)[SNew(STextBlock).Text(EventInfoText)]]; -} - -void AddTextField(TSharedRef &InfoBox, const TCHAR *Name, const FText &Value) -{ - InfoBox->AddSlot().Padding( - 4.0f, 3.0f)[SNew(SHorizontalBox) + SHorizontalBox::Slot().FillWidth(0.3f)[SNew(STextBlock).Text(FText::FromString(Name))] + - SHorizontalBox::Slot()[SNew(SEditableText).Text(Value).IsReadOnly(true)]]; -} - -void AddBoolField(TSharedRef &InfoBox, const TCHAR *Name, bool bValue) -{ - AddTextField(InfoBox, Name, bValue ? LOCTEXT("True", "True") : LOCTEXT("False", "False")); -} - -void AddFloatField(TSharedRef &InfoBox, const TCHAR *Name, float Value) -{ - AddTextField(InfoBox, Name, FText::AsNumber(Value)); -} - -TSharedRef MakeBox(TSharedRef &InfoBox, const FText &Value) -{ - return SNew(SExpandableArea) - .AreaTitle(Value) - .InitiallyCollapsed(false) - .BodyContent()[SNew(SBorder).BorderImage(FCoreStyle::Get().GetBrush("NoBorder")).Padding(4.0f).Content()[InfoBox]]; -} - -TSharedRef SFMODEventEditorPanel::ConstructInfo(FMOD::Studio::EventDescription *EventDescription) -{ - TSharedRef InfoBox = SNew(SVerticalBox); - - if (EventDescription != nullptr) - { - FString EventPath = FMODUtils::GetPath(EventDescription); - FGuid Guid = FMODUtils::GetID(EventDescription); - - int Length = 0.0f; - float MinDist = 0.0f; - float MaxDist = 0.0f; - EventDescription->getLength(&Length); - EventDescription->getMinimumDistance(&MinDist); - EventDescription->getMaximumDistance(&MaxDist); - - bool bOneShot = false; - bool bStream = false; - bool b3D = false; - EventDescription->isOneshot(&bOneShot); - EventDescription->isStream(&bStream); - EventDescription->is3D(&b3D); - - AddTextField(InfoBox, TEXT("Path"), FText::FromString(EventPath)); - AddTextField(InfoBox, TEXT("Guid"), FText::FromString(Guid.ToString(EGuidFormats::DigitsWithHyphensInBraces))); - AddBoolField(InfoBox, TEXT("OneShot"), bOneShot); - AddBoolField(InfoBox, TEXT("Streaming"), bStream); - AddBoolField(InfoBox, TEXT("3D"), b3D); - - AddFloatField(InfoBox, TEXT("Length"), static_cast(Length)); - if (b3D) - { - AddFloatField(InfoBox, TEXT("Min Dist"), MinDist); - AddFloatField(InfoBox, TEXT("Max Dist"), MaxDist); - } - } - - return MakeBox(InfoBox, LOCTEXT("EventInfo", "Event Info")); -} - -TSharedRef SFMODEventEditorPanel::ConstructParameters(FMOD::Studio::EventDescription *EventDescription) -{ - auto EventEditor = FMODEventEditorPtr.Pin(); - TSharedRef ParametersBox = SNew(SVerticalBox); - - FNumberFormattingOptions Options; - Options.MinimumFractionalDigits = 1; - - if (EventDescription != nullptr) - { - int32 ParameterCount; - EventDescription->getParameterDescriptionCount(&ParameterCount); - for (int32 ParamIdx = 0; ParamIdx < ParameterCount; ParamIdx++) - { - FMOD_STUDIO_PARAMETER_DESCRIPTION Parameter; - EventDescription->getParameterDescriptionByIndex(ParamIdx, &Parameter); - - EventEditor->AddParameter(Parameter.id, Parameter.minimum); - - const FString ParameterName = Parameter.type == FMOD_STUDIO_PARAMETER_GAME_CONTROLLED ? FString(UTF8_TO_TCHAR(Parameter.name)) : - FMODUtils::ParameterTypeToString(Parameter.type); - const FText ToolTipText = FText::Format(LOCTEXT("ParameterTooltipFormat", "{0} (Min Value: {1} - Max Value: {2})"), - FText::FromString(ParameterName), FText::AsNumber(Parameter.minimum, &Options), FText::AsNumber(Parameter.maximum, &Options)); - - ParametersBox->AddSlot().Padding(4.0f, - 2.0f)[SNew(SHorizontalBox).ToolTipText(ToolTipText) + - SHorizontalBox::Slot().FillWidth(0.3f)[SNew(STextBlock).Text(FText::FromString(ParameterName))] + - SHorizontalBox::Slot().MaxWidth(200.0f)[SNew(SNumericEntryBox) - .Value(this, &SFMODEventEditorPanel::GetParameterValue, Parameter.id) - .OnValueChanged(this, &SFMODEventEditorPanel::OnParameterValueChanged, Parameter.id) - .AllowSpin(true) - .MinValue(Parameter.minimum) - .MaxValue(Parameter.maximum) - .MinSliderValue(Parameter.minimum) - .MaxSliderValue(Parameter.maximum) - .Delta(0.01f)]]; - } - } - - return MakeBox(ParametersBox, LOCTEXT("EventParameters", "Event Parameters")); -} - -TSharedRef SFMODEventEditorPanel::ConstructUserProperties(FMOD::Studio::EventDescription *EventDescription) -{ - TSharedRef UserPropertiesBox = SNew(SVerticalBox); - - if (EventDescription != nullptr) - { - int32 UserPropertyCount; - EventDescription->getUserPropertyCount(&UserPropertyCount); - for (int32 PropertyIdx = 0; PropertyIdx < UserPropertyCount; PropertyIdx++) - { - FMOD_STUDIO_USER_PROPERTY UserProperty; - EventDescription->getUserPropertyByIndex(PropertyIdx, &UserProperty); - - FText PropertyText; - switch (UserProperty.type) - { - case FMOD_STUDIO_USER_PROPERTY_TYPE_INTEGER: - PropertyText = FText::AsNumber(UserProperty.intvalue); - break; - case FMOD_STUDIO_USER_PROPERTY_TYPE_BOOLEAN: - PropertyText = UserProperty.boolvalue ? LOCTEXT("True", "True") : LOCTEXT("False", "False"); - break; - case FMOD_STUDIO_USER_PROPERTY_TYPE_FLOAT: - PropertyText = FText::AsNumber(UserProperty.floatvalue); - break; - case FMOD_STUDIO_USER_PROPERTY_TYPE_STRING: - PropertyText = FText::FromString(UTF8_TO_TCHAR(UserProperty.stringvalue)); - break; - } - - FString UserName(UTF8_TO_TCHAR(UserProperty.name)); - AddTextField(UserPropertiesBox, *UserName, PropertyText); - } - } - - return MakeBox(UserPropertiesBox, LOCTEXT("EventUserProperties", "Event User Properties")); -} - -FReply SFMODEventEditorPanel::OnClickedPlay() -{ - FMODEventEditorPtr.Pin()->PlayEvent(); - return FReply::Handled(); -} - -FReply SFMODEventEditorPanel::OnClickedStop() -{ - FMODEventEditorPtr.Pin()->StopEvent(); - return FReply::Handled(); -} - -FReply SFMODEventEditorPanel::OnClickedPause() -{ - FMODEventEditorPtr.Pin()->PauseEvent(); - return FReply::Handled(); -} - -void SFMODEventEditorPanel::OnParameterValueChanged(float NewValue, FMOD_STUDIO_PARAMETER_ID ParameterId) -{ - FMODEventEditorPtr.Pin()->SetParameterValue(ParameterId, NewValue); -} - -TOptional SFMODEventEditorPanel::GetParameterValue(FMOD_STUDIO_PARAMETER_ID ParameterId) const -{ - return FMODEventEditorPtr.Pin()->GetParameterValue(ParameterId); -} - -#undef LOC_NAMESPACE diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/SFMODEventEditorPanel.h b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/SFMODEventEditorPanel.h deleted file mode 100644 index 5429f51..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/SFMODEventEditorPanel.h +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "FMODEventEditor.h" - -namespace FMOD -{ -namespace Studio -{ -class EventDescription; -} -} - -class SFMODEventEditorPanel : public SCompoundWidget -{ -public: - SLATE_BEGIN_ARGS(SFMODEventEditorPanel) {} - SLATE_ARGUMENT(TWeakPtr, FMODEventEditor) - SLATE_END_ARGS() - - ~SFMODEventEditorPanel(); - - /** SCompoundWidget interface */ - void Construct(const FArguments &InArgs); - -private: - TSharedRef ConstructToolbar(FMOD::Studio::EventDescription *EventDescription); - TSharedRef ConstructInfo(FMOD::Studio::EventDescription *EventDescription); - TSharedRef ConstructParameters(FMOD::Studio::EventDescription *EventDescription); - TSharedRef ConstructUserProperties(FMOD::Studio::EventDescription *EventDescription); - - /** Editor that owns this panel */ - TWeakPtr FMODEventEditorPtr; - - FReply OnClickedPlay(); - FReply OnClickedStop(); - FReply OnClickedPause(); - - TOptional GetParameterValue(FMOD_STUDIO_PARAMETER_ID ParameterId) const; - void OnParameterValueChanged(float NewValue, FMOD_STUDIO_PARAMETER_ID ParameterId); -}; diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODChannelEditors.cpp b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODChannelEditors.cpp deleted file mode 100644 index c516196..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODChannelEditors.cpp +++ /dev/null @@ -1,210 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "Sequencer/FMODChannelEditors.h" -#include "ISequencerChannelInterface.h" -#include "Widgets/DeclarativeSyntaxSupport.h" -#include "Widgets/SCompoundWidget.h" -#include "MovieSceneTimeHelpers.h" -#include "MovieSceneToolHelpers.h" -#include "ScopedTransaction.h" -#include "EditorStyleSet.h" - -class SFMODEventControlKeyEditor : public SCompoundWidget -{ -public: - SLATE_BEGIN_ARGS(SFMODEventControlKeyEditor) {} - SLATE_END_ARGS(); - - void Construct(const FArguments &InArgs, TMovieSceneChannelHandle InChannelHandle, - TWeakObjectPtr InWeakSection, TWeakPtr InWeakSequencer, UEnum *InEnum) - { - ChannelHandle = InChannelHandle; - WeakSection = InWeakSection; - WeakSequencer = InWeakSequencer; - - ChildSlot[MovieSceneToolHelpers::MakeEnumComboBox(InEnum, - TAttribute::Create(TAttribute::FGetter::CreateSP(this, &SFMODEventControlKeyEditor::OnGetCurrentValueAsInt)), - FOnEnumSelectionChanged::CreateSP(this, &SFMODEventControlKeyEditor::OnChangeKey))]; - } - -private: - int32 OnGetCurrentValueAsInt() const - { - using namespace MovieScene; - - FMovieSceneByteChannel *Channel = ChannelHandle.Get(); - ISequencer *Sequencer = WeakSequencer.Pin().Get(); - UMovieSceneSection *OwningSection = WeakSection.Get(); - uint8 Result = 0; - - if (Channel && Sequencer && OwningSection) - { - const FFrameTime CurrentTime = MovieScene::ClampToDiscreteRange(Sequencer->GetLocalTime().Time, OwningSection->GetRange()); - EvaluateChannel(Channel, CurrentTime, Result); - } - - return Result; - } - - void SetValue(uint8 InValue) - { - using namespace MovieScene; - using namespace Sequencer; - - UMovieSceneSection *OwningSection = WeakSection.Get(); - if (!OwningSection) - { - return; - } - - OwningSection->SetFlags(RF_Transactional); - - FMovieSceneByteChannel *Channel = ChannelHandle.Get(); - ISequencer *Sequencer = WeakSequencer.Pin().Get(); - - if (!OwningSection->TryModify() || !Channel || !Sequencer) - { - return; - } - - const FFrameNumber CurrentTime = Sequencer->GetLocalTime().Time.FloorToFrame(); - const bool bAutoSetTrackDefaults = Sequencer->GetAutoSetTrackDefaults(); - - EMovieSceneKeyInterpolation Interpolation = Sequencer->GetKeyInterpolation(); - - TArray KeysAtCurrentTime; - Channel->GetKeys(TRange(CurrentTime), nullptr, &KeysAtCurrentTime); - - if (KeysAtCurrentTime.Num() > 0) - { - AssignValue(Channel, KeysAtCurrentTime[0], InValue); - } - else - { - const bool bHasAnyKeys = Channel->GetNumKeys() != 0; - - if (bHasAnyKeys || bAutoSetTrackDefaults == false) - { - // When auto setting track defaults are disabled, add a key even when it's empty so that the changed - // value is saved and is propagated to the property. - AddKeyToChannel(Channel, CurrentTime, InValue, Interpolation); - } - - if (bHasAnyKeys) - { - TRange KeyRange = TRange(CurrentTime); - TRange SectionRange = OwningSection->GetRange(); - - if (!SectionRange.Contains(KeyRange)) - { - OwningSection->SetRange(TRange::Hull(KeyRange, SectionRange)); - } - } - } - - // Always update the default value when auto-set default values is enabled so that the last changes - // are always saved to the track. - if (bAutoSetTrackDefaults) - { - SetChannelDefault(Channel, InValue); - } - } - - void OnChangeKey(int32 Selection, ESelectInfo::Type SelectionType) - { - FScopedTransaction Transaction(FText::FromString("Set FMOD Event Control Key Value")); - SetValue(Selection); - if (ISequencer *Sequencer = WeakSequencer.Pin().Get()) - { - Sequencer->NotifyMovieSceneDataChanged(EMovieSceneDataChangeType::TrackValueChangedRefreshImmediately); - } - } - - TMovieSceneChannelHandle ChannelHandle; - TWeakObjectPtr WeakSection; - TWeakPtr WeakSequencer; -}; - -bool CanCreateKeyEditor(const FMovieSceneByteChannel *Channel) -{ - return true; -} - -TSharedRef CreateKeyEditor(const TMovieSceneChannelHandle &Channel, UMovieSceneSection *Section, - const FGuid &InObjectBindingID, TWeakPtr PropertyBindings, TWeakPtr InSequencer) -{ - const FMovieSceneByteChannel *RawChannel = Channel.Get(); - - if (!RawChannel) - { - return SNullWidget::NullWidget; - } - - UEnum *Enum = RawChannel->GetEnum(); - return SNew(SFMODEventControlKeyEditor, Channel, Section, InSequencer, Enum); -} - -TSharedPtr GetKeyStruct(const TMovieSceneChannelHandle &ChannelHandle, FKeyHandle InHandle) -{ - FFMODEventControlChannel *Channel = ChannelHandle.Get(); - if (!Channel) - { - return nullptr; - } - - TMovieSceneChannelData ChannelData = Channel->GetData(); - const int32 KeyIndex = ChannelData.GetIndex(InHandle); - - if (KeyIndex == INDEX_NONE) - { - return nullptr; - } - - TSharedPtr KeyStruct = MakeShared(FFMODEventControlKeyStruct::StaticStruct()); - FFMODEventControlKeyStruct *Struct = reinterpret_cast(KeyStruct->GetStructMemory()); - - Struct->Time = ChannelData.GetTimes()[KeyIndex]; - Struct->Value = (EFMODEventControlKey)ChannelData.GetValues()[KeyIndex]; - - Struct->KeyStructInterop.Add(FMovieSceneChannelValueHelper(ChannelHandle, &Struct->Value, MakeTuple(InHandle, Struct->Time))); - return KeyStruct; -} - -void DrawKeys(FFMODEventControlChannel *Channel, TArrayView InKeyHandles, TArrayView OutKeyDrawParams) -{ - static const FName KeyLeftBrushName("Sequencer.KeyLeft"); - static const FName KeyRightBrushName("Sequencer.KeyRight"); - static const FName KeyDiamondBrushName("Sequencer.KeyDiamond"); - - const FSlateBrush *LeftKeyBrush = FEditorStyle::GetBrush(KeyLeftBrushName); - const FSlateBrush *RightKeyBrush = FEditorStyle::GetBrush(KeyRightBrushName); - const FSlateBrush *DiamondBrush = FEditorStyle::GetBrush(KeyDiamondBrushName); - - TMovieSceneChannelData ChannelData = Channel->GetData(); - - for (int32 Index = 0; Index < InKeyHandles.Num(); ++Index) - { - FKeyHandle Handle = InKeyHandles[Index]; - - FKeyDrawParams Params; - Params.BorderBrush = Params.FillBrush = DiamondBrush; - - const int32 KeyIndex = ChannelData.GetIndex(Handle); - if (KeyIndex != INDEX_NONE) - { - const EFMODEventControlKey Value = (EFMODEventControlKey)ChannelData.GetValues()[KeyIndex]; - if (Value == EFMODEventControlKey::Play) - { - Params.BorderBrush = Params.FillBrush = LeftKeyBrush; - Params.FillOffset = FVector2D(-1.0f, 1.0f); - } - else if (Value == EFMODEventControlKey::Stop) - { - Params.BorderBrush = Params.FillBrush = RightKeyBrush; - Params.FillOffset = FVector2D(1.0f, 1.0f); - } - } - - OutKeyDrawParams[Index] = Params; - } -} diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODChannelEditors.h b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODChannelEditors.h deleted file mode 100644 index aaff3e1..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODChannelEditors.h +++ /dev/null @@ -1,43 +0,0 @@ -#pragma once - -#include "CoreTypes.h" -#include "Templates/SharedPointer.h" -#include "Containers/Array.h" -#include "UObject/ObjectMacros.h" -#include "UObject/Class.h" - -#include "MovieSceneKeyStruct.h" -#include "SequencerChannelTraits.h" -#include "Channels/MovieSceneChannelHandle.h" -#include "Channels/MovieSceneByteChannel.h" -#include "Sequencer/FMODEventControlSection.h" - -#include "FMODChannelEditors.generated.h" - -/** Key editor overrides */ -bool CanCreateKeyEditor(const FMovieSceneByteChannel *Channel); -TSharedRef CreateKeyEditor(const TMovieSceneChannelHandle &Channel, UMovieSceneSection *Section, - const FGuid &InObjectBindingID, TWeakPtr PropertyBindings, TWeakPtr InSequencer); - -/** KeyStruct overrides */ -TSharedPtr GetKeyStruct(const TMovieSceneChannelHandle &Channel, FKeyHandle InHandle); - -/** Key drawing overrides */ -void DrawKeys(FFMODEventControlChannel *Channel, TArrayView InKeyHandles, TArrayView OutKeyDrawParams); - -USTRUCT() -struct FFMODEventControlKeyStruct : public FMovieSceneKeyTimeStruct -{ - GENERATED_BODY(); - - UPROPERTY(EditAnywhere, Category = "Key") - EFMODEventControlKey Value; -}; -template <> -struct TStructOpsTypeTraits : public TStructOpsTypeTraitsBase2 -{ - enum - { - WithCopy = false - }; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODEventControlTrackEditor.cpp b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODEventControlTrackEditor.cpp deleted file mode 100644 index df155a2..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODEventControlTrackEditor.cpp +++ /dev/null @@ -1,190 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODEventControlTrackEditor.h" -#include "Rendering/DrawElements.h" -#include "Framework/MultiBox/MultiBoxBuilder.h" -#include "Curves/IntegralCurve.h" -#include "SequencerSectionPainter.h" -#include "EditorStyleSet.h" -#include "Editor/UnrealEdEngine.h" -#include "Sequencer/FMODEventControlSection.h" -#include "Sequencer/FMODEventControlTrack.h" -#include "ISectionLayoutBuilder.h" -#include "FMODAmbientSound.h" -#include "CommonMovieSceneTools.h" -#include "Channels/MovieSceneChannelProxy.h" -#include "Channels/MovieSceneChannelEditorData.h" - -#define LOCTEXT_NAMESPACE "FFMODEventControlTrackEditor" - -FFMODEventControlSection::FFMODEventControlSection(UMovieSceneSection &InSection, TSharedRef InOwningSequencer) - : Section(InSection) - , OwningSequencerPtr(InOwningSequencer) -{ -} - -UMovieSceneSection *FFMODEventControlSection::GetSectionObject() -{ - return &Section; -} - -float FFMODEventControlSection::GetSectionHeight() const -{ - static const float SectionHeight = 20.f; - return SectionHeight; -} - -int32 FFMODEventControlSection::OnPaintSection(FSequencerSectionPainter &InPainter) const -{ - TSharedPtr OwningSequencer = OwningSequencerPtr.Pin(); - - if (!OwningSequencer.IsValid()) - { - return InPainter.LayerId + 1; - } - - const ESlateDrawEffect DrawEffects = InPainter.bParentEnabled ? ESlateDrawEffect::None : ESlateDrawEffect::DisabledEffect; - const FTimeToPixel &TimeToPixelConverter = InPainter.GetTimeConverter(); - - FLinearColor TrackColor; - - // TODO: Set / clip stop time based on event length - UFMODEventControlSection *ControlSection = Cast(&Section); - if (IsValid(ControlSection)) - { - UFMODEventControlTrack *ParentTrack = Cast(ControlSection->GetOuter()); - if (IsValid(ParentTrack)) - { - TrackColor = ParentTrack->GetColorTint(); - } - } - - // TODO: This should only draw the visible ranges. - TArray> DrawRanges; - TOptional CurrentRangeStart; - - if (ControlSection != nullptr) - { - TMovieSceneChannelData ChannelData = ControlSection->ControlKeys.GetData(); - TArrayView Times = ChannelData.GetTimes(); - TArrayView Values = ChannelData.GetValues(); - - for (int32 Index = 0; Index < Times.Num(); ++Index) - { - const double Time = Times[Index] / TimeToPixelConverter.GetTickResolution(); - const EFMODEventControlKey Value = (EFMODEventControlKey)Values[Index]; - - if (Value == EFMODEventControlKey::Play) - { - if (CurrentRangeStart.IsSet() == false) - { - CurrentRangeStart = Time; - } - } - if (Value == EFMODEventControlKey::Stop) - { - if (CurrentRangeStart.IsSet()) - { - DrawRanges.Add(TRange(CurrentRangeStart.GetValue(), Time)); - CurrentRangeStart.Reset(); - } - } - } - } - - if (CurrentRangeStart.IsSet()) - { - DrawRanges.Add(TRange(CurrentRangeStart.GetValue(), OwningSequencer->GetViewRange().GetUpperBoundValue())); - } - - for (const TRange &DrawRange : DrawRanges) - { - float XOffset = TimeToPixelConverter.SecondsToPixel(DrawRange.GetLowerBoundValue()); - float XSize = TimeToPixelConverter.SecondsToPixel(DrawRange.GetUpperBoundValue()) - XOffset; - FSlateDrawElement::MakeBox(InPainter.DrawElements, InPainter.LayerId, - InPainter.SectionGeometry.ToPaintGeometry( - FVector2D(XOffset, (InPainter.SectionGeometry.GetLocalSize().Y - SequencerSectionConstants::KeySize.Y) / 2), - FVector2D(XSize, SequencerSectionConstants::KeySize.Y)), - FEditorStyle::GetBrush("Sequencer.Section.Background"), DrawEffects); - FSlateDrawElement::MakeBox(InPainter.DrawElements, InPainter.LayerId, - InPainter.SectionGeometry.ToPaintGeometry( - FVector2D(XOffset, (InPainter.SectionGeometry.GetLocalSize().Y - SequencerSectionConstants::KeySize.Y) / 2), - FVector2D(XSize, SequencerSectionConstants::KeySize.Y)), - FEditorStyle::GetBrush("Sequencer.Section.BackgroundTint"), DrawEffects, TrackColor); - } - - return InPainter.LayerId + 1; -} - -FFMODEventControlTrackEditor::FFMODEventControlTrackEditor(TSharedRef InSequencer) - : FMovieSceneTrackEditor(InSequencer) -{ -} - -TSharedRef FFMODEventControlTrackEditor::CreateTrackEditor(TSharedRef InSequencer) -{ - return MakeShareable(new FFMODEventControlTrackEditor(InSequencer)); -} - -bool FFMODEventControlTrackEditor::SupportsType(TSubclassOf Type) const -{ - return Type == UFMODEventControlTrack::StaticClass(); -} - -TSharedRef FFMODEventControlTrackEditor::MakeSectionInterface( - UMovieSceneSection &SectionObject, UMovieSceneTrack &Track, FGuid ObjectBinding) -{ - check(SupportsType(SectionObject.GetOuter()->GetClass())); - const TSharedPtr OwningSequencer = GetSequencer(); - return MakeShareable(new FFMODEventControlSection(SectionObject, OwningSequencer.ToSharedRef())); -} - -void FFMODEventControlTrackEditor::BuildObjectBindingTrackMenu(FMenuBuilder &MenuBuilder, const FGuid &ObjectBinding, const UClass *ObjectClass) -{ - if (ObjectClass->IsChildOf(AFMODAmbientSound::StaticClass()) || ObjectClass->IsChildOf(UFMODAudioComponent::StaticClass())) - { - const TSharedPtr ParentSequencer = GetSequencer(); - - MenuBuilder.AddMenuEntry(LOCTEXT("AddFMODEventControlTrack", "FMOD Event Control Track"), - LOCTEXT("FMODEventControlTooltip", "Adds a track for controlling FMOD event."), FSlateIcon(), - FUIAction(FExecuteAction::CreateSP(this, &FFMODEventControlTrackEditor::AddControlKey, ObjectBinding))); - } -} - -void FFMODEventControlTrackEditor::AddControlKey(const FGuid ObjectGuid) -{ - TSharedPtr SequencerPtr = GetSequencer(); - UObject *Object = SequencerPtr.IsValid() ? SequencerPtr->FindSpawnedObjectOrTemplate(ObjectGuid) : nullptr; - - if (IsValid(Object)) - { - AnimatablePropertyChanged(FOnKeyProperty::CreateRaw(this, &FFMODEventControlTrackEditor::AddKeyInternal, Object)); - } -} - -FKeyPropertyResult FFMODEventControlTrackEditor::AddKeyInternal(FFrameNumber KeyTime, UObject *Object) -{ - FKeyPropertyResult KeyPropertyResult; - - FFindOrCreateHandleResult HandleResult = FindOrCreateHandleToObject(Object); - FGuid ObjectHandle = HandleResult.Handle; - KeyPropertyResult.bHandleCreated |= HandleResult.bWasCreated; - - if (ObjectHandle.IsValid()) - { - FFindOrCreateTrackResult TrackResult = FindOrCreateTrackForObject(ObjectHandle, UFMODEventControlTrack::StaticClass()); - UMovieSceneTrack *Track = TrackResult.Track; - KeyPropertyResult.bTrackCreated |= TrackResult.bWasCreated; - - if (KeyPropertyResult.bTrackCreated && ensure(Track)) - { - UFMODEventControlTrack *EventTrack = Cast(Track); - EventTrack->AddNewSection(KeyTime); - EventTrack->SetDisplayName(LOCTEXT("TrackName", "FMOD Event")); - } - } - - return KeyPropertyResult; -} - -#undef LOCTEXT_NAMESPACE diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODEventControlTrackEditor.h b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODEventControlTrackEditor.h deleted file mode 100644 index 71ee977..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODEventControlTrackEditor.h +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "CoreMinimal.h" -#include "Misc/Guid.h" -#include "Templates/SubclassOf.h" -#include "Curves/KeyHandle.h" -#include "ISequencer.h" -#include "MovieSceneTrack.h" -#include "ISequencerSection.h" -#include "ISequencerTrackEditor.h" -#include "MovieSceneTrackEditor.h" - -class FMenuBuilder; -class FSequencerSectionPainter; - -/** FMOD Event control track */ -class FFMODEventControlTrackEditor : public FMovieSceneTrackEditor -{ -public: - FFMODEventControlTrackEditor(TSharedRef InSequencer); - - static TSharedRef CreateTrackEditor(TSharedRef OwningSequencer); - - void AddControlKey(const FGuid ObjectGuid); - - // Begin ISequencerTrackEditor interface - virtual void BuildObjectBindingTrackMenu(FMenuBuilder &MenuBuilder, const FGuid &ObjectBinding, const UClass *ObjectClass) override; - virtual TSharedRef MakeSectionInterface( - UMovieSceneSection &SectionObject, UMovieSceneTrack &Track, FGuid ObjectBinding) override; - virtual bool SupportsType(TSubclassOf Type) const override; - // End ISequencerTrackEditor interface - -private: - /** Delegate for AnimatablePropertyChanged in AddKey. */ - virtual FKeyPropertyResult AddKeyInternal(FFrameNumber KeyTime, UObject *Object); -}; - -/** Class for event control sections. */ -class FFMODEventControlSection : public ISequencerSection, public TSharedFromThis -{ -public: - FFMODEventControlSection(UMovieSceneSection &InSection, TSharedRef InOwningSequencer); - - // Begin ISequencerSection interface - virtual UMovieSceneSection *GetSectionObject() override; - virtual float GetSectionHeight() const override; - virtual int32 OnPaintSection(FSequencerSectionPainter &InPainter) const override; - virtual bool SectionIsResizable() const override { return false; } - // End ISequencerSection interface - -private: - /** The section we are visualizing. */ - UMovieSceneSection &Section; - - /** The sequencer that owns this section */ - TWeakPtr OwningSequencerPtr; -}; diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODEventParameterTrackEditor.cpp b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODEventParameterTrackEditor.cpp deleted file mode 100644 index e6ad4c3..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODEventParameterTrackEditor.cpp +++ /dev/null @@ -1,156 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODEventParameterTrackEditor.h" -#include "FMODAmbientSound.h" -#include "FMODEvent.h" -#include "FMODStudioModule.h" -#include "Framework/MultiBox/MultiBoxBuilder.h" -#include "Sequencer/FMODEventParameterTrack.h" -#include "Sections/MovieSceneParameterSection.h" -#include "Sequencer/FMODParameterSection.h" -#include "SequencerUtilities.h" -#include "fmod_studio.hpp" - -#define LOCTEXT_NAMESPACE "FMODEeventParameterTrackEditor" - -FName FFMODEventParameterTrackEditor::TrackName("FMODEventParameter"); - -FFMODEventParameterTrackEditor::FFMODEventParameterTrackEditor(TSharedRef InSequencer) - : FMovieSceneTrackEditor(InSequencer) -{ -} - -TSharedRef FFMODEventParameterTrackEditor::CreateTrackEditor(TSharedRef OwningSequencer) -{ - return MakeShareable(new FFMODEventParameterTrackEditor(OwningSequencer)); -} - -TSharedRef FFMODEventParameterTrackEditor::MakeSectionInterface( - UMovieSceneSection &SectionObject, UMovieSceneTrack &Track, FGuid ObjectBinding) -{ - UMovieSceneParameterSection *ParameterSection = Cast(&SectionObject); - checkf(ParameterSection != nullptr, TEXT("Unsupported section type.")); - return MakeShareable(new FFMODParameterSection(*ParameterSection)); -} - -TSharedPtr FFMODEventParameterTrackEditor::BuildOutlinerEditWidget( - const FGuid &ObjectBinding, UMovieSceneTrack *Track, const FBuildEditWidgetParams &Params) -{ - UFMODEventParameterTrack *EventParameterTrack = Cast(Track); - - // Create a container edit box - return FSequencerUtilities::MakeAddButton(LOCTEXT("ParameterText", "Parameter"), - FOnGetContent::CreateSP(this, &FFMODEventParameterTrackEditor::OnGetAddParameterMenuContent, ObjectBinding, EventParameterTrack), - Params.NodeIsHovered, - GetSequencer()); -} - -void FFMODEventParameterTrackEditor::BuildObjectBindingTrackMenu(FMenuBuilder &MenuBuilder, const FGuid &ObjectBinding, const UClass *ObjectClass) -{ - if (ObjectClass->IsChildOf(AFMODAmbientSound::StaticClass()) || ObjectClass->IsChildOf(UFMODAudioComponent::StaticClass())) - { - const TSharedPtr ParentSequencer = GetSequencer(); - - MenuBuilder.AddMenuEntry(LOCTEXT("AddFMODParameterTrack", "FMOD Event Parameter Track"), - LOCTEXT("AddFMODParameterTrackTooltip", "Adds a track for controlling FMOD event parameter values."), FSlateIcon(), - FUIAction(FExecuteAction::CreateSP(this, &FFMODEventParameterTrackEditor::AddEventParameterTrack, ObjectBinding), - FCanExecuteAction::CreateSP(this, &FFMODEventParameterTrackEditor::CanAddEventParameterTrack, ObjectBinding))); - } -} - -bool FFMODEventParameterTrackEditor::SupportsType(TSubclassOf Type) const -{ - return Type == UFMODEventParameterTrack::StaticClass(); -} - -TSharedRef FFMODEventParameterTrackEditor::OnGetAddParameterMenuContent(FGuid ObjectBinding, UFMODEventParameterTrack *EventParameterTrack) -{ - TSharedPtr SequencerPtr = GetSequencer(); - AFMODAmbientSound *Sound = SequencerPtr.IsValid() ? Cast(SequencerPtr->FindSpawnedObjectOrTemplate(ObjectBinding)) : nullptr; - UFMODAudioComponent *AudioComponent; - - if (IsValid(Sound)) - { - AudioComponent = Sound->AudioComponent; - } - else - { - AudioComponent = SequencerPtr.IsValid() ? Cast(SequencerPtr->FindSpawnedObjectOrTemplate(ObjectBinding)) : nullptr; - } - return BuildParameterMenu(ObjectBinding, EventParameterTrack, AudioComponent); -} - -TSharedRef FFMODEventParameterTrackEditor::BuildParameterMenu( - FGuid ObjectBinding, UFMODEventParameterTrack *EventParameterTrack, UFMODAudioComponent *AudioComponent) -{ - FMenuBuilder AddParameterMenuBuilder(true, nullptr); - - if (IsValid(AudioComponent) && AudioComponent->Event.IsValid()) - { - TArray ParameterNamesAndActions; - TArray ParameterDescriptions; - AudioComponent->Event->GetParameterDescriptions(ParameterDescriptions); - - for (FMOD_STUDIO_PARAMETER_DESCRIPTION &ParameterDescription : ParameterDescriptions) - { - FName ParameterName(ParameterDescription.name); - FExecuteAction InitAction = - FExecuteAction::CreateSP(this, &FFMODEventParameterTrackEditor::AddParameter, ObjectBinding, EventParameterTrack, ParameterName); - FUIAction AddParameterMenuAction(InitAction); - FParameterNameAndAction NameAndAction(ParameterName, AddParameterMenuAction); - ParameterNamesAndActions.Add(NameAndAction); - } - - // Sort and generate menu. - ParameterNamesAndActions.Sort(); - for (FParameterNameAndAction NameAndAction : ParameterNamesAndActions) - { - AddParameterMenuBuilder.AddMenuEntry(FText::FromName(NameAndAction.ParameterName), FText(), FSlateIcon(), NameAndAction.Action); - } - } - return AddParameterMenuBuilder.MakeWidget(); -} - -bool FFMODEventParameterTrackEditor::CanAddEventParameterTrack(FGuid ObjectBinding) -{ - return GetSequencer()->GetFocusedMovieSceneSequence()->GetMovieScene()->FindTrack( - UFMODEventParameterTrack::StaticClass(), ObjectBinding, TrackName) == nullptr; -} - -void FFMODEventParameterTrackEditor::AddEventParameterTrack(FGuid ObjectBinding) -{ - FindOrCreateTrackForObject(ObjectBinding, UFMODEventParameterTrack::StaticClass(), TrackName, true); - GetSequencer()->NotifyMovieSceneDataChanged(EMovieSceneDataChangeType::MovieSceneStructureItemAdded); -} - -void FFMODEventParameterTrackEditor::AddParameter(FGuid ObjectBinding, UFMODEventParameterTrack *EventParameterTrack, FName ParameterName) -{ - UMovieSceneSequence *MovieSceneSequence = GetMovieSceneSequence(); - FFrameNumber KeyTime = GetTimeForKey(); - - for (TWeakObjectPtr<> Object : GetSequencer()->FindObjectsInCurrentSequence(ObjectBinding)) - { - AFMODAmbientSound *Sound = Cast(Object.Get()); - UFMODAudioComponent *AudioComponent = nullptr; - - if (IsValid(Sound)) - { - AudioComponent = Sound->AudioComponent; - } - else - { - AudioComponent = Cast(Object.Get()); - } - - if (IsValid(AudioComponent)) - { - float Value = AudioComponent->GetParameter(ParameterName); - const FScopedTransaction Transaction(LOCTEXT("AddEventParameter", "Add event parameter")); - EventParameterTrack->Modify(); - EventParameterTrack->AddParameterKey(ParameterName, KeyTime, Value); - } - } - GetSequencer()->NotifyMovieSceneDataChanged(EMovieSceneDataChangeType::MovieSceneStructureItemAdded); -} - -#undef LOCTEXT_NAMESPACE diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODEventParameterTrackEditor.h b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODEventParameterTrackEditor.h deleted file mode 100644 index f8c01ed..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODEventParameterTrackEditor.h +++ /dev/null @@ -1,77 +0,0 @@ -// Taken from ParticleParameterTrackEditor - -#pragma once -#include "CoreMinimal.h" -#include "Misc/Guid.h" -#include "Templates/SubclassOf.h" -#include "Widgets/SWidget.h" -#include "ISequencer.h" -#include "MovieSceneTrack.h" -#include "ISequencerSection.h" -#include "Framework/Commands/UIAction.h" -#include "ISequencerTrackEditor.h" -#include "MovieSceneTrackEditor.h" - -class FMenuBuilder; -class UFMODEventParameterTrack; -class UFMODAudioComponent; -struct FMOD_STUDIO_PARAMETER_DESCRIPTION; - -/** - * Track editor for material parameters. - */ -class FFMODEventParameterTrackEditor : public FMovieSceneTrackEditor -{ -public: - /** Constructor. */ - FFMODEventParameterTrackEditor(TSharedRef InSequencer); - - /** Virtual destructor. */ - virtual ~FFMODEventParameterTrackEditor() {} - - /** - * Creates an instance of this class. Called by a sequencer. - * - * @param OwningSequencer The sequencer instance to be used by this tool. - * @return The new instance of this class. - */ - static TSharedRef CreateTrackEditor(TSharedRef OwningSequencer); - - // ISequencerTrackEditor interface - - virtual TSharedPtr BuildOutlinerEditWidget( - const FGuid &ObjectBinding, UMovieSceneTrack *Track, const FBuildEditWidgetParams &Params) override; - virtual TSharedRef MakeSectionInterface( - UMovieSceneSection &SectionObject, UMovieSceneTrack &Track, FGuid ObjectBinding) override; - virtual bool SupportsType(TSubclassOf Type) const override; - -private: - static FName TrackName; - - // Struct used for building the parameter menu. - struct FParameterNameAndAction - { - FName ParameterName; - FUIAction Action; - - FParameterNameAndAction(FName InParameterName, FUIAction InAction) - { - ParameterName = InParameterName; - Action = InAction; - } - - bool operator<(FParameterNameAndAction const &Other) const { return ParameterName < Other.ParameterName; } - }; - - void BuildObjectBindingTrackMenu(FMenuBuilder &MenuBuilder, const FGuid &ObjectBinding, const UClass *ObjectClass); - - /** Provides the contents of the add parameter menu. */ - TSharedRef OnGetAddParameterMenuContent(FGuid ObjectBinding, UFMODEventParameterTrack *EventParameterTrack); - TSharedRef BuildParameterMenu(FGuid ObjectBinding, UFMODEventParameterTrack *EventParameterTrack, UFMODAudioComponent *AudioComponent); - - bool CanAddEventParameterTrack(FGuid ObjectBinding); - void AddEventParameterTrack(FGuid ObjectBinding); - - /** Adds an event parameter and initial key to a track. */ - void AddParameter(FGuid ObjectBinding, UFMODEventParameterTrack *EventParameterTrack, FName ParameterName); -}; diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODParameterSection.cpp b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODParameterSection.cpp deleted file mode 100644 index 628ff2d..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODParameterSection.cpp +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#include "FMODParameterSection.h" -#include "ISectionLayoutBuilder.h" -#include "ScopedTransaction.h" -#include "Sections/MovieSceneParameterSection.h" - -#define LOCTEXT_NAMESPACE "FMODParameterSection" - -bool FFMODParameterSection::RequestDeleteKeyArea(const TArray &KeyAreaNamePath) -{ - if (KeyAreaNamePath.Num() == 1) - { - const FScopedTransaction Transaction(LOCTEXT("DeleteEventParameter", "Delete event parameter")); - UMovieSceneParameterSection *ParameterSection = Cast(WeakSection.Get()); - if (ParameterSection->TryModify()) - { - return ParameterSection->RemoveScalarParameter(KeyAreaNamePath[0]); - } - } - - return true; -} - -#undef LOCTEXT_NAMESPACE diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODParameterSection.h b/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODParameterSection.h deleted file mode 100644 index e960d9e..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Private/Sequencer/FMODParameterSection.h +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "ISequencerSection.h" - -class UMovieSceneSection; - -/** A movie scene section for Event parameters. */ -class FFMODParameterSection : public FSequencerSection -{ -public: - FFMODParameterSection(UMovieSceneSection &InSectionObject) - : FSequencerSection(InSectionObject) - { - } - - // Begin ISequencerSection interface - virtual bool RequestDeleteKeyArea(const TArray &KeyAreaNamePath) override; - // End ISequencerSection interface -}; \ No newline at end of file diff --git a/Plugins/FMODStudio/Source/FMODStudioEditor/Public/FMODStudioEditorModule.h b/Plugins/FMODStudio/Source/FMODStudioEditor/Public/FMODStudioEditorModule.h deleted file mode 100644 index a33ae21..0000000 --- a/Plugins/FMODStudio/Source/FMODStudioEditor/Public/FMODStudioEditorModule.h +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2019. - -#pragma once - -#include "Modules/ModuleManager.h" - -/** - * The public interface to this module - */ -class IFMODStudioEditorModule : public IModuleInterface -{ - -public: - /** - * Singleton-like access to this module's interface. This is just for convenience! - * Beware of calling this during the shutdown phase, though. Your module might have been unloaded already. - * - * @return Returns singleton instance, loading the module on demand if needed - */ - static inline IFMODStudioEditorModule &Get() { return FModuleManager::LoadModuleChecked("FMODStudioEditor"); } - - /** - * Checks to see if this module is loaded and ready. It is only valid to call Get() if IsAvailable() returns true. - * - * @return True if the module is loaded and ready to use - */ - static inline bool IsAvailable() { return FModuleManager::Get().IsModuleLoaded("FMODStudioEditor"); } -};

  2. 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 BA9?@) diff --git a/Plugins/FMODStudio/Docs/images/engine-tree.png b/Plugins/FMODStudio/Docs/images/engine-tree.png deleted file mode 100644 index f43ce2e882e1ba46fbbdaf112e635acbff0415e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6755 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 diff --git a/Plugins/FMODStudio/Docs/images/event-tracks.png b/Plugins/FMODStudio/Docs/images/event-tracks.png deleted file mode 100644 index 608362623a105d3c16fc345e44025c807d916d0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34452 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 TTiRfBB!Qmx diff --git a/Plugins/FMODStudio/Docs/images/occlusion-props.png b/Plugins/FMODStudio/Docs/images/occlusion-props.png deleted file mode 100644 index 2d88955be40e49f803242c3b5f682d7044a81219..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3778 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 diff --git a/Plugins/FMODStudio/Docs/images/occlusion-setting.png b/Plugins/FMODStudio/Docs/images/occlusion-setting.png deleted file mode 100644 index cffaefeaf051c7b3dce8c1c2187b3e1f334fafe0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33488 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 bbBmHq_ZjZm-?9xaCC%|8r)1&|opt#im7b&9 diff --git a/Plugins/FMODStudio/Docs/images/occlusion.png b/Plugins/FMODStudio/Docs/images/occlusion.png deleted file mode 100644 index 63fe60c55ee6a02033bae5217124a7816dc9f3ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6079 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³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 diff --git a/Plugins/FMODStudio/Docs/images/parameter-track.png b/Plugins/FMODStudio/Docs/images/parameter-track.png deleted file mode 100644 index 3301916422d3b0ebec4fcba948052ffcad051211..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12766 zcmbt*by$?`*R6nnq(PSmBHdlmC85;NAq_)!r_zm-pmYu`3?SWtfHcC;h|=ACZhYVG z`+et}f6jHCxdfki=9wq%d)<4lwe}`l`L!$#CMo8?puf}iQl_d6^nIcgbLncILK)`-@Av~dG~|#&A!MK>?CoK z)^bs^H+OM2ax%N;U}Ra$!+D(JT#a+rl<- zu~w~GLmBgkh0cRIl4NI#nzYpkrxwjf)cHZ83!l2)y6FV%!Q=}b{hb9Ghu0snzD8>f zT9b1w7#~YS!Xrt8S*-9|N|zc4aGs+K@|AKg;Lko2%xjAq6OANv!#bMxIvol9frc5LxS${8rF zT}hxEB7+jWHk~4DFm{Dv;xYPTp%N<9M~;S+qg1%oVOJxcsa4(7@gApBq95j7v~N=< z)cyVzNL-DgJD5Xx1zR~|Rn@vw&#RZOKa zdX|Ira31&aVv@#&$&)x8j`jr`{o}zuS%?ww1v{Pn?U3KDImr{@dOGfN30{vQH-lMV zlns?P2vi)6A-;zg><=@3I{coM5qD-rz9y?koiqJtIF?_X#+os06Tj=uRaisD)08e* zN14W5^@uLPh#2n|&jez6`noq!$Kj$Y+?2Sd%R>pi{GvZm=bv}U{?Wim&OR=B5@SGiJYNGT0z(rUZ<-14k-X3u*ikr?@0An{F zNY!t2`^@i1&BNom)DcYGPmJS8O%lSvfvK@wkD+ES;x(Q-6z9xmr?j88dhlVUqiy0O z#<$c~u)V`L0S%Wz5dYDmz4gM(Nf?BQfnj|$)1MH9R*VBQJX%FLMa6;M-msV$H&@s00TM2AauJ`i-uUPJDQvgbrwj3p?(U+# z7d6H_qA_HAtXy0l5c2&wP!X@AwS*T6aqXmj*T$) zm-R#jwM9cM`-7D}O8=|{^PKW}4e8*K%y@Xn3Hc7M4$BO^mA9D!*nNKgDV~i=|2$6eLEp|%kBK$ed8!!`+Cmg4;p2|=}Pwzs$CW8d=4ND6T^-+svbXo;{;zMLAt5r-(m2HI&v3o@jt{Z_U=-kB`uG(Z|WW+x$n258%NWN;7hs+(WdjY@NdiS9dCr@ zh-ehGKX7oI#ihbxM0_vCOEibRf5*J&G`kE!#Tp$Od-v`gA496BzevRJ_Dr2*Me5el zQXrF;5)7hW>-ek3RMAQ&7?XgVg_c$Z2HD=)DtMDwZYGY09ujP!4aZi4jYz{Iy|A@y zX8KrvpB?9}I*+owlxw|OJh+w>eWSx~Ig4Bu&}>4uOQdFqzN6dd#sdHR`7;VK@}I%< z(Eh8guCBUyugzP7zyvNTs-<7CqCMQN;Hk+UKVsNZGgLs6l5J;d%Mzd*IFRj|>r2t| z6+9aMi*-8nF9;%Tv#g)Iwg?x^0GYsAg1-R+%oZ*=d@Xc-EICw)QY7hv7wzh4=~j)i zK=Eod*X@8C$>GdUHJ;2s_}%TKNwS11c=WoQ?JZrNY)iUoH@eyC^`EYd)O zR8%oBF*=0YW)3_7p9^_O*Hm@!mZdncO^oqN5lGL8T+c@;#IF(7yfjaH>oa|*FBgk1 zL#v;@|7Lddbc>_QV(5**Ot(70TW1<#5~FobTbE!EdpYviSmT zTUyrEn_x|6;VLO8ydzmRU`dvCO#AdHiUw-rM4uqvPn`?XsqsJmosybLY~wywpcLm_ zrUS2G)=K_wWS_W@BAnH2GOIBDlzqx|&wRu0blMia#enqzR!4H|oB67o>j~PMIpzXb z=j0?|NSRjEve0f5%5MPy0V*pK6Sc2SzcC3Iea@Cb0d!=0Mn@0q{V&O2wRw3osw^+6 z@GTKF3~Z){Hc*;=>e8u>VN2${M58_D4rFTHQ}Iv-M$ z36(84es3A7r=5Ii>y36yn#n)4THh%~$x+-ZcM6rx9Kri1=DI-2-hckAKT~V_nc!$+ zqQAX8+kT{T*3rKPQ11;vW~X9sPeP67Qt*KCKesQsT?Dw8eS zUF_HzC>ufP zcP1Xi9)+P?Veqo)+I?$E<>;d-awh+aJQQkmtmBBsAsk41<1VhQ6zp#U*0}QTi#W>5 zp-UBMW=VvUL0?x z#K%+N4sSk-RpF=@;P5;!-RC!K!N$cU)W%t?!Bu~Dff`76FJllO1na>At%7?vF7eFL zL(!Z8Ep)HL?dBTHz{}h`he}nZXG%8_H>@1S^4Mn_dm zk1Zxkwad%PE#JP_+1aV8s!Czi2ifHD23x6rX9y1cH%s%!fv5b2oiIzaor{UnX znX1eYen~txa@|!NMAQMI?B3BmOX5CXrwF6SQKS(FyoQgyadJ&jM~9TzM*nG1$rLf21>Z<$6mUfjO!4o{Z?d|Pu9aGB2~{kT6^;l2YKRuC zQrgjSH&(X+ma(z1rRC3Zed_#sW3-B?Vv=ZdG&E8+GF4Pf6r;D-$ET;EK5(M+1^-)L zf7G0cz!(alWqnK$Q~BwrxS`!b3yVf}5=h-kLF&x8q5xJ} z7%)wxWbq8>4E20nJ|FfJj{U>w>FM*vn}ZkJKMUVbLKhm{A4=w#ByJmXNCs^12nq^P zQ|G7^zNQd#5z`NkL_yHEL4soJLp_3W8h#oq*4Zx@aIWV_NA4wxjgE{wCV1)K;2=iy z3VVcHv4=WBIuhlR68U?#ZAAEuA&UO%PmHE710q@W^;80);%!Pcv^y5>K*az{PF6*Q ziiy9+@MtH0>7{OJh*SvZ%n0dG4#>^M1ei|F&d;Ae2RtL1$QEQ+x;GivOyL~Cwj74c z#dP$)E78=Aaw>46jB(8){IWd`RxmUqaP@0#v~T=ceFXfj&J6v|gAw%wJ<8_hvMZVxHaliACyD2us!=;`aP7a)nfv%_q^ zNkr1ho7$nN|N3?5nA7{jrl}7Oosc(G2>SIc*4xV~gWnPPjk$2uNLzcm5lG@qUXIR$->;Q$K0+nB{DCQDh*}R> zQ$u339FO%deC&(rAse{KL34rG+uGe`-+CPq+6sc{@UXJw&z>F`Y*R-Pjop`3Uel}2XA0|s?ADGT-n^Tr0z8gl&nPr=gVw?jD7L;CfEiEkt z)K{t`scnTyG9--T0`KWlR*fS}E!VZ-Y~wQmJi6EToot4%mdQA+uz!S6aVzt5}Mw6sAJp7;ZI;?8SoLKH?sO^=# zi%`iUv*8zEdhJ@uRmizq_VdC;$zjpapM~66=OZG@3X;_pLmP~Yj6z^gEMZ3{^_L1! zWPCs5YJ)AR7@M#nZkT4|GhVQ_D+650S*fxx;^*gJ6iwt9m zcYRUp`$5!U@t!UIn3OzaL>UbA(OTaJx=ayYuWba69?SREz{qI23^|beAV&m?K2+f)CL@|Y zULmLiOpme#G$V;wk>z18z*-OfDSdl$&68ATe8?EKBvA#OU>q40+nsObnG<`It|^XP zqP!UXyv943z0~%_&=YyH()$S>8xgM}SVmV%o-FT|JPU!u;mQ@O*fzRtSB@RL={z_% zn4O*Na;OR@xraCcPbGc#BxDcT+uI}N#xX9!6oXn8vx&wE-xNZ&0kvoqww!9f#_v$I9%NS@qJ-|!x0 z1+pf1$Yu+qD#~a`G-;TI1?FUH!0-Lu2I&+&?rTg3_H?Lrkv+KELULVmT5g-Jws54c z@knm-E?o9J60OW49>bg1b(ARfD335gUHkr0p~y~!9F@dai~=N^H}GJ|QVEO7umq^% z1Bb^e%gaGT8-Q7|BiXz6+*~v>dU(=5RlfNqPn}QK;8Q`EvIH^M$_R9Troz1ia9=<{e`fllPjt1HYef-?x~>8mFegfsb6W%*ynZF9m}JUDrp=HYdwQ z+3rWc*Ra(i&FGZU#&cz3KXO^9B1Q6HTUe|DQ8h*ZRTOKE!k}j%AnTK5uE1^Dr*Cl` zl|14x0SBzE%8E#%*b{#y$f6p0{+w_)fR&A`S-C`~DSep}Sz0nM^Nh^FKf(z`T;kjH z$bQ$l6H0rfp>!5Y1VOXUSI1v6cOb0orcP^_E#5_9h=P7dNa&gq!5R20M8x)%qfr@_ z)RsiciGhJJ-n~iq``+iL+#t7>{d|eTvY21gJbcfCvS5yW_M7p2o05xuqWjtyZ5n`i zJi%IfSSBS4crEQM3(B*}9IjEE`@WC+OHken?|=Zzv+pUUGsvQZo%a#O*{xD+R1|R?MTD|QBVYSilSlwt77Ri9E&r!W*zYK5yP(lDKh{bT2&?NNgMUE%OIc%MW4y3}Sk{4|Q5G_xTy6IwTH>y1F~Mi~ zlJNQl%?mR!6d2*+qCA1MogJ$IndtQq9xv41J{B+50>&MIIj+1ah6l1#qTSN3V4X!< z9EhbhMZ0cTZ0t}p8K2Yww|XSe)0k@3P*S#sO*juJ1QSgIQT6rp9WRRVy77D~gOGQn zNk4Iz^ppbo2#{vL;S)3!yWfBawQt({Q8ONPv5$GZ&9|-O2=x|UfJMzX1fv~hG1eMRi9YEAYw)ZA^ z50v56`D$j3ik>&4Z*_%O9v_;10JJJBDQV)1S^ruAOPQ2=RGv=L(E35)_%n?LE`^00 z3K1WE*L6(-5NC^Y2NtmI4{HO5#o?{=ZAIV?-D}+G6TmpTPgczrMN0K-WO_i{;h>=< zL0%77gCUxlgsa$kG|P@AcvWpxRi7YwG+5dQ2z|>SEI`RL%x>{Lpl@$#Zl)CR3EN)o zE9^)A?3Abbs39&X=>?(n^b=^7eaA*Hhk7JuW#k=|kC07Zn4A8_gXF3L%VoM&?F9M@ ze~jc;&Skh-kPTA?31-x)w!}m&+9`9~ohIov+gcwhv2U=EWa!bO-y3YIQ#XoN`!*$ieI-R)hfdYe2C30ZVjiq1^YCc1o3E$IumWMseL z6-La~_M9+N)s=AwD-7RhiU2>~r_#wguwaYhvR-0=(aer^qtm^;N7{HOsL!|a3@rU0 z+KuE$TcF;l$q0|-te?g=p?t%eB&ae6rGVutv#4EV)y~z~Q+6Ez-ShalOjv37(&FN? zTXiMbCr_Sq9c;XvNLB?p6o^@##Zi;vjfrlz^eL$}yd(6#C;cypx_rxs-D#O^HCFIh z(3P=Wv~Um~_g@v7ybw(MAqPl3fX(~`Y*YEiKFf(a~C<6T#K z^o4uB?X|IH_iL^@ZN8!v4GZoNtk|%r>%ko{vrV~rux(5UwWrj`c?^x6%ev0??fl=5 zmTpgF)Amq$e4fDKIHXE{B8A}CqH%+4)hw$>%g8)6Ck|mSn5;0YIC+ziU;-~b@ekp7 z-1q(0M2r#LZ&-9}EKzK_5pjV>p#S@D(>QQ|#4yoU*Z@^@APD?J1|8 z{Kn2CIYytAVQ}R|#87|l9#Wzlx`eFt&A-|^T zHt^2ew-M5wV0d2?D1MYMmWE*IKSODzKA-pAjkmQ*ySs$V66Df0(>_V&H^*}$v_b6X z2eu+rUq>xDN_eTL#9a(z%Ml>h9;{jcR0Ji$TpI5IYc(V!OW!5~>tIuDJNkFw%tWWJkp)jp1S95Z^~7s5oM0cF;$9Z+chp2WmKB_bm7>{;8-pM31> zdjQ>9Obp_?~lkPq^(W{)?6 zw{|40eofrjYcOe57<5U495C&=g1kJjcAyEg$j9PTm{zhB97C-?{=IP={;% zd+9$fFBfhd)Vp(ngSkH#Yb-Ob&?%-5w>2PJJ$T#!`jHo5;3Yx6h2eM}|bEB?i2SA1Ozqrlx9Fo7<`c$h(19kcYT( z<-k5nd9PmLbsE5)3UwTu|LVO;*>KI?ZGzdy%1w>0FSQv{_Iomy-(mgUA7-tlHqj1I zA-+4K8E$JWn>lbRTCdgRQ~A|Jm)Aiu3#xi-Q082DcplkNyP`diB7>#A4Unjk69g=G zs$6|I2!&i0Kf0=(12?}LW|rE@fAlf+XgcKyH`LB9ruHvj%PAwZ&voIcv&M>h#0PT# zwh$q8X|xeUHQdL1w|5=}*=x&2d8hVn#DQWXLYk)JqU=ab2?irXn#uSsoWG$h6$qQy zL_>z@W9)d@L|eCLG2i3+Ylj-8#+9haU?*3cov*;~~BOO{Bne>R|y5sJ}r)8b&< zLYV$BmyC>ProZlIBoP~{UQ^}U!=SOcgWDm2QmD|l22ZgD{K01M9+$NZwbNpc>9&J-Ko_ZQnhIG9WJVcVn&Z)U$;CXRmrJvq#BXq^4-{SJ?PxJz{--l8d zFGHD93VRsT#Kgo%Yl?8YzP>&n;2tF<<&{(hq@Ug2Y*G23xXXLD*#hv27bC&WR$u-N z0Mc6Ly3Lm(jk`W)uYajTCxzslZ8Z)l57i#qGMR~#-Yf|vEmY~-%~)#XK7{%0#SY!7 z)EVjzP?f-xHl8BDxv|wO6NRxl<$tq`0GW6ZjVAH;QS2wu-rkv)98c`*>^h1uOH`lm zF#FoP=EGU}8^ONZ8Jpb5nT(zqLVrgbp{`4M8)j@{Q|i%$-N_yj0M!~9k*5N?tgglu zU%!4mGBUF42qHEX3f5&_5rlYM;{3>>}e;7AfV0_clxn12uMkt~{=pKnpgl{p3n6Qdv%OO&l>Wg|jx z$RfnSjvg^BEv-0{V5oGO5y&d^D_R;Xo$OJMslNSvgs2As$#liBRNAhNHRR>tu{Bd?4-9$$dD{`NdV_tQDfHu47FJ|Cd-Pq5ELC$Y#Y62`QqGg1>7Ka1d1hcLB z{TdODQ|UY`_>HsznklI51@Iw>incPS6@W0uOiypQGyAo&?8JVn#pnD0cmrR*eyy{c z)2TL(23y4J+%;6hAAn!>2n7sY#d9g$AixwRV3VVxoFF#R(3p-FsjxGX0+9=16VSG| zJB_v-a`oo@Iz%yL}3ahNNlwQDbxeM5BW)>DEy3wRO z(2*Qe!q8lfm6a8jjqzgihflk@yR*9r&YgftVU@S?_xCT|8_ib$l)O-wl!#TY-v73x zuI?1vX?#3yo>ja-vlpn9BKLv%fVF2O$ob4J{u+4FU+ooQCLr*RFPKsr1UO{8@1dII zdKfA{GG1N+iuv*5$H$K!SF(IcO->F`0d+NcY#B+GC@(@RK_Q{%(^=y0fD?sH!g*gL zxD;4|@iub}$JG`?4eqPP-cn6P(zYz!~G=Xr;!+;>Px!-LrfX~2XlT@z0L4rCIH zQb&UwVCG%I*Hqs&@^rGNG{d%-7D*{7Gf}Y!rKF{^6N25J4FcUN;aTMHCPP@jaySck z!C})CD8bqIgMb7N4!-oiX^M=DBrejd0PYcsZtcU{|LuzXkqz8vZ zMgdnWGDdTV%eWhqXV-UdV3$I}l58)EwBr0e znwXgAeYykECT>!xsn~cosFURgq{Z>lP@S3scq?<}A}OhrVb+vr=-k)+X7|hJ$rRt; zJCZ(w^Y2bzer<^%_D1Cy)$?{TBr}3VM|np#|M)H^+Y z2DO4hqA<=@Tf|-&u!KD0SL_)+*`8SvNn?{mJQ`{B_lM8le=ZXx zM&h?Q$+9J&1o-6Q%F6rC{$SmQ;n(8e;7ETiSw{(_I%qioFz1Bbe`y9kfzRBEJ- zmBwuqBwy|H`@4Pfu|~dp5~#w14Ec*7&LZ1{W1?n#uF)M#1Pe1W_4DT{v5_EFD`r3Y zMyd$U0_k9HJroqwYJ)&=alBlgEWsAUFsps$y_1s`&qLacX;5FZwziH3QiB11MN1M! z*j5XQM0{Lamn$FM0JURsift+hs=JlP_+g7eS*c~l__J$HfX{y z6z=!l=T2GPXqZp*aS)Ud*6ePdb!(o$C@kZT zUgL)q|DHq2#1siDU7}=e)wC>4y~vCG

N%C>0nFt8+8`ZWd_)-uAaw;;fk3-~6xS10lO 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 OXJ)ct?R6vPWB&ygW!sAY diff --git a/Plugins/FMODStudio/Docs/images/control-track.png b/Plugins/FMODStudio/Docs/images/control-track.png deleted file mode 100644 index 63b0c7e368b8a866283a72605e535a484db7a059..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18430 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 diff --git a/Plugins/FMODStudio/Docs/images/docs-menu.png b/Plugins/FMODStudio/Docs/images/docs-menu.png deleted file mode 100644 index f81db26f690764393dc3386a6e550edb6dc30509..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21127 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±8Tw>oqE~3cw;=3&DC;EUuNH3aq6Y7 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