{**********************************************************************************
*                  United Openlibraries of Sound ( uos )                          *
*                  --------------------------------------                         *
*                                                                                 *
*          United procedures to access Open Sound (IN/OUT) libraries              *
*                                                                                 *
*              With Big contributions of (in alphabetic order)                    *
*   Andrew, BigChimp, Blaazen, Franklyn, KpjComp, Leledumbo, Phoenix, Sandro.     *
*                                                                                 *
*                 Fred van Stappen /  fiens@hotmail.com                           *
*                                                                                 *
*                                                                                 *
***********************************************************************************
*  1 th changes: 2012-07-20 (First shot)                                          *
*  2 th changes: 2012-07-31 (Mono thread, only one stream)                        *
*  3 th changes: 2012-11-13 (Mono thread, multi streams)                          *
*  4 th changes: 2012-11-14 (Multi threads, multi streams)                        *
*  5 th changes: 2012-11-27 (Event pause, position, volume, reverse)              *
*  6 th changes: 2012-12-31 (Class/Oop look, DSP, multi IN/OUT)                   *
*  7 th changes: 2013-01-12 (Float resolution for all, new DSP proc)              *
*  8 th changes: 2013-01-21 (Record, Direct Wire, Save to file, new DSP proc)     *
*  9 th changes: 2013-01-28 (FFT, Filters HighPass, LowPass, BandSelect,          *
*                                    BandReject, BandPass)                        *
* 10 th changes: 2013-02-02 (Dibo's time methods, Max Karpushin                   *
*                                 reference counting in PortAudio)                *
* 11 th changes: 2013-05-03 (Fully FP/fpGUI/Lazarus compatible)                   *
* 12 th changes: 2014-10-01 (Added GetLevel(...) )                                *
* 13 th changes: 2014-02-01 (Added Plugin + Dynamic Buffer => uos version 1.0)    *
* 14 th changes: 2014-03-01 (String=>PChar, GetSampleRate, => uos version 1.2)    *
* 15 th changes: 2014-03-16 (uos_flat + uos => uos version 1.3)                   *
* 16 th changes: 2014-06-16 (Java uos library compatible)                         *
* 17 th changes: 2015-03-15 (FreeBSD and MSEgui compatible)                       *
* 18 th changes: 2015-03-20 (Andrew's Audio Internet Streaming)                   *
* 19 th changes: 2016-01-31 (Stereo to BinAural (bs2b) plugin + new LoadLib()     *
* 20 th changes: 2016-02-21 (Andrew's Noise Removal DSP)                          *
* 21 th changes: 2016-02-26 (Franklyn A. Harlow : AAC (m4a) and CD audio)         *
* 22 th changes: 2016-10-24 (First shot of Synthesizer input)                     *
* 23 th changes: 2017-01-20 (Opus and OpusFile libraries wrappers included)       *
* 24 th changes: 2017-02-02 (Opus web streaming)                                  *
* 25 th changes: 2017-02-20 (First steps IceCast+Shout server web streaming)      *
* 26 th changes: 2017-02-20 (AddFromFileIntoMemory() input from file into memory) *
* 27 th changes: 2017-03-02 (AddFromMemoryBuffer() input from memory buffer)      *
* 28 th changes: 2017-03-09 (Phoenix's AddFromMemoryStream() from MemoryStream)   *
* 29 th changes: 2017-04-16 (Main thread.execute splitted into sub-methods)       *
* 30 th changes: 2017-07-19 (Martin MSE environement, uos_Player is a class now)  *
* 31 th changes: 2017-11-26 (Added GetBPM from last commit of SoundTouch plugin)  * 
* 32 th changes: 2018-02-06 (Added InputFiltersGetLevel and spectrum features)    * 
* 33 th changes: 2020-11-10 (Synthesizer uses LookupTable, thanks to Blaazen.)    * 
* 34 th changes: 2020-12-25 (Aarch64-Linux compatible, updated all examples)      * 
* 35 th changes: 2020-12-30 (uos_AddIntoFile() can encode in ogg format)          * 
* 36 th changes: 2021-20-16 (Synth waves sine, triangle, square and sawtooth)     * 
* 37 th changes: 2022-03-16 (Added missing Album and Track tag)     *             *
* 38 th changes: 2022-03-20 (Methods inlined)                                     * 
* 39 th changes: 2023-12-27 (Added uos_UpdateDevice(). Sample rate is float)      * 
* 40 th changes: 2024-04-22 (Changed all round() with roundmath())                *
* 41 th changes: 2024-06-16 (Added OpenBSD compatibility and libraries)           *
* 42 th changes: 2024-08-15 (Webstreamning for https too.)                        *
* 43 th changes: 2024-08-24 (Fixed memory leak in uos_AddFromURL())               *
* 44 th changes: 2024-09-15 (Added libxmp to read mod, it, s3m, xm and others)    *
* 45 th changes: 2024-09-29 (Added libfdk-aac to do websteam of aac files)        *
*                                                                                 *
***********************************************************************************}
