X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fcontext.hh;h=4121f84c7836de7ac9aab17cb91286c9f62bafc7;hb=ec96fa3e252e98f3f540e9a0076510486c3a06d7;hp=33e8f8c9a03e6257dfc9326bf856c436c8423a67;hpb=6ca8c4c4e535b34f84ea33969ab09ff5c24731ea;p=lilypond.git diff --git a/lily/include/context.hh b/lily/include/context.hh index 33e8f8c9a0..4121f84c78 100644 --- a/lily/include/context.hh +++ b/lily/include/context.hh @@ -1,20 +1,32 @@ /* - context.hh -- declare Context + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2004--2011 Han-Wen Nienhuys - (c) 2004--2007 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 CONTEXT_HH #define CONTEXT_HH +#include "duration.hh" +#include "lily-proto.hh" #include "listener.hh" #include "moment.hh" +#include "scm-hash.hh" #include "std-vector.hh" #include "virtual-methods.hh" -#include "scm-hash.hh" -#include "lily-proto.hh" class Context { @@ -102,7 +114,7 @@ public: virtual Context *get_score_context () const; virtual Output_def *get_output_def () const; virtual Moment now_mom () const; - virtual Context *get_default_interpreter (); + virtual Context *get_default_interpreter (string context_id = ""); bool is_alias (SCM) const; void add_alias (SCM); @@ -134,12 +146,17 @@ Context *find_context_below (Context *where, bool melisma_busy (Context *); Context *get_voice_to_lyrics (Context *lyrics); -Grob *get_current_note_head (Context *voice); +Grob *get_current_note_head (Context *voice, bool include_grace_notes); Grob *get_current_rest (Context *voice); DECLARE_UNSMOB (Context, context); Moment measure_position (Context const *context); +Moment measure_position (Context const *context, Duration const *dur); Rational measure_length (Context const *context); +int measure_number (Context const *context); + +bool check_repeat_count_visibility (Context const *context, SCM count); + void set_context_property_on_children (Context *trans, SCM sym, SCM val); /* Shorthand for creating and broadcasting stream events. */ @@ -154,4 +171,3 @@ SCM nested_property_revert_alist (SCM alist, SCM prop_path); SCM evict_from_alist (SCM, SCM, SCM); #endif /* CONTEXT_HH */ -