#include "rhythmic-head.hh"
#include "spanner.hh"
#include "staff-symbol-referencer.hh"
+#include "stream-event.hh"
#include "warn.hh"
+#include "translator.icc"
+
/*
* TODO: accidentals are aligned with the first note;
* they must appear ahead.
protected:
virtual Spanner *create_ligature_spanner ();
- virtual void build_ligature (Spanner *ligature, std::vector<Grob_info> primitives);
-
+ virtual void build_ligature (Spanner *ligature, vector<Grob_info> primitives);
+ DECLARE_TRANSLATOR_LISTENER (ligature);
+
public:
TRANSLATOR_DECLARATIONS (Mensural_ligature_engraver);
private:
- void transform_heads (std::vector<Grob_info> primitives);
- void propagate_properties (Spanner *ligature, std::vector<Grob_info> primitives);
- void fold_up_primitives (std::vector<Grob_info> primitives);
+ void transform_heads (vector<Grob_info> primitives);
+ void propagate_properties (Spanner *ligature, vector<Grob_info> primitives);
+ void fold_up_primitives (vector<Grob_info> primitives);
};
+IMPLEMENT_TRANSLATOR_LISTENER (Mensural_ligature_engraver, ligature);
+void
+Mensural_ligature_engraver::listen_ligature (Stream_event *ev)
+{
+ Ligature_engraver::listen_ligature (ev);
+}
+
Mensural_ligature_engraver::Mensural_ligature_engraver ()
{
brew_ligature_primitive_proc =
}
void
-Mensural_ligature_engraver::transform_heads (std::vector<Grob_info> primitives)
+Mensural_ligature_engraver::transform_heads (vector<Grob_info> primitives)
{
if (primitives.size () < 2)
{
*/
void
Mensural_ligature_engraver::propagate_properties (Spanner *ligature,
- std::vector<Grob_info> primitives)
+ vector<Grob_info> primitives)
{
Real thickness
= robust_scm2double (ligature->get_property ("thickness"), 1.4);
}
void
-Mensural_ligature_engraver::fold_up_primitives (std::vector<Grob_info> primitives)
+Mensural_ligature_engraver::fold_up_primitives (vector<Grob_info> primitives)
{
Item *first = 0;
Real distance = 0;
void
Mensural_ligature_engraver::build_ligature (Spanner *ligature,
- std::vector<Grob_info> primitives)
+ vector<Grob_info> primitives)
{
transform_heads (primitives);
propagate_properties (ligature, primitives);
fold_up_primitives (primitives);
}
-#include "translator.icc"
-
ADD_ACKNOWLEDGER (Mensural_ligature_engraver, rest);
ADD_ACKNOWLEDGER (Mensural_ligature_engraver, note_head);
ADD_TRANSLATOR (Mensural_ligature_engraver,