lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Minimal horizontal space for melismata


From: Peter Crighton
Subject: Minimal horizontal space for melismata
Date: Tue, 24 Mar 2020 16:05:34 +0100

Hello all,

I am working on a type of sheet that should only display lyrics and chord symbols. It utilises a voice in a RhythmicStaff, that I’m hiding, to lay out the chords and lyrics accordingly. Voice, lyrics, and chords are all inside of variables that I am also using to create other types of sheets, so directly changing them is not an option as other things depend on them.
I want the lyrics to be absolutely free of melismatic hyphens. How can I make sure of that? I have ensured that the note heads take as little space as they can (to my knowledge), but if it is either a short syllable and/or a long melisma, the note heads still take up too much space, so hyphens appear. See example below.
One solution I could think of would be to write a Scheme function that automatically aggregates all the note lengths of a melisma and returns a single note with the combined length instead. But writing that is way over my current Scheme head.
Anybody able to help me out or with another idea?

Side question: Is there a shorter/nicer way to hide/omit all those things in the RhythmicStaff?

Another side question: Although I omitted the beams, they (or something connected to them) still seem to occupy space. Change the note lengths to quarter notes, and the space between lyrics and note heads disappears, which would be useful for general spacing.


\version "2.20.0"
Chords = \chordmode {
  f16*7 a16*3:m
}
Lyric = \lyricmode {
  Lo -- rem ip -- sum do -- lor sit a -- met.
}
Melody = {
  c16 c c c c c c c( a) a
}
<<
  \new ChordNames \chordmode {
    \Chords
  }
  \new Lyrics
  \new RhythmicStaff {
    \new Voice = "melody" {
      \Melody
    }
  }
  \context Lyrics {
    \lyricsto "melody" {
      \Lyric
    }
  }
>>
\layout {
  \context {
    \Lyrics
    \override LyricText.self-alignment-X = -1
  }
  \context {
    \RhythmicStaff
    % the following line gets uncommented in the end to hide everything
    % \override NoteHead.stencil = #point-stencil
    \override NoteHead.X-extent = #'(0 . 0)
    \omit BarLine
    \omit Beam
    \omit Dots
    \omit Flag
    \omit MultiMeasureRest
    \omit Rest
    \omit Slur
    \override StaffSymbol.line-count = 0
    \omit Stem
    \omit Tie
    \omit TimeSignature
  }
}


Thanks,
Peter

--
Peter Crighton | Musician & Music Engraver based in Mainz, Germany
http://www.petercrighton.de

reply via email to

[Prev in Thread] Current Thread [Next in Thread]