Unterminated glissando

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Unterminated glissando

Andrew Bernard
I get this:

programming error: overwriting glissando
continuing, cross fingers
warning: unterminated glissando
warning: unterminated glissando
Preprocessing graphical objects..

What does this mean actually? How can a glissando be unterminated - surely it connects to the next available note. I checked - it's not the last notes in the score.

Andrew



_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Unterminated glissando

Andrew Bernard
Sorry people, my mistake - there were actually glissandos with no following notes at the end of my score. Please ignore that.

But I still see this, with no lines number:

programming error: overwriting glissando
continuing, cross fingers

So my question partially stands. What does this mean? What should I look for?

Andrew


On Fri, 15 Feb 2019 at 23:01, Andrew Bernard <[hidden email]> wrote:
I get this:

programming error: overwriting glissando
continuing, cross fingers
warning: unterminated glissando
warning: unterminated glissando
Preprocessing graphical objects..



_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Unterminated glissando

Thomas Morley-2
Am Fr., 15. Feb. 2019 um 14:04 Uhr schrieb Andrew Bernard
<[hidden email]>:

>
> Sorry people, my mistake - there were actually glissandos with no following notes at the end of my score. Please ignore that.
>
> But I still see this, with no lines number:
>
> programming error: overwriting glissando
> continuing, cross fingers
>
> So my question partially stands. What does this mean? What should I look for?
>
> Andrew

Hi Andrew,

"programming error: overwriting glissando" comes from glissando-engraver.cc.

Though, I wasn't able to force this error with any code I tried.
Do you apply some Glissando-overrides?
Maybe some coding is not as clean as wished.

Anyway, it's pretty easy to get the "unterminated glissando"-warning.

To check in a long, complicated file I wrote a helper-tool.
It checks for grob::is-live?, sufficient for all unterminated
glissandi. Maybe it is of help for "programming error: overwriting
glissando" as well.

N.B.: it is not tested widely...

But here the code:

tst =
#(lambda (ctx)
  (let ((gliss '())
        (gliss-to-test '()))
  (make-engraver
    ((initialize translator)
      (set! gliss '())
      (set! gliss-to-test '()))
    (acknowledgers
      ((glissando-interface engraver grob source-engraver)
       (set! gliss
             (list grob
                   (ly:prob-property
                     (ly:grob-property grob 'cause)
                     'origin)))))
    ((stop-translation-timestep translator)
       (if (and (pair? gliss) (ly:grob? (car gliss)))
           (set! gliss-to-test
                 (cons
                   (list
                     (car gliss)
                     (second gliss)
                     (grob::rhythmic-location (car gliss)))
                   gliss-to-test))))
    ((finalize translator)
      (if (pair? gliss-to-test)
          (let ((init #f))
            (for-each
              (lambda (e)
                (if (and (not (grob::is-live? (car e)))
                         (not (equal? (car e) init))
                         ;; mhh...Do I exclude too much?
                         (pair? (third e)))
                    (format #t
        "Check Glissandi: \n\tin file: ~a\n\tin music: measure ~a, moment ~a\n"
                        (second e)
                        (car (third e))
                        (ly:moment-main (cdr (third e)))))
                    (set! init (car e)))
              gliss-to-test)))))))

\layout {
  \context {
    \Voice
    \consists \tst
  }
}


Compiling:

<<
  \new Staff {
      s2. c'4\glissando s1
    }
  \new Staff {
      c'1 c'1\glissando
    }
  \new Staff {
      c'1 c'1\glissando
    }
>>

returns (for my atest-83.ly-file):
[...]
warning: unterminated glissando
Check Glissandi:
    in file: #<location atest-83.ly:5926:14>
    in music: measure 1, moment 3/4
warning: unterminated glissando
Check Glissandi:
    in file: #<location atest-83.ly:5929:14>
    in music: measure 2, moment 0
warning: unterminated glissando
Check Glissandi:
    in file: #<location atest-83.ly:5932:14>
    in music: measure 2, moment 0
[...]

HTH a bit,
  Harm

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Unterminated glissando

Andrew Bernard
Hi Harm,

This is great. It locates unterminated glissandi, but in my case it was just stupidity - they were at the end of the score with no note following. This amazing code of yours does not, in my setting at least, locate or catch the 'programming error: overwriting glissando' issue.

Thanks so much in any case.

Andrew


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Unterminated glissando

Thomas Morley-2
Am Sa., 16. Feb. 2019 um 09:00 Uhr schrieb Andrew Bernard
<[hidden email]>:
>
> Hi Harm,
>
> This is great. It locates unterminated glissandi, but in my case it was just stupidity - they were at the end of the score with no note following. This amazing code of yours does not, in my setting at least, locate or catch the 'programming error: overwriting glissando' issue.
>
> Thanks so much in any case.
>
> Andrew

Hi Andrew,

I had hoped it would catch 'programming error: overwriting glissando' as well...

In general error/warning-messages without location-pointers are a nuisance.
In your case you will likely need to break down the code to a minimal
example, before one can think of fixing the issue.
Much work for a long and complex score...
Once the issue is identified I'm probably able to amend the checks.

For now I added a check for not printed glissandi (in too tight
situations), checking for empty-stencil.
You may try it, although I've no clue about the chances to catch the
programming error.


Best,
  Harm

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user

glissando-checks-01.ly (2K) Download Attachment