Wenn ich ein Beispiel posten könnte, hätte ich das Problem schon selber gelöst
Mir ging es doch nicht um ein Beispiel mit einer Lösung, sondern wie Du die Pedale angeben willst. Schließlich gibt es ja sustainOn/Off, sostenutoOn/Off und unaCorda/treCorde mit jeweils anderem Erscheinungsbild.
Auch sehe ich einen Widerspruch zwischen dem Titel diese threads:
"Crescendo und Pedalzeichen
einseitig klammern" sowie Deinem eröffnenden post: "Wie setze ich in einem Dynamic-Staff Klammern
vor/nach einem Pedalzeichen bzw. Crescendo-Hairpin?"
All das wäre aus einem (kommentierten) code-Beispiel wahrscheinlich ersichtlich gewesen.
Das zuletzt gepostete Bild hilft für die Pedale, aber Hairpin nur mit öffnender Klammer zur linken??
Insoweit hier zwei Versuche:
(1) Pedale
\version "2.18.2"
parenthesizeSustainPedal =
\override Staff.SustainPedal.after-line-breaking =
#(lambda (grob)
(let ((start? (string=? "Ped." (ly:grob-property grob 'text))))
(ly:grob-set-property! grob 'stencil
(ly:stencil-combine-at-edge
(if start?
(grob-interpret-markup grob "(")
(ly:sustain-pedal::print grob))
X
RIGHT
(if start?
(ly:sustain-pedal::print grob)
(grob-interpret-markup grob ")"))
0.2))))
\relative {
\parenthesizeSustainPedal
c''4\sustainOn d e g
c,1 d1\sustainOff
}
(2) Hairpin (beidseitig eingeklammert)
Dieser hat hat den Nachteil, daß die Hairpin
nicht verändert wird, d.h. er ist Collisions-anfällig.
Um das zu vermeiden müßte man die Hairpin ebenfalls neu konstruieren.
Aber vielleicht reicht es ja schon...
\version "2.19.52"
%% c/p from stencil.scm
#(define (make-parenthesis-stencil
y-extent thickness width angularity orientation)
"Create a parenthesis stencil.
@var{y-extent} is the Y extent of the markup inside the parenthesis.
@var{half-thickness} is the half thickness of the parenthesis.
@var{width} is the width of a parenthesis.
@var{orientation} is the orientation of a parenthesis.
The higher the value of number @var{angularity},
the more angular the shape of the parenthesis."
(let* ((start (cons 0 (car y-extent)))
(stop (cons 0 (cdr y-extent)))
(line-width 0.1)
(bow-stil
(make-bow-stencil
start stop thickness angularity width orientation))
(x-extent (ly:stencil-extent bow-stil X)))
(ly:make-stencil
(ly:stencil-expr bow-stil)
(interval-widen x-extent (/ line-width 2))
(interval-widen y-extent (/ line-width 2)))))
%% c/p from stencil.scm, extended
#(define-public (parenthesize-stencil
stencil half-thickness width angularity padding size)
"Add parentheses around @var{stencil}, returning a new stencil."
(let* ((y-extent (interval-widen (ly:stencil-extent stencil Y) size))
(lp (make-parenthesis-stencil
y-extent half-thickness width angularity 1))
(rp (make-parenthesis-stencil
y-extent half-thickness width angularity -1)))
(ly:stencil-combine-at-edge
(ly:stencil-combine-at-edge stencil X LEFT lp padding)
X RIGHT rp padding)))
parenthesizeHairpin =
\override Hairpin.stencil =
#(lambda (grob)
(parenthesize-stencil
(ly:hairpin::print grob) ;; stencil
0.05 ;; half-thickness
0.4 ;; width
0 ;; angularity
0.2 ;; padding
0.5 ;; additional size
))
mus =
{
c''4\> d'' e'' g'' \break
c''1 c''\!
}
\new StaffGroup <<
\new Staff { \parenthesizeHairpin \mus }
\new Staff \mus
>>
HTH,
Harm