X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fpaper-outputter.hh;h=fc6a20b7124d72f8e1ecbb36ae2f6ee08779abfb;hb=f4ff2e488239d66830ac8b3ae5771358a917b58f;hp=58c23e2464367efa74c6afe42252f584abbaf296;hpb=25645986aa3e8d999e901426932c539e8de6a1ca;p=lilypond.git diff --git a/lily/include/paper-outputter.hh b/lily/include/paper-outputter.hh index 58c23e2464..fc6a20b712 100644 --- a/lily/include/paper-outputter.hh +++ b/lily/include/paper-outputter.hh @@ -16,34 +16,31 @@ #include "lily-guile.hh" #include "protected-scm.hh" -/** - Interface for a Grob to output itself; The Paper_score contains a - pointer to a Paper_outputter, and this enables every grob to output - itself. - - The Paper_outputter contains a reference to an output stream - (Paper_stream). */ - +/* + Glue between the backend (grobs, systems, pages) and the output file. + proxy for Scheme backends. +*/ class Paper_outputter { - bool verbatim_scheme_b_; + SCM output_module_; + String filename_; + SCM file_; + + SCM file (); + public: + DECLARE_SMOBS (Paper_outputter,); - SCM output_func_ ; - Protected_scm file_; - - String basename_; - Paper_outputter (String nm); - ~Paper_outputter (); - - void dump_scheme (SCM); - - void output_metadata (SCM, Paper_def*); - void output_music_output_def (Music_output_def* odef); +public: + SCM dump_string (SCM); void output_scheme (SCM scm); - void output_expr (SCM expr, Offset o); - void output_header (Paper_def*); - void output_line (SCM, bool); + Paper_outputter (String nm, String format); + SCM scheme_to_string (SCM); + void output_stencil (Stencil); + void close(); }; +Paper_outputter *get_paper_outputter (String, String); +DECLARE_UNSMOB (Paper_outputter, outputter); + #endif /* PAPER_OUTPUTTER_HH */