]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/score.hh
Merge branch 'master' of ssh://kainhofer@git.sv.gnu.org/srv/git/lilypond into dev...
[lilypond.git] / lily / include / score.hh
1 /*
2   score.hh -- declare Score
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
7 */
8
9 #ifndef SCORE_HH
10 #define SCORE_HH
11
12 #include "lily-proto.hh"
13
14 #include "input.hh"
15 #include "std-vector.hh"
16 #include "smobs.hh"
17 #include "virtual-methods.hh"
18
19 class Score
20 {
21   DECLARE_SMOBS (Score);
22
23   SCM music_;
24   SCM input_location_;
25   SCM header_;
26 public:
27   Input *origin() const;
28  
29   vector<Output_def*> defs_;
30   string user_key_;
31   bool error_found_;
32
33   Score ();
34   Score (Score const &);
35
36   VIRTUAL_COPY_CONSTRUCTOR (Score, Score);
37   
38   SCM get_music () const;
39   void add_output_def (Output_def *def);
40   void set_music (SCM music);
41   SCM book_rendering (Output_def *, Output_def *);
42   SCM get_header () const;
43   void set_header (SCM module);
44 };
45
46 DECLARE_UNSMOB (Score, score);
47
48 SCM ly_render_output (SCM, SCM);
49 SCM ly_run_translator (SCM, SCM);
50
51 #endif /* SCORE_HH */