Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: ingmar am Samstag, 12. März 2016, 13:42
-
Der Beitrag Wiederholung mit Auftakt (https://liarchiv.joonet.de/index.php?topic=105.0) war Auslöser für die folgende Frage.
Hier folgt ein kurzes Schnipsel, das einwandfrei kompiliert, am Schluss aber ein unbefriedigendes Schriftbild zeigt:
\version "2.18.2"
\score { \new Staff { \relative c'' {
\repeat volta 2 { c4 d e f }
\alternative {
{ g e d2}
{ g2. }
}
\repeat volta 2 { f8 e d4 e f g }
\alternative {
{ f2 e4 }
{
% \partial 4*0
c1\fermata \bar "|."
}
}
} } }Offenbar kommt Lilypond durch den Auftakt aus dem Tritt. Durch Weglassen des Kommentarzeichens, also Entkommentieren von \partial 4*0, erhalten wir das gewünschte saubere Schriftbild. Soweit also alles gut!
Das Einfügen von \partial 4*0 führt zu einer Meldung des Compilers: "Warnung: versuche, \partial nach dem Beginn eines Stückes einzusetzen". - Den Umgang mit \partial sollten wir aber am besten drüben, im anderen Thread, diskutieren.
Denn ich habe hier eine andere Frage: Gibt es einen Weg, diese Warnung an dieser einen Stelle zu unterdrücken? Denn ich möchte vermeiden, dass entweder ich selbst in ein paar Jahren oder auch ein anderer, der meine Dateien verwendet, beginnt, dort nach einem Fehler zu suchen.
Gruß,
--ingmar
-
#(ly:expect-warning "versuche, \\partial")unterdrückt Warnungen, die mit „versuche, \partial“ anfangen. Die englische Version hierzu heißt
#(ly:expect-warning "trying to use \\partial")Es gibt aber wiederum eine Ausgabe, wenn eine Warnung erwartet wurde, aber nicht auftaucht.
Davon abgesehen funktioniert \partial seit Version 2.19 auch in der Mitte des Stücks ohne Probleme und Warnungen ;) Edit: Und alternative tut auch mit unfertigen Takten, genaueres siehe anderer Thread.
-
Um Fehlermeldungen zu unterdrücken gibt es verschiedene Möglichkeiten. Die, die hier am ehesten in Frage kommt ist ly:expect-warning
Allerdings kompiliert das snippet in 2.19.36 einwandfrei und ohne Warnung deshalb hab' ich die Warnung versionsabhängig gemacht:
#(if (string-ci>? "2.19.0" (lilypond-version))
(ly:expect-warning "trying to use \\partial"))
HTH,
Harm
-
Ich hab es geahnt! Die Argumente für 2.19 werden immer mehr, keine Versteckmöglichkeiten mehr in Sicht.. : - |
--ingmar
-
Vielleicht wirds einfach mal Zeit für eine 2.20 … „Anfängern“ wird immer zu stabilen Versionen geraten, aber ich hab das Gefühl, dass sehr viele inzwischen die 2.19 nutzen ;)
-
Ich hab auf diese Antworten hin die Gelegenheit ergriffen, zu 2.19 zu wechseln. Daher hab ich im Moment keinen Anlass, das hier angefragte Unterdrücken von Fehlermeldungen zu testen. Dennoch danke für Eure Antworten!
Die Frage, die sich natürlich stellt, ist, warum dieses expect-warning nun eigentlich selber wieder zu einer Warnung führen muss. In vielen Fällen - wie meinem hier - ist es sicher sinnvoll, in der ausbleibenden Warnung eine Anomalie zu sehen und diese zu melden. Aber es wird wohl genausoviele Fälle geben, wo der Fehler abhängig von Parametern auftritt und man es einfach zu umständlich und unübersichtlich findet, diese Fälle einzeln zu behandeln.
Nunja, seis drum.
Gruß,
--ingmar