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

Position von Vorzeichen mit suggestAccidentals

Begonnen von Andreas, Mittwoch, 10. November 2010, 21:09

Vorheriges Thema - Nächstes Thema

Andreas

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

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

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

sorry, war unpräzise; es muss heissen:

fictaDown = { \once \override AccidentalSuggestion #'direction = #DOWN }

nach dem schema:

Zitat\override grob #'property = #value

good luck!

Andreas