]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/duration.hh
patch::: 1.3.79.jcn2
[lilypond.git] / lily / include / duration.hh
1 /*
2   duration.hh -- declare Duration
3   
4   source file of the LilyPond music typesetter
5
6   (c)  1997--2000 Jan Nieuwenhuizen <janneke@gnu.org>
7
8 */
9
10 #ifndef DURATION_HH
11 #define DURATION_HH
12
13 #include "flower-proto.hh"
14 #include "rational.hh"
15
16
17 /**
18    A musical duration.
19   */
20 struct Duration {
21   Duration ();
22   /// is the "plet factor" of this note != 1 ?
23   bool plet_b ();
24   String str () const;
25   void set_plet (int,int );
26   void compress (Rational);
27   Rational length_mom () const ;
28   static int compare (Duration const&, Duration const&);
29
30   /// Logarithm of the base duration.
31   int durlog_i_;
32   int dots_i_;
33
34   /*
35     JUNKME.
36    */
37   int tuplet_iso_i_;  // 2/3; 2 is not duration, maar of count!
38   int tuplet_type_i_; 
39
40 };
41
42 #include "compare.hh"
43 INSTANTIATE_COMPARE(Duration, Duration::compare);
44
45 int compare (Array<Duration>*, Array<Duration>*);
46
47 #endif // DURATION_HH
48