Cross Platform C++14 library.
- remove TKLB_SAMPLE_FLOAT
- FFT convolution
- Codecs
- Streaming codecs
- File abstraction from vae
- Resamplers
- FFT Interface
- Vector math from vae
- Serializer
Define in compilation unit
Will disable asserts reduce logging to warnings and above.
Enables the wrapped tracy profiler
No Exceptions are thrown anywhere in tklb and wrapped assertions are used instead.
Will disable all assertions
Will try to signal the attached debugger to break instead of an assert which can be convenient at times.
Will get rid of all standard library includes if
TKLB_NO_SIMDis also defined to get rid ofxsimd.TKLB_NO_LOGis defined, since the logger pulls instdarg.handstddef.h.TKLB_USE_PROFILERis not defined.TKLB_ASSERT()is defined to a custom assert function or assertions are disabled withTKLB_NO_ASSERTto avoid<cassert>.
Also see TKLB_CUSTOM_MALLOC and TKLB_CUSTOM_PRINT
Allows defining custom tklb_free and tklb_malloc without fully dropping the std lib.
Logging needs around 2k of static memory and messages will be truncated to 1024 characters. Offers severity and file + line number for convenience.
DEBUG | vae_engine.hpp:236 | Initializing engine...
DEBUG | vae_engine.hpp:245 | Engine initialized
INFO | vae_bank_manager.hpp:77 | Loading bank from file ./bank1
DEBUG | vae_bank_loader.hpp:56 | Started loading bank bank1
ERROR | vae_bank_loader.hpp:66 | Failed to read file
ERROR | vae_bank_manager.hpp:81 | Failed to load bank from file ./bank1
INFO | vae_engine.hpp:879 | Start unloading all banks
INFO | vae_engine.hpp:217 | Engine destructed
Allows to redirect the formatted logging messages to a custom implementation of tklb_print
TODO allow custom print formatting to disable stb_sprintf.h
Will disable the tklb logger completly.
Will force all log message even when TKLB_RELEASE is defined.
Disables SSE or other intrinsics via xsimd and attempts to do the same for dependecies.
Wrap all allocations with magic numbers and validate them (uses std malloc and will define tklb_malloc) Heapbuffer will check bounds for every access
Will set the prefered sample type to float.
This means the AudioBuffer implementations will default to it, and external library code will use floats for processing if possible.