From 2ac2297530d5a5848379acd325dfb45f35900d25 Mon Sep 17 00:00:00 2001 From: fred Date: Tue, 26 Mar 2002 23:23:35 +0000 Subject: [PATCH] lilypond-1.3.64 --- input/twinkle-pop.ly | 12 ++++----- lily/clef-engraver.cc | 6 ++--- lily/clef-item.cc | 51 ++++++++++++++++++++++----------------- lily/include/clef-item.hh | 21 ---------------- lily/key-engraver.cc | 4 +-- lily/mark-engraver.cc | 1 - 6 files changed, 40 insertions(+), 55 deletions(-) diff --git a/input/twinkle-pop.ly b/input/twinkle-pop.ly index 2483ba6094..c947712eb1 100644 --- a/input/twinkle-pop.ly +++ b/input/twinkle-pop.ly @@ -36,12 +36,12 @@ acc = \chords { 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 } diff --git a/lily/clef-engraver.cc b/lily/clef-engraver.cc index 246d275d8b..616e4c55f6 100644 --- a/lily/clef-engraver.cc +++ b/lily/clef-engraver.cc @@ -12,7 +12,7 @@ #include "staff-symbol-referencer.hh" #include "bar.hh" -#include "clef-item.hh" + #include "debug.hh" #include "command-request.hh" #include "timing-translator.hh" @@ -27,7 +27,7 @@ /// 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_; @@ -177,7 +177,7 @@ Clef_engraver::create_clef() { 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); diff --git a/lily/clef-item.cc b/lily/clef-item.cc index 781522d697..26bf3e2856 100644 --- a/lily/clef-item.cc +++ b/lily/clef-item.cc @@ -12,55 +12,62 @@ #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 (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; } diff --git a/lily/include/clef-item.hh b/lily/include/clef-item.hh index e14276ba67..a3f7c5ed44 100644 --- a/lily/include/clef-item.hh +++ b/lily/include/clef-item.hh @@ -11,27 +11,6 @@ #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 diff --git a/lily/key-engraver.cc b/lily/key-engraver.cc index 64f4e4f0a5..524d32cffa 100644 --- a/lily/key-engraver.cc +++ b/lily/key-engraver.cc @@ -17,7 +17,7 @@ #include "engraver.hh" #include "musical-pitch.hh" #include "protected-scm.hh" -#include "clef-item.hh" + /** Make the key signature. @@ -100,7 +100,7 @@ Key_engraver::do_try_music (Music * req_l) void Key_engraver::acknowledge_element (Score_element_info info) { - if (dynamic_cast (info.elem_l_)) + if (to_boolean (info.elem_l_->get_elt_property ("clef-interface"))) { SCM c = get_property ("createKeyOnClefChange"); if (to_boolean (c)) diff --git a/lily/mark-engraver.cc b/lily/mark-engraver.cc index 92945681de..019e367361 100644 --- a/lily/mark-engraver.cc +++ b/lily/mark-engraver.cc @@ -8,7 +8,6 @@ #include #include "bar.hh" -#include "clef-item.hh" #include "command-request.hh" #include "dimension-cache.hh" #include "engraver-group-engraver.hh" -- 2.39.5