]> git.donarmstrong.com Git - lilypond.git/blobdiff - lib/duration.cc
release: 0.1.11
[lilypond.git] / lib / duration.cc
index e341d75831895155db2a1b09f1bb49b0ebe73278..f04c5e42c05b6a4744d91f805aa5f55b9df4fd03 100644 (file)
@@ -3,13 +3,11 @@
 
   source file of the LilyPond music typesetter
 
-  copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
-
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+  (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+           Han-Wen Nienhuys <hanwen@stack.nl>
 */
 
-// split into 4?
-
+#include <assert.h>
 #include "proto.hh"
 #include "plist.hh"
 #include "string.hh"
 #include "source.hh"
 #include "moment.hh"
 #include "duration.hh"
-#include "debug.hh"  //ugh
 #include "duration-convert.hh"
 
 // statics Duration
 int Duration::division_1_i_s = 384 * 4;
 
-Duration::Duration( int type_i, int dots_i = 0)
+
+Duration::Duration()
 {
-       type_i_ = type_i;
-       dots_i_ = dots_i;
-       ticks_i_ = 0;
+  durlog_i_ = 0;
+  dots_i_ = 0;
+  ticks_i_ = 0;
 }
-void
-Duration::set_plet(int i, int t)
+
+bool
+Duration::duration_type_b(int t)
 {
-    plet_.iso_i_ = i; 
-    plet_.type_i_ = t;
+  /*
+    ugh. Assuming behavior of conversion funcs on broken input.
+   */
+  return t == Duration_convert::type2_i(Duration_convert::i2_type(t));
 }
 
+// ugh, what's this?
+// i should be called "mom()", ... or at least "length_mom()"
 Moment
 Duration::length() const
 {
-    return Duration_convert::dur2_mom(*this);
+  return Duration_convert::dur2_mom(*this);
 }
+
 void
-Duration::set_ticks( int ticks_i )
-{
-       assert( !type_i_ );
-       assert( !dots_i_ );
-       ticks_i_ = ticks_i;
-}
-String
-Duration::str()const
-{
-    return Duration_convert::dur2_str(*this);
-}
-Plet::Plet( int iso_i, int type_i )
+Duration::set_plet(int i, int t)
 {
-       iso_i_ = iso_i;
-       type_i_ = type_i;
+  plet_.iso_i_ = i; 
+  plet_.type_i_ = t;
 }
-Moment
-Plet::mom()const
+
+void
+Duration::set_plet(Duration d)
 {
-    return  Moment( iso_i_, type_i_ );
+  plet_.iso_i_ = d.plet_.iso_i_; 
+  plet_.type_i_ = d.plet_.type_i_;
 }
 
-Plet::Plet()
+void
+Duration::set_ticks(int ticks_i)
 {
-    type_i_ = 1;
-    iso_i_ = 1;
+  assert(durlog_i_ <10);
+  assert(!dots_i_);
+  ticks_i_ = ticks_i;
 }
-bool
-Plet::unit_b()const
+
+String
+Duration::str() const
 {
-    return type_i_ == 1 && iso_i_ == 1;
+  return Duration_convert::dur2_str(*this);
 }
+
+
 bool
 Duration::plet_b()
 {
-    return !plet_.unit_b();
+  return !plet_.unit_b();
 }