X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fprob.hh;h=a9a485b5502642924d8610e352ec7b2967b3d2d6;hb=f02831f92e71ce43e3b67e06c0d46dc19ad9bde3;hp=77c1a634eaa48219b74d7ee80e0e69c6303eb6f3;hpb=e7aa6c445f463844dbaa52d38ea4aac2882b5601;p=lilypond.git diff --git a/lily/include/prob.hh b/lily/include/prob.hh index 77c1a634ea..a9a485b550 100644 --- a/lily/include/prob.hh +++ b/lily/include/prob.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Jan Nieuwenhuizen + Copyright (C) 2004--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,6 +20,7 @@ #ifndef PROPERTY_OBJECT_HH #define PROPERTY_OBJECT_HH +#include "pitch.hh" #include "stencil.hh" #include "virtual-methods.hh" @@ -31,9 +32,15 @@ Property_object. Page-breaking handles Property_object objects. */ -class Prob +class Prob : public Smob { - DECLARE_SMOBS (Prob); +public: + int print_smob (SCM, scm_print_state *) const; + SCM mark_smob () const; + static SCM equal_p (SCM, SCM); + static const char * const type_p_name_; + virtual ~Prob (); +private: DECLARE_CLASSNAME (Prob); void init_vars (); @@ -55,9 +62,14 @@ public: SCM internal_get_property (SCM sym) const; void instrumented_set_property (SCM, SCM, const char *, int, const char *); void internal_set_property (SCM sym, SCM val); + + // Needed in both Music and Stream_event + // For technical reasons defined in lily/music.cc + // + /// Transpose, with the interval central C to #p# + void transpose (Pitch p); }; -DECLARE_UNSMOB (Prob, prob); SCM ly_prob_set_property_x (SCM system, SCM sym, SCM value); SCM ly_prob_property (SCM prob, SCM sym, SCM val);