• 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ü

GELÖST: Problem mit Instrumentnamen

Begonnen von dennis1307, Mittwoch, 29. Mai 2013, 23:16

Vorheriges Thema - Nächstes Thema

dennis1307

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.

fugenkomponist

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
  }
}

harm6

Hallo Dennis,

auch von mir ein herzliches "Willkommen in Forum"

Zitat von: fugenkomponistBitte 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

dennis1307

#3
'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???

harm6

#4
Hallo Dennis,

Zitat von: DennisHier ein kompilierbares Minimalbeispiel:
[...]

Öhmmm, Dein Beispiel ist weder kompilierbar

ZitatGNU 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

Zitat von: DennisHat Lilypond ein Problem mit Verzierungen am Anfang???
Kurz gesagt:ja!
Es handelt sich um issue 34 einen der ältesten bugs überhaupt.
Workaround ist in der NR 1.2.6 Special rhythmic concerns
-> 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

dennis1307

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
}
}

harm6

#6
Zitat von: dennis
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.

Zitat von: dennis
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
schreibt:

Zitat\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.

dennis1307

#7
Ich danke Dir. :)

EDIT: Habe grade fix geupdatet. :D

harm6

Zitat von: DennisEDIT: 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