Discussion:
Edition Engraver in 2.19
Reggie
2018-11-11 20:55:23 UTC
Permalink
Good day list

Can anyone tell me how one can properly learn just what the edition engraver
is and what it does? I have seen several people on this list really express
how much it helps them but how did they learn? Is there any documentation or
do users actually learn the EE by looking at this?
https://github.com/openlilylib/edition-engraver/blob/master/usage-examples/example-1.ly
From what I've gathered on the list here the EE is immensely powerful and
yet I can't find my way around just understanding what it does, how it does
it, and why I should consider using it. Any out there able to offer a brief
crash course? Thanks you.




--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html
Karlin High
2018-11-12 00:06:27 UTC
Permalink
Post by Reggie
Can anyone tell me how one can properly learn just what the edition engraver
is and what it does?
So far, the best information I've seen for getting started with the
Edition Engraver is this post by Stéfano Troncaro.

<http://lists.gnu.org/archive/html/lilypond-user/2018-01/msg00603.html>
--
Karlin High
Missouri, USA
Reggie
2018-11-12 21:52:05 UTC
Permalink
On Sun, Nov 11, 2018 at 2:55 PM Reggie &lt;
So far, the best information I've seen for getting started with the
Edition Engraver is this post by Stéfano Troncaro.
is that all the documentation for such a powerful tweak tool in lilyPond?
How do new users learn this tool and all its possibilites? thanks



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html
Kieren MacMillan
2018-11-13 00:55:53 UTC
Permalink
Hi Reggie,
Post by Reggie
is that all the documentation for such a powerful tweak tool in lilyPond?
Yes, unfortunately.
And, to be accurate, it’s not "in" Lilypond — it’s a separate library.
Post by Reggie
How do new users learn this tool and all its possibilites?
I learned by looking at the examples, trial and error, and asking Jan-Peter (the author) every now and then. =)

Cheers,
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: ***@kierenmacmillan.info
m***@zonnet.nl
2018-11-13 07:30:15 UTC
Permalink
_______________________________________________
lilypond-user mailing list
lilypond-***@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
Urs Liska
2018-11-13 08:44:22 UTC
Permalink
Hi Marten,
Hi,
I, like the original poster, was also intrigued, by people's
enthusiastic comments about the power of OpenLilyLib and the Edition
Engraver. And like the O.P. I never really got started.
I guess the question is: How complex a LilyPonds score has to be
before EE really starts making things easier instead of just adding
more difficulties?
I think for seriously discussing this trade-off one should (maybe
grudgingly) ignore the lack of documentation. The actual effort of
integrating the edition-engraver in a set-up is pretty low, once you
know how it's done.

In my view the separation of content and presentation has two aspects
that matter most for the use of the edition-engraver, and if they are of
any relevance for one's projects it makes sense to use it, even in
smaller projects/scores:

* Separate sets of tweaks (or "rendering hints", a term that is common
in the music encoding community) for separate engraving targets.
It's cleaner to control the engraving for, say, score vs. parts or
print vs. screen display. One feature I regularly use is providing
alternative sets of line/page breaks to have it match the manuscript
while copying or proof-reading.
* Cleanness of the input files. I currently work on a project where
the input files will be part of the published edition, and there
must not be any custom \override or \tweak in them, only the
editorial content.

The general advanatage of using the openLilyLib infrastructure is

* for the *user*: it provides sets of additional functionality that is
neatly packaged and easily available. You can sort-of read through
https://github.com/openlilylib/scholarly/blob/master/documentation/scholarly.md
to get an example for a package that has already been documented.
* more for the package developer (but also accessible to end-user
documents): oll-core provides a set of basic functionality that can
pretty efficiently be used to build more complex functionality in a
modular manner.

Best
Urs
MT
Verzonden vanaf mijn Huawei mobiele telefoon
-------- Oorspronkelijk bericht --------
Onderwerp: Re: Edition Engraver in 2.19
Van: Kieren MacMillan
Aan: Reggie
Cc: Lilypond-User Mailing List
Hi Reggie,
Post by Reggie
is that all the documentation for such a powerful tweak tool in
lilyPond?
Yes, unfortunately.
And, to be accurate, it’s not "in" Lilypond — it’s a separate library.
Post by Reggie
How do new users learn this tool and all its possibilites?
I learned by looking at the examples, trial and error, and asking
Jan-Peter (the author) every now and then. =)
Cheers,
Kieren.
________________________________
Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
_______________________________________________
lilypond-user mailing list
https://lists.gnu.org/mailman/listinfo/lilypond-user
_______________________________________________
lilypond-user mailing list
https://lists.gnu.org/mailman/listinfo/lilypond-user
Jan-Peter Voigt
2018-11-13 11:14:18 UTC
Permalink
Hi all,

just a few hours away ... ;-)
Kieren already mentioned, the edition engraver is an external library.
It is part of my own toolchain, but once made its way into public,
because it fitted a question/a use case of Kieren. So I started to make
it available. Now there came Urs' OpenLilyLib infrastructure into the
arena to provide a standard API to add and load modules to the LilyPond
toolchain.
Let me explain shortly what and why the EE is:
There where several cases where I needed a full score and parts for
instruments and choir. During a smaller first project I thought, it is
quite messy to tag overrides and breaks for every different target (full
score, part). In frescobaldi one can easily jump to the code of a single
element and than add the desired override, but I wished for a tool to
write down "in measure X at moment Y" I need to shape a slur or add a
line-break or whatever. In fact I was sitting with a printout marking
elements to tweak. Now paper doesn't do point-and-click ...
Right now my time does not allow for writing down an adequate elaborate
documentation, but I try to jump in if there are questions.
And of course I am very thankful for the text Stefano Troncaro wrote
down!
(http://lists.gnu.org/archive/html/lilypond-user/2018-01/msg00603.html)
Thank you for bringing this up again - I have to admit that I lost the
track to place store into the Wiki of the GitHub-page.

The EE uses two coordinates to identify when and where to tweak
something. First there is the time noted with measure and moment. The
second part identifies the context, where the tweak is to be applied.
Every modification is marked with an edition-tag to separate different
targets.

\version "2.19.82"
% load OpenLilyLib
\include "oll-core/package.ily"
% load edition-engraver package
\loadPackage edition-engraver

% activate a target/edition "test" - this might also be "fullscore" or
"violinI" or whatever
\addEdition test

% add an override in measure 1 at the second quarter (it counts from
zero, so it is 1 quarters to move from the beginning of measure 2)
% apply the override to the second Voice context with edition-id
'sing.with.bach.along'
\editionMod test 1 1/4 sing.with.bach.along.Voice.B \once \override
NoteHead.color = #red

% add/consist the edition-engraver to the desired Context-types
\consistToContexts #edition-engraver Score.Staff.Voice

% create a Staff with an editionID
\new Staff \with {\editionID ##f sing.with.bach.along }
<< { bes'4 a' c'' b' } \\ { es'4 e' f' fis' } >>

I can't speak for the average user because I made it the way *I* think
about all this stuff.
And yes, there is absolutely need for documentation.

@Marten: I think if you understand the basic concept and got familiar
with the commands it can be useful even for small scores like Urs
already wrote. Of course I am used to using the EE so my opinion is
biased, but I think it is useful for a lot of (not all) tasks.

HTH
Jan-Peter
Hi,
I, like the original poster, was also intrigued, by people's
enthusiastic comments about the power of OpenLilyLib and the Edition
Engraver. And like the O.P. I never really got started.
I guess the question is: How complex a LilyPonds score has to be
before EE really starts making things easier instead of just adding
more difficulties?
MT
Verzonden vanaf mijn Huawei mobiele telefoon
-------- Oorspronkelijk bericht --------
Onderwerp: Re: Edition Engraver in 2.19
Van: Kieren MacMillan
Aan: Reggie
Cc: Lilypond-User Mailing List
Hi Reggie,
Post by Reggie
is that all the documentation for such a powerful tweak tool in
lilyPond?
Yes, unfortunately.
And, to be accurate, it’s not "in" Lilypond — it’s a separate library.
Post by Reggie
How do new users learn this tool and all its possibilites?
I learned by looking at the examples, trial and error, and asking
Jan-Peter (the author) every now and then. =)
Cheers,
Kieren.
________________________________
Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
_______________________________________________
lilypond-user mailing list
https://lists.gnu.org/mailman/listinfo/lilypond-user
_______________________________________________
lilypond-user mailing list
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reggie
2018-11-13 17:48:15 UTC
Permalink
Post by Jan-Peter Voigt
Hi all,
just a few hours away ... ;-)
Kieren already mentioned, the edition engraver is an external library.
It is part of my own toolchain, but once made its way into public,
because it fitted a question/a use case of Kieren. So I started to make
it available. Now there came Urs' OpenLilyLib infrastructure into the
arena to provide a standard API to add and load modules to the LilyPond
toolchain.
There where several cases where I needed a full score and parts for
instruments and choir. During a smaller first project I thought, it is
quite messy to tag overrides and breaks for every different target (full
score, part). In frescobaldi one can easily jump to the code of a single
element and than add the desired override, but I wished for a tool to
write down "in measure X at moment Y" I need to shape a slur or add a
line-break or whatever. In fact I was sitting with a printout marking
elements to tweak. Now paper doesn't do point-and-click ...
Right now my time does not allow for writing down an adequate elaborate
documentation, but I try to jump in if there are questions.
down!
(http://lists.gnu.org/archive/html/lilypond-user/2018-01/msg00603.html)
Thank you for bringing this up again - I have to admit that I lost the
track to place store into the Wiki of the GitHub-page.
The EE uses two coordinates to identify when and where to tweak
something. First there is the time noted with measure and moment. The
second part identifies the context, where the tweak is to be applied.
Every modification is marked with an edition-tag to separate different
targets.
\version "2.19.82"
% load OpenLilyLib
\include "oll-core/package.ily"
% load edition-engraver package
\loadPackage edition-engraver
% activate a target/edition "test" - this might also be "fullscore" or
"violinI" or whatever
\addEdition test
% add an override in measure 1 at the second quarter (it counts from
zero, so it is 1 quarters to move from the beginning of measure 2)
% apply the override to the second Voice context with edition-id
'sing.with.bach.along'
\editionMod test 1 1/4 sing.with.bach.along.Voice.B \once \override
NoteHead.color = #red
% add/consist the edition-engraver to the desired Context-types
\consistToContexts #edition-engraver Score.Staff.Voice
% create a Staff with an editionID
\new Staff \with {\editionID ##f sing.with.bach.along }
<< { bes'4 a' c'' b' } \\ { es'4 e' f' fis' } >>
I can't speak for the average user because I made it the way *I* think
about all this stuff.
And yes, there is absolutely need for documentation.
@Marten: I think if you understand the basic concept and got familiar
with the commands it can be useful even for small scores like Urs
already wrote. Of course I am used to using the EE so my opinion is
biased, but I think it is useful for a lot of (not all) tasks.
HTH
Jan-Peter
Am 13.11.18 um 08:30 schrieb
Hi,
I, like the original poster, was also intrigued, by people's
enthusiastic comments about the power of OpenLilyLib and the Edition
Engraver. And like the O.P. I never really got started.
I guess the question is: How complex a LilyPonds score has to be
before EE really starts making things easier instead of just adding
more difficulties?
MT
Verzonden vanaf mijn Huawei mobiele telefoon
-------- Oorspronkelijk bericht --------
Onderwerp: Re: Edition Engraver in 2.19
Van: Kieren MacMillan
Aan: Reggie
Cc: Lilypond-User Mailing List
Hi Reggie,
Post by Reggie
is that all the documentation for such a powerful tweak tool in
lilyPond?
Yes, unfortunately.
And, to be accurate, it’s not "in" Lilypond — it’s a separate library.
Post by Reggie
How do new users learn this tool and all its possibilites?
I learned by looking at the examples, trial and error, and asking
Jan-Peter (the author) every now and then. =)
Cheers,
Kieren.
________________________________
Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
_______________________________________________
lilypond-user mailing list
https://lists.gnu.org/mailman/listinfo/lilypond-user
_______________________________________________
lilypond-user mailing list
https://lists.gnu.org/mailman/listinfo/lilypond-user
_______________________________________________
lilypond-user mailing list
https://lists.gnu.org/mailman/listinfo/lilypond-user
\loadPackage edition-engraver always fails. I give up. I downloaded and
tried to install and cannot get anything to work. How do you install
engraver from stage one? https://github.com/openlilylib/edition-engraver I
followed the github wiki but nothing.



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html
Kieren MacMillan
2018-11-13 17:55:42 UTC
Permalink
Hi Reggie,
How do you install engraver from stage one?
\include "oll-core/package.ily"
\loadPackage edition-engraver

Works great for me. Are you sure you’ve got all the necessary files downloaded (including oll-core), and placed correctly in your search path?

Cheers,
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: ***@kierenmacmillan.info
Reggie
2018-11-13 18:17:22 UTC
Permalink
Post by Kieren MacMillan
Hi Reggie,
How do you install engraver from stage one?
\include "oll-core/package.ily"
\loadPackage edition-engraver
Works great for me. Are you sure you’ve got all the necessary files
downloaded (including oll-core), and placed correctly in your search path?
No I'm not. That was my question. :)) Git is confusing with various
packages. Can you show what exactly must be downloaded for working? Thank
you.



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html
Kieren MacMillan
2018-11-13 18:25:44 UTC
Permalink
Hi Reggie,
Post by Reggie
Can you show what exactly must be downloaded for working?
1. I’ve downloaded the following repositories: breaks, edition-engraver, notation-fonts, ill-core, page-layout, and snippets. You may not need all of them right away — but you’ll probably want all of them eventually, so why not do it now!? =)

2. My folder structure is: _include > openlilylib > [all of the folders listed above], but yours may be different. Just make sure that Frescobaldi and/or Lilypond knows where to look for those folders/files.

That should be it!

Hope that helps,
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: ***@kierenmacmillan.info
Reggie
2018-11-13 18:52:33 UTC
Permalink
Post by Kieren MacMillan
Hi Reggie,
Post by Reggie
Can you show what exactly must be downloaded for working?
1. I’ve downloaded the following repositories: breaks, edition-engraver,
notation-fonts, ill-core, page-layout, and snippets. You may not need all
of them right away — but you’ll probably want all of them eventually, so
why not do it now!? =)
2. My folder structure is: _include > openlilylib > [all of the folders
listed above], but yours may be different. Just make sure that Frescobaldi
and/or Lilypond knows where to look for those folders/files.
That should be it!
Hope that helps,
Kieren.
________________________________
Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
_______________________________________________
lilypond-user mailing list
https://lists.gnu.org/mailman/listinfo/lilypond-user
Hi Kieren yes that helps thank you I now have it installed and I see it.
The example JanPeter gave however is not quite clear. I was hoping EE could
allow me to create full score and parts with tweaks easy versus tags system.
When you say learn by looking at examples what examples only two usage
examples ly files to go by? Sorry. Thank you.




--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html
Kieren MacMillan
2018-11-14 02:06:02 UTC
Permalink
Hi Reggie,
I was hoping EE could allow me to create full score and parts
with tweaks easy versus tags system.
That is absolutely one of its strengths.
When you say learn by looking at examples what examples
only two usage examples ly files to go by?
A couple of examples privately shared by Jan-Peter, and a few scattered examples from other authors around the 'Pond. I suppose more than anything else, I’ve learned by [a lot of] trial and error.

If I had a moment to spare, I would whip up a couple of examples for you (and the rest of the 'Pond)… but right now, I’m working 40 hours a week, parenting two children, co-writing 22 musical theatre songs, developing two database, and working on a number of other projects — there are just no moments left in the day (or night). In December, and especially in 2019, my time will be freer — I’ll try to put together a tutorial then.

In the meantime, post some MWEs or email me examples that aren’t working as you expect, and I’ll see what I can do to nudge you in the right direction.

Cheers,
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: ***@kierenmacmillan.info
Stemby
2018-11-18 00:43:46 UTC
Permalink
Hello,
just a simple question: is it possible/convenient to use EE for entering
fingering instructions?

Thank you!

Carlo



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html
Jan-Peter Voigt
2018-11-18 09:56:51 UTC
Permalink
Hello Carlo,

yes it is possible to add fingerings with the EE:
\editionMod theTarget 1 2/4 path.to.context.Voice <>-3

So if you enter the fingering with a single editionMod command you just
have to add it to an empty chord.
To make it convenient you should create a shortcut for the editionMod
command. Otherwise there is far too much boilerplate for a probably very
long list of fingerings.
If you need help with that don't hesitate to ask again ;-)

HTH

Jan-Peter
Post by Stemby
Hello,
just a simple question: is it possible/convenient to use EE for entering
fingering instructions?
Thank you!
Carlo
--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html
_______________________________________________
lilypond-user mailing list
https://lists.gnu.org/mailman/listinfo/lilypond-user
Kieren MacMillan
2018-11-13 17:23:24 UTC
Permalink
Hi Martin,
I guess the question is: How complex a LilyPonds score has to be before EE really starts making things easier instead of just adding more difficulties?
Excluding MWEs for this list, I would say I use the EE on >95% of the scores I engrave — even in (e.g.) a lead sheet (i.e., one staff of music + lyrics + chords) for a 24-bar melody.

As soon as I hit the first tweak which is presentation-layer (and not content-layer), I bring out the EE. The only difference as scores get more complex is this: with very simple scores, my edition code is the score/output file; as soon as the score hits a certain number of tweaks, I move all the edition code to a separate file and \include it in to the score/output file.

Hope this helps!
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: ***@kierenmacmillan.info
Pedro Pessoa
2018-11-20 04:33:54 UTC
Permalink
I was quite happy when I found about https://openlilylib.org/, then I
realized it didn't actually had content in it.
The repo have the information needed to get OLL and things running, but I
think it would be worth putting some "hello world"s on the website. It would
be especially nice for newcomers, and the site is actually avaliable/online.



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html
Urs Liska
2018-11-20 14:10:01 UTC
Permalink
Post by Pedro Pessoa
I was quite happy when I found about https://openlilylib.org/, then I
realized it didn't actually had content in it.
The repo have the information needed to get OLL and things running, but I
think it would be worth putting some "hello world"s on the website. It would
be especially nice for newcomers, and the site is actually avaliable/online.
Well, it *is* available online but there are no useful pointers around
that help people find this: https://github.com/openlilylib/oll-core/wiki

This wiki page at least informs how to set up the system easily to make
use of openLilyLib and its packages.

Best
Urs
Post by Pedro Pessoa
--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html
_______________________________________________
lilypond-user mailing list
https://lists.gnu.org/mailman/listinfo/lilypond-user
Loading...