Autor Thema: "kombinierte" Scripts  (Gelesen 2312 mal)

chf

  • Member
"kombinierte" Scripts
« am: Montag, 10. Oktober 2011, 19:43 »
Liebe Freunde,

\version "2.12.3"

\relative c'' {

\once \override Script #'padding = #1 \extendLV #0.5 ais'4.-.--\sf\laissezVibrer
}
 setzt nur das obere Zeichen höher, es müssen aber beide gleichmäßig verschoben werden.
Ich freue mich auf die Lösung des Problems.

Gruß
chf

harm6

  • Member
Re: "kombinierte" Scripts
« Antwort #1 am: Montag, 10. Oktober 2011, 22:47 »
Hallo Christa,

wer nicht zufällig weiß, daß \extendLV ... aus einem LSR-Snippet stammt, kann mit Deinem Code-Schnipsel nichts anfangen. ;)

Aber hier ein paar Lösungsansätze:

Dein \once \override Script #'padding = #1 wirkt schon. Allerdings auf beide Script-Zeichen gleichzeitig und im selben Umfang. (Deutlich sichtbar bei höheren padding-Werten.)

Wenn Du das nicht willst, mußt Du die einzelnen Zeichen mit einem tweak-Befehl ansprechen:

\version "2.12.3"

% http://lsr.dsi.unimi.it/LSR/Item?id=715

extendLV =
   #(define-music-function (parser location further) (number?)
      #{
        \once \override LaissezVibrerTie  #'X-extent = #'(0 . 0)
        \once \override LaissezVibrerTie  #'details #'note-head-gap = #(/ $further -2)
        \once \override LaissezVibrerTie  #'extra-offset = #(cons (/ $further 2) 0)
      #})

\relative c'' {

\once \override Script #'padding = #5 \extendLV #0.5 ais'4.-.--\sf\laissezVibrer
}

% so:

\relative c'' {

\extendLV #0.5 ais'4.-\tweak #'padding #'2 -.--\sf\laissezVibrer
}

% oder so:

\relative c'' {

\extendLV #0.5 ais'4.-\tweak #'padding #'2 -.-\tweak #'padding #'0.5 --\sf\laissezVibrer
}


Gruß,
  Harm

P.S. Es gibt auch noch esoterischere Lösungen:
a) den tweak-Befehl mit dem padding-property und dem Script-Zeichen in eine Variable packen -> NR 6.7 Using Scheme code instead of \tweak
b) Eine Funktion entwerfen, die das macht nach dem Vorbild von tweak aus music-functions-init.ly.
c) Die Methode(n) die hier entwickelt wurden.

Aber für den vorliegenden Fall scheint mir das alles zu sehr in Richtung overkill zu gehen. ;)


chf

  • Member
Re: "kombinierte" Scripts
« Antwort #2 am: Dienstag, 11. Oktober 2011, 15:03 »
Hallo Harm,
pardon - \extendLV - ich dachte, alles was ich weiß wissen andere erst recht.

\extendLV #0.5 ais'4.-\tweak #'padding #'2 -.--\sf\laissezVibrer

ist sehr schön - ohne Esoterik (herrlich!). Ich hab's sowieso lieber fassbar.
Die Verwandtschaft mit der Lösung für differenziertes Versetzen war mir schon klar, aber in welchem Verhältnis?

Dank und Gruß
Christa
« Letzte Änderung: Dienstag, 11. Oktober 2011, 15:07 von chf »

harm6

  • Member
Re: "kombinierte" Scripts
« Antwort #3 am: Dienstag, 11. Oktober 2011, 22:33 »
Hallo Christa,

Zitat
Die Verwandtschaft mit der Lösung für differenziertes Versetzen war mir schon klar, aber in welchem Verhältnis?

Meinst Du den Unterschied zwischen \tweak und \override?

  • \override Script #'padding = #5
    Dieser Befehl verändert padding ab dem Zeitpunkt zu dem er gesetzt wurde für alle Script-Ereignisse, bis er aufgehoben wird.
  • \once \override Script #'padding = #5
    Dieser Befehl verändert padding nur für den danach folgenden Zeitpunkt, aber für alle Script-Ereignisse, die dort stattfinden
  • -\tweak #'padding #'2
    Dieser Befehl spricht einzig und allein das Ereignis an, welches im Code direkt folgt. Man kann damit also eigentlich gleichzeitig erfolgende Ereignisse gleicher Art (hier: Script) einzeln und mit verschiedenen Werten und Eigenschaften beeinflussen

Vgl. auch den unterschiedlichen output hier (aber auch die andere Syntax):

\relative c'' {
        a'-\tweak #'font-size #10 -\tweak #'color #red -.--
}

\relative c'' {
        \once \override Script #'font-size = #10
        \once \override Script #'color = #red
        a'-.--
}

Gruß,
  Harm

chf

  • Member
Re: "kombinierte" Scripts
« Antwort #4 am: Mittwoch, 12. Oktober 2011, 19:31 »
Hallo Harm,

im September hatte ich eine Frage gestellt zum unterschiedlichen Versetzen von Scripts (Artikulation und Flageolet). Die hast du auch beantwortet. Darauf bezieht sich meine Bemerkung.
Aber Dank für deine Erläuterung - mit "tweak" konnte ich bislang gar nicht selbständig umgehen...

Gruß
Christa