Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: dennis1307 am Mittwoch, 29. Mai 2013, 23:16
-
Einen schönen Abend wünsche ich!
Ich habe ein Problem: Ich erstelle grade ein Partiturbuch, es werden aber keine Instrumentennamen in der ersten Zeile erzeugt. Ich finde den Fehler aber nicht.
\score {
<<
\new GrandStaff <<
\new StaffGroup <<
\new Staff = "trom1" <<
\set Staff.instrumentName = #"Trompete 1 "
\set Staff.shortInstrumentName = #"Trp. 1 "
\new Voice = "trom1" { \globalfoxfanf \tromEinsfoxfanf }
>>
\new Staff = "trom2" <<
\set Staff.instrumentName = #"Trompete 2 "
\set Staff.shortInstrumentName = #"Trp. 2 "
\new Voice = "trom2" { \globalfoxfanf \tromZweifoxfanf }
>>
\new Staff = "trom3" <<
\set Staff.instrumentName = #"Trompete 3 "
\set Staff.shortInstrumentName = #"Trp. 3 "
\new Voice = "trom3" { \globalfoxfanf \tromDreifoxfanf }
>>
\new Staff = "trom4" <<
\set Staff.instrumentName = #"Trompete 4 "
\set Staff.shortInstrumentName = #"Trp. 4 "
\new Voice = "trom4" { \globalfoxfanf \tromVierfoxfanf }
>>
>>
\new StaffGroup <<
\new Staff = "horn1" <<
\set Staff.instrumentName = #"Tenorhorn 1 "
\set Staff.shortInstrumentName = #"Th. 1 "
\new Voice = "horn1" { \globalfoxfanf \hornEinsfoxfanf }
>>
\new Staff = "horn2" <<
\set Staff.instrumentName = #"Tenorhorn 2 "
\set Staff.shortInstrumentName = #"Th. 1 "
\new Voice = "horn2" { \globalfoxfanf \hornZweifoxfanf }
>>
>>
>>
\new Staff = "snare" <<
\set Staff.instrumentName = #"Kleine Trommel "
\set Staff.shortInstrumentName = #"kl. Tr. "
\new Voice = "snare" { \snarefoxfanf }
>>
>>
\layout {
indent = #12
short-indent = #8
}
}
Vielleicht findet ihr ihn? Vielen Dank bereits im Voraus.
Dennis
EDIT: Als gelöst markiert.
-
Hallo Dennis,
willkommen im Forum. Bitte gib bei Fragen immer deine LilyPond-Version an. Außerdem hilft es, das Problem mit einm kompilierbaren Minimal-Beispiel darzustellen. Dein geposteter Code enthält \globalfoxfanf etc., die Definitionen globalfoxfanf = […] hast du aber nicht gepostet, weshalb wir dein Problem nicht durch Selbst-Kompilieren-und-Ergebnis-Anschauen nachvollziehen können.
Ich habe aus deinem Code mal ein mögliches Minimalbeispiel mit Versionsangabe erstellt, bei mir werden aber Instrumentnamen gezeigt. Es könnte also sein, dass du entweder eine andere LilyPond-Version verwendest oder dass in globalfoxfanf etc. etwas drinsteht, dass die Namen verschwinden lässt.
\version "2.16.2"
\score {
<<
\new GrandStaff <<
\new StaffGroup <<
\new Staff = "trom1" <<
\set Staff.instrumentName = #"Trompete 1 "
\set Staff.shortInstrumentName = #"Trp. 1 "
\new Voice = "trom1" { R1 }
>>
\new Staff = "trom2" <<
\set Staff.instrumentName = #"Trompete 2 "
\set Staff.shortInstrumentName = #"Trp. 2 "
\new Voice = "trom2" { R1 }
>>
\new Staff = "trom3" <<
\set Staff.instrumentName = #"Trompete 3 "
\set Staff.shortInstrumentName = #"Trp. 3 "
\new Voice = "trom3" { R1 }
>>
\new Staff = "trom4" <<
\set Staff.instrumentName = #"Trompete 4 "
\set Staff.shortInstrumentName = #"Trp. 4 "
\new Voice = "trom4" { R1 }
>>
>>
\new StaffGroup <<
\new Staff = "horn1" <<
\set Staff.instrumentName = #"Tenorhorn 1 "
\set Staff.shortInstrumentName = #"Th. 1 "
\new Voice = "horn1" { R1 }
>>
\new Staff = "horn2" <<
\set Staff.instrumentName = #"Tenorhorn 2 "
\set Staff.shortInstrumentName = #"Th. 1 "
\new Voice = "horn2" { R1 }
>>
>>
>>
\new Staff = "snare" <<
\set Staff.instrumentName = #"Kleine Trommel "
\set Staff.shortInstrumentName = #"kl. Tr. "
\new Voice = "snare" { R1 }
>>
>>
\layout {
indent = #12
short-indent = #8
}
}
-
Hallo Dennis,
auch von mir ein herzliches "Willkommen in Forum"
Bitte gib bei Fragen immer deine LilyPond-Version an. Außerdem hilft es, das Problem mit einm kompilierbaren Minimal-Beispiel darzustellen.
Ich kann da nur sagen: !!!
Wenn ich raten müßte: Fängt Deine Musik mit \grace ... (o.ä.) an?
Gruß,
Harm
-
'tschuldige, habe ich vergessen. :o :-[ Verwende Version 2.12.3. Zusätzlich verwende ich folgendes Layout-Snippet: http://lsr.dsi.unimi.it/LSR/Snippet?id=368 , was aber vorher bei anderen Partituren wunderbar funktioniert hat. In den Noten stehen auch nur Noten.
Hier ein kompilierbares Minimalbeispiel:
\version "2.12.3"
% Grundeinstellungen
#(set-global-staff-size 20) % Systemgröße einstellen
\paper {
#(set-paper-size "a4")
myStaffSize = #18
#(define fonts
(make-pango-font-tree "Gentium Book Basic"
"Recorda Script Personal Use Only"
"Luxi Mono"
(/ myStaffSize 20)))
ragged-bottom = ##t
}
\include "book-titling.ily"
\bookTitle "Ein Strauß voller Filmmusiken"
\useRehearsalNumbers ##f
\pageBreak
\markup { \null }
\pageBreak
\header {
title = "..."
arranger = "..."
date = "2013-"
instrument = "Partitur in C"
tagline = ##f % Voreingestellte LilyPond-Tagline entfernen
}
\chapter "Fox-Fanfare"
% Globale musikalische Grundeinstellungen
globalfoxfanf = {
\key c \major
\time 4/4
\override Score.BarNumber #'break-visibility = #end-of-line-invisible
\set Score.barNumberVisibility = #(every-nth-bar-number-visible 5) % Taktnummern
\set Score.markFormatter = #format-mark-box-letters % Studierzeichen
\compressFullBarRests % Pausen zusammenfassen
}
% Drums
snarefoxfanf = \drums {
\stemUp
\time 4/4
\override Score.BarNumber #'break-visibility = #end-of-line-invisible
\set Score.barNumberVisibility = #(every-nth-bar-number-visible 5) % Taktnummern
\set Score.markFormatter = #format-mark-box-letters % Studierzeichen
\compressFullBarRests % Pausen zusammenfassen
\acciaccatura {sn16[ sn16]} sn8 sn r4 \acciaccatura {sn16[ sn16]} sn8 sn r4
sn2:32 (sn8) sn
}
% Trompeten
tromEinsfoxfanf = \relative c''' {
R1*2
g8.\ff g32 g g4~ \times 2/3 {g8 aes g} \times 2/3 {aes g aes}
g8. g32 g \times 2/3 {g8 g g} \times 2/3 {g8 g g} \times 2/3 {g8 e f}
g8. g32 g g2 r4
r f8. f32 f f2
r4 aes8. aes32 aes aes2
r4 \times 2/3 {c,8 g a} c2
\bar "|."
}
tromZweifoxfanf = \relative c'' {
R1*2
e8.\ff e32 e e4~ \times 2/3 {e8 f e} \times 2/3 {f e f}
e8. e32 e \times 2/3 {e8 e e} \times 2/3 {e8 e e} \times 2/3 {c8 d e}
e8. e32 e e2 r4
r c8. c32 c c2
r4 c8. c32 c c2
r4 \times 2/3 {g8 e f} g2
\bar "|."
}
\score {
<<
\new GrandStaff <<
\new StaffGroup <<
\new Staff = "trom1" <<
\set Staff.instrumentName = #"Trompete 1 "
\set Staff.shortInstrumentName = #"Trp. 1 "
\new Voice = "trom1" { \globalfoxfanf \tromEinsfoxfanf }
>>
\new Staff = "trom2" <<
\set Staff.instrumentName = #"Trompete 2 "
\set Staff.shortInstrumentName = #"Trp. 2 "
\new Voice = "trom2" { \globalfoxfanf \tromZweifoxfanf }
>>
>>
\new Staff = "snare" <<
\set Staff.instrumentName = #"Kleine Trommel "
\set Staff.shortInstrumentName = #"kl. Tr. "
\new Voice = "snare" { \snarefoxfanf }
>>
>>
\layout {
indent = #12
short-indent = #8
}
}
Hmm...
Hat Lilypond ein Problem mit Verzierungen am Anfang???
-
Hallo Dennis,
Hier ein kompilierbares Minimalbeispiel:
[...]
Öhmmm, Dein Beispiel ist weder kompilierbar
GNU LilyPond 2.12.3
»atest-22.ly« wird verarbeitet
Analysieren...
atest-22.ly:1279:9: Fehler: Datei »book-titling.ily« kann nicht gefunden werden
(Suchpfad: [Den Suchpfad habe ich gelöscht])
\include
"book-titling.ily"
atest-22.ly:1281:2: Fehler: Ungültige Fluchtsequenz: »\bookTitle«
\bookTitle "Ein Strauß voller Filmmusiken"
atest-22.ly:1281:43: Fehler: syntax error, unexpected STRING, expecting '='
\bookTitle "Ein Strauß voller Filmmusike
n"
atest-22.ly:1282:2: Fehler: Ungültige Fluchtsequenz: »\useRehearsalNumbers«
\useRehearsalNumbers ##f
atest-22.ly:1295:8: Fehler: Ungültige Fluchtsequenz: »\chapter«
\chapter "Fox-Fanfare"
atest-22.ly:1295:29: Fehler: syntax error, unexpected STRING, expecting '='
\chapter "Fox-Fanfare
"
atest-22.ly:1368:8: Fehler: syntax error, unexpected \layout
\layout {
Ideale Seitenanzahl wird gefunden...
Musik wird auf 1 oder 2 Seiten angepasst...
Systeme erstellen...
Layout nach »atest-22.ps« ausgeben...
Konvertierung nach »./atest-22.pdf«...
[...]/2.12.3-1/lilypond/usr/share/lilypond/current/ly/init.ly:63:66: Fehler: syntax error, unexpected $end
(ly:parser-error parser (_ "expected error, but none found"))))
Fehler: gescheiterte Dateien: "atest-22.ly"
noch kurz, geschweige denn minimal.
Zugegebenermaßen habe ich das LSR-snippet nicht eingebunden, da rühren die meisten, wenn nicht alle (habe ich nicht geprüft) Warnungen und Fehler her. Wenn Du eine externe Datei benutzt solltest Du sie mitliefern.
Aber tatsächlich ist sie gar nicht nötig, vorausgesetzt man reduziert Dein Beispel.
Weiter unten in meinem Antwort-Code habe ich das getan.
Es ist kurz aber nicht minimal.
Zu Minimal-Beispielen siehe:
http://lilypond.org/website/tiny-examples.de.html (http://lilypond.org/website/tiny-examples.de.html)
Hat Lilypond ein Problem mit Verzierungen am Anfang???
Kurz gesagt:ja!
Es handelt sich um issue 34 (http://code.google.com/p/lilypond/issues/detail?id=34) einen der ältesten bugs überhaupt.
Workaround ist in der NR 1.2.6 Special rhythmic concerns (http://lilypond.org/doc/v2.12/Documentation/user/lilypond-big-page#Grace-notes)
-> Known issues and warnings
Angewendet auf das konkrete Beispiel:
\version "2.12.3"
snarefoxfanf = \drummode {
\acciaccatura {sn16[ sn]} sn8 sn r4 r2
\break
R1
}
tromEinsfoxfanf = \relative c''' { \grace s8 R1 \break R1 }
\score {
\new GrandStaff <<
\new Staff = "trom1"
\with {
instrumentName = #"Trompete 1 "
shortInstrumentName = #"Trp. 1 "
}
{ \tromEinsfoxfanf }
\new DrumStaff = "snare"
\with {
instrumentName =
\markup
\center-column {
"Kleine"
"Trommel"
}
shortInstrumentName = #"kl. Tr. "
}
{ \snarefoxfanf }
>>
\layout {
indent = 18
short-indent = 14
}
}
instrumentName etc ist idR am besten in einem \with-Block aufgehoben.
Ich hab' ansonsten noch ein paar Kleinigkeiten verändert.
HTH,
Harm
P.S.
Du solltest wirklich über ein upgrade nachdenken.
Es wird mittlerweile recht konkret über ein 2.18.-release nachgedacht.
Außerdem wirst Du mit 2.12.3 nicht viel Unterstützung hier im Forum finden. Es dürfte nicht mehr allzu viele Benutzer geben, die diese Version überhaupt noch auf dem Rechner haben
-
So, nachdem ich mich jetzt genug zum Affen gemacht habe ;D , habe ich deine Tipps umgesetzt und bin fast am Ziel. :) Nur das Lilypond mir für jedes Schlagzeug-System ein zusätzliches ausspuckt. Wodran kann's liegen? Minimalbeispiel (und diesmal wirklich) hintenan. Und eine PDF, wie's bei mir aussieht.
GLG Dennis
\version "2.16.2"
snarefoxfanf = \drums {
\acciaccatura {sn16[ sn16]} sn8 sn r4 \acciaccatura {sn16[ sn16]} sn8 sn r4
sn2:32 (sn8) sn
}
bassfoxfanf = \drums {
\grace s8
R1*2
}
\score {
<<
\new GrandStaff <<
\new StaffGroup <<
\new DrumStaff = "snare"
\with {
instrumentName =
\markup
\center-column {
"Kleine"
"Trommel"
}
shortInstrumentName = #"kl. Tr. "
}
{ \snarefoxfanf }
\new DrumStaff = "bass"
\with {
instrumentName =
\markup
\center-column {
"Große"
"Trommel"
}
shortInstrumentName = #"kl. Tr. "
}
{ \bassfoxfanf }
>>
>>
>>
\layout {
indent = #25
short-indent = #12
}
}
-
So, nachdem ich mich jetzt genug zum Affen gemacht habe ;D ,
Nö, hast Du nicht.
Ich werd' erst dann grantig, wenn jemand auch beim wiederholten mal nicht zuhört. ;)
Das hab ich in meinem regulären Job schon.
habe ich deine Tipps umgesetzt und bin fast am Ziel. :) Nur das Lilypond mir für jedes Schlagzeug-System ein zusätzliches ausspuckt. Wodran kann's liegen?
NR 2.5.1 Common notation for percussion (http://lilypond.org/doc/v2.12/Documentation/user/lilypond-big-page#Basic-percussion-notation)
schreibt:
\drums {
hihat4 hh bassdrum bd
}
This is shorthand for:
\new DrumStaff {
\drummode {
hihat4 hh bassdrum bd
}
}
Dein Coding ist:
\new DrumStaff
\drums { ... }ausgeschrieben:
\new DrumStaff
\new DrumStaff
\drummode { ... }Also werden zwei DrumStaffs ausgegeben.
Lösung:
Ändere
snarefoxfanf = \drums { ... }zu
snarefoxfanf = \drummode { ... }
HTH,
Harm
EDIT:
Ich habe erst jetzt bemerkt, daß Du 2.16.2 als Version angegeben hast.
Hast Du auf die Schnelle das upgrade gemacht, oder stand eine alte Version im file?
(Ich mache das gelegentlich, wenn ich etwas in verschiedenen Versionen testen möchte.)
Auf jeden Fall ist der link zu 2.12.3 dann eigentlich falsch. In der aktuellen Doku wird zu diesem Thema aber auch nichts anderes stehen.
-
Ich danke Dir. :)
EDIT: Habe grade fix geupdatet. :D
-
EDIT: Habe grade fix geupdatet
Guuut.
Schon 2.14. war deutlich besser. 2.16 nochmal.
Und 2.18 wird das noch übertreffen, sobald alle bugs ausgebügelt sind (es scheinen immer neue aufzutauchen :( ).
Du wirst Dich allerdings auf ein gänzlich anderes spacing- und beaming-Procedere ab 2.14 umstellen müssen.
Aber dafür gibts ja das manual. ;)
Gute Nacht,
Harm