text = \lyrics{
\property Lyrics . textStyle = "italic"
- Ah!4 vous dir- ai- je ma man2
- Ce4 qui cau- se mon tour- ment2
- Pa-4 pa veut que je rai- so- nne
- Comme4 un- e grand- e per- so- nne
- Moi4 je dis que les bon- bons2
- Val-4 ent mieux que la rai- son2
+ Ah!4 vous dir -- ai -- je ma man2
+ Ce4 qui cau -- se mon tour -- ment2
+ Pa4 -- pa veut que je rai -- so -- nne
+ Comme4 un -- e grand -- e per -- so -- nne
+ Moi4 je dis que les bon -- bons2
+ Val4 -- ent mieux que la rai -- son2
}
#include "staff-symbol-referencer.hh"
#include "bar.hh"
-#include "clef-item.hh"
+
#include "debug.hh"
#include "command-request.hh"
#include "timing-translator.hh"
/// where is c-0 in the staff?
class Clef_engraver : public Engraver {
- Clef_item * clef_p_;
+ Item * clef_p_;
Item * octavate_p_;
Clef_change_req * clef_req_l_;
{
if (!clef_p_)
{
- Clef_item *c= new Clef_item ( current_settings_);
+ Item *c= new Item ( current_settings_);
announce_element (Score_element_info (c, clef_req_l_));
Staff_symbol_referencer_interface si(c);
#include "molecule.hh"
#include "item.hh"
-Clef_item::Clef_item (SCM s)
- : Item (s)
-{}
+
+/**
+ Set a clef in a staff.
+
+ properties:
+
+ non-default -- not set because of existence of a bar?
+
+ change -- is this a change clef (smaller size)?
+
+ glyph -- a string determining what glyph is typeset
+
+ */
+struct Clef
+{
+ static SCM before_line_breaking (SCM);
+};
/*
FIXME: should use symbol.
-FIXME: this should be schemified.
*/
-GLUE_SCORE_ELEMENT(Clef_item,before_line_breaking);
+MAKE_SCHEME_SCORE_ELEMENT_CALLBACK(Clef,before_line_breaking);
SCM
-Clef_item::member_before_line_breaking ()
+Clef::before_line_breaking (SCM smob)
{
- SCM style_sym =get_elt_property ("style");
+ Item * s = dynamic_cast<Item*> (unsmob_element (smob));
+
+ SCM style_sym =s->get_elt_property ("style");
String style;
if (gh_string_p (style_sym))
style = ly_scm2string (style_sym);
- SCM glyph = get_elt_property ("glyph");
+ SCM glyph = s->get_elt_property ("glyph");
if (gh_string_p (glyph))
{
- String s = ly_scm2string (glyph);
+ String str = ly_scm2string (glyph);
/*
FIXME: should use fontsize property to set clef changes.
*/
- if (get_elt_property ("non-default") &&
- break_status_dir() != RIGHT && style != "fullSizeChanges")
+ if (s->get_elt_property ("non-default") &&
+ s->break_status_dir() != RIGHT && style != "fullSizeChanges")
{
- s += "_change";
- set_elt_property ("glyph", ly_str02scm (s.ch_C()));
+ str += "_change";
+ s->set_elt_property ("glyph", ly_str02scm (str.ch_C()));
}
}
else
{
- suicide ();
+ s->suicide ();
return SCM_UNDEFINED;
}
- // ugh.
- /* why not suicide? */
- if (style == "transparent") // UGH. JUNKME
- {
- set_elt_property ("molecule-callback", SCM_BOOL_T);
- set_extent_callback (0, X_AXIS);
- }
-
return SCM_UNDEFINED;
}
#include "direction.hh"
-/**
- Set a clef in a staff.
-
- properties:
-
- non-default -- not set because of existence of a bar?
-
- change -- is this a change clef (smaller size)?
-
- glyph -- a string determining what glyph is typeset
-
- */
-class Clef_item : public Item
-{
-public:
- SCM member_before_line_breaking ();
- static SCM before_line_breaking (SCM);
-
- VIRTUAL_COPY_CONS(Score_element);
- Clef_item (SCM);
-};
#endif // CLEFITEM_HH
#include "engraver.hh"
#include "musical-pitch.hh"
#include "protected-scm.hh"
-#include "clef-item.hh"
+
/**
Make the key signature.
void
Key_engraver::acknowledge_element (Score_element_info info)
{
- if (dynamic_cast <Clef_item *> (info.elem_l_))
+ if (to_boolean (info.elem_l_->get_elt_property ("clef-interface")))
{
SCM c = get_property ("createKeyOnClefChange");
if (to_boolean (c))
#include <ctype.h>
#include "bar.hh"
-#include "clef-item.hh"
#include "command-request.hh"
#include "dimension-cache.hh"
#include "engraver-group-engraver.hh"