Autor Thema: GELÖST: Problem mit Instrumentnamen  (Gelesen 2531 mal)

dennis1307

  • Member
GELÖST: Problem mit Instrumentnamen
« 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.
« Letzte Änderung: Dienstag, 4. Juni 2013, 11:04 von dennis1307 »

fugenkomponist

  • Member
Re: Problem mit Instrumentnamen
« Antwort #1 am: Mittwoch, 29. Mai 2013, 23:24 »
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

  • Member
Re: Problem mit Instrumentnamen
« Antwort #2 am: Mittwoch, 29. Mai 2013, 23:30 »
Hallo Dennis,

auch von mir ein herzliches "Willkommen in Forum"

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

dennis1307

  • Member
Re: Problem mit Instrumentnamen
« Antwort #3 am: Mittwoch, 29. Mai 2013, 23:37 »
'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???
« Letzte Änderung: Mittwoch, 29. Mai 2013, 23:38 von dennis1307 »

harm6

  • Member
Re: Problem mit Instrumentnamen
« Antwort #4 am: Donnerstag, 30. Mai 2013, 00:33 »
Hallo Dennis,

Zitat von: Dennis
Hier ein kompilierbares Minimalbeispiel:
[...]

Öhmmm, Dein Beispiel ist weder kompilierbar

Zitat
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

Zitat von: Dennis
Hat 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
« Letzte Änderung: Donnerstag, 30. Mai 2013, 00:39 von harm6 »

dennis1307

  • Member
Re: Problem mit Instrumentnamen
« Antwort #5 am: Donnerstag, 30. Mai 2013, 01:10 »
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

  • Member
Re: Problem mit Instrumentnamen
« Antwort #6 am: Donnerstag, 30. Mai 2013, 01:25 »
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.
« Letzte Änderung: Donnerstag, 30. Mai 2013, 01:33 von harm6 »

dennis1307

  • Member
Re: Problem mit Instrumentnamen
« Antwort #7 am: Donnerstag, 30. Mai 2013, 01:30 »
Ich danke Dir. :)

EDIT: Habe grade fix geupdatet. :D
« Letzte Änderung: Donnerstag, 30. Mai 2013, 01:42 von dennis1307 »

harm6

  • Member
Re: Problem mit Instrumentnamen
« Antwort #8 am: Donnerstag, 30. Mai 2013, 01:49 »
Zitat von: Dennis
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