Changes

Jump to navigation Jump to search
271 bytes removed ,  22:21, 15 June 2014
no edit summary
== Example ==
 
(TODO: This is old and might contain deprecated or non-working code. Unchecked.)
Here's an example of placing score snippets in the body of the text, with fonts in the score & body matching:
<texcode>
\unprotectdef\LILYTEMP{lilytemp} % name of folder for LilyPond/buffer files
\usemodule[filter]def\ParseLilypondFile#1% #1 is the name of the output file {\ctxlua{thirddata.parselilypondfile("#1")}}
\traceexternalfiltersstartluacode thirddata = thirddata or {}
\defineexternalfilter [lilypond] -- create temp folder if missing [\c!output=\externalfilterbasefile if not lfs.pdf, \c!filtercommand=isdir("\lilypondcommand,LILYTEMP") then lfs.mkdir("\c!continue=\v!yes, \c!readcommand=\readlilypondoutput, %\c!directory=output,LILYTEMP") ] end
% frame=on function thirddata.parselilypondfile(name) -- include all systems (pages) -- name is for testinglike \LILYTEMP/mainfile-temp-lilypond-21.pdf\def\readlilypondoutput#1{\setupfloats[location logs.report("LILYPOND","name=right,frame'" .. name .. "'") local scname =off]\placefigure[]{From \sc{http://lsrstring.dsigsub(name, '%.unimipdf$', '-systems.it/LSR/Search?qcount') local syco =piano}}{\externalfigure[#1]}}tonumber(io.loaddata(scname)) or 0
for nr = 1, syco do logs.report("LILYPOND","including system no." .. nr) context("\def\lilypondcommandsetupfloats[location=right,frame=off]\\placefigure[none]{}{\\externalfigure[" .. string.gsub(name, '% {lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps.pdf$', '-fonts \externalfilterinputfile' .. nr) .. "]}") end end\protectstopluacode
\usemodule[filter]\defineexternalfilter[lilypond] [continue=yes, cache=yes, readcommand=\ParseLilypondFile, directory=\LILYTEMP/, output={\externalfilterbasefile.pdf}, filtercommand={lilypond -dbackend=eps -dinclude-eps-fonts -dno-gs-load-fonts -o"\LILYTEMP/\externalfilterbasefile" "\externalfilterinputfile"}]  \setuplayout[textwidth=6in] % matches line-width below\usetypescriptdefinefontfeature[main][protrusion=quality, expansion=quality]\definefontfamily[mainface][rm][Adobe Jenson Pro][palatinofeatures=main]\setupbodyfont[palatinomainface,13pt]\setupalign[hz,hanging]
\starttext
\input zapf
\startlilypond
 
\layout{
indent=0\mm
}
\paper {
myStaffSize = #20 #(define fonts (make-pango-font-tree "palatinoAdobe Jenson Pro" "palatinoMyriad Pro" "palatinoMyriad Pro" (/ myStaffSize 20))) line-width=6\in
oddFooterMarkup=##f
oddHeaderMarkup=##f
scoreTitleMarkup = ##f
}
global melody = \relative c'' { \clef treble
\key c \major
\time 4/4
 
a b c d
}
sopMusic = \relative c'' { c4 c c8[( b)] c4}sopWords text = \lyricmode { hi hi hi hiAaa Bee Cee Dee
}
altoMusic upper = \relative c'' { e4 f d e\clef treble} \key c \majoraltoWords = \lyricmode {time 2/4  ha ha ha haa4 b c d
}
tenorMusic lower = \relative c' { g4 a f g\clef bass}tenorWords = \key c \lyricmode {major hu hu hu hu}\time 2/4
bassMusic = \relative c { c4 a2 c g c}bassWords = \lyricmode { ho ho ho hø
}
\score {
<<
\new ChoirStaff << \new Lyrics = "sopranos" \new Staff = "women" << \new Voice = "sopranosmel" { \voiceOne << autoBeamOff \global \sopMusic >> melody } \new Voice = "altos" { \voiceTwo << \global \altoMusic >> } >> \new Lyrics = "altos" \new Lyrics = "tenors" \new Staff = "men" << \clef bass \new Voice = "tenors" { \voiceOne << \global \tenorMusic >> } \new Voice = "basses" { \voiceTwo << \global \bassMusic >> } >> \new Lyrics = "basses" \context Lyrics = "sopranos" \lyricsto "sopranos" \sopWords \context Lyrics = "altos" \lyricsto "altos" \altoWords \context Lyrics = "tenors" mel \lyricsto "tenors" \tenorWords \context Lyrics = "basses" \lyricsto "basses" \bassWords >>text
\new PianoStaff <<
\new Staff << \set Staff.printPartCombineTexts = ##f "upper" \partcombine << \global \sopMusic >> << \global \altoMusic >> >>upper \new Staff << \clef bass \set Staff.printPartCombineTexts = ##f "lower" \partcombine << \global \tenorMusic >> << \global \bassMusic >> >>lower
>>
>>
\layout {
\context { \Staff \RemoveEmptyStaves }
}
}
 
\stoplilypond
\input zapftufte 
\stoptext
</texcode>
1

edit

Navigation menu