source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "warn.hh"
#include "ly-smobs.icc"
-IMPLEMENT_UNSMOB (Moment,moment);
+
IMPLEMENT_SIMPLE_SMOBS (Moment);
IMPLEMENT_TYPE_P (Moment, "moment?");
int
Moment::print_smob (SCM s, SCM port, scm_print_state *)
{
- Moment *r = (Moment *) gh_cdr (s);
+ Moment *r = (Moment *) ly_cdr (s);
scm_puts ("#<Mom ", port);
String str (r->str ());
SCM
make_rational (SCM n, SCM d)
{
- Moment m (1,1);
+ Moment m (Rational (1,1));
if (SCM_INUMP (n) && SCM_INUMP (d))
{
- m = Moment (gh_scm2int (n), gh_scm2int (d));
+ m = Moment (Rational (gh_scm2int (n), gh_scm2int (d)));
}
else
{
grace_part_ = Rational( 0);
}
-Moment::Moment (int m, int n)
+Moment::Moment (Rational m, Rational g)
{
- main_part_ = Rational (m,n);
- grace_part_ = Rational (0);
+ main_part_ = m;
+ grace_part_ = g;
}
Moment::Moment (Rational m)
}
Moment
-Moment::operator - ( ) const
+Moment::operator - () const
{
Moment m;
m.grace_part_ = -grace_part_;
m.main_part_ = -main_part_;
return m;
}
+
+ostream &
+operator << (ostream &os, Moment const &m)
+{
+ os << m.str ();
+ return os;
+}