" it as a @code{Moment} object.")
{
LY_ASSERT_SMOB (Music, mus, 1);
- Music *sc = Music::unsmob (mus);
+ Music *sc = unsmob<Music> (mus);
return sc->get_length ().smobbed_copy ();
}
1, 0, 0, (SCM obj),
"Is @var{obj} a music object?")
{
- return ly_bool2scm (Music::is_smob (obj));
+ return ly_bool2scm (unsmob<Music> (obj));
}
LY_DEFINE (ly_event_p, "ly:event?",
1, 0, 0, (SCM obj),
"Is @var{obj} a proper (non-rhythmic) event object?")
{
- if (Music *m = Music::unsmob (obj))
+ if (Music *m = unsmob<Music> (obj))
{
return scm_from_bool (m->is_mus_type ("post-event"));
}
" constant and initialized by the @code{make-music} function.")
{
LY_ASSERT_SMOB (Music, mus, 1);
- Music *m = Music::unsmob (mus);
+ Music *m = unsmob<Music> (mus);
return m->get_property_alist (true);
}
while (scm_is_pair (lst))
{
- if (!Music::is_smob (scm_car (lst)))
+ if (!unsmob<Music> (scm_car (lst)))
return SCM_BOOL_F;
lst = scm_cdr (lst);
}
" @var{m} may be an arbitrary type; cons cells and music"
" are copied recursively.")
{
- if (Music::is_smob (m))
- return Music::unsmob (m)->clone ()->unprotect ();
+ if (unsmob<Music> (m))
+ return unsmob<Music> (m)->clone ()->unprotect ();
if (scm_is_pair (m))
{
SCM copy = SCM_EOL;
LY_ASSERT_SMOB (Music, m, 1);
LY_ASSERT_SMOB (Pitch, p, 2);
- Music *sc = Music::unsmob (m);
- Pitch *sp = Pitch::unsmob (p);
+ Music *sc = unsmob<Music> (m);
+ Pitch *sp = unsmob<Pitch> (p);
sc->transpose (*sp);
// SCM_UNDEFINED ?
LY_ASSERT_SMOB (Music, m, 1);
LY_ASSERT_SMOB (Moment, factor, 2);
- Music *sc = Music::unsmob (m);
- sc->compress (*Moment::unsmob (factor));
+ Music *sc = unsmob<Music> (m);
+ sc->compress (*unsmob<Moment> (factor));
return sc->self_scm ();
}
LY_ASSERT_SMOB (Music, music, 1);
LY_ASSERT_SMOB (Pitch, pitch, 2);
- Pitch start = *Pitch::unsmob (pitch);
- Music *m = Music::unsmob (music);
+ Pitch start = *unsmob<Pitch> (pitch);
+ Music *m = unsmob<Music> (music);
Pitch last = m->to_relative_octave (start);
return last.smobbed_copy ();
" length.")
{
LY_ASSERT_SMOB (Music, mus, 1);
- Music *m = Music::unsmob (mus);
+ Music *m = unsmob<Music> (mus);
- Duration *d = Duration::unsmob (m->get_property ("duration"));
+ Duration *d = unsmob<Duration> (m->get_property ("duration"));
Moment len;
if (d)
LY_ASSERT_SMOB (Music, mus, 1);
LY_ASSERT_SMOB (Moment, fact, 2);
- Music *m = Music::unsmob (mus);
- Moment *f = Moment::unsmob (fact);
+ Music *m = unsmob<Music> (mus);
+ Moment *f = unsmob<Moment> (fact);
- Duration *d = Duration::unsmob (m->get_property ("duration"));
+ Duration *d = unsmob<Duration> (m->get_property ("duration"));
if (d)
m->set_property ("duration", d->compressed (f->main_part_).smobbed_copy ());
return SCM_UNSPECIFIED;
" pitch @var{pit}.")
{
SCM newlist = SCM_EOL;
- Pitch *p = Pitch::unsmob (pit);
+ Pitch *p = unsmob<Pitch> (pit);
for (SCM s = l; scm_is_pair (s); s = scm_cdr (s))
{