Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: Manuela am Sonntag, 5. April 2015, 08:29

Titel: RehearsalMark - ich geh wieder einmal im Kreis
Beitrag von: Manuela am Sonntag, 5. April 2015, 08:29
Ich traue mich kaum mehr noch, hier eine Frage zu stellen  :-[
Ich gehe wieder einmal im Kreis, habe alle Manuale incl. Code Snippet Repository durchsucht, aber ich kriege es einfach nicht hin.

so soll die Ausgabe ausschauen
{
  c''1-\tweak self-alignment-X #-0.2
  _\markup { \circle \bold \typewriter \fontsize #2 " xx " }
}

Natürlich könnte ich jetzt 100x copy&paste machen, aber eleganter wäre es mit RehearsalMark z.B. Das mit dem Kreis und der Position unterhalb kriege ich hin, aber die Schriftart kann ich nicht ändern, die Größe schon.

Frohe Ostern!  :D
Titel: Re: RehearsalMark - ich geh wieder einmal im Kreis
Beitrag von: kilgore am Sonntag, 5. April 2015, 12:08
Hi Manuela,

Bei mir sieht die Ausgabe richtig aus, typewriter font erscheint richtig. Was fehlt denn bzw. was ist eigentlich deine Frage?

Gruß
kil
Titel: Re: RehearsalMark - ich geh wieder einmal im Kreis
Beitrag von: Manuela am Sonntag, 5. April 2015, 16:43
Ich möchte die gleiche Ausgabe, die mein Beispiel erzeugt, erhalten, indem ich z.B. im Kontext die Standardwerte für Rehearsal Marks so setze, dass ein Kreis mit einem frei wählbaren Text unterhalb der Note erscheint. Ich schaffe es, den Kreis zu setzen und die Schriftgröße zu beeinflussen, bei Schriftart und -dicke sowie dem frei wählbaren Text scheitere ich.

Mit meiner Lösung muss ich mit jedem Auftreten die ganze Liste angeben. Falls ich Schriftart oder -größe ändern will, ist das eine mühsame Angelegenheit.

Inzwischen habe ich etwas gefunden, das mir weiterhelfen könnte

inst =
#(define-music-function
  (parser location string)
  (string?)
  #{ <>_\markup \bold \circle  \fontsize #4 #string #})

Jetzt müsset ich die Ausgabe nur noch dorthin setzen können, wo ich sie haben will, nämlich genau unterhalb einer Note.
Titel: Re: RehearsalMark - ich geh wieder einmal im Kreis
Beitrag von: Manuela am Montag, 6. April 2015, 13:37
Mit viel Mühe habe ich es jetzt geschafft, eine Funktion zu erstellen:

kreisum = #(define-event-function (parser location xxxx abstand)
           (string? number?)
           #{ -\tweak self-alignment-X #-0.4

              _\markup {
                \override #'(circle-padding . 0.6)
                \override #'(thickness . 3) \bold \circle \typewriter \fontsize #1 #xxxx
           } #} )

Kann mir jetzt jemand noch verraten, wie ich Kreisdicke und Abstand variabel gestalten kann?

kreisum = #(define-event-function (parser location xxxx abstand)
           (string? number?)
           #{ -\tweak self-alignment-X #-0.4

              _\markup {
                \override #'(circle-padding . #abstand)
                \override #'(thickness . 3) \bold \circle \typewriter \fontsize #1 #xxxx
           } #} )

funktioniert leider nicht  :(
Dafür gibt es sicher einen guten Grund, aber so weit bin ich noch nicht  :-[
Titel: Re: RehearsalMark - ich geh wieder einmal im Kreis
Beitrag von: harm6 am Montag, 6. April 2015, 14:06
Zitat
Kann mir jetzt jemand noch verraten, wie ich Kreisdicke und Abstand variabel gestalten kann?


kreisum = #(define-event-function (parser location xxxx abstand)
           (string? number?)
           #{ -\tweak self-alignment-X #-0.4

              _\markup {
                \override #'(circle-padding . #abstand)
                \override #'(thickness . 3) \bold \circle \typewriter \fontsize #1 #xxxx
           } #} )


funktioniert leider nicht
Dafür gibt es sicher einen guten Grund, aber so weit bin ich noch nicht

Siehe hierzu meinen post:
https://liarchiv.joonet.de/index.php?topic=1762.msg9753#msg9753 (https://liarchiv.joonet.de/index.php?topic=1762.msg9753#msg9753)

Es scheint Du hast davon Abstand genommen RehearsalMark zu verwenden und stattdessen TextScript genommen.

Finde ich sinnvoll, denn RehearsalMark kann nicht an einer Note verankert werden. Zumindest fällt mir auf die Schnelle nichts ein, was mit vertretbarem Aufwand realisierbar wäre.


Gruß,
  Harm
Titel: Re: RehearsalMark - ich geh wieder einmal im Kreis
Beitrag von: trulli am Montag, 6. April 2015, 19:04
Ich traue mich kaum mehr noch, hier eine Frage zu stellen

Warum? Ist doch alles gut.   8)
Titel: Re: RehearsalMark - ich geh wieder einmal im Kreis
Beitrag von: Manuela am Montag, 6. April 2015, 22:33

Es scheint Du hast davon Abstand genommen RehearsalMark zu verwenden und stattdessen TextScript genommen.

Finde ich sinnvoll, denn RehearsalMark kann nicht an einer Note verankert werden.

Genau das war der Grund  :)

Ich habe mich schon ein wenig in Scheme eingelesen, aber irgendwie sträubt sich alles in mir dagegen, das zu begreifen  :(
Vielleicht bin ich durch andere Programmiersprachen verdorben, sodass die Scheme-Logik nicht mehr in mein Hirn passt