Autor Thema: Position von Vorzeichen mit suggestAccidentals  (Gelesen 1615 mal)

Andreas

  • Member
Position von Vorzeichen mit suggestAccidentals
« am: Mittwoch, 10. November 2010, 21:09 »
Hallo,

wie kann ich ein mit suggestAccidentals gesetzte Vorzeichen *unter* der Note platzieren? Ich habe bereits in der Notationsreferenz nachgeschaut, aber meine Versuche (u.a. \once \set AccidentalSuggestion.direction = #DOWN) waren nicht erfolgreicht. Was muss ich machen? Hier noch eine Beispielpartitur:
% This document was generated by Canorus, version 0.7svn
\version "2.10.0"

\header {
title          = \markup {"Vom Himmel hoch da komm ich her"}
subtitle       = \markup {""}
composer       = \markup {"W: Wittenberg, 1539"}
arranger       = \markup {"S: Hans Leo Haßler (1564–1612), 1608"}
poet           = \markup {""}
texttranslator = \markup {""}
dedication     = \markup {""}
copyright      = \markup {""}
}

\include "rest-positioning.ly"

ficta = { \once\set suggestAccidentals = ##t }
fictaDown = { \once \set AccidentalSuggestion.direction = #DOWN }

% Sopran
ContextZeroVoiceZero = \relative c'' {
\clef "treble" \key d \major \time 4/4 r4 d cis b | % bar 1
cis a b cis | % bar 2
d4 r8 d8 d4 a | % bar 3
a fis a g | % bar 4
fis r8 fis b4 b | % bar 5
a cis d b | % bar 6
a r8 d cis4 b | % bar 7
a fis g e | % bar 8
d1 \bar "|." % bar 9

}

% Alt
ContextZeroVoiceOne = \relative c'' {
\clef "treble" \key d \major \time 4/4 r4 a a g | % bar 1
e fis e e | % bar 2
fis4 r8 fis8 fis4 e | % bar 3
d cis fis e | % bar 4
dis r8 \ficta\fictaDown d d4 g | % bar 5
e a fis e | % bar 6
cis r8 fis fis4 d | % bar 7
d d d cis | % bar 8
a1 \bar "|." % bar 9

}

% TextStr1
TextStrOne = \lyricmode {
\set stanza = "1. "
Vom Him -- mel hoch da komm ich her, ich bring euch gu -- te neu -- e Mär, der gu -- ten Mär bring ich so viel, da -- von ich singen und sa -- gen will.
}

% TextStr2
TextStrTwo = \lyricmode {
\set stanza = "2. "
Euch ist ein Kind -- lein heut ge -- born von ei -- ner Jung -- frau aus -- er -- korn, ein Kin -- de -- lein so zart und fein, das soll euer Freud und Won -- ne sein.
}

% TextStr3
TextStrThree = \lyricmode {
\set stanza = "3. "
Es ist der Herr Christ, un -- ser Gott, der will euch führn aus al -- ler Not; er will euer Hei -- land sel -- ber sein, von al -- len Sün -- den ma -- chen rein.
}

% TextStr4
TextStrFour = \lyricmode {
\set stanza = "4. "
Des laßt uns al -- le fröh -- lich sein und mit den Hir -- ten gehn hi -- nein, zu sehn, was Gott uns hat be -- schert, mit sei -- nem lie -- ben Sohn ver -- ehrt.
}

% Tenor
ContextFiveVoiceZero = \relative cis' {
\clef "bass" \key d \major \time 4/4 r4 fis fis d | % bar 1
cis d b a | % bar 2
a4 r8 a8 b4 e, | % bar 3
fis a fis b | % bar 4
b r8 a b4 e | % bar 5
cis a a gis | % bar 6
a r8 fis a4 b | % bar 7
fis a b a | % bar 8
fis1 \bar "|." % bar 9

}

% Bass
ContextFiveVoiceOne = \relative c {
\clef "bass" \key d \major \time 4/4 r4 d fis g | % bar 1
a fis g a | % bar 2
d,4 r8 d8 b4 cis | % bar 3
d fis d e | % bar 4
b r8 d g4 e | % bar 5
a fis d e | % bar 6
a, r8 b fis'4 g | % bar 7
d d g, a | % bar 8
d1 \bar "|." % bar 9

}

\score {
\new StaffGroup <<
\new Staff \with {
\override RestCollision #'positioning-done = #merge-rests-on-positioning
}
<<
% Sopran
\new Voice = "ContextZeroVoiceZeroVirtual" { \voiceOne \ContextZeroVoiceZero \once\override Score.BarLine #'transparent = ##f }
% Alt
\new Voice = "ContextZeroVoiceOneVirtual" { \voiceTwo \ContextZeroVoiceOne }
>>
% TextStr1
\new Lyrics = "TextStrOneVirtual"
% TextStr2
\new Lyrics = "TextStrTwoVirtual"
% TextStr3
\new Lyrics = "TextStrThreeVirtual"
% TextStr4
\new Lyrics = "TextStrFourVirtual"
\new Staff \with {
\override RestCollision #'positioning-done = #merge-rests-on-positioning
}
<<
% Tenor
\new Voice = "ContextFiveVoiceZeroVirtual" { \voiceOne \ContextFiveVoiceZero }
% Bass
\new Voice = "ContextFiveVoiceOneVirtual" { \voiceTwo \ContextFiveVoiceOne }
>>

% Voice assignment:
\set Score.melismaBusyProperties = #'()
\context Lyrics = "TextStrOneVirtual" { \lyricsto "ContextZeroVoiceZeroVirtual" \TextStrOne }
\context Lyrics = "TextStrTwoVirtual" { \lyricsto "ContextZeroVoiceZeroVirtual" \TextStrTwo }
\context Lyrics = "TextStrThreeVirtual" { \lyricsto "ContextZeroVoiceZeroVirtual" \TextStrThree }
\context Lyrics = "TextStrFourVirtual" { \lyricsto "ContextZeroVoiceZeroVirtual" \TextStrFour }
>>
\layout {
\context {
\Score
%% no bar lines in staves or lyrics
\override BarLine #'transparent = ##t
}
}
}

% Don't display "Music engraving by LilyPond version"
\header {
tagline = ##f
}

Danke,

Andreas

ding-dong

  • Member
Re:Position von Vorzeichen mit suggestAccidentals
« Antwort #1 am: Mittwoch, 10. November 2010, 22:28 »
hallo

fictaDown = { \once \override AccidentalSuggestion.direction = #DOWN }
wo man \set und \override braucht ist nicht immer ganz klar, aber hier funkionierts mit \override

weiterhin viel spass


Andreas

  • Member
Re:Position von Vorzeichen mit suggestAccidentals
« Antwort #2 am: Donnerstag, 11. November 2010, 20:24 »
Hallo,

leider funktioniert das bei mir nicht. Es gibt den Fehler:
Vom_Himmel_hoch__Hassler.ly:18:61: Fehler: syntax error, unexpected '=', expecting SCM_IDENTIFIER or SCM_TOKEN
fictaDown = { \once \override AccidentalSuggestion.direction
                                                             = #DOWN }
Woran liegt das? Ich benutze LilyPond 2.12.2.

ding-dong

  • Member
Re:Position von Vorzeichen mit suggestAccidentals
« Antwort #3 am: Donnerstag, 11. November 2010, 21:42 »
sorry, war unpräzise; es muss heissen:

fictaDown = { \once \override AccidentalSuggestion #'direction = #DOWN }
nach dem schema:

Zitat
\override grob #'property = #value

good luck!

Andreas

  • Member
Re: Position von Vorzeichen mit suggestAccidentals
« Antwort #4 am: Samstag, 13. November 2010, 07:54 »
Jetzt funktioniert's, danke!