Urs Liska <u...@openlilylib.org> writes:

> Am 14.03.2017 um 12:50 schrieb David Kastrup:
>> Urs Liska <u...@openlilylib.org> writes:
>>
>>> Hi,
>>>
>>> I'm trying to determine if a slur includes ties in order to do some
>>> layout calculations.
>>>
>>> I'm overriding a stencil and have retrieved the slur's 'note-columns.
>>> Now I want to know if any of these note-columns (or enclosed note heads
>>> has a tie attached to it.
>>>
>>> I see that NoteColumn has a note-heads property. However, accessing
>>> these note heads and then asking for their ly:grob-object  NAME 'ties
>>> returns empty lists only.
>> When?  Where?
>
> I have some test music:
>
> {
>   << 
>     {
>       e''1 ( ~ e'' e'' )
>     }
>     \\
>     {
>       c'1 ( \stemUp c'2 ~ c' c'1 )
>     }
>   >>
> }
>
>
> In the stencil callback I get all note heads through
>
>      (all-note-heads 
>       (append-map (lambda (nc)
>                     (if (grob::has-interface nc 'note-column-interface)
>                         (ly:grob-array->list (ly:grob-object nc 'note-heads))
>                         (list nc))) note-cols))
>
> which is pretty much what Harm just suggested.
> If I print this all-note-heads I get
>
> All note heads: (#<Grob NoteHead > #<Grob NoteHead >)
>
> All note heads: (#<Grob NoteHead > #<Grob NoteHead >)
>
> All note heads: (#<Grob NoteHead > #<Grob NoteHead > #<Grob NoteHead >
> #<Grob NoteHead >)
>
> All note heads: (#<Grob NoteHead > #<Grob NoteHead > #<Grob NoteHead >)
>
> which tells me that I *did* access all the note head grobs. My naive
> approach would now be to reach the tie grob through
>
> (all-ties
>       (map (lambda (g)
>              (ly:grob-object g 'tie))
>         all-note-heads))
>
> but this returns only empty lists.

'tie is only set as a grob object for accidentals as far as I can see.

> From
> https://github.com/openlilylib/openlilylib/blob/master/notation-snippets/shaping-bezier-curves/shape-tie-column/definition.ily
> I got this:
>
> (let ((ties (ly:grob-array->list (ly:grob-object grob 'ties))))
>
> but in that case "grob"  is a TieColumn, and I don't know how I could
> access that (which is something I need anyway in order to do further
> formatting later).

Well, looks like you need to pursue that approach...

-- 
David Kastrup

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to