]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.64
authorfred <fred>
Tue, 26 Mar 2002 23:23:35 +0000 (23:23 +0000)
committerfred <fred>
Tue, 26 Mar 2002 23:23:35 +0000 (23:23 +0000)
input/twinkle-pop.ly
lily/clef-engraver.cc
lily/clef-item.cc
lily/include/clef-item.hh
lily/key-engraver.cc
lily/mark-engraver.cc

index 2483ba60940ea2f1f878e86eb36375f082c596d9..c947712eb13d11c2a223f821041425c57616a619 100644 (file)
@@ -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
         
 }
 
index 246d275d8b9ed6d03502fdc2c3f12f6dfdffdf52..616e4c55f6d8353c9d2b14731437ef9f2400d3bb 100644 (file)
@@ -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);
index 781522d697009792392ab1029d5e34dbcaa6d97a..26bf3e2856bf02e598e02e29972190d3b183cf82 100644 (file)
 #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;
 }
 
index e14276ba6783cab7ab058c920c15e743012a53b6..a3f7c5ed447022df2a06ad090582f933bac42b3d 100644 (file)
 #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
 
index 64f4e4f0a59e3778e7a1de17936ef585d485b515..524d32cffaa013748f05682c0f42d6cc3701b3c1 100644 (file)
@@ -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 <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))
index 92945681de34fb18447488dc9d1975ba5faa271d..019e36736182f5aed63a32140826215c47a87983 100644 (file)
@@ -8,7 +8,6 @@
 
 #include <ctype.h>
 #include "bar.hh"
-#include "clef-item.hh"
 #include "command-request.hh"
 #include "dimension-cache.hh"
 #include "engraver-group-engraver.hh"