- SCM style = me->get_elt_property ("style");
- if (style == SCM_UNDEFINED)
- {
- style = ly_symbol2scm("default");
- }
+ /*
+ ledgers don't take space. See top of file.
+ */
+ return internal_brew_molecule (me, false).smobbed_copy ();
+}
+
+/*
+ Compute the width the head without ledgers.
+
+ -- there used to be some code from the time that ledgers
+ did take space. Nowadays, we can simply take the standard extent.
+ */
+Interval
+Note_head::head_extent (Grob *me, Axis a)
+{
+ Molecule * mol = me->get_molecule();
+ return mol ? mol ->extent (a) : Interval(0,0);
+}
+
+
+
+MAKE_SCHEME_CALLBACK (Note_head,brew_ez_molecule,1);
+
+SCM
+Note_head::brew_ez_molecule (SCM smob)
+{
+ Grob *me = unsmob_grob (smob);
+ int l = Note_head::get_balltype (me);
+
+ int b = (l >= 2);
+
+ SCM cause = me->get_grob_property ("cause");
+ SCM spitch = unsmob_music (cause)->get_mus_property ("pitch");
+ Pitch* pit = unsmob_pitch (spitch);
+
+ char s[2] = "a";
+ s[0] = (pit->get_notename () + 2)%7 + 'a';
+ s[0] = toupper (s[0]);
+
+ SCM charstr = scm_makfrom0str (s);