Allgemein > Fragen zu Funktionen
klammern
accousticbass:
hi till und wers sonst noch liest,
also auf folgendes bin ich gekommen;
da das snippet auf "breathe" aufbaut ist es nicht möglich den befehl 2x hintereinander zu verwenden, sprich (klammer zu-klammer auf), weil der befehl nur einmal angezeigt wird, egal wie oft man ihn schreibt! (habs an einem beispiel mit \breathe ausprobiert)
würde ich eine pause/note dazwischensetzen gehts, aber dann stimmt der wert von noten><takt nicht mehr
beispiel:
\leftBracket bes8^\markup {\hspace #0 \raise #1.5 \italic "play around scales"} c d e ges as bes4\rightBracket |
\leftBracket bes,8^\markup {\hspace #0 \raise #1.5 \italic "on cue add bass & drums"} c d es f ges a bes\rightBracket |
\leftBracket bes,^\markup {\hspace #0 \raise #1.5 \italic "on cue"} c d e fis g a bes \rightBracket |
hier würde der erste (im snippy )den unmittelbar darauffolgenden befehl eliminieren und ich hätte den ausdruck:
[noten [noten [noten ]
wieso der befehl
\once\override BreathingSign #'break-align-symbol = #'custos
auf custodes zugreifen will weiss ich nicht. wenn ich ihn auskommentiere schreibt er mir die klammer vorm notenschlüssel
und dett sieht nich jut aus. mit der fehlermeldung kann ich aber leben; tut nicht weh.
ok, das mit "custos" ist auch klar. ist wohl als platzhalterfunktion zu sehen um über taktstriche hinweg zu schreiben
und ich glaube das
"insane spring found" bezieht sich auf den nicht aufgelösten bezug (note/pause) zum befehl \breathe
ich hänge dir das snipe mal dran zum gucken
\version "2.10.12"
\header {
texidoc = "
Code to make Lilypond draw left and right brackets vertically spanning
a staff. This is intended to indicate an optional passage of music.
"
doctitle = "Bracketed Passages"
}
% The below, invented by Mats Bengtsson, creates left and right brackets vertically
% spanning an entire staff. It is useful for offseting optional passages of music,
% as shown in the example
% The number next to "th" in (th 0.2) controls thickness of the brackets.
#(define-markup-command (left-bracket layout props) ()
"Draw left hand bracket"
(let* ((th 0.2) ;; todo: take from GROB
(width (* 2.5 th)) ;; todo: take from GROB
(ext '(-2.8 . 2.8))) ;; todo: take line-count into account
(ly:bracket Y ext th width)))
leftBracket = {
\once\override BreathingSign #'text = #(make-left-bracket-markup)
\once\override BreathingSign #'break-visibility = #end-of-line-invisible
%\once\override BreathingSign #'Y-offset = ##f
% Trick to print it after barlines and signatures:
\once\override BreathingSign #'break-align-symbol = #'custos
\breathe
}
#(define-markup-command (right-bracket layout props) ()
"Draw right hand bracket"
(let* ((th 0.2);;todo: take from GROB
(width (* 2.5 th)) ;; todo: take from GROB
(ext '(-2.8 . 2.8))) ;; todo: take line-count into account
(ly:bracket Y ext th (- width))))
rightBracket = {
\once\override BreathingSign #'text = #(make-right-bracket-markup)
\once\override BreathingSign #'Y-offset = ##f
\breathe
}
%example of use:
%\score{ \relative c'{ \set Score.timing=##f \key f \major
%f8( g4 a2 a8-- g4 f8 g4 f g f8[ e] f4 e2 f4 e2
%\leftBracket g4. a8 bes2 a4 g a bes16[ a g8 a bes] c2 \bar""\break
%bes8[ a] g4 bes a2 g8[ a bes c a] bes2 a4.\( bes8\) a4 g g8_-[ f16 g] %a4 g f g2)
%\rightBracket
%g8([ bes a g a bes]) }
%\layout{ \context{ \Staff \remove "Time_signature_engraver" } }
%}
etilli33:
Hi,
ja, das mit dem custos hatte ich übersehen, weiß auch nicht so richtig, warum das benutzt wird, hat wohl wirklich was mit der Platzierung über Zeilenumbrüche zu tun. Weil das kein wirklicher Teil von LIlypond ist, wird es wohl auch keinen bugreport geben, aber vielleicht kann Mats das Ding ja mit mehreren Klammern hintereinander zum Laufen bringen.
Wenn es nur darum geht, dass die Taktzeit verrutscht, weil du eine zusätzliche Pause oä. einfügen musst, dann gibt es auch die Möglichkeit die Taktzeit zurückzusetzen,ich weiß jetzt gerade nicht, wo das stand, aber wahrscheinlich irgendwo in Verbindung mit Takt.
Gruß
Till
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln