]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/duration.hh
release: 1.3.107
[lilypond.git] / lily / include / duration.hh
index 3f352fccc2b5aa3a9c46be66639bc8e675d9ccc9..54c4793fb8b05bc97da97993388e4b385735185c 100644 (file)
 #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&);
 
-  /// Logarithm of the base duration.
+  SCM smobbed_copy () const;
+  DECLARE_SCHEME_CALLBACK(less_p, (SCM a, SCM b));
+  DECLARE_SIMPLE_SMOBS(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);
-
-int compare (Array<Duration>*, Array<Duration>*);
+Duration*unsmob_duration(SCM);
+// int compare (Array<Duration>*, Array<Duration>*);
 
 #endif // DURATION_HH