Also, necessarily coupled with this:
* add CMakeLists.txt for vendored libnyquist
* fix SoundTouch header include paths
* move nyq_reformat_aud_do_response function
* handle portSMF headers installed to portsmf or portSMF
Signed-off-by: Be <be@mixxx.org>
* Make CMake builds better parallelized
* Update CI Build script parallelization
* Make `repeat_hdiutil.sh` take longer between repeats
* Make sure that bash is the latest version on CI builds.
Signed-off-by: Emily Mabrey <emabrey@tenacityaudio.org>
Reference-to: https://github.com/tenacityteam/tenacity/pull/391
arbitrary length computed sound. (So as before, sound after the selection
is shifted in time if the replacement sound is shorter or longer than the
original selection.) If stereo is computed and one channel is shorter than
the other, the shorter channel is extended with zeros to match the length
of the longer one.
This update contains to important features:
1. Improved performance of WAL mode locking primitives in cases where there are hundreds of connections all accessing the same database file at once
2. In WAL mode, if a writer crashes and leaves the shm file in an inconsistent state, subsequent transactions are now able to recover the shm file even if there are active read transactions. Before this enhancement, shm file recovery that scenario would result in an SQLITE_PROTOCOL error.
On second display of LV2 effect using an X11UI, Audacity
would hang due to the glib class not being in the expected
state.
Workaround is to not unload the suil wrapper library. The
unload was already being bypassed on Windows so I'm unsure
why the author didn't do it on the other platforms.
The real problem is that whatever created the file mentioned in
the bug report, did not include the Unicode BOM and libid3tag
defaulted to big endian. This commit uses some code from ReactOS
that TRIES to autodetect the endianness.
When compiling, I got this error:
/lib-src/libnyquist/nyquist/nyqsrc/sndread.c: In function 'snd_make_read':
/lib-src/libnyquist/nyquist/nyqsrc/sndread.c:169:30: error: invalid operands to binary | (have 'int' and 'long int *')
169 | susp->sf_info.format |= format;
| ^~
I would like to suggest this fix for this error.
* [NYQUIST] Fix build on CYGWIN
Cygwin requires to include unistd.h for building without errors.
* [NYQUIST] Fix build on CYGWIN.
Cygwin requires to include endian.h to build without errors.
Author: Paul Licameli <paul.licameli@audacityteam.org>
Date: Mon Feb 26 11:18:22 2018 -0500
Use casts with function pointers to quiet compilation warnings in Nyquist
Author: Leland Lucius <github@homerow.net>
Date: Wed Oct 2 10:17:00 2019 -0500
Possible fix for bug #590
This change reduces the risk of LADSPA plugins referencing
Audacity symbols by using the RTLD_DEEPBIND flag when loading
the plugins.
It also addresses an issue specific to the "blop" plugins where
they load their own libraries (without RTLD_DEEPBIND).
A much better solution would be to change Audacity's default
symbol visibility to "hidden" which would expose ONLY symbols
specificially marked as visible.
Author: Paul Licameli <paul.licameli@audacityteam.org>
Date: Tue Nov 13 08:36:22 2018 -0500
lib-src/libnyquist: fix warning about always-false comparison...
... but this raises questions about the intention to catch negative values,
which if they ever happened, were just mis-cast to unsigned at call sites
Author: Paul Licameli <paul.licameli@audacityteam.org>
Date: Tue Feb 27 13:51:10 2018 -0500
Changes to make xlisp.h usable in C++ code...
1) #include guard
2) "C" linkage for all function declarations
3) some uses of const
and a1dc8305f0a369b97b6a9f44d4e97197f1983872
Author: Paul Licameli <paul.licameli@audacityteam.org>
Date: Thu Feb 22 01:02:15 2018 -0500
Fix mistake in commit a1dc830 and add a comment
Author: Paul Licameli <paul.licameli@audacityteam.org>
Date: Wed Feb 21 15:46:18 2018 -0500
A function to extend XLisp's table of function bindings dynamically
Author: James Crook <james.k.crook@gmail.com>
Date: Sun Jun 26 08:35:19 2016 +0100
Bug1223: (correction). Fix new potential crash in following pointer.
With recent changes to the Nyquist code for freeing blocks, the pointer 'next' could be uninitialised when 'list' points to the zero chain. So Audacity would follow a rogue pointer. We'd get away with it if the uninitialised value happened to be zero.
Author: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
Date: Fri Feb 26 15:11:55 2016 +0100
comment out extra tokens at end of #endif directive to avoid compiler warnings [-Wextra-tokens]
------------------------------------------------------------------------
r331 | rbd | 2020-10-13 12:40:12 -0500 (Tue, 13 Oct 2020) | 2 lines
Also forgot to install NyquistWords.txt
------------------------------------------------------------------------
r330 | rbd | 2020-10-13 12:34:06 -0500 (Tue, 13 Oct 2020) | 2 lines
Forgot to move nyquistman.pdf from docsrc/s2h to release
------------------------------------------------------------------------
r329 | rbd | 2020-10-13 11:32:33 -0500 (Tue, 13 Oct 2020) | 2 lines
Updated some version numbers for 3.16.
------------------------------------------------------------------------
r328 | rbd | 2020-10-13 11:20:52 -0500 (Tue, 13 Oct 2020) | 2 lines
Fixed NyquistIDE antialiasing for plot text, fix format of message.
------------------------------------------------------------------------
r327 | rbd | 2020-10-12 21:01:53 -0500 (Mon, 12 Oct 2020) | 2 lines
Fixed a couple of format problems in manual. This version of Nyquist has been tested wtih macOS, Linux, 32&64-bit Windows.
------------------------------------------------------------------------
r326 | rbd | 2020-10-12 20:21:38 -0500 (Mon, 12 Oct 2020) | 1 line
Modified WIN32 32-bit XLisp to use 64-bit FIXNUMs. This allows XLisp and Nyquist to handle big sounds even on 32-bit machines. Probably at some cost, but inner loops are mostly float and int32, and the Nyquist release is 64-bit anyway. Maybe we'll have to run some benchmarks on Audacity, which is still 32-bit on Windows.
------------------------------------------------------------------------
r325 | rbd | 2020-10-12 13:16:57 -0500 (Mon, 12 Oct 2020) | 1 line
Win64 passes bigfiletest.lsp now. This version should work on all 64-bit systems now. These changes untested on Linux and macOS.
------------------------------------------------------------------------
r324 | rbd | 2020-10-11 21:31:53 -0500 (Sun, 11 Oct 2020) | 2 lines
I couldn't free enough space on my linux box, so I adjusted the bigfiletest to write 8-bit ulaw. It's still >4GB and >4G samples. Works on Linux.
------------------------------------------------------------------------
r323 | rbd | 2020-10-11 19:41:25 -0500 (Sun, 11 Oct 2020) | 2 lines
Missing file from last commit.
------------------------------------------------------------------------
r322 | rbd | 2020-10-11 19:36:08 -0500 (Sun, 11 Oct 2020) | 1 line
Found another case where WIN64 needs int64_t instead of long for sample count.
------------------------------------------------------------------------
r321 | rbd | 2020-10-11 19:33:25 -0500 (Sun, 11 Oct 2020) | 3 lines
Fixed s-save to handle optional and keyword parameters (which should never have been mixed in the first place). Documentation cleanup - should be final for this version.
------------------------------------------------------------------------
r320 | rbd | 2020-10-11 14:44:37 -0500 (Sun, 11 Oct 2020) | 2 lines
Fixes to handle IRCAM sound format and tests for big file io working on macOS.
------------------------------------------------------------------------
r319 | rbd | 2020-10-10 21:31:58 -0500 (Sat, 10 Oct 2020) | 2 lines
Changes for linux and to avoid compiler warnings on linux.
------------------------------------------------------------------------
r318 | rbd | 2020-10-10 20:50:23 -0500 (Sat, 10 Oct 2020) | 1 line
This is the test used for Win64 version.
------------------------------------------------------------------------
r317 | rbd | 2020-10-10 20:34:34 -0500 (Sat, 10 Oct 2020) | 1 line
This version works on Win64. Need to test changes on macOS and linux.
------------------------------------------------------------------------
r316 | rbd | 2020-10-10 19:59:15 -0500 (Sat, 10 Oct 2020) | 2 lines
PWL changes to avoid compiler warning.
------------------------------------------------------------------------
r315 | rbd | 2020-10-10 19:34:04 -0500 (Sat, 10 Oct 2020) | 2 lines
A few more changes for 64-bit sample counts on Win64
------------------------------------------------------------------------
r314 | rbd | 2020-10-10 13:19:42 -0500 (Sat, 10 Oct 2020) | 2 lines
Fixed int64_t declaration in gate.alg
------------------------------------------------------------------------
r313 | rbd | 2020-10-10 12:07:40 -0500 (Sat, 10 Oct 2020) | 2 lines
Fixes to gate for long sounds
------------------------------------------------------------------------
r312 | rbd | 2020-10-10 11:47:29 -0500 (Sat, 10 Oct 2020) | 2 lines
Fixed sound_save types for intgen
------------------------------------------------------------------------
r311 | rbd | 2020-10-10 11:09:01 -0500 (Sat, 10 Oct 2020) | 2 lines
Fixed a 64-bit sample count problem in siosc.alg
------------------------------------------------------------------------
r310 | rbd | 2020-10-10 11:03:12 -0500 (Sat, 10 Oct 2020) | 2 lines
Fixed sndmax to handle 64-bit sample counts.
------------------------------------------------------------------------
r309 | rbd | 2020-10-10 10:57:04 -0500 (Sat, 10 Oct 2020) | 2 lines
Forgot to re-translate all tran/*.alg files with fix for int64 cast to int32. This version compiles on macOS and ready for test on Win64.
------------------------------------------------------------------------
r308 | rbd | 2020-10-10 10:16:05 -0500 (Sat, 10 Oct 2020) | 2 lines
Everything seems to compile and run on macOS now. Moving changes to Windows for test.
------------------------------------------------------------------------
r307 | rbd | 2020-10-10 09:23:45 -0500 (Sat, 10 Oct 2020) | 1 line
Added casts to avoid compiler warnings and to review changes to support 64-bit sample counts on Windows. Still not complete, and waiting to regenerate and compile tran directory code after updates to translation code that will insert more casts.
------------------------------------------------------------------------
r306 | rbd | 2020-10-09 21:55:15 -0500 (Fri, 09 Oct 2020) | 2 lines
Rebuilt seqfnint.c from header files.
------------------------------------------------------------------------
r305 | rbd | 2020-10-09 21:53:33 -0500 (Fri, 09 Oct 2020) | 1 line
Changed some FIXNUMS to LONG to avoid compiler warnings in seqfnint.c
------------------------------------------------------------------------
r304 | rbd | 2020-10-09 21:44:03 -0500 (Fri, 09 Oct 2020) | 2 lines
I discovered forgotten regression-test.lsp and added test that requires 64-bit sample counts to pass. Fixed a few bugs revealed by running the type-checking regression tests.
------------------------------------------------------------------------
r303 | rbd | 2020-10-09 12:28:58 -0500 (Fri, 09 Oct 2020) | 2 lines
Changes for 64-bit sample counts broke mult-channel s-save. Fixed in the commit for macOS.
------------------------------------------------------------------------
r302 | rbd | 2020-10-09 10:03:39 -0500 (Fri, 09 Oct 2020) | 2 lines
Changed snd-play to return samples computed and used that to make a test for computing long sounds that would overflow 32-bit length counts.
------------------------------------------------------------------------
r301 | rbd | 2020-10-09 09:11:26 -0500 (Fri, 09 Oct 2020) | 2 lines
corrected mistake in delaycv.alg and re-translated
------------------------------------------------------------------------
r300 | rbd | 2020-10-09 09:09:06 -0500 (Fri, 09 Oct 2020) | 2 lines
Fix to delaycv.alg -- "s" changed to "input" to avoid matching "s" in "sample_type".
------------------------------------------------------------------------
r299 | rbd | 2020-10-09 09:03:33 -0500 (Fri, 09 Oct 2020) | 4 lines
To avoid compiler warnings, XLisp interfaces to C int and long are now
specified as LONG rather than FIXNUM, and the stubs that call the C
functions cast FIXNUMs from XLisp into longs before calling C functions.
------------------------------------------------------------------------
r298 | rbd | 2020-10-08 22:20:26 -0500 (Thu, 08 Oct 2020) | 2 lines
This commit has many more fixes to handle long (64-bit) sounds, including a lot of fixes for warnings by Visual Studio assigning int64_t to long (works on macOS, doesn't work on VS). This was compiled and tested on macOS, and even computed a 27.1-hour sound using OSC, LP, SUM and MULT (haven't tested I/O yet).
------------------------------------------------------------------------
r297 | rbd | 2020-10-07 13:04:02 -0500 (Wed, 07 Oct 2020) | 2 lines
This is a major cleanup. It started with the goal of changing long to int64_t for sample counts so that on 64-bit windows, where long is only 32-bits, the sample counts would nevertheless be 64-bit allowing long sounds, which was a limitation for long recordings in Audacity. Since I was using compiler warnings to track possible loss-of-precision conversions from 64-bit sample counts, and there were *many* warnings, I started cleaning up *all* the warnings and ended up with a very large set of changes, including "modernizing" C declarations that date back to XLisp and CMU MIDI Toolkit code and were never changed. This version runs all the examples.sal code on macOS, but will surely have problems on Windows and Linux given the number of changes.
------------------------------------------------------------------------
r296 | rbd | 2020-10-06 13:34:20 -0500 (Tue, 06 Oct 2020) | 2 lines
More changes from long to int64_t for sample counts.
------------------------------------------------------------------------
r295 | rbd | 2020-10-06 11:53:49 -0500 (Tue, 06 Oct 2020) | 2 lines
More work on using 64-bit sample counts. Changed MAX_STOP from 32-bit to 64-bit limit.
------------------------------------------------------------------------
r294 | rbd | 2020-10-06 11:48:05 -0500 (Tue, 06 Oct 2020) | 2 lines
Made some changes so that sample counts are int64_t (for windows) instead of long to support sample counts above 31 bits.
------------------------------------------------------------------------
r293 | rbd | 2020-10-04 21:30:55 -0500 (Sun, 04 Oct 2020) | 2 lines
Fixed a few minor things for Linux and tested on Linux.
------------------------------------------------------------------------
r292 | rbd | 2020-10-04 21:00:28 -0500 (Sun, 04 Oct 2020) | 2 lines
Update extensions: all are minor changes.
------------------------------------------------------------------------
r291 | rbd | 2020-09-24 13:59:31 -0500 (Thu, 24 Sep 2020) | 2 lines
New implementation of seq and seqrep, added get-real-time, documented get-real-time, fixed examples.sal and examples.lsp which are now in lib rather than extensions (so they are now back in the basic installation), other cleanup.
------------------------------------------------------------------------
r290 | rbd | 2020-08-16 16:24:52 -0500 (Sun, 16 Aug 2020) | 2 lines
Fixed bug in snd-gate, revised GATE and NOISE-GATE to handle multi-channel sound. RMS now handles multi-channel input. S-AVG added to take multichannel input (but not used, because RMS could not be written without making SND-SRATE convert multichannel sound to vector of floats. That seems to be going toward a fully vectorized model. Not going there for now.
------------------------------------------------------------------------
r289 | rbd | 2020-07-09 16:27:45 -0500 (Thu, 09 Jul 2020) | 2 lines
Added GET-REAL-TIME function to XLISP. May not work yet on Windows. Various fixes for compiler warnings. I noticed FLAC doesn't work (I guess it never did) and I cannot figure out how this even links because flac_min seems to be undefined. Something to look at later.