[PATCH] Annotations for horizontal spacing (Issue #682)

View: New views
2 Messages — Rating Filter:   Alert me  

[PATCH] Annotations for horizontal spacing (Issue #682)

by Neil Puttock :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi everybody,

I've posted a preliminary patch here,

http://codereview.appspot.com/143071/show

which adds support for annotating the paper variables listed in issue #682:

horizontal-shift
indent
left-margin
line-width
right-margin
paper-width
short-indent

Attached is an image produced by the following snippet, which should
give you an idea of how it looks so far:

\relative c' {
  c1 \break
  c1
}

\paper {
  left-margin =  20\mm
  right-margin = 15\mm
  horizontal-shift = 10\mm
  short-indent = 10\mm
  annotate-x-spacing = ##t
}

While it's still in the embryonic stage, I'd appreciate any comments
you might have.

Here are my thoughts on a few aspects of the current patch:

-) I've split annotate-spacing into separate vertical and horizontal
options, mainly due to regression test requirements (I'm thinking
mainly of Michael's new margin support, where vertical annotations
would get in the way); a simple convert-ly would cover changing
annotate-spacing.

-) Since horizontal-shift is rarely used, and violates the usual
margins, I've decided to hide it unless set.

-) The annotations are currently positioned with paper-width as the
baseline, translated three-quarters of the way down a page.
Naturally, this is going to collide with systems depending on where
they're placed on a page.

-) indent and short-indent might be better off placed before systems.

-) For simplicity, the current annotation procedure
(annotate-y-interval) has been altered slightly so it can produce both
x- and y-annotations.  Unfortunately, this means that the centred
labels on horizontal annotations sometimes run off the page
(particularly left- and right-margin with small or default margins).

Thanks,
Neil


_______________________________________________
lilypond-devel mailing list
lilypond-devel@...
http://lists.gnu.org/mailman/listinfo/lilypond-devel

annotate-x.png (23K) Download Attachment

Re: [PATCH] Annotations for horizontal spacing (Issue #682)

by Trevor Daniels :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Neil

Looks good!

A small improvement might be to place horizontal-shift under the
left-margin, line-width, right-margin line to show more clearly how
left-margin, horizontal-shift and the indents 'stack'.  As you
suggest, it would add clarity to place these just above the first
system, as that is what indent affects, but in general there might
not be enough room to do that, unless you can cause the systems to
be pushed down when the annotation is present.

Trevor

----- Original Message -----
From: "Neil Puttock" <n.puttock@...>
To: "Lily-Devel List" <lilypond-devel@...>
Sent: Monday, November 02, 2009 12:57 AM
Subject: [PATCH] Annotations for horizontal spacing (Issue #682)


> Hi everybody,
>
> I've posted a preliminary patch here,
>
> http://codereview.appspot.com/143071/show
>
> which adds support for annotating the paper variables listed in
> issue #682:
>
> horizontal-shift
> indent
> left-margin
> line-width
> right-margin
> paper-width
> short-indent
>
> Attached is an image produced by the following snippet, which
> should
> give you an idea of how it looks so far:
>
> \relative c' {
>  c1 \break
>  c1
> }
>
> \paper {
>  left-margin =  20\mm
>  right-margin = 15\mm
>  horizontal-shift = 10\mm
>  short-indent = 10\mm
>  annotate-x-spacing = ##t
> }
>
> While it's still in the embryonic stage, I'd appreciate any
> comments
> you might have.
>
> Here are my thoughts on a few aspects of the current patch:
>
> -) I've split annotate-spacing into separate vertical and
> horizontal
> options, mainly due to regression test requirements (I'm thinking
> mainly of Michael's new margin support, where vertical annotations
> would get in the way); a simple convert-ly would cover changing
> annotate-spacing.
>
> -) Since horizontal-shift is rarely used, and violates the usual
> margins, I've decided to hide it unless set.
>
> -) The annotations are currently positioned with paper-width as
> the
> baseline, translated three-quarters of the way down a page.
> Naturally, this is going to collide with systems depending on
> where
> they're placed on a page.
>
> -) indent and short-indent might be better off placed before
> systems.
>
> -) For simplicity, the current annotation procedure
> (annotate-y-interval) has been altered slightly so it can produce
> both
> x- and y-annotations.  Unfortunately, this means that the centred
> labels on horizontal annotations sometimes run off the page
> (particularly left- and right-margin with small or default
> margins).
>
> Thanks,
> Neil
>


--------------------------------------------------------------------------------


> _______________________________________________
> lilypond-devel mailing list
> lilypond-devel@...
> http://lists.gnu.org/mailman/listinfo/lilypond-devel
>



_______________________________________________
lilypond-devel mailing list
lilypond-devel@...
http://lists.gnu.org/mailman/listinfo/lilypond-devel