X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fscore.hh;h=4f1933c8b537efc504b1bcd44b5a00b9ed17d062;hb=45dbb4db1979bd4bd531e0d66690fb8d3144f473;hp=dea8806243156b51f33a561002822ef73cc68c1b;hpb=6ce61146edb1c36647b514778c29cdc9beedab6a;p=lilypond.git diff --git a/lily/include/score.hh b/lily/include/score.hh index dea8806243..4f1933c8b5 100644 --- a/lily/include/score.hh +++ b/lily/include/score.hh @@ -3,82 +3,49 @@ source file of the GNU LilyPond music typesetter - (c) 1997 Han-Wen Nienhuys + (c) 1997--2007 Han-Wen Nienhuys */ - #ifndef SCORE_HH #define SCORE_HH -#include "varray.hh" -#include "lily-proto.hh" -#include "plist.hh" -#include "moment.hh" -#include "assoc.hh" -#include "string.hh" -#include "input.hh" #include "lily-proto.hh" -/// the total music def of one movement -class Score: public Input { -public: - /// paper_, staffs_ and commands_ form the problem definition. - Paper_def *paper_p_; - Midi_def *midi_p_; - Music * music_p_; - PScore *pscore_p_; - - int errorlevel_i_; - - /* *************************************************************** */ - - /// construction - Score(); - ~Score(); - - /// do everything except outputting to file - void process(); - - /// output to file - void output(String fn); - - - /// - void set(Midi_def* midi_p); - /// - void set(Paper_def* midi_p); - - void print() const; - - Score(Score const&); -private: - - - - void run_translator(Global_translator*); - void midi_output(); - void paper_output(); - - /// do midi stuff - void midi(); +#include "input.hh" +#include "std-vector.hh" +#include "smobs.hh" +#include "virtual-methods.hh" - /// do paper stuff - void paper(); +class Score +{ + DECLARE_SMOBS (Score); - // utils: - PCursor create_cols(Moment, PCursor &last); + SCM music_; + SCM input_location_; + SCM header_; +public: + Input *origin() const; + + vector defs_; + string user_key_; + bool error_found_; + + Score (); + Score (Score const &); + + VIRTUAL_COPY_CONSTRUCTOR (Score, Score); + + 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); - /** - make the pcol_l_ fields of each Score_column point to the correct PCol, - remove any unnecessary Score_column's - */ - void do_cols(); +SCM ly_render_output (SCM, SCM); +SCM ly_run_translator (SCM, SCM); - /// remove unused cols - void clean_cols(); - - /// add #Idealspacings# to #pscore_# - void calc_idealspacing(); -}; -#endif +#endif /* SCORE_HH */