return sc->internal_get_object (sym);
}
-LY_DEFINE (ly_spanner_get_bound, "ly:spanner-bound",
- 2, 0, 0, (SCM slur, SCM dir),
- "Get one of the bounds of @var{spanner}. @var{dir} is @code{-1} "
- "for left, and @code{1} for right.")
-{
- Spanner *sl = dynamic_cast<Spanner *> (unsmob_grob (slur));
- SCM_ASSERT_TYPE (sl, slur, SCM_ARG1, __FUNCTION__, "spanner grob");
- SCM_ASSERT_TYPE (is_direction (dir), slur, SCM_ARG2, __FUNCTION__, "dir");
- return sl->get_bound (to_dir (dir))->self_scm ();
-}
+
/* TODO: make difference between scaled and unscalead variable in
calling (i.e different funcs.) */
return me->original () ? me->original ()->self_scm () : me->self_scm ();
}
-/* TODO: maybe we should return a vector -- random access is more
- logical for this list? */
-LY_DEFINE (ly_spanner_broken_into, "ly:spanner-broken-into",
- 1, 0, 0, (SCM spanner),
- "Return broken-into list for @var{spanner}.")
-{
- Spanner *me = dynamic_cast<Spanner *> (unsmob_grob (spanner));
- SCM_ASSERT_TYPE (me, spanner, SCM_ARG1, __FUNCTION__, "spanner");
-
- SCM s = SCM_EOL;
- for (vsize i = me->broken_intos_.size (); i--;)
- s = scm_cons (me->broken_intos_[i]->self_scm (), s);
- return s;
-}
LY_DEFINE (ly_grob_suicide_x, "ly:grob-suicide!",
1, 0, 0, (SCM g),
return SCM_UNSPECIFIED;
}
-LY_DEFINE (ly_spanner_p, "ly:spanner?",
- 1, 0, 0, (SCM g),
- "Is @var{g} a spanner object?")
-{
- Grob *me = unsmob_grob (g);
- bool b = dynamic_cast<Spanner *> (me);
-
- return ly_bool2scm (b);
-}
-
LY_DEFINE (ly_grob_default_font, "ly:grob-default-font",
1, 0, 0, (SCM grob),
"Return the default font for grob @var{gr}.")