Context *
get_voice_to_lyrics (Context *lyrics)
{
+ bool searchForVoice = to_boolean (lyrics->get_property ("searchForVoice"));
+
SCM avc = lyrics->get_property ("associatedVoiceContext");
if (Context *c = unsmob_context (avc))
return c;
if (scm_is_string (voice_name))
nm = ly_scm2string (voice_name);
- else if (nm == "")
+ else if (nm == "" || !searchForVoice)
return 0;
else
{
/* read */
"ignoreMelismata "
"includeGraceNotes "
- "lyricMelismaAlignment ",
+ "lyricMelismaAlignment "
+ "searchForVoice",
/* write */
""
printing of a single line of lyrics."
\name "Lyrics"
- instrumentName = #'()
- shortInstrumentName = #'()
-
\consists "Lyric_engraver"
\consists "Extender_engraver"
\consists "Hyphen_engraver"
\consists "Instrument_name_engraver"
\consists "Font_size_engraver"
\consists "Hara_kiri_engraver"
+ searchForVoice = ##f
%% explicitly set instrument, so it is not inherited from the parent
instrumentName = #'()
shortInstrumentName = #'()
(restNumberThreshold ,number? "If a multimeasure rest has more
measures than this, a number is printed.")
-
+ (searchForVoice ,boolean? "Signal whether a search should be made
+of all contexts in the context hierarchy for a voice to provide rhythms
+for the lyrics.")
(shapeNoteStyles ,vector? "Vector of symbols, listing style for
each note head relative to the tonic (qv.) of the scale.")
(shortInstrumentName ,markup? "See @code{instrumentName}.")