-/*
+/*
ligature-engraver.cc -- implement Ligature_engraver
-
+
source file of the GNU LilyPond music typesetter
-
- (c) 2002--2004 Juergen Reuter <reuter@ipd.uka.de>
-
- */
+
+ (c) 2002--2005 Juergen Reuter <reuter@ipd.uka.de>
+*/
+
#include "ligature-engraver.hh"
+
#include "spanner.hh"
#include "score-engraver.hh"
#include "note-head.hh"
#include "warn.hh"
#include "context.hh"
-
/*
* This abstract class provides the general framework for ligatures of
* any kind. It cares for handling start/stop ligatures requests and
* Mensural_ligature_engraver) to the proper translator
* (e.g. VoiceContext) to choose between various representations.
* Since adding/removing an engraver to a translator is a global
- * action in the paper block, you can not mix various representations
+ * action in the layout block, you cannot mix various representations
* _within_ the same score. Hence, for selecting a representation,
* one would rather like to have a property that can be set e.g. for
* several staves individually. However, it seems that this approach
SCM target_callback = ly_symbol2scm ("print-function");
SCM source_callback = ly_symbol2scm ("ligature-primitive-callback");
SCM noteHeadProperties = updated_grob_properties (context (), ly_symbol2scm ("NoteHead"));
- SCM value = ly_cdr (scm_sloppy_assq (source_callback, noteHeadProperties));
+ SCM value = scm_cdr (scm_sloppy_assq (source_callback, noteHeadProperties));
execute_pushpop_property (context (), ly_symbol2scm ("NoteHead"),
target_callback, value);
}
prev_start_req_ = reqs_drul_[START];
ligature_ = create_ligature_spanner ();
- brew_ligature_primitive_proc =
- ligature_->get_property ("ligature-primitive-callback");
+ brew_ligature_primitive_proc
+ = ligature_->get_property ("ligature-primitive-callback");
if (brew_ligature_primitive_proc == SCM_EOL)
{
- warning ("Ligature_engraver: ligature-primitive-callback undefined");
+ programming_error ("Ligature_engraver: ligature-primitive-callback undefined");
}
Grob *bound = unsmob_grob (get_property ("currentMusicalColumn"));
{
primitives_.push (info);
info.grob_->set_property ("print-function",
- brew_ligature_primitive_proc);
+ brew_ligature_primitive_proc);
}
if (Rest::has_interface (info.grob_))
{
}
}
-ENTER_DESCRIPTION (Ligature_engraver,
-/* descr */ "Abstract class; a concrete subclass handles Ligature_events by engraving Ligatures in a concrete style.",
-/* creats */ "",
-/* accepts */ "ligature-event",
-/* acks */ "note-head-interface rest-interface",
-/* reads */ "",
-/* write */ "");
+ADD_TRANSLATOR (Ligature_engraver,
+ /* descr */ "Abstract class; a concrete subclass handles Ligature_events by engraving Ligatures in a concrete style.",
+ /* creats */ "",
+ /* accepts */ "ligature-event",
+ /* acks */ "note-head-interface rest-interface",
+ /* reads */ "",
+ /* write */ "");