2 music-output-def.hh -- declare Music_output_def
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
10 #ifndef Music_output_DEF_HH
11 #define Music_output_DEF_HH
14 #include "lily-proto.hh"
15 #include "lily-guile.hh"
16 #include "virtual-methods.hh"
20 Definition of how to output lilypond.
22 TODO: smobify, remove Music_output_def_identifier.
24 TODO: remove Scope structure. Scheme_hash_table has all the info.
26 class Music_output_def
29 Scheme_hash_table * translator_tab_;
30 Scheme_hash_table * variable_tab_;
32 Scope *translator_p_dict_p_;
38 VIRTUAL_COPY_CONS (Music_output_def);
39 Music_output_def (Music_output_def const&);
41 virtual int get_next_score_count () const;
43 Global_translator *get_global_translator_p ();
44 Translator_group *get_group_translator_p (String type) const;
45 void assign_translator (SCM transdef);
46 SCM find_translator_l (SCM name) const;
47 String outname_str () ;
49 DECLARE_SMOBS (Music_output_def,);
52 DECLARE_UNSMOB(Music_output_def,music_output_def);
53 #endif // Music_output_DEF_HH