/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1997--2011 Jan Nieuwenhuizen <janneke@gnu.org>
+ Copyright (C) 1997--2015 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
#include "misc.hh"
#include "lily-proto.hh"
-#include "ly-smobs.icc"
int
Duration::compare (Duration const &left, Duration const &right)
return s;
}
-IMPLEMENT_TYPE_P (Duration, "ly:duration?");
+const char * const Duration::type_p_name_ = "ly:duration?";
-SCM
-Duration::mark_smob (SCM)
-{
- return SCM_EOL;
-}
-IMPLEMENT_SIMPLE_SMOBS (Duration);
int
-Duration::print_smob (SCM s, SCM port, scm_print_state *)
+Duration::print_smob (SCM port, scm_print_state *) const
{
- Duration *r = (Duration *) SCM_CELL_WORD_1 (s);
-
scm_puts ("#<Duration ", port);
- scm_display (ly_string2scm (r->to_string ()), port);
+ scm_display (ly_string2scm (to_string ()), port);
scm_puts (" >", port);
return 1;
SCM
Duration::equal_p (SCM a, SCM b)
{
- Duration *p = (Duration *) SCM_CELL_WORD_1 (a);
- Duration *q = (Duration *) SCM_CELL_WORD_1 (b);
+ Duration *p = unsmob<Duration> (a);
+ Duration *q = unsmob<Duration> (b);
bool eq = p->dots_ == q->dots_
&& p->durlog_ == q->durlog_