Discussion:
[Audacity-devel] BUG and a Nyquist problem
Shane Mueller
2002-12-07 17:18:04 UTC
Permalink
I noticed a bug when I was playing with 1.1.1 on windows: when the
project rate and the track rate do not agree, if you 'Generate' a
'pluck', the new selection range changes inappropriately, probably so it
matches the project rate and not the track rate. On my linux box, I
can't seem to reproduce it with the normal 'generate' effects, and
Nyqist doesn't currently work for me, so I'm not sure if it was the
windows build, Nyquist, or some other anomaly. Could someone investigate
this further before it gets added to bugs.txt?

The 'broken' nyquist is a little strange--Dominic's original check-in
worked for me, but after some modifications were made, I get the
following message on the console whenever I try a Nyquist plugin on
Linux:
--------------------
Warning: XLISP failed to find XLISPPATH in the environment.
If you are using Nyquist, probably you should cd to the
nyquist directory and type:
setenv XLISPPATH `pwd`/runtime:`pwd`/lib
or set XLISPPATH in your .login or .cshrc file.
error: unbound function - PLUCK
--------------------
And then a dialog appears saying that nyquist returned some value.

Is anyone else experiencing this, and is there another solution besides
setting an environment variable? That doesn't seem very elegant.

p.s., Audacity 1.0 is part of the OpenCD Project that was just
released. Once the new branch is sufficiently stable, someone should
consider writing a review and nominating it for the next version.


Stm...
--
Shane Mueller <***@umich.edu>
Joshua Haberman
2002-12-07 18:03:10 UTC
Permalink
Post by Shane Mueller
--------------------
Warning: XLISP failed to find XLISPPATH in the environment.
If you are using Nyquist, probably you should cd to the
setenv XLISPPATH `pwd`/runtime:`pwd`/lib
or set XLISPPATH in your .login or .cshrc file.
error: unbound function - PLUCK
--------------------
And then a dialog appears saying that nyquist returned some value.
Is anyone else experiencing this, and is there another solution besides
setting an environment variable? That doesn't seem very elegant.
On that same note, I would appreciate a general explanation of what exactly
Nyquist needs from the filesystem and how it finds it. I ran into trouble with
this when trying to package Audacity 1.1 for Debian -- I needed to move the
nyquist files into a different place, but I didn't know what code to change to
ensure that Audacity would still find them.

Josh
Dominic Mazzoni
2002-12-07 23:08:25 UTC
Permalink
Post by Joshua Haberman
Post by Shane Mueller
--------------------
Warning: XLISP failed to find XLISPPATH in the environment.
If you are using Nyquist, probably you should cd to the
setenv XLISPPATH `pwd`/runtime:`pwd`/lib
or set XLISPPATH in your .login or .cshrc file.
error: unbound function - PLUCK
--------------------
And then a dialog appears saying that nyquist returned some value.
Is anyone else experiencing this, and is there another solution besides
setting an environment variable? That doesn't seem very elegant.
The stuff about the environment variable is left over from the
standalone version of Nyquist.
Post by Joshua Haberman
On that same note, I would appreciate a general explanation of what exactly
Nyquist needs from the filesystem and how it finds it. I ran into trouble with
this when trying to package Audacity 1.1 for Debian -- I needed to move the
nyquist files into a different place, but I didn't know what code to change to
ensure that Audacity would still find them.
Nyquist needs a bunch of lisp files to set up its environment and define
some standard functions. These files are in audacity/nyquist and have
names that end in .lsp. Most of these are included by just one file
(I think "nyquist.lsp").

The standalone version of Nyquist uses an environment variable
(XLISPPATH) to look for these files, though it will also look in
the current directory, I believe.

In Audacity, I forego the environment variable altogether. I replaced
the function that asks for XLISPPATH, and this path is now filled in
by Audacity. It uses the same mechanism that Audacity uses to search
for all of its files now (including help files, locales, and plug-ins).

In AudacityApp::OnInit, Audacity sets up a number of search directories
based on the platform. On Windows and Mac OS, the primary search
directory is the directory containing the Audacity executable.
On Linux, the primary search directory is {prefix}/share/audacity,
where {prefix} is the install prefix set by configure.

So the first time you try to run a Nyquist effect, Audacity appends
"/nyquist/nyquist.lsp" to the end of each path in its search path,
and if any of these succeed, it gives Nyquist that directory as its
XLISPPATH.

Does that help narrow down the problem at all???

- Dominic

Loading...