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

Musica ficta Akzidentien einklammern

Begonnen von archduke, Sonntag, 12. Juli 2009, 14:36

Vorheriges Thema - Nächstes Thema

archduke

Wenn ich versuche ein Vorzeichen wie folgt zu schreiben fehlt die Klammer:
\once \set suggestAccidentals = ##t fis?2
lasse ich hingegen die suggesgtAccidentals Funktion weg, wird die Klammer um das Vorzeichen erstellt.
Hat jemand einen Tipp wie das Problem zu beheben ist?

Herzliche Grüße

ding-dong

ich habe nciht herausgefunden, wo suggestAccidentals definiert wird…
als zwischenlösung könnte man vielleicht
^\markup { \fontsize #-3 { ( \raise #.5  \sharp) }
versuchen?!

derHindemith

Zitat von: ding-dong am Sonntag, 12. Juli 2009, 23:27
ich habe nicht herausgefunden, wo suggestAccidentals definiert wird...

define-context-properties.scm
grep ist manchmal nützlich.

Aber, da ich nicht fähig bin, die Accidental Regeln umzuschreiben, eine andere Möglichkeit wäre:

ficta = {
    \once \override AccidentalSuggestion #'stencil = #ly:text-interface::print
   \once \override AccidentalSuggestion #'text = \markup { ( \raise #0.5 \natural ) }
}

ding-dong

Zitatdefine-context-properties.scm
grep ist manchmal nützlich.

grep ist wohl ein suchprogramm in einem bestimmten betriebssystem!?

…aber dort steht tatsächlich:
Zitat(suggestAccidentals ,boolean? "If set, accidentals are typeset as
cautionary suggestions over the note.")
das ist aber doch zu wenig definition!

deine lösung funktioniert leider nicht mit V2.13.3 - leider habe ich keine zeit zu eruieren warum.

comper

#4
Ich denke, dieses Verhalten ist fest in C++ compiliert.

Ist mit "?" die warnende Variante bestellt,
wird der Frontend-Merker cautionary gesetzt,
damit der Accidental_engraver Bescheid weiss.

Für den Normalfall (Vorzeichen neben der Note)
bestellt dieser wiederum Accidental oder AccidentalCautionary,
dem Zustand von cautionary entsprechend.

Aber im suggestAccidentals-Fall (Vorzeichen über der Note)
bestellt er pauschal AccidentalSuggestion, ohne auf cautionary zu achten.

Im Backend, wo die Overrides (z.B. auf AccidentalSuggestion) agieren,
haben wir keinen Zugriff auf diesen Frontend-Merker, können also
keine Scheme-Funktion entsprechend (vollautomatisch) lenken. 

Mein Fazit: es geht nur manuell; z.B.  jeweils die Override
   \once \override AccidentalSuggestion #'parenthesized = ##t
benutzen, wie in der Testdatei accidental-suggestions.ly vorgemacht.


Gruss

ding-dong

oder, wie vorgeschlagen, die kurzform:

ficta = {
  \set suggestAccidentals = ##t
  \once \override AccidentalSuggestion #'parenthesized = ##t
  }

was zumindest ein wenig schreibarbeit spart…

archduke

Vielen Dank für die Lösungen, das hat mir sehr geholfen!!

Herzliche Grüße