X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fscore.hh;h=a5918242f14d6bf534508461801c0dc3e4134d85;hb=0943e805fa82ebeb1d1ed32e675070467e340c39;hp=414f4d5ef9c159c7546a70f4fbcb65f3e7aea0af;hpb=5df02e6bebe82a9da8ae4576bdbc08733161d636;p=lilypond.git diff --git a/lily/include/score.hh b/lily/include/score.hh index 414f4d5ef9..a5918242f1 100644 --- a/lily/include/score.hh +++ b/lily/include/score.hh @@ -1,42 +1,62 @@ /* - score.hh -- declare Score + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 1997--2015 Han-Wen Nienhuys - (c) 1997--2002 Han-Wen Nienhuys -*/ + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . +*/ #ifndef SCORE_HH #define SCORE_HH -#include "input.hh" #include "lily-proto.hh" -#include "parray.hh" +#include "input.hh" +#include "std-vector.hh" #include "smobs.hh" +#include "virtual-methods.hh" -/// the total music def of one movement -class Score: public Input { +class Score : public Smob +{ public: - /// paper_, staves_ and commands_ form the problem definition. - Link_array defs_; + SCM mark_smob () const; + static const char * const type_p_name_; + virtual ~Score (); +private: SCM music_; + SCM input_location_; SCM header_; - Input_file_results* input_file_; - - int errorlevel_; - - /// construction +public: + Input *origin () const; + + vector defs_; + bool error_found_; + Score (); - Score (Score const&); + Score (Score const &); + VIRTUAL_COPY_CONSTRUCTOR (Score, Score); - void process (); - void add_output (Music_output_def *def); - DECLARE_SMOBS (Score,foo); -private: - void run_translator (Music_output_def*); + SCM get_music () const; + void add_output_def (Output_def *def); + void set_music (SCM music); + SCM book_rendering (Output_def *, Output_def *); + SCM get_header () const; + void set_header (SCM module); }; -DECLARE_UNSMOB(Score,score); -#endif + + +SCM ly_run_translator (SCM, SCM); + +#endif /* SCORE_HH */