lilypond-1.3.151
[lilypond.git] / scm / standalone.scm
blob6596a700c09d95258a8c884c0db467ef2b97b1e0
1 ;;;; standalone.scm -- implement Scheme stuff for use without LilyPond
2 ;;;;
3 ;;;;  source file of the GNU LilyPond music typesetter
4 ;;;; 
5 ;;;; (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
6 ;;;; Han-Wen Nienhuys <hanwen@cs.uu.nl>
8 (define standalone (not (defined? 'ly-gulp-file)))
9 ;;(write standalone (current-error-port))
11 (define (gulp-file name)
12   (let* ((file (open-input-file name))
13          (text (read-delimited "" file)))
14     (close file)
15     text))
17 (define (scm-gulp-file name)
18   (set! %load-path 
19         (cons (string-append (getenv 'LILYPONDPREFIX) "/ly")
20               (cons (string-append (getenv 'LILYPONDPREFIX) "/ps")
21                     %load-path)))
22   (let ((path (%search-load-path name)))
23        (if path
24            (gulp-file path)
25            (gulp-file name))))
27 (define (scm-number->string x)
28   (let ((e (inexact->exact x)))
29     (string-append (if (= e x)
30                        (number->string e)
31                        (number->string x))
32                    " ")))
34 (define ly-gulp-file scm-gulp-file)
35 (define ly-number->string scm-number->string)
37 (eval-string (ly-gulp-file "lily.scm"))