X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fduration.hh;h=3376f081c0d2aeba3d7cffd538ea84c3083d6473;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=3f352fccc2b5aa3a9c46be66639bc8e675d9ccc9;hpb=11be23f380bcb249d49269cfa6f7889c6829011f;p=lilypond.git diff --git a/lily/include/duration.hh b/lily/include/duration.hh index 3f352fccc2..3376f081c0 100644 --- a/lily/include/duration.hh +++ b/lily/include/duration.hh @@ -1,48 +1,49 @@ /* duration.hh -- declare Duration - - source file of the LilyPond music typesetter - (c) 1997--2000 Jan Nieuwenhuizen + source file of the LilyPond music typesetter + (c) 1997--2008 Jan Nieuwenhuizen */ #ifndef DURATION_HH #define DURATION_HH -#include "flower-proto.hh" -#include "rational.hh" - +#include "moment.hh" /** A musical duration. - */ -struct Duration { +*/ +struct Duration +{ +public: + Duration (); - /// is the "plet factor" of this note != 1 ? - bool plet_b (); - String str () const; - void set_plet (int,int ); - void compress (Rational); - Rational length_mom () const ; - static int compare (Duration const&, Duration const&); + Duration (int, int); + Duration (Rational, bool scale); + string to_string () const; - /// Logarithm of the base duration. - int durlog_i_; - int dots_i_; + Duration compressed (Rational) const; + Rational get_length () const; + Rational factor () const { return factor_; } + int duration_log () const; + int dot_count () const; - /* - JUNKME. - */ - int tuplet_iso_i_; // 2/3; 2 is not duration, maar of count! - int tuplet_type_i_; + static int compare (Duration const &, Duration const &); -}; + DECLARE_SCHEME_CALLBACK (less_p, (SCM a, SCM b)); + DECLARE_SIMPLE_SMOBS (Duration); -#include "compare.hh" -INSTANTIATE_COMPARE(Duration, Duration::compare); +private: + /// Logarithm of the base duration. + int durlog_; + int dots_; + + Rational factor_; +}; -int compare (Array*, Array*); +INSTANTIATE_COMPARE (Duration, Duration::compare); +DECLARE_UNSMOB (Duration, duration); #endif // DURATION_HH