Complex/Large Lilypond projects and build automation

14 messages
Open this post in threaded view
|

Complex/Large Lilypond projects and build automation

 I have a large Lilypond project for several hymnals.  The project is organized into a subdirectory structure with each hymn in a separate directory.  For each hymn I produce several products: an 8.5x11 PDF, a 6x9 PDF, a set of images formatted for projection at 4x3 and 16x9 aspect ratios, and a set of part dominant MP3’s for use in learning the hymns.  These products are then assembled at a higher level into a comprehensive PDF of the hymnal including front material and index; and a package of the slide images organized to be compatible with a Slide production product used at my church for assembling a song service; as well as assembling metadata files to be uploaded into a website I maintain that provides access to these hymns and provides simple search capabilities and internet access to these products.   I use Make (that old workhorse) to automate the process; but that has some distinct limitations.  So I was wondering what tools others may be using to aid them in building larger Lilypond projects.  What, if anything, are you using?  How well does that work for you?
Open this post in threaded view
|

Re: Complex/Large Lilypond projects and build automation

Open this post in threaded view
|

Re: Complex/Large Lilypond projects and build automation

Open this post in threaded view
|

Re: Complex/Large Lilypond projects and build automation

Open this post in threaded view
|

Re: Complex/Large Lilypond projects and build automation

Open this post in threaded view
|

Re: Complex/Large Lilypond projects and build automation

 Urs, who is the creator/maintainer of LuaLaTeX? There seems to be a mist cloud around it... JM > Le 8 déc. 2019 à 07:43, Urs Liska <[hidden email]> a écrit : > > > > Am 8. Dezember 2019 06:22:22 MEZ schrieb Jacques Menu <[hidden email]>: >> Hello folks, >> >> I’ll look into those alternative build systems. >> >> Urs, where can I find a MWE of LuaLaTeX use for LilyPond? Didn't find >> any when I seached the web recently. >> I have MacTeX 2019 installed. >> > > I only have one real example so far, and this is *far* from minimal - but includes an extensive documentation. > I'll discuss whether it is time to make this freely available now or if I can give you access to the repository. >
Open this post in threaded view
|

Re: Complex/Large Lilypond projects and build automation

 Hi Jacques, Is this of any use? https://www.ctan.org/pkg/lualatex-docAndrew On Sun, 8 Dec 2019 at 18:46, Jacques Menu <[hidden email]> wrote: > > Urs, who is the creator/maintainer of LuaLaTeX? There seems to be a mist cloud around it...
Open this post in threaded view
|

Re: Complex/Large Lilypond projects and build automation

Open this post in threaded view
|

Re: Complex/Large Lilypond projects and build automation

 In reply to this post by Jacques Menu Muzhic Am 08.12.19 um 08:44 schrieb Jacques Menu: Urs, who is the creator/maintainer of LuaLaTeX? There seems to be a mist cloud around it...  I'm not completely sure about the relation between LuaTeX and LuaLaTeX. The LuaTeX homepage is http://www.luatex.org/, and the LuaTeX manual is basically what one refers to when learning about the Lua capabilities of working with LuaLaTeX. With regard to the one project I've right now set the repository visibility to public, and it can be accessed at https://git.ursliska.de/bfsc/kayser. The idea has always been to make it public, but the repository is not in a state where we liked anyone to look at it ;-) On the plus side I can say that the project is extensively documented - because that was part of my paid commission. You can find the docs in the (surprise) documentation directory but I have uploaded the compiled PDFs to https://cloud.ursliska.de/s/A9gbm8gKqrdKefI and https://cloud.ursliska.de/s/oYXktF3wEXDiA9i (where I'll eventually remove them again, this is not a permanent link). This project has a very complex infrastructure on the LilyPond side as well, and there's a conference paper giving a high-level introduction to it: https://cloud.ursliska.de/s/mErzJdRut7VAcY6 The LaTeX part is of course very different from the use case asked for here, but it is surely an example showing what it means to use the Lua based LaTeX flavor as a document generation system. I'll try to outline as concisely as possible what the project does. Our edition (complete works of Isfrid Kayser) is organized as a directory hierarchy ///.ily. On the LilyPond side I can basically say  \engrave \with { workgroup = masses work = one movement = all part = violin-one    } with "part" shorthands "score" and "choir" (printing the four voices plus basso continuo). Several options can be given to make some decisions about using modern or original clefs, using original line breaks or highlighting annotations. The LaTeX infrastructure does a similar thing. You can tell it --  through command line options -- *what* volume you want to have created, and it collects the necessary information from the directory tree. First it checks which score(s) are needed, then uses lyluatex to conditionally compile them (if they are not already cached). Then it uses Pandoc to convert additional texts (preface, editorial comments) from Markdown files - if they are present in the relevant directory (i.e. if an editor has provided a preface to a specific volume it will be included, otherwise it is simply skipped). Finally the critical report is typeset from the data exported from LilyPond using scholarLY. Note that much of the code is somewhat outdated because in essence this project was the trigger to make me think further. What I realized is that essentially in *every* Lua project I did since I ended up implementing a kind of template system (starting with a copy from a previous project). So I started off generalizing this, and I hope my luaformatters package (https://github.com/lualatex-tools/luaformatters) will become a really useful tool, with the potential of extremely simplifying the use of Lua in LaTeX document(s/ packages). (https://cloud.ursliska.de/s/psHzJCMQMtW4aVs) Urs JM  Le 8 déc. 2019 à 07:43, Urs Liska [hidden email] a écrit : Am 8. Dezember 2019 06:22:22 MEZ schrieb Jacques Menu [hidden email]:  Hello folks, I’ll look into those alternative build systems. Urs, where can I find a MWE of LuaLaTeX use for LilyPond? Didn't find any when I seached the web recently. I have MacTeX 2019 installed.  I only have one real example so far, and this is *far* from minimal - but includes an extensive documentation. I'll discuss whether it is time to make this freely available now or if I can give you access to the repository. 
Open this post in threaded view
|

lyluatex and HarfBuzz (was: Complex/Large Lilypond projects and build automation)

 In reply to this post by Rembrandt Wolpert Am 08.12.19 um 09:04 schrieb Rembrandt Wolpert: Here's the hickup (probably easily fixed, Urs?) that interrupts compilation in a small examples:  Well, I had replied to you two times, asking for further information. Since that didn't come I didn't look into it so far ... > However, we hit a snag with the coming upgrade of luatex/lualatex to luahbtex/luahblatex. What exactly is this, what is the prerequisite to compile your documents (since you're talking about an "coming upgrade"). When I use \setmainfont[Renderer=Harfbuzz]{TeX Gyre Schola}  I get this error in *my* LuaLaTeX even without loading lyluatex This is LuaTeX, Version 1.10.0 (TeX Live 2019) (format=lualatex 2019.8.8) ... ! LaTeX Error: Missing \begin{document}.  So in order to track your issue I *really* need more information about the environment/context this is in. Urs
Open this post in threaded view
|

Re: lyluatex and HarfBuzz (was: Complex/Large Lilypond projects and build automation)

 Thanks Urs, I don’t think I’ll give LuaTex/LuaLaTex a try then.A nice day!JMLe 8 déc. 2019 à 09:49, Urs Liska <[hidden email]> a écrit :Am 08.12.19 um 09:04 schrieb Rembrandt Wolpert:Here's the hickup (probably easily fixed, Urs?) that interrupts compilation in a small examples:  Well, I had replied to you two times, asking for further information. Since that didn't come I didn't look into it so far ...> However, we hit a snag with the coming upgrade of luatex/lualatex to luahbtex/luahblatex.What exactly is this, what is the prerequisite to compile your documents (since you're talking about an "coming upgrade").When I use\setmainfont[Renderer=Harfbuzz]{TeX Gyre Schola} I get this error in *my* LuaLaTeX even without loading lyluatexThis is LuaTeX, Version 1.10.0 (TeX Live 2019) (format=lualatex 2019.8.8) ... ! LaTeX Error: Missing \begin{document}. So in order to track your issue I *really* need more information about the environment/context this is in.Urs
Open this post in threaded view
|

Re: lyluatex and HarfBuzz (was: Complex/Large Lilypond projects and build automation)

 In reply to this post by Urs Liska-3 Sorry, I didn't receive your replies, maybe because I seem to have lost my subscription to this list, but I am back on now... Here's my environment: I am on an up-to-date (08-12-1919) texlive system installed on a Mac running High Sierra. My LilyPond tells me that it is GNU LilyPond 2.19.83. "Coming upgrade" should be perhaps update? my misnomer; it refers to the announcement that from texlive 2020 luatex (and with it lualatex, luajittex,...) will be luahbtex/luahblatex. Updates in texlive via tlmgr already perform all the necessary formatting etc. On Macs luahblatex is called (until texlive 2020 becomes official) as lualatex-dev. The present version I use is: This is LuaHBTeX, Version 1.11.2 (TeX Live 2020/dev)  (format=lualatex-dev 2019.12.5)  7 DEC 2019 23:05  system commands enabled. there is no surprise that | This is LuaTeX, Version 1.10.0 (TeX Live 2019)  (format=lualatex 2019.8.8) ... does not work: the [Renderer=...] option did not yet exist in LuaTeX Version 1.10.0.   luaotfload from version 3.1 (TeXLive 2019, 10.11.2019) already supports for the Renderer options Harfbuzz, OpenType, AAT, and Graphite under luahbtex (not under luatex-without-the-hb) texlive updates include now the "-dev" versions for the "upcoming upgrade (to texlive 2020)" (as in latex-dev, pdflatex-tex, lualatex-dev,...) The reason why I am using the development version is because my book with many hundreds of musical notations (longer ones and snippets) will definitely be after texlive 2020 comes out, and my *text* benefits from (in the case of non-Western scripts, requires...) the use of the "Renderer..." option. The "minimal" example was compiled with: bash>  lualatex-dev --shell-escape lyminimal.tex setting: \setmainfont[Renderer=Harfbuzz]{TeX Gyre Schola} fails setting: \setmainfont{TeX Gyre Schola} succeeds. Using lilypond-book and then compiling with lualatex-dev and \setmainfont[Renderer=Harfbuzz]{TeX Gyre Schola} succeeds. It is the "Renderer=..."-option which throws lyluatex, regardless of the chosen engine. Any other traditional options are fine. (E.g. a convoluted "\setmainfont[Microtype,ItalicFont={Trinite No2 Italic Cond},                         BoldFont={Trinite No2 Roman Cond}]{Trinite No2 Roman Cond}") Glad to give any other information I can - lyluatex really simplified my life enormously! Thank you for it! And I'd like to stick with it! Rembrandt -- Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html
 Am 8. Dezember 2019 12:57:38 MEZ schrieb Rembrandt Wolpert <[hidden email]>: >Sorry, I didn't receive your replies, maybe because I seem to have lost >my >subscription to this list, but I am back on now... > >Here's my environment: > >I am on an up-to-date (08-12-1919) texlive system installed on a Mac >running >High Sierra. > >My LilyPond tells me that it is GNU LilyPond 2.19.83. > >"Coming upgrade" should be perhaps update? my misnomer; it refers to >the >announcement that from texlive 2020 luatex (and with it lualatex, >luajittex,...) will be luahbtex/luahblatex. Updates in texlive via >tlmgr >already perform all the necessary formatting etc. > >On Macs luahblatex is called (until texlive 2020 becomes official) as >lualatex-dev. The present version I use is: > >This is LuaHBTeX, Version 1.11.2 (TeX Live 2020/dev) >(format=lualatex-dev >2019.12.5)  7 DEC 2019 23:05 > system commands enabled. > >there is no surprise that > >| This is LuaTeX, Version 1.10.0 (TeX Live 2019)  (format=lualatex >2019.8.8) >... > >does not work: the [Renderer=...] option did not yet exist in LuaTeX >Version >1.10.0. > >luaotfload from version 3.1 (TeXLive 2019, 10.11.2019) already supports >for >the Renderer options Harfbuzz, OpenType, AAT, and Graphite >under >luahbtex (not under luatex-without-the-hb) > >texlive updates include now the "-dev" versions for the "upcoming >upgrade >(to texlive 2020)" (as in latex-dev, pdflatex-tex, lualatex-dev,...) > >The reason why I am using the development version is because my book >with >many hundreds of musical notations (longer ones and snippets) will >definitely be after texlive 2020 comes out, and my *text* benefits from >(in >the case of non-Western scripts, requires...) the use of the >"Renderer..." >option. > >The "minimal" example was compiled with: > >bash>  lualatex-dev --shell-escape lyminimal.tex > >setting: \setmainfont[Renderer=Harfbuzz]{TeX Gyre Schola} fails >setting: \setmainfont{TeX Gyre Schola} succeeds. > >Using lilypond-book and then compiling with lualatex-dev and >\setmainfont[Renderer=Harfbuzz]{TeX Gyre Schola} succeeds. > >It is the "Renderer=..."-option which throws lyluatex, regardless of >the >chosen engine. Any other traditional options are fine. (E.g. a >convoluted >"\setmainfont[Microtype,ItalicFont={Trinite No2 Italic Cond}, >                   BoldFont={Trinite No2 Roman Cond}]{Trinite No2 Roman >Cond}") > >Glad to give any other information I can - lyluatex really simplified >my >life enormously! Thank you for it! And I'd like to stick with it! > >Rembrandt > > Ok, with this information I can try to reproduce the issue and start looking at the Lua errors. Urs > > > > >-- >Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html-- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.