Autor Thema: \repeat percent und \RemoveEmptyStaffContext  (Gelesen 2358 mal)

iugin

  • Member
\repeat percent und \RemoveEmptyStaffContext
« am: Samstag, 25. Mai 2013, 17:44 »
Buongiorno a tutti!

Ich brauche (schon wieder) Hilfe... Im Moment arbeite ich an einem grossen Projekt und werde euch belästigen müssen. :)
Die andere Fragen kommen in separaten Post.
Also: ich habe folgenden code:
\version "2.16.0"
\language "deutsch"


Melody =  \relative g' { 
    R1*4  |
    \break
    c1
    R1*3  |
}

RightHand =  \relative g' {
  \repeat percent 4 { c1 }
    R1*4
}

LeftHand =  \relative c' {
    \repeat percent 4 { c1 }
    R1*4
}

\score {
  <<
    \new Staff { \Melody  }
    \new PianoStaff {
      <<
        \new Staff  { \RightHand }
        \new Staff  { \LeftHand }
      >>
    }
  >>
  \layout {
    \context {
      \RemoveEmptyStaffContext
      \override VerticalAxisGroup #'remove-first = ##t
    }
  } 
}

Das Problem ist, dass alle Systeme gezeigt werden (trotz  \RemoveEmptyStaffContext - siehe Anhang).
Wirklich komisch ist, dass es hingegen funktioniert, wenn ich percent durch z.B. unfold ersetze.
Habt ihr eine Ahnung, wo das Problem liegt, und was ich dagegen machen kann?

Liebe Grüsse an allen und schon jetzt danke für eure sicher wertvolle Hilfe.

Eugenio
« Letzte Änderung: Sonntag, 26. Mai 2013, 12:54 von iugin »

Be-3

  • Member
Re: \repeat percent und \RemoveEmptyStaffContext
« Antwort #1 am: Samstag, 25. Mai 2013, 21:44 »
Il fatto strano del giorno...  ???

Es liegt tatsächlich am percent. Früher gab es mal das umgekehrte Problem, daß die Percent-Repeat-Symbole bei \RemoveEmptyStaffContext unter den Tisch fielen.
Sie tun das schon lange nicht mehr, aber offensichtlich ein wenig zu gründlich.
Wenn direkt nach den Faulenzern ein Zeilenumbruch kommt, dann bleibt die nächste Zeile auch erhalten, selbst, wenn sie leer ist.

Das sieht mir tatsächlich nach einem Bug aus...

Soviel erst einmal dazu, auch, wenn es nicht direkt weiterhilft.

Viele Grüße
Torsten

iugin

  • Member
Re: \repeat percent und \RemoveEmptyStaffContext
« Antwort #2 am: Sonntag, 26. Mai 2013, 13:06 »
Zitat
Il fatto strano del giorno...

ja, und schon wieder mir :)
Ist kein Problem, ich werde mich anders arrangieren...

Ich wünsche dir einen schönen Tag

Liebe Grüsse

Eugenio

Be-3

  • Member
Re: \repeat percent und \RemoveEmptyStaffContext
« Antwort #3 am: Sonntag, 26. Mai 2013, 17:19 »
Ist kein Problem, ich werde mich anders arrangieren...

Es gibt eine Liste von Interfaces, die einen Staff "am Leben erhalten": sie heißt keepAliveInterfaces.
Ich habe das percent-repeat-interface auskommentiert (rot hervorgehoben), der Rest entspricht dem Standard:

       keepAliveInterfaces =
        #'(bass-figure-interface
        chord-name-interface
        cluster-beacon-interface
        fret-diagram-interface
        lyric-syllable-interface
        note-head-interface
        tab-note-head-interface
        lyric-interface
        percent-repeat-item-interface
;       percent-repeat-interface
        stanza-number-interface)


Mit \set Staff.keepAliveInterfaces = #'( ... kannst Du (auch mitten im Stück) beeinflussen, was zum Wegfall von Notenzeilen führt und was nicht.
Das Fehlen von percent-repeat-interface in dieser Liste bewirkt, daß Dein Beispiel wie gewünscht funktioniert, hat allerdings den Nachteil, daß Zeilen, die nur aus Faulenzern bestehen, auch verschwinden. Deshalb mußt Du evtl. wieder zurückschalten...

Viele Grüße
Torsten

iugin

  • Member
Re: \repeat percent und \RemoveEmptyStaffContext
« Antwort #4 am: Dienstag, 28. Mai 2013, 08:00 »
Super! Es funktioniert prima!  ;D

Danke vielmals und liebe Grüsse

Eugenio