+ score_remove_chords (scherzo->score);
+
+ if (scherzo->pedal_pressed)
+ chord = &scherzo->notes_pedaled;
+ else
+ chord = &scherzo->notes_pressed;
+
+ _analyze_chord (chord, &signature, &root);
+
+ if (signature) {
+ /* Don't print root pitch for octaves and inversions,
+ * (since a pitch name alone looks like a major triad) */
+ if (signature->num_degrees < 3) {
+ chord_name = talloc_strdup (local, signature->name);
+ } else {
+ _spell_chord_by_signature (&scherzo->notes_pressed,
+ signature, *root);
+ _spell_chord_by_signature (&scherzo->notes_pedaled,
+ signature, *root);
+
+ chord_name = talloc_asprintf (local, "%s%s",
+ _pitch_str (*root),
+ signature->name);
+ }
+ } else if (chord->num_pitches > 2) {
+ chord_name = talloc_strdup (local, "?");
+ }
+
+ if (chord_name)
+ scherzo->chord = score_add_chord (scherzo->treble, chord_name);