mirror of
https://github.com/cookiengineer/audacity
synced 2025-12-11 15:16:27 +01:00
Update Nyquist to v3.09.
This commit is contained in:
60
lib-src/libnyquist/nyquist/sys/unix/osx/README.txt
Normal file
60
lib-src/libnyquist/nyquist/sys/unix/osx/README.txt
Normal file
@@ -0,0 +1,60 @@
|
||||
sys/unix/osx/README.txt -- notes on OS X (Apple) version of Nyquist
|
||||
|
||||
Roger B. Dannenberg
|
||||
23 April 2011
|
||||
|
||||
HOW TO REBUILD STUBS TO CALL NYQUIST PRIMITIVES FROM XLISP
|
||||
|
||||
The file nyqsrc/sndfnint.c implements XLISP functions that correspond
|
||||
to Nyquist primitives such as SND-OSC. This file and a number of
|
||||
associated files (such as sndfnintdefs.h) are built automatically by
|
||||
the intgen program. This process is automated in the Linux Makefile,
|
||||
but here's how to do it under OS X.
|
||||
|
||||
0. COMPILE NYQUIST WITH XCODE
|
||||
Before changing the sources, make sure you can compile your existing
|
||||
installation of Nyquist using XCODE.
|
||||
|
||||
1. COMPILE INTGEN WITH XCODE
|
||||
From XCODE, choose Active Configuration: Deployment, Active Target:
|
||||
intgen, Active Executable: intgen.
|
||||
|
||||
Build (Command-B).
|
||||
|
||||
Result is in nyquist/macosxproject/build/Deployment/intgen. You might
|
||||
want to make an alias to this or move it to your ~/bin directory or
|
||||
change your PATH so you can execute this from the command line without
|
||||
typing the full path. In the following, I assume simply typing
|
||||
"intgen" will run the application.
|
||||
|
||||
After setting up intgen to run, the command "which intgen" should
|
||||
indicate the path to intgen that the shell will use.
|
||||
|
||||
2. WORK IN A TERMINAL WINDOW AND CD TO THE MAIN NYQUIST DIRECTORY
|
||||
Open a Terminal application.
|
||||
cd nyquist [or navigate using cd to wherever your nyquist sources are]
|
||||
|
||||
3. GENERATE THE INTERFACE CODE
|
||||
Note: if you are adding a new primitive, you will want to modify
|
||||
sys/unix/osx/sndfnint.cmdline by inserting the name of the header (.h)
|
||||
file for the new primitive. (For a nyquist release, the name should
|
||||
also go into a list in nyquist/misc/transfiles.lsp and the Makefiles
|
||||
should be rebuilt, but we'll stick to the Apple-specific tasks here.)
|
||||
|
||||
intgen @sys/unix/osx/sndfnint.cmdline
|
||||
|
||||
The files sndfnint.c, sndfnint.lsp, sndfnintdefs.h, and sndfnintptrs.h
|
||||
will be generated and placed in the current (nyquist) directory.
|
||||
|
||||
4. INSTALL THE FILES
|
||||
You might want to make a safe backup copy of the original
|
||||
nyqsrc/sndfnint.c, nyqsrc/sndfnint.lsp, nyqsrc/sndfnintdefs.h, and
|
||||
nyqsrc/sndfnintptrs.h for reference.
|
||||
|
||||
Move the new files to nyqsrc:
|
||||
|
||||
mv sndfnint.c sndfnint.lsp sndfnintdefs.h sndfnintptrs.h nyqsrc
|
||||
|
||||
5. RECOMPILE NYQUIST WITH XCODE
|
||||
|
||||
|
||||
5
lib-src/libnyquist/nyquist/sys/unix/osx/run
Normal file
5
lib-src/libnyquist/nyquist/sys/unix/osx/run
Normal file
@@ -0,0 +1,5 @@
|
||||
#csh
|
||||
# INSTRUCTIONS: for developers, in the top nyquist directory:
|
||||
# ln -l sys/unix/osx/run
|
||||
# ln -s macosxproject/build/ny
|
||||
java -cp jnyqide/NyquistIDE.jar jnyqide.Main
|
||||
105
lib-src/libnyquist/nyquist/sys/unix/osx/sndfnint.cmdline
Normal file
105
lib-src/libnyquist/nyquist/sys/unix/osx/sndfnint.cmdline
Normal file
@@ -0,0 +1,105 @@
|
||||
sndfnint
|
||||
nyqsrc/sndfmt.h
|
||||
nylsf/sndfile.h
|
||||
nyqsrc/sound.h
|
||||
nyqsrc/add.h
|
||||
nyqsrc/avg.h
|
||||
nyqsrc/compose.h
|
||||
nyqsrc/convolve.h
|
||||
nyqsrc/downsample.h
|
||||
nyqsrc/fft.h
|
||||
nyqsrc/inverse.h
|
||||
nyqsrc/multiseq.h
|
||||
nyqsrc/resamp.h
|
||||
nyqsrc/resampv.h
|
||||
nyqsrc/samples.h
|
||||
nyqsrc/sndmax.h
|
||||
nyqsrc/sndread.h
|
||||
nyqsrc/sndseq.h
|
||||
nyqsrc/sndsliders.h
|
||||
nyqsrc/sndwrite.h
|
||||
nyqsrc/yin.h
|
||||
nyqsrc/nyq-osc-server.h
|
||||
nyqsrc/trigger.h
|
||||
nyqsrc/lpanal.h
|
||||
nyqsrc/phasevocoder.h
|
||||
nyqsrc/pvshell.h
|
||||
tran/abs.h
|
||||
tran/allpoles.h
|
||||
tran/alpass.h
|
||||
tran/alpasscv.h
|
||||
tran/alpassvv.h
|
||||
tran/amosc.h
|
||||
tran/areson.h
|
||||
tran/aresonvc.h
|
||||
tran/aresoncv.h
|
||||
tran/aresonvv.h
|
||||
tran/atone.h
|
||||
tran/atonev.h
|
||||
tran/biquadfilt.h
|
||||
tran/buzz.h
|
||||
tran/chase.h
|
||||
tran/clip.h
|
||||
tran/congen.h
|
||||
tran/const.h
|
||||
tran/coterm.h
|
||||
tran/delaycc.h
|
||||
tran/delaycv.h
|
||||
tran/eqbandvvv.h
|
||||
tran/exp.h
|
||||
tran/follow.h
|
||||
tran/fmosc.h
|
||||
tran/fromobject.h
|
||||
tran/fromarraystream.h
|
||||
tran/gate.h
|
||||
tran/ifft.h
|
||||
tran/instrclar.h
|
||||
tran/instrclarall.h
|
||||
tran/instrclarfreq.h
|
||||
tran/instrsax.h
|
||||
tran/instrsaxall.h
|
||||
tran/instrsaxfreq.h
|
||||
tran/integrate.h
|
||||
tran/log.h
|
||||
tran/lpreson.h
|
||||
tran/maxv.h
|
||||
tran/offset.h
|
||||
tran/oneshot.h
|
||||
tran/osc.h
|
||||
tran/partial.h
|
||||
tran/pluck.h
|
||||
tran/prod.h
|
||||
tran/pwl.h
|
||||
tran/quantize.h
|
||||
tran/recip.h
|
||||
tran/reson.h
|
||||
tran/resonvc.h
|
||||
tran/resoncv.h
|
||||
tran/resonvv.h
|
||||
tran/sampler.h
|
||||
tran/scale.h
|
||||
tran/shape.h
|
||||
tran/sine.h
|
||||
tran/siosc.h
|
||||
tran/slope.h
|
||||
tran/sqrt.h
|
||||
tran/tapf.h
|
||||
tran/tapv.h
|
||||
tran/tone.h
|
||||
tran/tonev.h
|
||||
tran/upsample.h
|
||||
tran/white.h
|
||||
tran/stkrev.h
|
||||
tran/stkpitshift.h
|
||||
tran/stkchorus.h
|
||||
tran/instrbow.h
|
||||
tran/instrbowedfreq.h
|
||||
tran/instrbanded.h
|
||||
tran/instrmandolin.h
|
||||
tran/instrsitar.h
|
||||
tran/instrmodalbar.h
|
||||
tran/instrflute.h
|
||||
tran/instrflutefreq.h
|
||||
tran/instrfluteall.h
|
||||
tran/fmfb.h
|
||||
tran/fmfbv.h
|
||||
69
lib-src/libnyquist/nyquist/sys/unix/osx/system.lsp
Normal file
69
lib-src/libnyquist/nyquist/sys/unix/osx/system.lsp
Normal file
@@ -0,0 +1,69 @@
|
||||
;; system.lsp -- system-dependent lisp code
|
||||
|
||||
; local definition for play
|
||||
; this one is for Mac OS-X:
|
||||
|
||||
(if (not (boundp '*default-sf-format*))
|
||||
(setf *default-sf-format* snd-head-wave))
|
||||
|
||||
(if (not (boundp '*default-sound-file*))
|
||||
(compute-default-sound-file))
|
||||
|
||||
(if (not (boundp '*default-sf-dir*))
|
||||
(setf *default-sf-dir* "/tmp"))
|
||||
|
||||
(format t "*default-sf-dir* (default sound file directory) is ~A~%"
|
||||
*default-sf-dir*)
|
||||
|
||||
(if (not (boundp '*default-sf-mode*))
|
||||
(setf *default-sf-mode* snd-mode-pcm))
|
||||
|
||||
(if (not (boundp '*default-sf-bits*))
|
||||
(setf *default-sf-bits* 16))
|
||||
|
||||
(if (not (boundp '*default-plot-file*))
|
||||
(setf *default-plot-file* (strcat (get-user) "-points.dat")))
|
||||
|
||||
|
||||
; FULL-NAME-P -- test if file name is a full path or relative path
|
||||
;
|
||||
; (otherwise the *default-sf-dir* will be prepended
|
||||
;
|
||||
(defun full-name-p (filename)
|
||||
(or (eq (char filename 0) #\/)
|
||||
(eq (char filename 0) #\.)))
|
||||
|
||||
; RELATIVE-PATH-P -- test if filename or path is a relative path
|
||||
;
|
||||
(defun relative-path-p (filename)
|
||||
(not (eq (char filename 0) #\/)))
|
||||
|
||||
(setf *file-separator* #\/)
|
||||
|
||||
|
||||
;; PLAY-FILE - play a sound file
|
||||
;;
|
||||
(defun play-file (name)
|
||||
(s-save (s-read name) NY:ALL "" :play t))
|
||||
|
||||
|
||||
;; R - replay last file written with PLAY
|
||||
(defun r () (play-file *default-sound-file*))
|
||||
|
||||
;;;; use this old version if you want to use sndplay to play
|
||||
;;;; the result file rather than play the samples as they
|
||||
;;;; are computed. This version does not autonormalize.
|
||||
;; PLAY - write value of an expression to file and play it
|
||||
;;
|
||||
;(defmacro play (expr)
|
||||
; `(prog (specs)
|
||||
; (setf specs (s-save (force-srate *sound-srate* ,expr)
|
||||
; 1000000000 *default-sound-file*))
|
||||
; (r)))
|
||||
;;;;
|
||||
|
||||
; local definition for play
|
||||
(defmacro play (expr)
|
||||
`(s-save-autonorm ,expr NY:ALL *default-sound-file* :play *soundenable*))
|
||||
|
||||
;; use standard s-plot
|
||||
Reference in New Issue
Block a user