lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Implement extra-offset for system positioning (issue 324810043 by ad


From: david . nalesnik
Subject: Re: Implement extra-offset for system positioning (issue 324810043 by address@hidden)
Date: Fri, 28 Apr 2017 17:36:36 -0700

On 2017/04/28 22:49:25, thomasmorley651 wrote:
On 2017/04/28 22:27:12, david.nalesnik wrote:
> On 2017/04/28 22:24:57, david.nalesnik wrote:
> > On 2017/04/28 16:15:42, david.nalesnik wrote:
> > > On 2017/04/28 15:50:52, dak wrote:
> > > > Does an extra-offset in X direction even make sense when the
systems are
> > > spaced
> > > > according to their skylines _before_ the extra-offset is
applied?
> > >
> > > Well, X-offset of line-break-system-details is applied in
make-page-stencil,
> > > too.
> >
> > In any case, having an extra-offset in the Y direction is
obviously much
more
> > useful.  Extra-offset in the X direction seems a bit superfluous,
since it's
> > easy enough to set 'X-offset based on the left edge of the
printing space.
>
> Or, rather, I would imagine that the extra-offset setting for X
would be the
> same as X-offset....
>
> > My
> > original code created an extra-Y-offset, and I'm happy to go back
to this.
> >
> > Opinions?

If I understand correctly the default systems X/Y-offset is calculated
elsewhere, I like the possibility to offset those values.

Yes, but 'X-offset already acts as an offset from default values.  Try
the following example.  Any setting of 'X-offset is obviously in
relation to what's on your screen.  Set indent, short indent,
left-margin to what you like.

\version "2.19.59"

\paper {
  left-margin = 40
  indent = 30
  short-indent = 30
}

\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          \overrideProperty
Score.NonMusicalPaperColumn.line-break-system-details
            #'((X-offset . 0))
          s1*5 \break
          \overrideProperty
Score.NonMusicalPaperColumn.line-break-system-details
            #'((X-offset . 1))
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new Staff {
        \repeat unfold 15 { d'4 d' d' d' }
      }
    >>
  }
}

In contrast 'Y-offset is always an offset from the top of the page.  If
you don't set it, LilyPond calculates it.  If you set it, Lilypond uses
that instead.  extra-Y-offset will then modify whatever's in Y-offset,
default or user-specified.

So what I'm saying is that 'X-offset already acts as an offset of the
default, so an extra-X-offset is not needed.

The only reasons I can see for keeping it are: you can offset your own
setting of X-offset (why?), and you can set X and Y together.

So I'd vote for keeping extra-offset as in your last patch-set.
Although I'm aware David K's point is important, I think a user doing
manual
positioning, is responsible to deal with possible problems
(collisions), too.

X-offset and Y-offset don't check for collisions.  You can put systems
on top of each other, and move them right off the page.  (That's another
attraction of "extra-offset" for a name--there are plenty of warnings
about potential collisions.)



https://codereview.appspot.com/324810043/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]