2 duration.cc -- implement Duration, Plet,
4 source file of the LilyPond music typesetter
6 (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
7 Han-Wen Nienhuys <hanwen@cs.uu.nl>
10 UGH. Duration is broken.
15 #include "flower-proto.hh"
17 #include "source-file.hh"
19 #include "rational.hh"
20 #include "duration.hh"
21 #include "duration-convert.hh"
24 int Duration::division_1_i_s = 384 * 4;
35 Duration::duration_type_b (int t)
38 ugh. Assuming behavior of conversion funcs on broken input.
40 return t == Duration_convert::type2_i (Duration_convert::i2_type (t));
44 Duration::compress (Rational m)
46 plet_.iso_i_ *= m.num ();
47 plet_.type_i_ *= m.den ();
51 Duration::length_mom () const
53 return Duration_convert::dur2_mom (*this);
57 Duration::set_plet (int i, int t)
65 Duration::set_plet (Duration d)
67 plet_.iso_i_ = d.plet_.iso_i_;
68 plet_.type_i_ = d.plet_.type_i_;
73 Duration::set_ticks (int ticks_i)
75 assert (durlog_i_ <10);
81 Duration::str () const
83 return Duration_convert::dur2_str (*this);
90 return !plet_.unit_b ();