Am 11.09.2012 20:48, schrieb m...@mikesolomon.org:
On 11 sept. 2012, at 17:48, Marc Hohl <m...@hohlart.de> wrote:
Hello list,
for my work on the volta bracket inclusion for the new bar line interface,
I need to know how the bars are ordered in (ly:grob-object grob 'bars).
Please see the attached file.
For the \musOne, I get a grob array with eight BarLine grobs
(two for each staff) for the first volta bracket (and one for
the second volta bracket, of course):
|------volta------|
<BarLine> <BarLine>
<BarLine> <BarLine>
<BarLine> <BarLine>
<BarLine> <BarLine>
For \musTwo, I get a grob array consisting of eight BarLine grobs
(because the bracket spans eight bars in a single line) and a second
one for the second volta bracket.
|-------------------------------------volta-----------------------------------|
<BarLine> <BarLine> <BarLine> <BarLine> <BarLine> <BarLine> <BarLine> <BarLine>
Is there any chance to get to know how the grobs are arranged?
Or more formally: how can I get the 2D structure back from a 1D vector?
Thanks in advance,
Marc
<shortvoltatest.ly>_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel
You can use Grob::get_vertical_axis_group_index (you'd have to write a Scheme
binding).
What value does that function return? A quick glance at its definition
in lily/grob.cc does not fully reveal its return value, but as this is
an integer,
I have a 1D -> 1D function, but I need 2D.
Or sort the list it based on ly:grob::vertical-less? (that binding is
already written).
IIUC, that will sort the BarLine grobs, but I think that they *are*
already sorted
in the grob array, like this:
|---------volta---------|
<BarLine 1a> <BarLine 2a>
<BarLine 1b> <BarLine 2b>
<BarLine 1c> <BarLine 2c>
<BarLine 1d> <BarLine 2d>
is returned as <1a> <1b> <1c> <1d> <2a> <2b> <2c> <2d> (I assume),
but if I only have the grob array, I do not have the length and
width of the underlying 2D structure.
Regards,
Marc
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel