1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-04-30 15:49:41 +02:00

117 Commits

Author SHA1 Message Date
Haelwenn (lanodan) Monnier
7230f6a393
cmake: Add install target for libnyquist
Signed-off-by: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
2021-09-23 12:08:51 +03:00
Sol Fisher Romanoff
61898cfbd6
libnyquist: Add support for BSD operating systems
Signed-off-by: Sol Fisher Romanoff <sol@solfisher.com>
2021-08-30 15:22:39 +03:00
Be
b1549dd13e
CMake: replace Conan with find_package and add find modules
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>
2021-08-16 13:22:01 -05:00
SteveDaulton
8e4721a8ff
Fix bug 379
EXIT should not be defined in Audacity's implementation of Nyquist
2021-07-19 05:45:53 +00:00
Roger Dannenberg
8f41dd7a38 Restore old behavior where Nyquist sound effects replace selection with
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.
2021-06-11 17:58:18 -04:00
Roger Dannenberg
91a557d838 This fixes a problem with nyquist's TRIGGER retaining samples (see comment 2, Bug #2698). This version of samples.c was accidentally omitted from an earlier commit. 2021-03-29 16:14:09 -04:00
Leland Lucius
0a085daa92 Fix build 2021-03-29 00:05:44 -05:00
Roger Dannenberg
ff60f598f3 Fixes 2 bugs in Nyquist: (1) Bug 2706 probably already has a workaround in place, but the original code called snd-samples with ny:all for the maximum length to retrieve, and now that ny:all is bigger than 32-bits, the value was getting truncated. This change fixes legacy code to be 64-bit-aware. (2) allows sounds to be accessed beyond their stop time even when they stop in the middle of a block of samples. For example, this Nyquist prompt no longer generates garbage or crashes:
(setf idur 5000)
(setf impulse (extract-abs 0 (/ idur *sound-srate*) (cue *track*)))
(mult 0.01 (convolve *track* impulse))
2021-03-28 22:55:36 -04:00
Roger Dannenberg
ec48931739 I very recently pushed nyx.c thinking it was the same one pushed earlier by Steve. This version has some fundamental changes to keep reading/writing of multiple channels synchronized and insuring that the same number of samples are written to every channel. There are some minor differences like using printf instead of stdputstr and I tried to follow what I found in the nyx.c that has been in use for a long time. 2021-03-27 17:32:02 -04:00
Roger Dannenberg
cd79f1099b Changes to allegro fix a bug where property lists are not properly saved/restored for Undo/Redo. Other changes make this code safer and more consistent between 32-bit and 64-bit architectures. 2021-03-27 13:21:01 -04:00
James Crook
14b767b9eb
Fix bad line break in #error directive.
Thanks to Jack L for reporting this.
2021-03-17 22:47:53 +00:00
Leland Lucius
b53d06ed23 Bug 425 - Win/Linux: Nyquist: (vector (aref s 0)(aref s 0)) not returned correctly to track 2021-01-30 02:49:30 -06:00
Leland Lucius
9fee0d1c19 Bug 101 - Nyquist implementation: (dribble [fname]) function 2021-01-29 06:54:49 -06:00
Leland Lucius
bcb4bb91c7 Bug 101 - Nyquist implementation: (dribble [fname]) function 2021-01-28 19:54:21 -06:00
Leland Lucius
a3a158e56b Bug 101 - Nyquist implementation: (dribble [fname]) function 2021-01-28 14:16:41 -06:00
Leland Lucius
f24d42d510 Update Audacity's Nyquist interface for r331 (r3.16+)
This includes converting some types to int64_t to be
compatible with Nyquist's improved 64-bit support.
2021-01-28 02:34:43 -06:00
Leland Lucius
29d35e46e9 Misc changes to get new Nyquist to build 2021-01-28 01:59:04 -06:00
Carlo Bramini
6181f406fd Fix error build with MinGW and CYGWIN (#556)
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.
2021-01-28 01:00:59 -06:00
Carlo Bramini
3dfc9d6dec Fix build on CYGWIN. (#557)
* [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.
2021-01-28 01:00:36 -06:00
Leland Lucius
5ba6072bbb Workaround for bug #2264
Reverting back to previous behavior to get proper
escaping.
2021-01-28 00:52:33 -06:00
Leland Lucius
d8b878f163 Reapply 5aa70545d56d4b53fa740afcf066725101d746b5
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
2021-01-28 00:47:48 -06:00
Leland Lucius
cb810e8652 Reapply 5955dbc75295997f273981224ffede70506bc185
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.
2021-01-28 00:43:08 -06:00
Leland Lucius
1f27ad932c Reapply a3afdf80d00c68dddba6aa66829ac296891bf2d4
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
2021-01-28 00:35:40 -06:00
Leland Lucius
19494d6277 Reapply 2fec472ba2b4e8df797d7dac2528d8ccbdaea44c
Author: Paul Licameli <paul.licameli@audacityteam.org>
    Date:   Tue Nov 13 07:50:01 2018 -0500

        lib-src/libnyquist: eliminate register local variables
2021-01-28 00:35:19 -06:00
Leland Lucius
981f41ccf4 Reapply 6b2a219e2687de3eb77a888ca739151c461c2aa7
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
2021-01-28 00:34:50 -06:00
Leland Lucius
9b77109eff Reapply e6d069787bb0c010c7afb55841754fb85dd123e0
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
2021-01-28 00:34:28 -06:00
Leland Lucius
9d61ee437a Reapply 016919a53bb8f17de2a9070fbe84ed88fb27e175
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.
2021-01-28 00:29:58 -06:00
Leland Lucius
7e083b6ba1 Reapply ecc2138c5ca7eadb7d77151767b1ccd8cfe4a1ca
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]
2021-01-28 00:29:22 -06:00
Leland Lucius
f678aa44f9 Reapply 132173badfe9315e94ab30fb19d366adbc63e826
Author: Julien Nabet <serval2412@yahoo.fr>
   Date:   Sat Nov 7 22:47:34 2015 +0100

       cppcheck: fix 2 reports

       [lib-src/libnyquist/nyquist/nyqsrc/f0.cpp:137]: (error) Mismatching allocation and deallocation: results
2021-01-28 00:27:43 -06:00
Leland Lucius
15b9bb96cd Update nyquist to SVN r331 (r3.16+)
------------------------------------------------------------------------
   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.
2021-01-27 23:45:25 -06:00
Leland Lucius
428193920f Bug 2209 - Nyquist: Audacity crashes when running seq-write-smf
Used upstream fix instead.  Really need to update to Nyquist
release 3.16 for many more 64-bit fixes/enhancements.
2021-01-27 10:38:10 -06:00
Leland Lucius
20fb3b24bf Bug 2209 - Nyquist: Audacity crashes when running seq-write-smf 2021-01-27 00:34:21 -06:00
Carlo Bramini
bf859736b2
[NYQUIST] Fix error build with MinGW and CYGWIN (#556)
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.
2020-06-03 13:16:28 -05:00
Carlo Bramini
717ceb6525
[NYQUIST] Fix build on CYGWIN. (#557)
* [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.
2020-06-03 13:13:41 -05:00
Leland Lucius
50c7627f74 Fix a few warnings on Windows build 2020-05-26 23:52:23 -05:00
SteveDaulton
63c7f6b722 Nyquist: Handle nyx_list return value
Required to avoid error on running Macoro Scripting commands
from Nyquist.
2020-02-15 15:28:01 +00:00
Leland Lucius
e4fda3ad3e Workaround for bug #2264
Reverting back to previous behavior to get proper
escaping.
2020-01-06 22:01:08 -06:00
Leland Lucius
911e278e60 Update Nyquist release in audacity-patches.txt
And remove unmaintained patch files.
2019-12-16 08:35:05 -06:00
Leland Lucius
45c6a70d17 Adjust build system for new Nyquist version 2019-12-16 01:00:43 -06:00
Leland Lucius
bd6ec9c0ed Misc changes to get new Nyquist to build 2019-12-16 00:59:33 -06:00
Leland Lucius
d8431d984b Add new files missed in previous commit 2019-12-16 00:57:09 -06:00
Leland Lucius
4658b88c3d Reapply 5aa70545d56d4b53fa740afcf066725101d746b5
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
2019-12-16 00:56:05 -06:00
Leland Lucius
9d465c69de Reapply 5955dbc75295997f273981224ffede70506bc185
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.
2019-12-15 23:24:59 -06:00
Leland Lucius
2870d0c8d7 Reapply a3afdf80d00c68dddba6aa66829ac296891bf2d4
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
2019-12-15 23:13:27 -06:00
Leland Lucius
b4b834dd1a Reapply 2fec472ba2b4e8df797d7dac2528d8ccbdaea44c
Author: Paul Licameli <paul.licameli@audacityteam.org>
    Date:   Tue Nov 13 07:50:01 2018 -0500

        lib-src/libnyquist: eliminate register local variables
2019-12-15 23:12:56 -06:00
Leland Lucius
425727f270 Reapply 6b2a219e2687de3eb77a888ca739151c461c2aa7
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
2019-12-15 23:11:41 -06:00
Leland Lucius
dcfe6758a6 Reapply e6d069787bb0c010c7afb55841754fb85dd123e0
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
2019-12-15 22:57:40 -06:00
Leland Lucius
82193d6784 Reapply 016919a53bb8f17de2a9070fbe84ed88fb27e175
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.
2019-12-15 22:47:18 -06:00
Leland Lucius
746f8f9f57 Reapply ecc2138c5ca7eadb7d77151767b1ccd8cfe4a1ca
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]
2019-12-15 22:20:00 -06:00
Leland Lucius
4658dd963e Reapply 132173badfe9315e94ab30fb19d366adbc63e826
Author: Julien Nabet <serval2412@yahoo.fr>
   Date:   Sat Nov 7 22:47:34 2015 +0100

       cppcheck: fix 2 reports

       [lib-src/libnyquist/nyquist/nyqsrc/sndwritepa.c:249]: (style) Same expression in both branches of ternary operator
       [lib-src/libnyquist/nyquist/nyqsrc/f0.cpp:137]: (error) Mismatching allocation and deallocation: results
2019-12-15 19:44:59 -06:00