/*
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
* engravers for Gregorian chant will be added in the future, such as
* Medicaea_ligature_engraver or Hufnagel_ligature_engraver.
*/
-Gregorian_ligature_engraver::Gregorian_ligature_engraver ()
+Gregorian_ligature_engraver::Gregorian_ligature_engraver (Context *c)
+ : Coherent_ligature_engraver (c)
{
pes_or_flexa_req_ = 0;
}
fix_prefix ("pes_or_flexa", LINEA, current_set, min_set, max_set, primitive);
}
-void check_and_fix_all_prefixes (vector<Grob_info> primitives)
+void check_and_fix_all_prefixes (vector<Grob_info> const &primitives)
{
/* Check for invalid head modifier combinations */
for (vsize i = 0; i < primitives.size (); i++)
* Marks those heads that participate in a pes or flexa.
*/
void
-provide_context_info (vector<Grob_info> primitives)
+provide_context_info (vector<Grob_info> const &primitives)
{
Grob *prev_primitive = 0;
int prev_prefix_set = 0;
Grob *primitive = primitives[i].grob ();
Stream_event *event_cause = primitives[i].event_cause ();
int context_info = 0;
- int pitch = unsmob_pitch (event_cause->get_property ("pitch"))->steps ();
+ int pitch = unsmob<Pitch> (event_cause->get_property ("pitch"))->steps ();
int prefix_set = scm_to_int (primitive->get_property ("prefix-set"));
if (prefix_set & PES_OR_FLEXA)
void
Gregorian_ligature_engraver::build_ligature (Spanner *ligature,
- vector<Grob_info> primitives)
+ vector<Grob_info> const &primitives)
{
// apply style-independent checking and transformation
check_and_fix_all_prefixes (primitives);