Scheme-Funktion für Taktarten

Begonnen von kleinlosen, Samstag, 27. Januar 2024, 18:41

« vorheriges - nächstes »

kleinlosen

Moin,

ich möchte ein Stück proportional notieren, in dem verschiedene Taktarten polymetrisch übereinander geschichtet werden. Dazu möchte ich die Taktarten über die Systeme, genauer: oberhalb der Taktstriche setzen. Und zwar mit einem Markup, weil der Platz, den die Taktarten vor der jeweils ersten Note (oder Pause) eines Taktes einnehmen, natürlich weiterhin bestehen bleibt, wenn ich sie bloß mit einem \override-Befehl vertikal und/oder horizontal verschiebe (z. B. mit \override TimeSignature.extra-offset = #'(-2 . 7)). Kurzum: die erste Note (oder Pause) eines Taktes ist immer ein wenig zu weit rechts gesetzt wird, als sie es, einer »wirklichen« proportionalen Notation gemäß, eigentlich sollte.

Was ich also möchte, ist eine Funktion schreiben, in der ich die Taktarten mit einem Markup-Befehl in die Noten einfügen kann. Ich denke da an so etwas:

\version "2.25.2"

\relative c' {
  \override Score.TimeSignature. stencil = ##f
   c4 d e f

 \mark \markup {
    \override #'(baseline-skip . 1.5)
    \override #'(font-size . 4.5)
    \override #'(font-name . "Bodoni72 Book")
    \override #'(whiteout-style . outline)
    \override #'(whiteout . 1)
    \override #'(extra-offset . -2)
    \column {
      \raise #0.5 \scale #'(0.8 . 0.8) "4" % Zähler der Taktart
      \raise #-0.5 \scale #'(0.8 . 0.8) "8" % Nenner der Taktart
    }
  }
  c8 d e f
}

Zähler und Nenner sollten solch einer Funktion als Argumente übergeben werden können.

Meine Scheme-Kenntnisse reichen bei weitem nicht aus, um solch eine Funktion zu schreiben. (Und um mal auf den Post von Manuela vom 29.03.2023 zu verweisen: Auch Chat-GPT ist dazu völlig außerstande...). Vielleicht kann mir jemand helfen?

Liebe Grüße

Manuela

Danke für eure Hilfe
viele Grüße
-- Manuela