X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fduration.cc;h=880b22c46a3575d1fc37bf78943d45992ca1ba8b;hb=90e4d7057f3857da049dfda3d130017d4719bd6b;hp=782804e9da31d90b610543c2570a2c71d744a3c7;hpb=08560a1b8076630c4fc6cb9b902614d8b74fd6fc;p=lilypond.git diff --git a/lily/duration.cc b/lily/duration.cc index 782804e9da..880b22c46a 100644 --- a/lily/duration.cc +++ b/lily/duration.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2012 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify @@ -23,7 +23,6 @@ #include "misc.hh" #include "lily-proto.hh" -#include "ly-smobs.icc" int Duration::compare (Duration const &left, Duration const &right) @@ -137,22 +136,14 @@ Duration::to_string () const 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 ("#to_string ()), port); + scm_display (ly_string2scm (to_string ()), port); scm_puts (" >", port); return 1; @@ -161,8 +152,8 @@ Duration::print_smob (SCM s, SCM port, scm_print_state *) 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 (a); + Duration *q = unsmob (b); bool eq = p->dots_ == q->dots_ && p->durlog_ == q->durlog_