Autor Thema: \RemoveEmptyRhythmicStaff funktioniert nicht :-(  (Gelesen 2082 mal)

typomax

  • Member
\RemoveEmptyRhythmicStaff funktioniert nicht :-(
« am: Sonntag, 12. Oktober 2014, 18:16 »
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

  • Member
Re: \RemoveEmptyRhythmicStaff funktioniert nicht :-(
« Antwort #1 am: Sonntag, 12. Oktober 2014, 19:00 »
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

  • Member
Re: \RemoveEmptyRhythmicStaff funktioniert nicht :-(
« Antwort #2 am: Sonntag, 12. Oktober 2014, 19:18 »
Danke für den Tipp! Hat aber leider immernoch nicht funktioniert, die Rhythmusinstrumente sind noch immer ständig drin ... was also tun? :-(

harm6

  • Member
Re: \RemoveEmptyRhythmicStaff funktioniert nicht :-(
« Antwort #3 am: Sonntag, 12. Oktober 2014, 20:43 »
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

  • Member
Re: \RemoveEmptyRhythmicStaff funktioniert nicht :-(
« Antwort #4 am: Sonntag, 12. Oktober 2014, 21:54 »
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

  • Member
Re: \RemoveEmptyRhythmicStaff funktioniert nicht :-(
« Antwort #5 am: Montag, 13. Oktober 2014, 10:08 »
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