lilypond-user
[Top][All Lists]
Advanced

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

Re: Segmentation Fault in music with cueDuring


From: Thomas Morley
Subject: Re: Segmentation Fault in music with cueDuring
Date: Wed, 30 Dec 2015 02:27:40 +0100

2015-12-30 1:56 GMT+01:00 Thomas Morley <address@hidden>:
> 2015-12-30 1:45 GMT+01:00 Simon Albrecht <address@hidden>:
>> On 30.12.2015 01:38, Thomas Morley wrote:
>>>
>>> You'll see that only the chord's first note is quoted!
>>
>>
>> Still, the in-chord tie makes the difference, without that tie, the chord is
>> properly quoted. So I’m not sure whether your testing function is useful
>> here.
>>
>> Yours, Simon
>
> I stand corrected.
> It's my function which disregards the chord not LilyPond! Looks like
> I'll have to improve it
>
> Thanks,
>   Harm

For the record, here an updated version of it.

Ofcourse only the option displaying the raw data is really accurate.
The other options rebuild stuff which may be handled different in
LilyPond internals. Though, studying the raw data looks like storing
the data happened correctly.

\version "2.19.32"

cueNotes = \relative c'' {
   <g d'~>8 d'
}

\addQuote "cueNotes" \cueNotes

#(define* (music-quotes-info #:optional (name "")(print #f))
 (let* ((music-quotes-list
          (hash-map->list cons (ly:parser-lookup 'musicQuotes)))
        (quote-vector (assoc-get name music-quotes-list #()))
        (quote-list (vector->list quote-vector)))
  (cond ((string-null? name)
         (display-scheme-music music-quotes-list))
        ((and (not (null? quote-list)) print)
         (make-sequential-music
           (map
             (lambda (m)
               (let ((elts
                       (map
                         (lambda (e) (ly:prob-property (car e) 'music-cause))
                         (cdr m))))
                  (if (= (length elts) 1)
                      (car elts)
                      (make-event-chord elts))))
             quote-list)))
        (else
          (display-scheme-music
            (make-sequential-music
              (map
                (lambda (m)
                  (let ((elts
                          (map
                            (lambda (e) (ly:prob-property (car e) 'music-cause))
                            (cdr m))))
                     (if (= (length elts) 1)
                         (car elts)
                         (make-event-chord elts))))
                quote-list)))))))

%% raw data of all quotes
#(music-quotes-info)
%% `display-scheme-music'
%#(music-quotes-info "cueNotes")
%% set `print' #t and use $ to get it printed
%$(music-quotes-info "cueNotes" #t)

Cheers,
  Harm



reply via email to

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