Hi all,
I'm hoping to show a Schenker graph example on my lecture tour next
week, but I find <http://lsr.dsi.unimi.it/LSR/Item?id=501>
unnecessarily complex — it ends up [to my eye] looking like far more
work, and way scarier, than doing it in Finale (which I did a bunch
of in my day, hating every step of the way).
Hence the attached simplified/improved code file, at least as far as
I've gotten it in an hour or so.
I'm really just looking for early/mid-stream criticisms of my
approaches/techniques, so that I end up with the best output —
eventually, I want to have a schenker.ly file for \include purposes
(to be available w/Lily, if appropriate), enabling the simplest
possible "front-end" coding requirements.
Any hints/help would be appreciated!
Cheers,
Kieren.
\version "2.13.6"
\include "english.ly"
hideNote = \once \override NoteHead #'transparent = ##t
\paper {
line-width = 5.5\in
}
\layout
{
indent = #0
ragged-right = ##f
\context
{
\Voice
\name UrsatzVoice
\alias Voice
\override NoteHead #'duration-log = #1
\override TextScript #'baseline-skip = #1
}
\context
{
\UrsatzVoice
\name UrlinieVoice
\override Beam #'positions = #'(8 . 8)
\override TextScript #'direction = #UP
\override TextScript #'font-size = #-1
}
\context
{
\UrsatzVoice
\name BassbrechungVoice
\override Beam #'positions = #'(-8 . -8)
\override TextScript #'direction = #DOWN
}
\context
{
\Voice
\name ForegroundVoice
\alias Voice
\override NoteHead #'duration-log = #8
}
\context
{
\Staff
\override NoteCollision #'merge-differently-headed = ##t
\remove "Time_signature_engraver"
\accepts UrlinieVoice
\accepts BassbrechungVoice
\accepts ForegroundVoice
}
}
global = {
\key g \major
\cadenzaOn
s8*15
\bar "|."
}
urlinie = \relative c'' {
s8*4
b8*6[-\markup \column { ^ 3 }
a8*4-\markup \column { ^ 2 }
g8]-\markup \column { ^ 1 }
}
foregroundUpper = \scaleDurations #'(1 . 8) \relative c'' {
g1_\(
fs^(
g)\)
a^(
\hideNote b)
a
b^(
c)^(
\once \override Stem #'transparent = ##f b1)
s
\hideNote a1
c^\(
b_(
a)\)
\hideNote g
}
foregroundLower = \scaleDurations #'(1 . 8) \relative c' {
\hideNote g1^\(
a_(
b)\)
fs^(
e)
c^(
d)
fs,_(
g)
b
c_(^\(
a)
\hideNote d\)
d,
\hideNote g
}
bassbrechung = \relative c' {
g8*12[-\markup{"I"}
d8*2-\markup{"V"}
g,8]-\markup{"I"}
}
\score
{
\new PianoStaff = "PianoStaff_Schenker"
<<
\new Staff = "Staff_upper"
<<
\new UrlinieVoice { \voiceOne << \global \urlinie >> }
\new ForegroundVoice { \voiceTwo << \global \foregroundUpper >> }
>>
\new Staff <<
\clef bass
\new ForegroundVoice { \voiceOne << \global \foregroundLower >> }
\new BassbrechungVoice { \voiceFour \bassbrechung }
>>
>>
}_______________________________________________
lilypond-user mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-user