Thirdparty libraries

How to disable specific libraries

Now you can configure which library do you want to include for each platform. This process requires to configure and recompile the plugin for each platform that you want to support.
To automate the process we can include the plugin inside our UE4 project folder, and compile the plugin with our project.
So the first step is to download the plugin from the Marketplace.
doc_thirdparty_plugin_content
Now we can copy
- Resources
- Source
- Thirdparty
- ParallelcubeAudioAnalyzer.uplugin
to our Project folder
We need to create a /Plugin/Marketplace/AudioAnalyzer/ folder in our project and paste the previous content of the plugin
doc_thirdparty_plugin_project
We have edit two files to configure the plugin.
The first one disable the code related to the decoder and it is located on:

Warning

Source/AudioAnalyzer/Private/AudioAnalyzerConfig.h

Search the platform to configure and disable or enable the decoder changing the value of the macro by 0 or 1
doc_thirdparty_disable_code

How to disable OVR library code for Windows Platform

The second one is to avoid to include the library binary in the packaged project and it is located on:

Warning

Source/AudioAnalyzer/ParallelcubeAudioAnalyzer.Build.cs

We can’t set a Macro value in C# so to disable the library we need to comment the macro definition using a doble slash
doc_thirdparty_disable_binary

How to disable OVR library binary for Windows Platform

Now we can open our project.
A dialog is showing up to request the build of the plugin for the editor.
doc_thirdparty_plugin_build_editor
If all goes well, this process will generate the binaries used by the editor when the project is opened
We can see a new folder in the plugin path that contain this binaries
doc_thirdparty_plugin_editor_lib
and finally our project is ready to the development with a custom version of the AudioAnalyzer plugin

Note

If you want to change the plugin configuration again you need to delete the Binaries folder of the Plugin ot force the compilation

Included libraries

Miniaudio

miniaudio is a single file library for audio playback and capture. It’s written in C (compilable as C++) and released into the public domain.

Liberally licensed, with your choice of either public domain or MIT No Attribution for those regions who don’t recognize public domain.
Everything is implemented in a single file for easy integration into your source tree.
No external dependencies except for the C standard library and backend APIs.
Written in C89 and compilable as C++ which should enable miniaudio to work with almost all compilers.
Supports all major desktop and mobile platforms, with multiple backends for maximum compatibility.
Supports playback, capture, full-duplex and loopback (WASAPI only).
Device enumeration for connecting to specific devices, not just defaults.
Current version v0.11.10

Dr_libs

Public domain, single file audio decoding libraries for C and C++.

dr_flac FLAC audio decoder.
dr_mp3 MP3 audio decoder. Based off minimp3.
dr_wav WAV audio loader and writer.
Current version
dr_flac v0.12.31
dr_mp3 v0.6.31
dr_wav v0.13.1

Stb_vorbis

single-file public domain (or MIT licensed) libraries for C/C++

stb_vorbis.c decode ogg vorbis files from file/memory to float/16-bit signed output
Current version v1.22

Kiss FFT

A Fast Fourier Transform based up on the principle, “Keep It Simple, Stupid.” Kiss FFT is a very small, reasonably efficient, mixed radix FFT library that can use either fixed or floating point data types.

Kiss FFT is:
small
no frills (just like this page)
able to do fixed or floating point with just a recompile
efficient enough for all but the most demanding applications
distributed with an easy-going license (BSD)
Current version v130

TagLib

TagLib is a library for reading and editing the meta-data of several popular audio formats. Currently it supports both ID3v1 and ID3v2 for MP3 files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC, Speex, WavPack, TrueAudio, WAV, AIFF, MP4 and ASF files.

Current version v1.12