/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 2003--2012 Juergen Reuter <reuter@ipd.uka.de>
+ Copyright (C) 2003--2015 Juergen Reuter <reuter@ipd.uka.de>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
*
* - delegate actual creation of ligature to concrete subclass,
*
- * - collect all accidentals that occur within the ligature and put
- * them at the left side of the ligature (TODO; see function
- * collect_accidentals ()),
+ * - except in Kievan notation, collect all accidentals that occur
+ * within the ligature and put them at the left side of the ligature
+ * (TODO; see function collect_accidentals ()),
*
* - collapse superflous space after each ligature (TODO).
*
* occurs within the broken ligatures any more.
*/
void
-Coherent_ligature_engraver::collect_accidentals (Spanner *, vector<Grob_info>)
+Coherent_ligature_engraver::collect_accidentals (Spanner *,
+ vector<Grob_info> const &)
{
/* TODO */
+ /* NOTE: if implementing such a function, note that in Kievan notation,
+ * the B-flat accidental should not be "collected", but rather prints
+ * immediately before the note head as usual. */
}
void
-compute_delta_pitches (vector<Grob_info> primitives)
+compute_delta_pitches (vector<Grob_info> const &primitives)
{
int prev_pitch = 0;
int delta_pitch = 0;
primitive = dynamic_cast<Item *> (primitives[i].grob ());
Stream_event *cause = primitives[i].event_cause ();
int pitch
- = unsmob_pitch (cause->get_property ("pitch"))->steps ();
+ = unsmob<Pitch> (cause->get_property ("pitch"))->steps ();
if (prev_primitive)
{
delta_pitch = pitch - prev_pitch;
void
Coherent_ligature_engraver::typeset_ligature (Spanner *ligature,
- vector<Grob_info> primitives)
+ vector<Grob_info> const &primitives)
{
// compute some commonly needed context info stored as grob
// properties