When using \partcombine I'm getting 3 of these errors:
programming error: note column without heads and stem
continuing, cross fingers
The errors doesn't tell which line/column they come from.
How can I debug it ?
The source code is attached
--strk;
\version "2.18.2"
#(load "../lilylib/swing.scm")
\include "../lilylib/range.ly"
\include "../lilylib/parenthesis.ly"
\header {
title = "Sidewinder"
%year = "1935"
%poet = "DuBose Hayward"
composer = "Lee Morgan"
%arranger = "arranged by Sandro Santilli"
%piece = "Funk (Pseudo Bossa)"
tagline = \markup {
\column {
"Lilypond typesetting by Sandro Santilli <[email protected]> - https://strk.kbt.io - November 2019"
}
}
}
% Giorgio Gadotti capabilities
giorgioGadottiRange = { d' b'' }
altoRange = \highlightPitches outside \giorgioGadottiRange
% Sandro Santilli capabilities as of 2019
sandroSantilliRange = { c' g'' }
trumpetRange = \highlightPitches outside \sandroSantilliRange
% Desy Vaselli capabilities (just a guess)
desyVaselliRange = { a g'' }
voiceRange = \highlightPitches outside \desyVaselliRange
bassRange = \highlightPitches outside \doubleBassDesignedWrittenRange
%#(set-global-staff-size 21)
\paper {
%indent = 0\cm
}
\layout {
\override Glissando #'style = #'zigzag
\set Score.markFormatter = #format-mark-box-alphabet
\context { \Voice
\consists "Ambitus_engraver"
}
}
% Available range: c' -- b''
melody_alto = \relative c' {
\clef "treble"
\key c \major
\numericTimeSignature
\time 4/4
r1 |
\repeat volta 2 {
\repeat percent 2 { r4 dis-^ r8 e8-^ r4 | }
r8 a,8 bes4 c d | a8 bes a g~ g2 |
% 6
\repeat percent 2 { r4 dis'-^ r8 e8-^ r4 | }
r8 a,8 bes4 c d | dis8 e c bes r8 fis8 r4 |
% 10
\parenthesize
f4-- gis'-^ r8 a-^ r4 | r4 gis-^ r8 a-^ r4 |
r8 d, ees f g f ees d | f c d ees~ ees \glissando g, f g |
% 14
c4-- dis-^ r8 e-^ r4 | r4 dis-^ r8 e-^ r4 |
r8 g,8 a[ bes] c d4. | r8 e f[ fis] g a4. |
% 18
\repeat percent 2 { r4 f-^ r8 g-^ r4 | }
r8 d e4 f fis | fis8 g f cis r cis g[ cis] |
% 22
c?4-- dis-^ r8 e-^ r4 | r4 dis-^ r8 e-^ r4 \bar "||"
r4 r8 g,16 bes c8 c c16 g bes8 | c4-^ r8 bes~ bes g f g |
}
}
melody_trp = \relative c'' {
\clef "treble"
\key c \major
\numericTimeSignature
\time 4/4
r1 |
\repeat volta 2 {
\repeat percent 2 { r4 a-^ r8 bes-^ r4 | }
r8 a bes4 c d | a8 bes a g~ g2 |
\repeat percent 2 { r4 a-^ r8 bes-^ r4 | }
r8 a bes4 c d | dis8 e c bes r8 fis8 r4 |
% 10
\parenthesize
f4-- d'-^ r8 ees8-^ r4 | r4 d-^ r8 ees-^ r4 |
r8 d ees f g f ees d |
f c d ees~ ees \glissando g, f g |
% 14
c,4-- a'-^ r8 bes-^ r4 | r4 a-^ r8 bes8-^ r4 |
r8 g a[ bes] c d4. | r8 e f[ fis] g a4. |
% 18
\repeat percent 2 { r4 d,-^ r8 e-^ r4 | }
r8 d e4 f fis | fis8 g f cis r8 cis? g[ cis?] |
% 22
c?4-- a-^ r8 bes-^ r4 | r4 a-^ r8 bes-^ r4 \bar "||"
r4 r8 g16 bes c8 c c16 g bes?8 | c4-^ r8 bes8~ bes g f g |
}
}
melody_bass = \relative c' {
\bassRange
\clef "bass"
\key c \major
\numericTimeSignature
\time 4/4
r4 r8 g r f cis4 |
\repeat volta 2 {
\repeat percent 4 { c4 r8 c g4 bes | }
% TODO: change notehead to slash
\repeat percent 4 { r4 b r8 c8 r4 | }
% TODO: change notehead to slash
\repeat percent 4 { r4 b r8 c8 r4 | }
\repeat percent 4 { r4 b r8 c8 r4 | }
% TODO: change notehead to slash
\repeat percent 4 { r4 b r8 c8 r4 | }
\repeat percent 2 { r4 b r8 c8 r4 | }
%TODO: change notehead to X
c4 r4 r2 | r1 |
}
}
harmony_realbook = \chords \with {
\consists Percent_repeat_engraver
\override PercentRepeat.Y-offset = 1
} {
r1 |
\repeat volta 2 {
\repeat percent 4 { b2:7 c:7 | }
\break
\repeat percent 4 { b2:7 c:7 | }
\bar "||"
\break
\repeat percent 4 { e2:7 f:7 | }
\break
\repeat percent 3 { b2:7 c:7 | }
e:m7.5- c:7.9- |
\bar "||"
\break
\repeat percent 4 { d2:m7 g:7 | }
\break
\repeat percent 2 { b2:7 c:7 | }
\bar "||"
c4:7 r2. | r1 |
}
}
harmony = \harmony_realbook
% The alto sax part
altoSheet = {
<<
\context ChordNames {
\harmony
}
\new Staff \with {
instrumentName = #"Alto"
} {
\new Voice = "alto" { \melody_alto }
}
>>
}
% The trumpet part
trumpetSheet = {
<<
\context ChordNames {
\harmony
}
\new Staff \with {
instrumentName = #"Trumpet"
} {
\new Voice = "trp" { \melody_trp }
}
>>
}
% The full score
fullScore = {
<<
\new Staff \with {
instrumentName = #"Trp"
} {
\new Voice = "trp" {
\trumpetRange
\transpose c d
\melody_trp
}
}
\new Staff \with {
instrumentName = #"Alto"
} {
\new Voice = "alto" {
\altoRange
\transpose c a
\melody_alto
}
}
\context ChordNames {
\harmony
}
\new Staff \with {
instrumentName = #"Bass"
} {
\new Voice = "bass" { \melody_bass }
}
>>
}
% The merged score
mergedScore = {
<<
\context ChordNames {
\harmony
}
\new Staff \with {
instrumentName = #"Trp/Sax"
} {
\partcombine \melody_trp \melody_alto
% <<
% \new Voice = "trp" {
% \voiceOne
% \melody_trp
% }
% \new Voice = "alto" {
% \voiceTwo
% \melody_alto
% }
% >>
}
\new Staff \with {
instrumentName = #"Bass"
} {
\new Voice = "bass" { \melody_bass }
}
>>
}
%----------------------------------------------------
\book {
\bookOutputSuffix "merged-C"
\header { subtitle = "- concert C -" }
\score {
\mergedScore
}
}
\book {
\bookOutputSuffix "full-C"
\header { subtitle = "- concert C -" }
\score {
\fullScore
}
}
\book {
\bookOutputSuffix "trumpet-C"
\header { subtitle = "- concert C -" }
\score {
\transpose c d
\trumpetSheet
}
}
\book {
\bookOutputSuffix "alto-C"
\header { subtitle = "- concert C -" }
\score {
\transpose c a
\altoSheet
}
}
\book {
\bookOutputSuffix "full-Bb"
\header { subtitle = "- concert Bb -" }
\score {
\transpose c bes,
\fullScore
}
}
\book {
\bookOutputSuffix "trumpet-Bb"
\header { subtitle = "- concert Bb -" }
\score {
%\transpose c d
\trumpetSheet
}
}
\book {
\bookOutputSuffix "alto-Bb"
\header { subtitle = "- concert Bb -" }
\score {
\transpose c g
\altoSheet
}
}
\book {
\bookOutputSuffix "merged-Eb"
\header { subtitle = "- concert Eb -" }
\score {
\transpose c ees
\mergedScore
}
}
\book {
\bookOutputSuffix "full-Eb"
\header { subtitle = "- concert Eb -" }
\score {
\transpose c ees
\fullScore
}
}
midiScore = {
\tripletFeel 8
\unfoldRepeats
<<
\context ChordNames \with {
midiMinimumVolume = #0.3
midiMaximumVolume = #0.3
midiInstrument = "acoustic guitar (nylon)"
midiInstrument = "electric guitar (jazz)"
} {
\harmony
}
\new Staff \with {
midiMinimumVolume = #0.3
midiMaximumVolume = #0.3
midiInstrument = "alto sax"
} {
\new Voice = "alto" { \melody_alto }
}
\new Staff \with {
midiMinimumVolume = #0.3
midiMaximumVolume = #0.3
midiInstrument = "trumpet"
} {
\new Voice = "trp" { \melody_trp }
}
\new Staff \with {
midiMinimumVolume = #0.9
midiMaximumVolume = #0.9
midiInstrument = "acoustic bass"
%midiInstrument = "fretless bass"
} {
\transpose c c,
\new Voice = "bass" { \melody_bass }
}
>>
}
\book {
\bookOutputSuffix "track-C"
\score {
%\tripletFeel 8
\midiScore
\midi {
\context {
\Score tempoWholesPerMinute = #(ly:make-moment 160 4)
}
}
}
}