]> git.donarmstrong.com Git - lilypond.git/blob - scm/standalone.scm
Merge remote-tracking branch 'origin/translation'
[lilypond.git] / scm / standalone.scm
1 ;;;; This file is part of LilyPond, the GNU music typesetter.
2 ;;;;
3 ;;;; Copyright (C) 1998--2014 Jan Nieuwenhuizen <janneke@gnu.org>
4 ;;;;                 Han-Wen Nienhuys <hanwen@xs4all.nl>
5 ;;;;
6 ;;;; LilyPond is free software: you can redistribute it and/or modify
7 ;;;; it under the terms of the GNU General Public License as published by
8 ;;;; the Free Software Foundation, either version 3 of the License, or
9 ;;;; (at your option) any later version.
10 ;;;;
11 ;;;; LilyPond is distributed in the hope that it will be useful,
12 ;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
13 ;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 ;;;; GNU General Public License for more details.
15 ;;;;
16 ;;;; You should have received a copy of the GNU General Public License
17 ;;;; along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
18
19
20 (use-modules (ice-9 rdelim))
21
22 (define standalone (not (defined? 'ly:gulp-file)))
23 ;;(write standalone (current-error-port))
24
25 (define (gulp-file name)
26   (let* ((file (open-input-file name))
27          (text (read-delimited "" file)))
28     (close file)
29     text))
30
31 (define (scm-gulp-file name)
32   (set! %load-path
33         (cons (string-append (getenv "LILYPOND_DATADIR") "/ly")
34               (cons (string-append (getenv "LILYPOND_DATADIR") "/ps")
35                     %load-path)))
36   (let ((path (%search-load-path name)))
37     (if path
38         (gulp-file path)
39         (gulp-file name))))
40
41 (define (scm-number->string x)
42   (let ((e (inexact->exact x)))
43     (string-append (if (= e x)
44                        (number->string e)
45                        (number->string x))
46                    " ")))
47
48 (define ly:gulp-file scm-gulp-file)
49 (define ly:number->string scm-number->string)
50
51 (eval-string (ly:gulp-file "lily.scm"))