]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/music-output-def.hh
d95ee038bc745c6bf0feb3557b083b4f7e668aac
[lilypond.git] / lily / include / music-output-def.hh
1 /*
2   music-output-def.hh -- declare Music_output_def
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
8
9 #ifndef MUSIC_OUTPUT_DEF_HH
10 #define MUSIC_OUTPUT_DEF_HH
11
12 #include "string.hh"
13 #include "lily-proto.hh"
14 #include "lily-guile.hh"
15 #include "virtual-methods.hh"
16 #include "smobs.hh"
17 #include "input.hh"
18
19 /**
20   Definition of how to output lilypond.
21  */
22 class Music_output_def   
23 {
24 public:
25   Input input_origin_;
26   SCM scope_;
27
28   void assign_context_def (SCM transdef);
29   SCM find_context_def (SCM name) const;
30
31   Music_output_def (Music_output_def const&);
32   Music_output_def ();
33   VIRTUAL_COPY_CONSTRUCTOR (Music_output_def, Music_output_def);
34
35   Context *get_group_translator (String type) const;
36   String outname_string () ;
37   SCM c_variable (String id) const;
38   SCM lookup_variable (SCM sym) const;
39   void set_variable (SCM, SCM sym);
40   DECLARE_SMOBS (Music_output_def,);
41 };
42
43 DECLARE_UNSMOB (Music_output_def, music_output_def);
44
45 #endif /* MUSIC_OUTPUT_DEF_HH */