lilypond-user
[Top][All Lists]
Advanced

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

Re: Defining bar checks in a variable


From: David Kastrup
Subject: Re: Defining bar checks in a variable
Date: Mon, 14 Oct 2013 16:58:21 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Mike Solomon <address@hidden> writes:

> hmm…for a slightly less minimal example, I'm trying to do:
>
> bc = |
>
> foo = { \bc \bar "|" }
>
> {
>  a a a a a \foo
> }
>
> Any ideas on how to accomplish that?

Simple.  First fix
<URL:http://code.google.com/p/lilypond/issues/detail?id=2392>

then revert

commit c83a3afbc51c62769cbb8963371d37b312bbcd42
Author: David Kastrup <address@hidden>
Date:   Wed Feb 27 01:26:14 2013 +0100

    Issue 3205: opening bar check causes crash if \score contains the \midi 
block
    
    This derives Bar_check_iterator from Music_iterator rather than from
    Simple_music_iterator.
    
    In
    \score {
      { | d }
      \midi { }
    }
    
    the bar check iterator is being called while only the \Global context
    exists.  That causes Score_performer::one_time_step to be called
    without getting Score_performer::prepare to be called previously,
    probably because the Score context is created at the wrong time.  The
    Score_performer is not prepared for this situation.
    
    I have no idea how to fix Simple_music_iterator, why it exists in the
    first place and is written like it is, and why this appears to work.


Note the last paragraph of the commit message/review description
pointing out rather explicitly that this was just a stab in the dark.
It would appear that whatever Simple_music_iterator _does_ different
from Music_iterator matters here.

If you can figure out what the difference is, go ahead and document that
as well so that people have a way to figure out in future when
Simple_music_iterator might be called for.

Issue 2392 has some discussion at the end about what might work for
fixing the Midi crash.

-- 
David Kastrup



reply via email to

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