[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Lilypond-auto] Issue 3688 in lilypond: Manual barlines overwrite re
From: |
lilypond |
Subject: |
Re: [Lilypond-auto] Issue 3688 in lilypond: Manual barlines overwrite repeat barlines |
Date: |
Sat, 25 Oct 2014 20:44:16 +0000 |
Comment #4 on issue 3688 by address@hidden: Manual barlines overwrite
repeat barlines
https://code.google.com/p/lilypond/issues/detail?id=3688
On 25/10/14 16:41, Dan Eble wrote:> I am proposing an approach to the
issue "Manual barlines overwrite repeat barlines,"
https://code.google.com/p/lilypond/issues/detail?id=3688 .
I think this issue could be addressed by introducing the concept of bar
line layers. The bar lines created automatically at measure boundaries
would be in one layer. The bar lines created automatically by repeat
structures would be in a layer on top of them.
top bar lines created specially by user (is it useful?)
repeat bar lines created automatically by repeat structures
main bar lines created with \bar x
timing bar lines created automatically at measure boundaries
bottom bar lines created specially by the user (use described later)
I'm not sure that the "timing" layer should be separate from the "main"
layer, but let's start with this.
The definition of the set of glyphs to use for a bar line type (normal,
end-of-line, beginning-of-line) would need to indicate when the lower
layer should show through. Whether this would need to be a new option
(e.g. #f) or just a new meaning for "" is discussed later.
The bar engraver would compose the bar types from all layers into a set
of glyphs to assign to the BarLine. For the example in the issue,
norm eol bol
repeat (".|:", #f, ".|:")
main ("||", "||", "||")
timing ("|", "|", "|")
-------------------------
result (".|:", "||", ".|:")
BOTTOM-LAYER USE CASE: I want a bar line which
1. does not have the problems with repeat bar lines
that are described in the tracker
2. looks different than an automatic bar line
3. does not require me to pay attention to the measure
position to avoid clobbering automatic bar lines
4. is visible at the end of the line only
I've seen this in hymns where lines are broken in mid-measure with a
double bar or a thick bar when the break corresponds to the end of a line
of the poem. I currently use a command \meterBar which takes care of 2-4
with some hoop-jumping and code that seems fragile. It think bar line
layers would solve the whole problem more easily.
BAR ERASURE: \bar "" currently erases automatic bar lines. Is this
important or just a side effect? What should \bar "" mean in a layered
scheme?
Option 1. The intended use of \bar "" is just to allow a line break;
erasing an automatic bar line is a side effect nobody cares for. It is
fine if \bar "" is changed to allow a lower-layer bar to appear. There
are separate layers for "timing" and "main" bar lines, and \bar "" adds a
transparent bar line to the "main" layer. We do not need to add #f as an
option in the glyph sets.
Option 2. Erasing an automatic bar line with \bar "" is useful, but it is
not generally useful to allow one layer to hide what is under it without
drawing anything in its place. There is one combined layer for "timing"
and "main" bar lines, and \bar "" overrides the type of bar in this layer
(like the current code). We do not need to add #f as an option in the
glyph sets.
Option 3. It is generally useful to allow one layer to hide what is under
it without drawing anything in its place, and this is what \bar "" does
in a separate "main" layer above the "timing" layer. This needs to be
represented in the glyph sets.
There's a lot more to consider, but that's enough for now. Thanks for
your feedback.
--
Dan
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings