Autor Thema: Musica ficta Akzidentien einklammern  (Gelesen 3403 mal)

archduke

  • Member
Musica ficta Akzidentien einklammern
« am: Sonntag, 12. Juli 2009, 14:36 »
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

  • Member
Re: Musica ficta Akzidentien einklammern
« Antwort #1 am: Sonntag, 12. Juli 2009, 23:27 »
ich habe nciht herausgefunden, wo suggestAccidentals definiert wird…
als zwischenlösung könnte man vielleicht
^\markup { \fontsize #-3 { ( \raise #.5  \sharp) }versuchen?!

derHindemith

  • Member
Re: Musica ficta Akzidentien einklammern
« Antwort #2 am: Montag, 13. Juli 2009, 00:24 »
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

  • Member
Re: Musica ficta Akzidentien einklammern
« Antwort #3 am: Montag, 13. Juli 2009, 10:06 »
Zitat
define-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

  • Member
Re: Musica ficta Akzidentien einklammern
« Antwort #4 am: Montag, 13. Juli 2009, 15:00 »
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
« Letzte Änderung: Montag, 13. Juli 2009, 15:08 von comper »

ding-dong

  • Member
Re: Musica ficta Akzidentien einklammern
« Antwort #5 am: Montag, 13. Juli 2009, 16:46 »
oder, wie vorgeschlagen, die kurzform:
ficta = {
  \set suggestAccidentals = ##t
  \once \override AccidentalSuggestion #'parenthesized = ##t
  }
was zumindest ein wenig schreibarbeit spart…

archduke

  • Member
Re: Musica ficta Akzidentien einklammern
« Antwort #6 am: Mittwoch, 15. Juli 2009, 12:43 »
Vielen Dank für die Lösungen, das hat mir sehr geholfen!!

Herzliche Grüße