X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmoment-scheme.cc;h=ccbd77c4de1986a5d684e0a252818f152c4541cc;hb=6bb158ef626b6ba36595e342bc10d18e225fd2b8;hp=20253ae2025f2f5e4a9de76fe99972e6787338ce;hpb=92918346012f79ef9109ef0c391947af2d3165ca;p=lilypond.git diff --git a/lily/moment-scheme.cc b/lily/moment-scheme.cc index 20253ae202..ccbd77c4de 100644 --- a/lily/moment-scheme.cc +++ b/lily/moment-scheme.cc @@ -1,9 +1,20 @@ /* - moment.cc -- implement Moment bindings + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 1999--2010 Han-Wen Nienhuys - (c) 1999--2007 Han-Wen Nienhuys + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #include "moment.hh" @@ -11,30 +22,28 @@ /* TODO: add optional factor argument. */ LY_DEFINE (ly_make_moment, "ly:make-moment", 2, 2, 0, (SCM n, SCM d, SCM gn, SCM gd), - "Create the rational number with main timing @var{n}/@var{d}, " - "and optional grace timin @var{gn}/@var{gd}.\n" - "\n" + "Create the rational number with main timing @var{n}/@var{d}," + " and optional grace timing @var{gn}/@var{gd}.\n" "\n" - "Moment is a point in musical time. " - "It is consists of a pair of rationals (@var{m}, @var{g}), " - "where @var{m} is the timing for the main\n" - "notes, and @var{g} the timing for grace notes. " - "In absence of grace notes, @var{g} is zero.\n") + "A @dfn{moment} is a point in musical time. It consists of" + " a pair of rationals (@var{m},@tie{}@var{g}), where @var{m} is" + " the timing for the main notes, and @var{g} the timing for" + " grace notes. In absence of grace notes, @var{g}@tie{}is zero.") { - LY_ASSERT_FIRST_TYPE(scm_is_integer, n); - LY_ASSERT_TYPE(scm_is_integer, 2); + LY_ASSERT_TYPE (scm_is_integer, n, 1); + LY_ASSERT_TYPE (scm_is_integer, d, 2); int grace_num = 0; if (gn != SCM_UNDEFINED) { - LY_ASSERT_TYPE(scm_is_integer, 3); + LY_ASSERT_TYPE (scm_is_integer, gn, 3); grace_num = scm_to_int (gn); } int grace_den = 1; if (gd != SCM_UNDEFINED) { - LY_ASSERT_TYPE(scm_is_integer, 4); + LY_ASSERT_TYPE (scm_is_integer, gd, 4); grace_den = scm_to_int (gd); } @@ -46,8 +55,8 @@ LY_DEFINE (ly_moment_sub, "ly:moment-sub", 2, 0, 0, (SCM a, SCM b), "Subtract two moments.") { - LY_ASSERT_FIRST_SMOB (Moment, a); - LY_ASSERT_SMOB (Moment, 2); + LY_ASSERT_SMOB (Moment, a, 1); + LY_ASSERT_SMOB (Moment, b, 2); Moment *ma = unsmob_moment (a); Moment *mb = unsmob_moment (b); @@ -59,8 +68,8 @@ LY_DEFINE (ly_moment_add, "ly:moment-add", 2, 0, 0, (SCM a, SCM b), "Add two moments.") { - LY_ASSERT_FIRST_SMOB(Moment, a); - LY_ASSERT_SMOB(Moment, 2); + LY_ASSERT_SMOB (Moment, a, 1); + LY_ASSERT_SMOB (Moment, b, 2); Moment *ma = unsmob_moment (a); Moment *mb = unsmob_moment (b); @@ -72,8 +81,8 @@ LY_DEFINE (ly_moment_mul, "ly:moment-mul", 2, 0, 0, (SCM a, SCM b), "Multiply two moments.") { - LY_ASSERT_FIRST_SMOB(Moment, a); - LY_ASSERT_SMOB(Moment, 2); + LY_ASSERT_SMOB (Moment, a, 1); + LY_ASSERT_SMOB (Moment, b, 2); Moment *ma = unsmob_moment (a); Moment *mb = unsmob_moment (b); @@ -84,8 +93,8 @@ LY_DEFINE (ly_moment_div, "ly:moment-div", 2, 0, 0, (SCM a, SCM b), "Divide two moments.") { - LY_ASSERT_FIRST_SMOB(Moment, a); - LY_ASSERT_SMOB(Moment, 2); + LY_ASSERT_SMOB (Moment, a, 1); + LY_ASSERT_SMOB (Moment, b, 2); Moment *ma = unsmob_moment (a); Moment *mb = unsmob_moment (b); @@ -97,8 +106,8 @@ LY_DEFINE (ly_moment_mod, "ly:moment-mod", 2, 0, 0, (SCM a, SCM b), "Modulo of two moments.") { - LY_ASSERT_FIRST_SMOB(Moment, a); - LY_ASSERT_SMOB(Moment, 2); + LY_ASSERT_SMOB (Moment, a, 1); + LY_ASSERT_SMOB (Moment, b, 2); Moment *ma = unsmob_moment (a); Moment *mb = unsmob_moment (b); @@ -109,48 +118,48 @@ LY_DEFINE (ly_moment_grace_numerator, "ly:moment-grace-numerator", 1, 0, 0, (SCM mom), "Extract numerator from grace timing.") { - LY_ASSERT_FIRST_SMOB (Moment, mom); + LY_ASSERT_SMOB (Moment, mom, 1); Moment *ma = unsmob_moment (mom); - return scm_from_int (ma->grace_part_.numerator ()); + return scm_from_int64 (ma->grace_part_.numerator ()); } LY_DEFINE (ly_moment_grace_denominator, "ly:moment-grace-denominator", 1, 0, 0, (SCM mom), "Extract denominator from grace timing.") { - LY_ASSERT_FIRST_SMOB (Moment, mom); + LY_ASSERT_SMOB (Moment, mom, 1); Moment *ma = unsmob_moment (mom); - return scm_from_int (ma->grace_part_.denominator ()); + return scm_from_int64 (ma->grace_part_.denominator ()); } LY_DEFINE (ly_moment_main_numerator, "ly:moment-main-numerator", 1, 0, 0, (SCM mom), "Extract numerator from main timing.") { - LY_ASSERT_FIRST_SMOB (Moment, mom); + LY_ASSERT_SMOB (Moment, mom, 1); Moment *ma = unsmob_moment (mom); - return scm_from_int (ma->main_part_.numerator ()); + return scm_from_int64 (ma->main_part_.numerator ()); } LY_DEFINE (ly_moment_main_denominator, "ly:moment-main-denominator", 1, 0, 0, (SCM mom), "Extract denominator from main timing.") { - LY_ASSERT_FIRST_SMOB (Moment, mom); + LY_ASSERT_SMOB (Moment, mom, 1); Moment *ma = unsmob_moment (mom); - return scm_from_int (ma->main_part_.denominator ()); + return scm_from_int64 (ma->main_part_.denominator ()); } LY_DEFINE (ly_moment_less_p, "ly:moment