]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 3966: Revert "Allows the user to override the text property of ChordName"
authorDavid Kastrup <dak@gnu.org>
Tue, 24 Jun 2014 11:16:33 +0000 (13:16 +0200)
committerDavid Kastrup <dak@gnu.org>
Mon, 30 Jun 2014 08:14:55 +0000 (10:14 +0200)
This reverts commit 0d4c79ec0f5d728ac7fe58b87ccf51079ec33766.

Conflicts:
input/regression/chord-name-override-text.ly
lily/chord-name-engraver.cc

Reverts patch of issue 2813.

input/regression/chord-name-override-text.ly [deleted file]
lily/chord-name-engraver.cc
scm/define-context-properties.scm

diff --git a/input/regression/chord-name-override-text.ly b/input/regression/chord-name-override-text.ly
deleted file mode 100644 (file)
index 2877cc8..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-\version "2.17.6"
-
-\header {
-  texidoc = "Users can override the @code{text} property of
-@code{ChordName}.
-"
-}
-
-\new ChordNames \chordmode {
-  a b c:7
-  \once \override ChordName.text = #"foo"
-  d
-}
\ No newline at end of file
index 0057176a9f761c5f6bce9bc17ff419d2a3459c46..86d977cabef4db2c57bd9f0455797f7a8def4228 100644 (file)
@@ -62,21 +62,12 @@ Chord_name_engraver::Chord_name_engraver ()
 void
 Chord_name_engraver::process_music ()
 {
-  if (!rest_event_ && !notes_.size ())
-   return;
-
-  chord_name_ = make_item ("ChordName",
-                           rest_event_ ? rest_event_->self_scm () : notes_[0]->self_scm ());
-
-  SCM maybe_markup = chord_name_->get_property_data ("text");
-
-  bool make_markup = !(Text_interface::is_markup (maybe_markup)
-                       || ly_is_procedure (maybe_markup));
-
   SCM markup;
+  SCM bass = SCM_EOL;
+  SCM inversion = SCM_EOL;
+  SCM pitches = SCM_EOL;
 
-  if (rest_event_ && !make_markup) { }
-  else if (rest_event_)
+  if (rest_event_)
     {
       SCM no_chord_markup = get_property ("noChordSymbol");
       if (!Text_interface::is_markup (no_chord_markup))
@@ -85,9 +76,8 @@ Chord_name_engraver::process_music ()
     }
   else
     {
-      SCM bass = SCM_EOL;
-      SCM inversion = SCM_EOL;
-      SCM pitches = SCM_EOL;
+      if (!notes_.size ())
+        return;
 
       Stream_event *inversion_event = 0;
       for (vsize i = 0; i < notes_.size (); i++)
@@ -126,25 +116,25 @@ Chord_name_engraver::process_music ()
       pitches = scm_sort_list (pitches, Pitch::less_p_proc);
 
       SCM name_proc = get_property ("chordNameFunction");
-      if (make_markup)
-        markup = scm_call_4 (name_proc, pitches, bass, inversion,
-                             context ()->self_scm ());
+      markup = scm_call_4 (name_proc, pitches, bass, inversion,
+                           context ()->self_scm ());
     }
   /*
     Ugh.
   */
-  if (make_markup)
-    chord_name_->set_property ("text", markup);
-  else if (Text_interface::is_markup (maybe_markup))
-    markup = maybe_markup;
+  SCM chord_as_scm = scm_cons (pitches, scm_cons (bass, inversion));
+
+  chord_name_ = make_item ("ChordName",
+                           rest_event_ ? rest_event_->self_scm () : notes_[0]->self_scm ());
+  chord_name_->set_property ("text", markup);
 
   SCM chord_changes = get_property ("chordChanges");
   SCM last_chord = get_property ("lastChord");
   if (to_boolean (chord_changes) && scm_is_pair (last_chord)
-      && ly_is_equal (markup, last_chord))
+      && ly_is_equal (chord_as_scm, last_chord))
     chord_name_->set_property ("begin-of-line-visible", SCM_BOOL_T);
 
-  context ()->set_property ("lastChord", markup);
+  context ()->set_property ("lastChord", chord_as_scm);
 }
 
 IMPLEMENT_TRANSLATOR_LISTENER (Chord_name_engraver, note);
index 2d38188d29273c4ec114e94380f60e41e41b7af0..66100915b4589997363cb9bd3569b499e4d7e18b 100644 (file)
@@ -709,7 +709,7 @@ in an axis group.")
 @code{CommandColumn} contains items that will affect spacing.")
 
 
-     (lastChord ,markup? "Last chord, used for detecting chord changes.")
+     (lastChord ,list? "Last chord, used for detecting chord changes.")
      (lastKeyAlterations ,list? "Last key signature before a key
 signature change.")
      (localAlterations ,list? "The key signature at this point in the