lilypond-1.3.118
[lilypond.git] / lily / include / music-output-def.hh
blob503a1c8105f57c15b5be3c53466f7b517ad04500
1 /*
2 music-output-def.hh -- declare Music_output_def
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
10 #ifndef Music_output_DEF_HH
11 #define Music_output_DEF_HH
13 #include "string.hh"
14 #include "lily-proto.hh"
15 #include "lily-guile.hh"
16 #include "virtual-methods.hh"
17 #include "smobs.hh"
19 /**
20 Definition of how to output lilypond.
22 TODO: smobify, remove Music_output_def_identifier.
24 class Music_output_def
26 public:
27 Scheme_hash_table * translator_tab_;
28 Scheme_hash_table * variable_tab_;
29 Scope *translator_p_dict_p_;
30 Scope *scope_p_;
32 SCM scaled_fonts_;
33 SCM style_sheet_;
35 VIRTUAL_COPY_CONS(Music_output_def);
36 Music_output_def (Music_output_def const&);
37 Music_output_def ();
38 virtual int get_next_default_count () const;
40 Global_translator *get_global_translator_p ();
41 Translator_group *get_group_translator_p (String type) const;
42 String get_default_output () const;
43 void assign_translator (SCM transdef);
44 SCM find_translator_l (SCM name) const;
45 String base_output_str () ;
47 DECLARE_SMOBS(Music_output_def,);
50 Music_output_def* unsmob_music_output_def (SCM);
51 #endif // Music_output_DEF_HH