]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/clef-engraver.cc
release: 1.3.121
[lilypond.git] / lily / clef-engraver.cc
index c3a2136f2a0fc278f568118f6b0e78c7d7ed5082..2d6d585d544fa1ea6eec309a763a44ef76672432 100644 (file)
@@ -180,11 +180,14 @@ Clef_engraver::create_grobs ()
   SCM glyph = get_property ("clefGlyph");
   SCM clefpos = get_property ("clefPosition");
   SCM octavation = get_property ("clefOctavation");
-
+  SCM force_clef = get_property ("forceClef");
+  
   if (clefpos == SCM_EOL
       || scm_equal_p (glyph, prev_glyph_) == SCM_BOOL_F
       || scm_equal_p (clefpos, prev_cpos_) == SCM_BOOL_F
-      || scm_equal_p (octavation, prev_octavation_) == SCM_BOOL_F)    
+      || scm_equal_p (octavation, prev_octavation_) == SCM_BOOL_F
+      || to_boolean (force_clef)
+      )
     {
       set_glyph();
       set_central_c (glyph, clefpos, octavation);
@@ -193,6 +196,12 @@ Clef_engraver::create_grobs ()
 
       clef_p_->set_grob_property ("non-default", SCM_BOOL_T);
     }
+
+  if (to_boolean (force_clef))
+    {
+      Translator_group * w = daddy_trans_l_->where_defined (ly_symbol2scm ("forceClef"));
+      w->set_property ("forceClef", SCM_EOL);
+    }
 }
 
 void