{********************************************************************************** * 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) * * * ***********************************************************************************}