• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

\RemoveEmptyRhythmicStaff funktioniert nicht :-(

Begonnen von typomax, Sonntag, 12. Oktober 2014, 18:16

Vorheriges Thema - Nächstes Thema

typomax

Hallo,

in einer Orchesterpartitur mit 32 Systemen brauche ich die Möglichkeit, die leeren Notensysteme ausblenden zu können. Bei allen Melodieinstrumenten funktioniert's, bei der Schlagwerkgruppe fukntioniert's nicht.

Ich hab folgenden Code eingegeben (ich arbeite mit 2.18.2):

\layout {
  \context {
    \Staff \RemoveEmptyStaves
    \override VerticalAxisGroup.remove-first = ##t
  }
  \context {
    \RhythmicStaff \RemoveEmptyRhythmicStaff
    \override VerticalAxisGroup.remove-first = ##t
  }
}

Grundsätzlich erscheint hier im Protokoll die Meldung "Haupteingabe nicht beendet" --- was ist das?!

Die Schlagwerkgruppe ist definiert wie folgt:

\new StaffGroup <<
      \timpaniPart
      \drumsIPart
      \drumsIIPart
      \drumsIIIPart
      \drumsIVPart
      \drumsVPart
      \tubularBellsPart
      \glockenspielPart
      \xylophonePart
    >>

Ständig bleiben die leeren Schlagwerksysteme stehen, ich hab's auch schon mit dem Befehl \RemoveEmptyRhythmicStaffContext probiert, ändert sich nichts.

Was mach ich falsch bzw. was kann ich tun, damit alle leeren Systeme ordnungsgemäß ausgeblendet werden, hat mir jemand einen Tipp? Habe hier im Forum schon recherchiert, alle angegebenen Tipps funktionieren nicht ...

Danke!
typomax

harm6

Zitat\layout {
  \context {
    \Staff \RemoveEmptyStaves
    \override VerticalAxisGroup.remove-first = ##t
  }
  \context {
    \RhythmicStaff \RemoveEmptyRhythmicStaff
    \override VerticalAxisGroup.remove-first = ##t
  }
}

Grundsätzlich erscheint hier im Protokoll die Meldung "Haupteingabe nicht beendet" --- was ist das?!

Es gibt keinen Befehl mit dem Namen 'RemoveEmptyRhythmicStaff'.
Es gibt allerdings einen nicht mehr dokumentierten namens 'RemoveEmptyRhythmicStaffContext', der irgendwann gänzlich gestrichen werden wird.
Siehe: engraver-init.ly (ganz unten)
Insoweit beklagt LilyPond einen unvollständigen Befehl.

Zum Kern-Problem, versuch mal:

\layout {
  \context {
    \Staff \RemoveEmptyStaves
    \override VerticalAxisGroup.remove-first = ##t
  }
  \context {
    \RhythmicStaff \RemoveEmptyStaves
    \override VerticalAxisGroup.remove-first = ##t
  }
}


Habs allerdings nicht getestet.

Gruß,
  Harm

P.S.
Bitte poste immer ein kurzes, kompilierbares Code-Beispiel ;)

typomax

Danke für den Tipp! Hat aber leider immernoch nicht funktioniert, die Rhythmusinstrumente sind noch immer ständig drin ... was also tun? :-(

harm6

Hier funktionierts:


\layout {
  \context {
    \Staff \RemoveEmptyStaves
    \override VerticalAxisGroup.remove-first = ##t
  }
  \context {
    \RhythmicStaff \RemoveEmptyStaves
    \override VerticalAxisGroup.remove-first = ##t
  }
}

<<
  \new Staff { c''1 \break c'' \break c'' } %% zur Kontrolle
  \new Staff { s s c }
  \new RhythmicStaff { s s c }
>>


Ich dürchte Du mußt ein Beispiel posten.
Siehe auch:
http://lilypond.org/website/tiny-examples.de.html

Gruß,
  Harm

typomax

Hi Harm,

danke für Deine Hilfe! Ich hab's rausgefunden, und vielleicht interessiert es jetzt noch andere: Ich hab einfach bei RhythmicStaff das "Rhyhtmic" durch "Drum" ersetzt  und siehe da - es klappt.

Danke!
Grüße
typomax

harm6

Deshalb wäre ein Beispiel sinnvoll gewesen.

Wenn Du im score RhythmicStaff verwendest und leere Systeme ausschließen möchtest muß RemoveEmptyStaves in den RhythmicStaff-context.
Wenn Du DrumStaff verwendest, in den DrumStaff-context.

Im Code sieht man es direkt ...

Gruß,
  Harm