/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1997--2010 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1997--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
SCM
Clef::calc_glyph_name (SCM smob)
{
- Item *s = unsmob_item (smob);
+ Item *s = unsmob<Item> (smob);
SCM glyph = s->get_property ("glyph");
if (scm_is_string (glyph))
string str = ly_scm2string (glyph);
if (to_boolean (s->get_property ("non-default"))
- && s->break_status_dir () != RIGHT
- && !to_boolean (s->get_property ("full-size-change")))
- {
- str += "_change";
- }
+ && s->break_status_dir () != RIGHT
+ && !to_boolean (s->get_property ("full-size-change")))
+ {
+ str += "_change";
+ }
return ly_string2scm (str);
}
SCM
Clef::print (SCM smob)
{
- Grob *me = unsmob_grob (smob);
+ Grob *me = unsmob<Grob> (smob);
SCM glyph_scm = me->get_property ("glyph-name");
if (!scm_is_string (glyph_scm))
return SCM_EOL;
Stencil out = fm->find_by_name (glyph);
if (out.is_empty ())
me->warning (_f ("clef `%s' not found", glyph.c_str ()));
+
return out.smobbed_copy ();
}
ADD_INTERFACE (Clef,
- "A clef sign.",
-
- /* properties */
- "full-size-change "
- "glyph "
- "glyph-name "
- "non-default "
- );
+ "A clef sign.",
+
+ /* properties */
+ "full-size-change "
+ "glyph "
+ "glyph-name "
+ "non-default "
+ );