1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-26 07:10:09 +01:00

Nyquist Effects now treat Nyquist code and output as UTF-8. Nyquist Prompt effect accepts both LISP and SAL (in SAL, either define function main or write return <expression> at the top level).

This commit is contained in:
rbdannenberg
2010-11-01 03:15:39 +00:00
parent 38caac8648
commit f2e6d8ec0f
4 changed files with 136 additions and 17 deletions

View File

@@ -487,6 +487,21 @@
(if *sal-traceback* (sal-traceback))
(setf *sal-call-stack* stack)) ;; clear the stack
;; when true, top-level return statement is legal and compiled into MAIN
(setf *audacity-top-level-return-flag* nil)
;; SAL-COMPILE-AUDACITY -- special treatment of RETURN
;;
;; This works like SAL-COMPILE, but if there is a top-level
;; return statement (not normally legal), it is compiled into
;; a function named MAIN. This is a shorthand for Audacity plug-ins
;;
(defun sal-compile-audacity (input eval-flag multiple-statements filename)
(progv '(*audacity-top-level-return-flag*) '(t)
(sal-compile input eval-flag multiple-statements filename)))
;; SAL-COMPILE -- translate string or token list to lisp and eval
;;
;; input is either a string or a token list