Notationsspezifisch > Noten für Gitarre
TextSpanner-Befehl für Barré-Angabe abkürzen
fugenkomponist:
--- Zitat von: Castor am Sonntag, 9. Februar 2014, 13:22 ---@ fugenkomponist: ich hatte nur nach so einem "barre = define blablabla" dingens gesucht, wie du und Eluze für mich gemacht habt, und deshalb nicht dran gedacht, dass ein beispiel vllt hilfreich wäre. aber hättest es ja einfach an .. was weiß ich ..
--- Code: ---\relative c' { c1 c c }
--- Ende Code ---
oder so ausprobieren können, was vllt sogar schneller gegangen wäre als es auf irgendein bsp von mir anzuwenden ..
lg Castor
--- Ende Zitat ---
Sorry, ich hab halt nie oder fast nie TextSpanner verwendet … \relative c' { c1 c c } hätte ich auch noch selbst zusammen bauen können, aber ich hätte nicht auf Anhieb gewusst, was eigentlich ein TextSpanner ist und wie ich ihn da jetzt einsetze …
Castor:
@ Eluze: Tausend Dank, so gefällt mir das!! :D
@ fugenkomponist: kein problem, nächstes mal tu ich ein einfaches bsp dazu ;)
harm6:
Hallo,
um den Text und den Startpunkt in eine Funktion zu packen kann man so vorgehen:
--- Code: ---\version "2.18.0"
startBarr =
#(define-event-function (parser location str) (string?)
#{
\tweak TextSpanner.bound-details.left.text \markup \upright \concat { $str " " }
\startTextSpan
#})
stopBarr = \stopTextSpan
\relative c'' {
\acciaccatura f,8 g\startBarr III
d' bes g' \acciaccatura { e16-4 d-1 } <e-3>8 bes g' d\stopBarr |
}
--- Ende Code ---
oder ausgefeilter und mit mehr features:
--- Code: ---\version "2.18.0"
startBarrB =
#(define-event-function (parser location str) (string?)
(let* ((mrkp (markup #:vcenter #:upright #:concat (str " "))))
(define (width grob text-string)
(let* ((layout (ly:grob-layout grob))
(props (ly:grob-alist-chain
grob
(ly:output-def-lookup layout 'text-font-defaults))))
(interval-length
(ly:stencil-extent
(interpret-markup layout props (markup text-string))
X))))
#{
\tweak TextSpanner.after-line-breaking
#(lambda (grob)
(let* ((mrkp-width (width grob mrkp))
(line-thickness (ly:staff-symbol-line-thickness grob)))
(ly:grob-set-nested-property!
grob
'(bound-details left padding)
(+ (/ mrkp-width -4) (* line-thickness 2)))))
\tweak TextSpanner.bound-details.left.text #mrkp
\tweak TextSpanner.bound-details.left-broken.text ##f
%% adjust the numeric values to fit your needs:
\tweak TextSpanner.bound-details.left-broken.padding 1.5
\tweak TextSpanner.bound-details.right-broken.padding 1
\tweak TextSpanner.bound-details.right.padding -1
\tweak TextSpanner.bound-details.right-broken.text ##f
\tweak TextSpanner.bound-details.right.text
\markup \draw-line #'(0 . -0.75)
\startTextSpan
#}))
stopBarrB = \stopTextSpan
\relative c'' {
\acciaccatura f,8 g\startBarrB "IX"
d' bes g' \acciaccatura { e16-4 d-1 } <e-3>8 bes g' d\stopBarrB
\break
\acciaccatura f,8 g\startBarrB "IX" d' bes g' \acciaccatura { e16-4 d-1 } <e-3>8 bes g' d
\break
g, d' bes g' \acciaccatura { e16-4 d-1 } <e-3>8 bes g' d\stopBarrB
}
--- Ende Code ---
HTH,
Harm
eluze:
--- Zitat von: harm6 am Sonntag, 9. Februar 2014, 23:03 ---
um den Text und den Startpunkt in eine Funktion zu packen kann man so vorgehen:
--- Code: ---
startBarr =
#(define-event-function (parser location str) (string?)
a { e16-4 d-1 } <e-3>8 bes g' d\stopBarr |
}
--- Ende Code ---
--- Ende Zitat ---
ahh - #(define-event-function ist hier offenbar besser als #(define-music-function
danke für den tip!
das folgende gefällt mir eigentlich nur als zusammenfassung aller(?) properties, da man ja jedesmal die ganze funktion ändern müsste um zu variieren
--- Zitat ---oder ausgefeilter und mit mehr features:
--- Code: ---\version "2.18.0"
startBarrB =
#(define-event-function (parser location str) (string?)
...
--- Ende Code ---
--- Ende Zitat ---
wäre es angesichts der limitierten lagen nicht sinnvoller, die möglichen 19-20 lagen zu definieren
fretI=...
fretII=...
beste grüsse
Eluze
Castor:
auch wenn ich von diesem funktions-kram eig keine ahnung hab, schalt ich mich nochmal ein ;)
--- Zitat ---#(define-event-function ist hier offenbar besser als #(define-music-function
--- Ende Zitat ---
inwiefern?
--- Zitat ---wäre es angesichts der limitierten lagen nicht sinnvoller, die möglichen 19-20 lagen zu definieren
fretI=...
fretII=...
--- Ende Zitat ---
warum limitiert? wenn man jetz \barre XX eingibt oder so geht das doch einwandfrei ..?
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln