X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fduration.hh;h=54c4793fb8b05bc97da97993388e4b385735185c;hb=af51453530b95aee167fe02ee3f4cb0c8dcd1fe2;hp=da85a462397b78e9738e556be6af7d53ee991981;hpb=c7205110d9cf8c4acb6149047f1674e2aa1a348b;p=lilypond.git diff --git a/lily/include/duration.hh b/lily/include/duration.hh index da85a46239..54c4793fb8 100644 --- a/lily/include/duration.hh +++ b/lily/include/duration.hh @@ -11,31 +11,42 @@ #define DURATION_HH #include "flower-proto.hh" -#include "rational.hh" - +#include "moment.hh" +#include "smobs.hh" /** A musical duration. */ struct Duration { Duration (); - /// is the "plet factor" of this note != 1 ? - bool plet_b (); + Duration (int, int); String str () const; void set_plet (int,int ); - void compress (Rational); + Duration compressed (Rational) const; Rational length_mom () const ; + static int compare (Duration const&, Duration const&); + + SCM smobbed_copy () const; + DECLARE_SCHEME_CALLBACK(less_p, (SCM a, SCM b)); + DECLARE_SIMPLE_SMOBS(Duration,); - /// Logarithm of the base duration. +public: + int duration_log ()const; + int dot_count () const; + +private: + /// Logarithm of the base duration. int durlog_i_; int dots_i_; - /* - JUNKME. - */ - int tuplet_iso_i_; // 2/3; 2 is not duration, maar of count! - int tuplet_type_i_; + Moment factor_; }; + +#include "compare.hh" +INSTANTIATE_COMPARE(Duration, Duration::compare); +Duration*unsmob_duration(SCM); +// int compare (Array*, Array*); + #endif // DURATION_HH