source file of the GNU LilyPond music typesetter
- (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2003 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "stem-tremolo.hh"
-#include "debug.hh"
+#include "warn.hh"
#include "beam.hh"
#include "paper-def.hh"
#include "lookup.hh"
{
Grob *me= unsmob_grob (smob);
Grob * stem = unsmob_grob (me->get_grob_property ("stem"));
- Grob * beam = Stem::beam_l (stem);
+ Grob * beam = Stem::get_beam (stem);
Real dydx;
if (beam)
--hwn.
*/
- Real interbeam = beam ? Beam::get_interbeam (beam) : 0.81;
+ Real beam_translation = beam ? Beam::get_beam_translation (beam) : 0.81;
Molecule mol;
for (int i = 0; i < tremolo_flags; i++)
{
Molecule b (a);
- b.translate_axis (interbeam * i, Y_AXIS);
+ b.translate_axis (beam_translation * i, Y_AXIS);
mol.add_molecule (b);
}
Direction stemdir = Stem::get_direction (stem);
Interval mol_ext = mol.extent (Y_AXIS);
// ugh, rather calc from Stem_tremolo_req
- int beams_i = (beam)
- ? (Stem::beam_count (stem, RIGHT) >? Stem::beam_count (stem, LEFT))
- : 0;
-
+ int beams_i = (beam) ? (Stem::beam_multiplicity (stem).length ()+ 1): 0;
+
+ /*
+ TODO.
+ */
+
+
Real beamthickness = 0.0;
SCM sbt = (beam) ? beam->get_grob_property ("thickness") : SCM_EOL ;
if (gh_number_p (sbt))
Real end_y
= Stem::stem_end_position (stem) *ss/2
- stemdir * (beams_i * beamthickness
- + ((beams_i -1) >? 0) * interbeam);
+ + ((beams_i -1) >? 0) * beam_translation);
/*
the 0.33 ss is to compensate for the size of the note head
Real chord_start_y = Stem::chord_start_y (stem) +
0.33 * ss * stemdir;
- Real padding = interbeam;
+ Real padding = beam_translation;
/*
if there is not enough space, center on remaining space,
}
else
{
- mol.translate_axis (end_y - stemdir * interbeam
+ mol.translate_axis (end_y - stemdir * beam_translation
-mol_ext [stemdir]
, Y_AXIS);
}