Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: chf am Montag, 28. September 2009, 14:53

Titel: neue Zeile innerhalb einer Stimme
Beitrag von: chf am Montag, 28. September 2009, 14:53
Liebe Freunde,
nach allen möglichen Versuchen (ossia etc.) ist guter Rat teuer.
\version "2.12.1"
global = {
\time 2/2
\key d \major
}
Singst = \relative c' {
\set Staff.instrumentName = "Singstimme  "
\clef treble
}
SingstTextEins = \new Lyrics \lyricsto Singst \lyricmode {\small \set stanza = "1. "  }
SingstTextZwei = \new Lyrics \lyricsto Singst \lyricmode {\small \set stanza = "2. "  }
Flt = \relative c'' {
\set Staff.instrumentName = "Flöte      "
\clef treble
}
Klt = \relative c'' {
\set Staff.instrumentName = \markup { Klarin.(B\flat) }
\clef treble
\transposition b
}
Akk = \relative c' {
\set Staff.instrumentName = "Akkordeon  "
\clef treble
d1 \repeat volta 2 {R1 R \new GrandStaff <<\new Staff = "1" {d' a}
                                           \new Staff = "2" {\clef bass \key d \major d,, d} >> 
                       
  d'2 a'}
\alternative {{} {}}
}
MndOne = \relative c' {
\set Staff.instrumentName = "Mandoline 1"
\clef treble
}
MndTwo = \relative c' {
\set Staff.instrumentName = "Mandoline 2"
\clef treble
}
Mdla = \relative c' {
\set Staff.instrumentName = "Mandola    "
\clef "treble_8"
}
Git = \relative c {
\set Staff.instrumentName = "Gitarre    "
\clef "treble_8"
}
Bass = \relative c {
\set Staff.instrumentName = "Bass       "
\clef "bass"
}
\score {
<< 
  \new Staff << \new Voice = Singst \Singst >> 
      \new Lyrics \lyricsto Singst  \SingstTextEins
      \new Lyrics \lyricsto Singst  \SingstTextZwei     

\new StaffGroup <<
 \tag #'score \tag #'flt   \new Staff  { << \global \Flt     >> }
 \tag #'score \tag #'klt   \new Staff  { << \global \Klt     >> }
 \tag #'score \tag #'akk   \new Staff  { << \global \Akk     >> }
 >>
\new StaffGroup <<
 \tag #'score \tag #'mnd1 \new Staff  { << \global \MndOne   >> }
 \tag #'score \tag #'mnd2 \new Staff  { << \global \MndTwo   >> }
 \tag #'score \tag #'mdla \new Staff  { << \global \Mdla     >> }
 \tag #'score \tag #'git  \new Staff  { << \global \Git      >> } 
 \tag #'score \tag #'bass \new Staff  { << \global \Bass     >> }
  >>
>>
}
Rauskommen soll, wie ihr sicher seht, eine Akkordeonstimme, die einstimmig geführt ist bis auf  zwei Takte.
Ich habe diese zwei Takte zwar auf dem Notenblatt, aber nicht an der richtigen Stelle. Mindestens die Bass-Stimme erscheint unten.
Ihr kennt ja meine Schwäche inzwischen - bitte helft mir gebrauchsfertig...
Gruß
chf
Titel: Re: neue Zeile innerhalb einer Stimme
Beitrag von: ding-dong am Montag, 28. September 2009, 15:45
schreib mal das \global in den \Staff-teil hinein, nicht ausserhalb!

der aufruf ist dann einfach \tag #'score \tag #'akk { \Akk  }
hdh
Titel: Re: neue Zeile innerhalb einer Stimme
Beitrag von: chf am Montag, 28. September 2009, 17:35
Analysieren...
/usr/share/lilypond/2.12.1/ly/init.ly:29:0: Fehler: syntax error, unexpected SCM_TOKEN

#(if (and (ly:get-option 'old-relative)

bei allen Varianten.
Wie und wo  muss der Eintrag im Staff-Teil genau sein?
chf
Titel: Re: neue Zeile innerhalb einer Stimme
Beitrag von: ding-dong am Montag, 28. September 2009, 23:17
ich hab mal die unwesentlichen zeilen auskommentiert (vielleicht sollte man sie gar löschen, um das wesentliche darzustellen…) und nur die akkordeon-stimme(n) stehen lassen:
global = {
\time 2/2
\key d \major
}
Akk =
\context Staff="akk" {
\global
\set Staff.instrumentName = "Akkordeon  "
\relative c' {
\clef treble
d 1 \repeat volta 2 {
R 1 R <<
{ d' a }
    \context Staff = "akk2" { \clef bass \key d \major d,, d}
>>                       
  d'2 a'
}
% \alternative {{} {}}
}
}

\score {
<< 
%   \new Staff << \new Voice = Singst \Singst >> 
%       \new Lyrics \lyricsto Singst  \SingstTextEins
%       \new Lyrics \lyricsto Singst  \SingstTextZwei     

\new StaffGroup <<
%  \tag #'score \tag #'flt   \new Staff  { << \global \Flt     >> }
%  \tag #'score \tag #'klt   \new Staff  { << \global \Klt     >> }
 \tag #'score \tag #'akk   
  { \Akk  }
 >>
% \new StaffGroup <<
%  \tag #'score \tag #'mnd1 \new Staff  { << \global \MndOne   >> }
%  \tag #'score \tag #'mnd2 \new Staff  { << \global \MndTwo   >> }
%  \tag #'score \tag #'mdla \new Staff  { << \global \Mdla     >> }
%  \tag #'score \tag #'git  \new Staff  { << \global \Git      >> } 
%  \tag #'score \tag #'bass \new Staff  { << \global \Bass     >> }
%   >>
>>
}

hdh
Titel: Re: neue Zeile innerhalb einer Stimme
Beitrag von: chf am Mittwoch, 30. September 2009, 11:55
Bitte schau dir die Partitur nochmal an mit  a l l e n  Zeilen - dort liegt das Problem.
Wie kombiniere ich die Stimme? Bei einer Variante hatte ich sie an der richtigen Stelle, allerdings  ü b e r  der Hauptzeile. Dann habe ich mit "alignBelow" allerhand experimentiert, aber ohne Erfolg (und vermutlich ohne Sinn und Verstand)...
Nach deinem jetzigen code erscheint die Akkordeonstimme von "akk2" an zusätzlich als unterste.
Bitte hilf nochmal weiter.
chf
Titel: Re: neue Zeile innerhalb einer Stimme
Beitrag von: ding-dong am Mittwoch, 30. September 2009, 13:46
diese problematik ist im folgenden link beschrieben - brauchst nur noch above mit below und die stimmennamen zu ersetzen:

http://www.nabble.com/Ossia-in-String-Quartet-tp22208289p22213376.html (http://www.nabble.com/Ossia-in-String-Quartet-tp22208289p22213376.html)

beachte v.a. auch die präzisierung von Mats!

Titel: Re: neue Zeile innerhalb einer Stimme
Beitrag von: chf am Montag, 5. Oktober 2009, 20:35
Danke! Das hat's gebracht.
chf