lilypond-user
[Top][All Lists]
Advanced

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

Re: ReheasalMark in Staff context is broken - offer for sponsorship of f


From: Adam James Wilson
Subject: Re: ReheasalMark in Staff context is broken - offer for sponsorship of fix
Date: Mon, 22 Oct 2007 13:56:30 -0700

Hi Mats,

Yes I tried it, thanks for the idea, but in my score other things break as a result of moving the Break_align_engraver to the Staff context.

Specifically, if there is a clef change in one staff but not another, the system barline is "broken" - see the png I attached.

Also note that failing to set Timing.defaultBarType = "" produces crazy barlines all over the place.

It is quite frustrating - when one problem is pushed down, another pops up (frustrating mostly because I have an end of October deadline for completing my piece, and I'm spending most of my time on typesetting.)  Here's the snippet that produces the attached image:

\version "2.11.34"

\layout {

    \context { \Score
               
        \remove "Break_align_engraver"

        \remove "Mark_engraver"
        \remove "Bar_number_engraver"
        \remove "Metronome_mark_engraver"
        \remove "Timing_translator"
        \remove "Time_signature_engraver"
        \remove "Default_bar_line_engraver"
       
        \override SpacingSpanner #'uniform-stretching = ##t
        \override SpacingSpanner #'strict-note-spacing = ##t
        proportionalNotationDuration = #(ly:make-moment 1 64)

    }

    \context { \Staff
   
        \consists "Break_align_engraver"

        \consists "Timing_translator"
        \consists "Mark_engraver"
        \consists "Time_signature_engraver"
        \consists "Default_bar_line_engraver"
       
    }

}


\new Score <<

\new StaffGroup <<
 
\new Staff {

    \set Timing.defaultBarType = ""
   
    \bar "|"  \mark \default
    \clef treble
    \time 2/16
    c'16[ c'16]
   
   \bar "|"  \mark \default
    \clef treble
    \time 3/16
    c'16[ c'16 c'16]

    \bar "|"  \mark \default
    \clef bass
     \time 3/32 
     c'16 c'32

      \bar "|"

}

\new Staff {

    \bar "|"  \mark \default
    \clef treble
    \time 3/16
    c'16[ c'16 c'16]
   
   \bar "|"  \mark \default
    \clef treble
    \time 2/16
    c'16[ c'16]

    \bar "|"  \mark \default
     \time 3/32 
     c'16 c'32

    \bar "|"

}

>>
>>





On 10/22/07, Mats Bengtsson <address@hidden> wrote:
Did you try my fix, to move the Break_align_engraver to the Staff context?
  \layout {

    \context {
       \Staff
       \consists "Mark_engraver"
       \consists "Break_align_engraver"
    }
    \context { \Score
       \remove "Mark_engraver"
       \remove "Break_align_engraver"
    }
  }

I have tried it on a couple of examples and cannot see that it
introduces any
other problems.

   /Mats

Adam James Wilson wrote:
> Hi Mats et al,
>
> (RE: this bug: http://code.google.com/p/lilypond/issues/detail?id=432 )
>
> Moving Break_align_engraver to the Staff context works to get the
> correct alignment of RehearsalMarks, but the side effect is that if
> there is a mid-system Clef change in one Staff and not another, you
> get a broken system barline - the Clef pushes aside the bar in its
> Staff only, because a multiple-staff "column" is not created when the
> engraver is removed from the Score context.
>
> I tried a workaround of putting "hidden" clefs in the other staves to
> pad them, but this seems impossible - making a Clef transparent or
> "breaking" its visibility is equal to removing its width.
>
> Unless you know another workaround, it seems the best to just get a
> fix in place for the problem.
>
> I'm willing to sponsor a fix to this bug; the idea is to be able to 1)
> duplicate the default behavior of a Score-living RehearsalMark when it
> is moved to the Staff context (at the beginning of a system it should
> align to the clef, and then align to staff bars for the rest of the
> system), and 2) to be able to explicitly modify the break-align symbol
> for the Clef in each Staff at any position in the score.
>
> On 10/19/07, Mats Bengtsson < address@hidden> wrote:
>
>> The bug has already been reported, see
>> http://code.google.com/p/lilypond/issues/detail?id=432
>>
>> In your simple example, it helps to move also the Break_align_engraver
>> from the Score to the Staff context, but I have no idea if such an operation
>> will work well also for multi-stave scores or if something else will break.
>>
>>     /Mats
>>
>> Adam James Wilson wrote:
>>
>>> There is a  problem when moving the RehearsalMark to the Staff
>>> context.  In the case where the RehearsalMark remains in the Score
>>> context (comment out the layout block below), the first RehearsalMark
>>> aligns to a Clef and the rest align to staff-bars.  This is the
>>> correct behavior.
>>>
>>> But if you move the RehearsalMark to the Staff context (retain the
>>> layour block below), the opposite (and incorrect) behavior occurs: the
>>> first RehearsalMark aligns to a staff-bar and the rest seem to align
>>> to Clefs.
>>>
>>> \version "2.11.34"
>>>
>>> %%{
>>> \layout {
>>>       \context { \Score
>>>               \remove "Mark_engraver"
>>>       }
>>>       \context { \Staff
>>>               \consists "Mark_engraver"
>>>       }
>>> }
>>> %%}
>>>
>>> \new Staff {
>>>
>>>   \bar "|"
>>>   \mark \default
>>>   \clef bass
>>>   c'4 c'4
>>>
>>>   \bar "|"
>>>   \mark \default
>>>   \clef treble
>>>   c'4 c'4
>>>
>>> }
>>>
>>> Should this be filed as a bug?
>>>
>>> Best,
>>> Adam
>>>
>>>
>
>
> _______________________________________________
> lilypond-user mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/lilypond-user
>

--
=============================================
        Mats Bengtsson
        Signal Processing
        Signals, Sensors and Systems
        Royal Institute of Technology
        SE-100 44  STOCKHOLM
        Sweden
        Phone: (+46) 8 790 8463
        Fax:   (+46) 8 790 7260
        Email: address@hidden
        WWW: http://www.s3.kth.se/~mabe
=============================================


Attachment: show-clef-bar-misalign.png
Description: PNG image


reply via email to

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