]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/score.hh
fcc5752e52759f0d81121386195e0ceab0a43f96
[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--2006 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 #include "std-string.hh"
19
20 class Score
21 {
22   DECLARE_SMOBS (Score, foo);
23
24   SCM music_;
25   SCM input_location_;
26 public:
27   Input *origin() const;
28  
29   vector<Output_def*> defs_;
30   string user_key_;
31   SCM header_;
32   bool error_found_;
33
34   Score ();
35   Score (Score const &);
36
37   VIRTUAL_COPY_CONSTRUCTOR (Score, Score);
38   
39   SCM get_music () const;
40   void add_output_def (Output_def *def);
41   void set_music (SCM music);
42   SCM book_rendering (Output_def *, Output_def *, Object_key *);
43 };
44
45 DECLARE_UNSMOB (Score, score);
46
47 void default_rendering (SCM, SCM, SCM, SCM, SCM, SCM);
48 SCM ly_render_output (SCM, SCM);
49 SCM ly_run_translator (SCM, SCM, SCM);
50
51 #endif /* SCORE_HH */