Hi! This patchs allows to add braces the same way as arpeggios. Very useful for ...
13 years, 9 months ago
(2011-07-28 12:11:16 UTC)
#1
Hi!
This patchs allows to add braces the same way as arpeggios.
Very useful for complex organ music.
Check this out, there is several examples:
http://imslp.org/wiki/12_Pi%C3%A8ces_pour_Orgue_(Gigout,_Eug%C3%A8ne)
For the moment, the new engraver is a clone of Arpeggio_engraver.
But I would like to add a command to attach text directly to braces (see IMSLP's
score). Since there's many cases for the text attachment points, I think a new
engraver is required.
Done with Mike's help.
The regression test is temporary.
Regards,
Bertrand
PS: Li Jie Wong requested this last year :
http://lists.gnu.org/archive/html/lilypond-user/2010-11/msg00361.html
Make is ok, but reg test gives me a few warnings on some reg tests. ...
13 years, 9 months ago
(2011-07-28 20:09:57 UTC)
#2
Make is ok, but reg test gives me a few warnings on some reg tests.
--snip--
/home/jlowe/lilypond-git/input/regression/footnote-auto-numbering.log
@@ -9,28 +9,28 @@
Finding the ideal number of pages...
Fitting music on 1 or 2 pages...
Drawing systems...
-programming error: Improbable offset for stencil:
823787934458423451582464.000000 staff space
+programming error: Improbable offset for stencil:
68178455185675213864960.000000 staff space
Setting to zero.
continuing, cross fingers
-programming error: Improbable offset for stencil:
823787934458423451582464.000000 staff space
+programming error: Improbable offset for stencil:
68178455185675213864960.000000 staff space
Setting to zero.
continuing, cross fingers
-programming error: Improbable offset for stencil:
823787934458423451582464.000000 staff space
+programming error: Improbable offset for stencil:
68178455185675213864960.000000 staff space
Setting to zero.
etc.
-snip-
../input/regression/footnote-auto-numbering.log
../input/regression/footnote-auto-numbering-page-reset.log
../input/regression/footnote-footer-padding
I updated the patch to work on the latest git HEAD. After doing a clean ...
13 years, 9 months ago
(2011-07-28 21:19:58 UTC)
#3
I updated the patch to work on the latest git HEAD.
After doing a clean regtest comparison (git clean -fxd, config, make, make
test-baseline, make check), I don't see anything.
The logs' names show this is due to Mike's last commits.
Regards,
Bertrand
Most of my comments below resemble each other, but up here I want to suggest ...
13 years, 8 months ago
(2011-08-17 22:24:34 UTC)
#8
Most of my comments below resemble each other, but up here I want to suggest
that if you go down the road of generalizing the arpeggio grob, the places you'd
have to do work are in the rhythmic column engraver and in the several
NoteColumn functions that look for an arpeggio. Instead, this would be
generalized to LeftSideIndication and maybe a LeftSideIndicationSpanner to
coordinate the horizontal deployment.
Great work in making your way through a lot of Lily code to get this up and
running! I get the sense that you have a good understanding of the code base,
which will serve you well for future endeavors.
Cheers,
MS
http://codereview.appspot.com/4807053/diff/18001/lily/brace-engraver.cc
File lily/brace-engraver.cc (right):
http://codereview.appspot.com/4807053/diff/18001/lily/brace-engraver.cc#newcode1
lily/brace-engraver.cc:1: /*
Check out my comment for Span_brace_engraver.
Of all the engravers in LilyPond, I think that the new-fingering-engraver is the
one that can act as the best model for the creation of new engravers insofar as
it handles many different grobs with the same method. I think that this can be
rolled into the arpeggio engraver with a few extra functions.
http://codereview.appspot.com/4807053/diff/18001/lily/span-brace-engraver.cc
File lily/span-brace-engraver.cc (right):
http://codereview.appspot.com/4807053/diff/18001/lily/span-brace-engraver.cc#...
lily/span-brace-engraver.cc:1: /*
Is there any way to combine this with the span arpeggio engraver?
It seems like stop_translation_timestep could be moved to another function (ie
process_spanning_grob) and then could handle multiple grobs (span_brace_,
span_arpeggio_, etc.).
http://codereview.appspot.com/4807053/diff/18001/lily/span-brace-engraver.cc#...
lily/span-brace-engraver.cc:6:
I don't really remember having anything to do with this file...was I involved in
this? I'm getting old if I can't remember this sorta thing!
If you're comfortable adding your e-mail address, that helps people who want to
edit the file later.
http://codereview.appspot.com/4807053/diff/18001/scm/define-grobs.scm
File scm/define-grobs.scm (right):
http://codereview.appspot.com/4807053/diff/18001/scm/define-grobs.scm#newcode501
scm/define-grobs.scm:501:
Just food for thought: currently, the "Script" grob encompasses many things
(staccati, tenuti, etc.), all of which could be their own grobs, but are common
and multiple enough to be grouped under one grob. In general, I would work with
the rule of "one, two, and many." That is, if you see something being one grob,
then leave it as one. If there are two (or max(ish) three) that are similar
(like the piano pedal stuff) it is ok to have multiple grobs. But once you
cross the threshold into many, it's better to handle them like scripts are
handled. I agree that braces are currently too-coupled with arpeggio's
functionality, but before they become a separate grob, I'd encourage you to
think about how plausible it is that other grobs like this one will need to be
created. If you can envision many, then roll this into arpeggio (or even change
the name of arpeggio to SideSpanner to be more neutral about the actual
content), allow for multiple ones attached to one note column, have some sorta
interface/uber-grob for determining horizontal order, and go down that route.
Hi Bertrand, can you tell me what needs work in this patch? I've read Mike's ...
13 years, 8 months ago
(2011-09-12 21:35:03 UTC)
#9
Hi Bertrand,
can you tell me what needs work in this patch? I've read Mike's comments, but i
don't understand what should be done. I have a strong feeling that it should be
patch-review.
It's a nice work and i'd like to see it implemented.
cheers,
Janek
On 2011/09/12 21:35:03, janek wrote: > can you tell me what needs work in this ...
13 years, 8 months ago
(2011-09-12 22:11:44 UTC)
#10
On 2011/09/12 21:35:03, janek wrote:
> can you tell me what needs work in this patch? I've read Mike's comments, but
i
> don't understand what should be done.
This patch contains many copy/paste from the arpeggio engraver. We obviously
need a new grob, since the braces need some special grob parameters like
font-encoding=fetaBraces. But this doesn't necessarily require to add an
engraver that would be a copy/paste from arpeggio-engraver.
My other wish is to add text to braces, so that it can be used for annotations.
I am close to a good solution, but still need some time to finish it.
I hope this will be finished in a few weeks.
Thanks,
Bertrand
2011/9/13 <bordage.bertrand@gmail.com>: > On 2011/09/12 21:35:03, janek wrote: >> >> can you tell me what ...
13 years, 8 months ago
(2011-09-12 22:38:43 UTC)
#11
2011/9/13 <bordage.bertrand@gmail.com>:
> On 2011/09/12 21:35:03, janek wrote:
>>
>> can you tell me what needs work in this patch? I've read Mike's
>
> comments, but i
>>
>> don't understand what should be done.
>
> This patch contains many copy/paste from the arpeggio engraver. We
> obviously need a new grob, since the braces need some special grob
> parameters like font-encoding=fetaBraces. But this doesn't necessarily
> require to add an engraver that would be a copy/paste from
> arpeggio-engraver.
> My other wish is to add text to braces, so that it can be used for
> annotations.
> I am close to a good solution, but still need some time to finish it.
> I hope this will be finished in a few weeks.
Ok. If you'd like me to help you, let me know.
cheers,
Janek
Issue 4807053: New engraver for braces
Created 13 years, 9 months ago by Bertrand Bordage
Modified 13 years, 8 months ago
Reviewers: pkx166h, Graham Percival (old account), MikeSol, janek
Base URL:
Comments: 4