Re: Analysis brackets

2020-04-13 Thread Michael Taylor
Many thanks for this. I need to experiment a little to see if I can fit the
brackets into a rather congested setting.
With best wishes, MT

On Thu, 9 Apr 2020 at 12:49, Pierre Perol-Schneider <
pierre.schneider.pa...@gmail.com> wrote:

> Hi Michael,
> That may work, e.g.:
>
> \version "2.20.0"
>
> #(define-markup-command (lcb layout props arg)
>(number?)
>   "Draw a curly bracket with a variable length."
>  (interpret-markup layout props
>(markup
>  (#:override (cons (quote filled) #t)
>   (#:path 0 `(
>(moveto   -0.8   0.0)
>(curveto  -0.2   0.4  -0.3  0.7 -0.3  1.5)
>(lineto   -0.3   ,arg)
>(curveto  -0.4   ,(+ arg 1.3) 0.5 ,(+ arg 2.8) 0.7 ,(+ arg 2.8))
>(curveto   0.6   ,(+ arg 2.5) 0.1 ,(+ arg 2)   0.1 ,arg)
>(lineto0.1   1.5)
>(curveto   0.1   0.7   0.1   0.0  -0.8   0.0)
>(closepath)
>(curveto  -0.2  -0.4  -0.3  -0.7  -0.3  -1.5)
>(lineto   -0.3   ,(* arg -1))
>(curveto  -0.4   ,(* (+ arg 1.3) -1) 0.5 ,(* (+ arg 2.8) -1)
> 0.7 ,(* (+ arg 2.8) -1))
>(curveto   0.6   ,(* (+ arg 2.5) -1) 0.1 ,(* (+ arg 2) -1)
> 0.1 ,(* arg -1))
>(lineto0.1  -1.5)
>(curveto   0.1  -0.7   0.1   0.0  -0.8   0.0)
>(closepath)))
>
>
> \relative c'' {
>   c4 _\markup {
> \with-dimensions-from \null
>   \left-align {
> \override #'(baseline-skip . 0)
> \center-column {
>   "a" \vspace #-.1
>   \rotate #90 \lcb #3
>   \vspace #.1 "b"
> }
>   }
> } d e
>   -\tweak extra-offset #'(0 . -5)
>_\markup {
> \with-dimensions-from \null
>   \left-align {
> \override #'(baseline-skip . 0)
> \center-column {
>   "a" \vspace #-.1
>   \rotate #90 \lcb #5
>   \vspace #.1 "b"
> }
>   }
> }d c
>   b
>   -\tweak extra-offset #'(.5 . 3)
>   ^\markup {
> \with-dimensions-from \null
>   \left-align {
> \override #'(baseline-skip . 0)
> \center-column {
>   "a" \vspace #.1
>   \rotate #-90 \lcb #6
>   \vspace #-.1 "b"
> }
>   }
> } a g f e d c
> }
>
> HTH,
> Cheers,
> Pierre
>
> Le jeu. 9 avr. 2020 à 17:27, Michael Taylor  a
> écrit :
>
>> Dear David,
>> Many thanks for this. I was curious about the curly analysis brackets
>> when I saw this in Snippets http://lsr.di.unimi.it/LSR/Search?q=curly but
>> couldn't figure out how (or if) these
>> shapes could be used for what I wanted. The only application I could find
>> was to group an
>> ensemble within a larger instrumental contingent.
>> With best wishes
>> Michael
>>
>> On Tue, 7 Apr 2020 at 23:00, David Nalesnik 
>> wrote:
>>
>>> On Tue, Apr 7, 2020 at 11:07 AM Michael Taylor
>>>  wrote:
>>> > Would it be possible in a future version to have the option of placing
>>> text within analysis brackets as well as the default above? MT
>>>
>>> HorizontalBracketText.direction with a little more tweaking than
>>> should be necessary.
>>>
>>> \layout {
>>>   \context {
>>> \Voice
>>> \consists "Horizontal_bracket_engraver"
>>> \override HorizontalBracket.direction = #UP
>>>   }
>>> }
>>>
>>> {
>>>   \once\override HorizontalBracketText.direction = #DOWN
>>>   \once\override HorizontalBracketText.text = "a"
>>>   \once\override HorizontalBracketText.padding = #-0.5
>>>   \once\override HorizontalBracket.padding = 1
>>>   c''\startGroup d''\stopGroup
>>> }
>>>
>>


Re: Analysis brackets

2020-04-09 Thread Kevin Barry
Hi Michael,

Below is some code that replaces a horizontal bracket with a curly
brace of the same width. The math is the result of experimentation,
but it seems to hold up to changes in staff size and for medium-sized
groupings of notes.

\version "2.19.84"

#(define curly-analysis-brace
   (lambda (bracket)
 (let* ((bracket-width (interval-length
(ly:stencil-extent
(ly:horizontal-bracket::print bracket) X)))
(bracket-dir (ly:grob-property bracket 'direction))
(bracket-layout (ly:grob-layout bracket))
(output-scale
 (/ (ly:output-def-lookup bracket-layout 'output-scale)
1.75729901757299))
(brace-rotation (if (eq? bracket-dir DOWN) 90 270))
(brace-size (* 5 bracket-width output-scale))
(y-scale (- 1 (* brace-size (/ brace-size 1.5) 0.04 (/
1 output-scale
(brace-offset (* (/ 1 output-scale)
(+ (* 0.2 output-scale) (* 0.103 brace-size
)
   (ly:grob-set-property! bracket 'text
 #{ \markup
\scale #`(1 . ,y-scale)
\translate #`(,brace-offset . 0)
\rotate #brace-rotation
\left-brace #brace-size #})
   (ly:grob-set-property! bracket 'stencil ly:text-interface::print)
   )))

% \startCurlyGroup is a convenience for doing just one curly analysis bracket
startCurlyGroup = \tweak after-line-breaking #curly-analysis-brace \startGroup

\score {
  \relative {
c''4\startGroup \startGroup \startGroup
d4\stopGroup
e4
d4
c d e d\stopGroup
c d e d\stopGroup
  }
  \layout {
\context {
  \Voice
  \consists "Horizontal_bracket_engraver"
  \override HorizontalBracket.after-line-breaking = #curly-analysis-brace
}
  }
}

Kevin

On Thu, 9 Apr 2020 at 17:51, Pierre Perol-Schneider
 wrote:
>
> Hi Michael,
> That may work, e.g.:
>
> \version "2.20.0"
>
> #(define-markup-command (lcb layout props arg)
>(number?)
>   "Draw a curly bracket with a variable length."
>  (interpret-markup layout props
>(markup
>  (#:override (cons (quote filled) #t)
>   (#:path 0 `(
>(moveto   -0.8   0.0)
>(curveto  -0.2   0.4  -0.3  0.7 -0.3  1.5)
>(lineto   -0.3   ,arg)
>(curveto  -0.4   ,(+ arg 1.3) 0.5 ,(+ arg 2.8) 0.7 ,(+ arg 2.8))
>(curveto   0.6   ,(+ arg 2.5) 0.1 ,(+ arg 2)   0.1 ,arg)
>(lineto0.1   1.5)
>(curveto   0.1   0.7   0.1   0.0  -0.8   0.0)
>(closepath)
>(curveto  -0.2  -0.4  -0.3  -0.7  -0.3  -1.5)
>(lineto   -0.3   ,(* arg -1))
>(curveto  -0.4   ,(* (+ arg 1.3) -1) 0.5 ,(* (+ arg 2.8) -1) 0.7 
> ,(* (+ arg 2.8) -1))
>(curveto   0.6   ,(* (+ arg 2.5) -1) 0.1 ,(* (+ arg 2) -1)   0.1 
> ,(* arg -1))
>(lineto0.1  -1.5)
>(curveto   0.1  -0.7   0.1   0.0  -0.8   0.0)
>(closepath)))
>
>
> \relative c'' {
>   c4 _\markup {
> \with-dimensions-from \null
>   \left-align {
> \override #'(baseline-skip . 0)
> \center-column {
>   "a" \vspace #-.1
>   \rotate #90 \lcb #3
>   \vspace #.1 "b"
> }
>   }
> } d e
>   -\tweak extra-offset #'(0 . -5)
>_\markup {
> \with-dimensions-from \null
>   \left-align {
> \override #'(baseline-skip . 0)
> \center-column {
>   "a" \vspace #-.1
>   \rotate #90 \lcb #5
>   \vspace #.1 "b"
> }
>   }
> }d c
>   b
>   -\tweak extra-offset #'(.5 . 3)
>   ^\markup {
> \with-dimensions-from \null
>   \left-align {
> \override #'(baseline-skip . 0)
> \center-column {
>   "a" \vspace #.1
>   \rotate #-90 \lcb #6
>   \vspace #-.1 "b"
> }
>   }
> } a g f e d c
> }
>
> HTH,
> Cheers,
> Pierre
>
> Le jeu. 9 avr. 2020 à 17:27, Michael Taylor  a 
> écrit :
>>
>> Dear David,
>> Many thanks for this. I was curious about the curly analysis brackets when I 
>> saw this in Snippets http://lsr.di.unimi.it/LSR/Search?q=curly but couldn't 
>> figure out how (or if) these
>> shapes could be used for what I wanted. The only application I could find 
>> was to group an
>> ensemble within a larger instrumental contingent.
>> With best wishes
>> Michael
>>
>> On Tue, 7 Apr 2020 at 23:00, David Nalesnik  wrote:
>>>
>>> On Tue, Apr 7, 2020 at 11:07 AM Michael Taylor
>>>  wrote:
>>> > Would it be possible in a futur

Re: Analysis brackets

2020-04-09 Thread Pierre Perol-Schneider
Hi Michael,
That may work, e.g.:

\version "2.20.0"

#(define-markup-command (lcb layout props arg)
   (number?)
  "Draw a curly bracket with a variable length."
 (interpret-markup layout props
   (markup
 (#:override (cons (quote filled) #t)
  (#:path 0 `(
   (moveto   -0.8   0.0)
   (curveto  -0.2   0.4  -0.3  0.7 -0.3  1.5)
   (lineto   -0.3   ,arg)
   (curveto  -0.4   ,(+ arg 1.3) 0.5 ,(+ arg 2.8) 0.7 ,(+ arg 2.8))
   (curveto   0.6   ,(+ arg 2.5) 0.1 ,(+ arg 2)   0.1 ,arg)
   (lineto0.1   1.5)
   (curveto   0.1   0.7   0.1   0.0  -0.8   0.0)
   (closepath)
   (curveto  -0.2  -0.4  -0.3  -0.7  -0.3  -1.5)
   (lineto   -0.3   ,(* arg -1))
   (curveto  -0.4   ,(* (+ arg 1.3) -1) 0.5 ,(* (+ arg 2.8) -1) 0.7
,(* (+ arg 2.8) -1))
   (curveto   0.6   ,(* (+ arg 2.5) -1) 0.1 ,(* (+ arg 2) -1)   0.1
,(* arg -1))
   (lineto0.1  -1.5)
   (curveto   0.1  -0.7   0.1   0.0  -0.8   0.0)
   (closepath)))


\relative c'' {
  c4 _\markup {
\with-dimensions-from \null
  \left-align {
\override #'(baseline-skip . 0)
\center-column {
  "a" \vspace #-.1
  \rotate #90 \lcb #3
  \vspace #.1 "b"
}
  }
} d e
  -\tweak extra-offset #'(0 . -5)
   _\markup {
\with-dimensions-from \null
  \left-align {
\override #'(baseline-skip . 0)
\center-column {
  "a" \vspace #-.1
  \rotate #90 \lcb #5
  \vspace #.1 "b"
}
  }
}d c
  b
  -\tweak extra-offset #'(.5 . 3)
  ^\markup {
\with-dimensions-from \null
  \left-align {
\override #'(baseline-skip . 0)
\center-column {
  "a" \vspace #.1
  \rotate #-90 \lcb #6
  \vspace #-.1 "b"
}
  }
} a g f e d c
}

HTH,
Cheers,
Pierre

Le jeu. 9 avr. 2020 à 17:27, Michael Taylor  a
écrit :

> Dear David,
> Many thanks for this. I was curious about the curly analysis brackets
> when I saw this in Snippets http://lsr.di.unimi.it/LSR/Search?q=curly but
> couldn't figure out how (or if) these
> shapes could be used for what I wanted. The only application I could find
> was to group an
> ensemble within a larger instrumental contingent.
> With best wishes
> Michael
>
> On Tue, 7 Apr 2020 at 23:00, David Nalesnik 
> wrote:
>
>> On Tue, Apr 7, 2020 at 11:07 AM Michael Taylor
>>  wrote:
>> > Would it be possible in a future version to have the option of placing
>> text within analysis brackets as well as the default above? MT
>>
>> HorizontalBracketText.direction with a little more tweaking than
>> should be necessary.
>>
>> \layout {
>>   \context {
>> \Voice
>> \consists "Horizontal_bracket_engraver"
>> \override HorizontalBracket.direction = #UP
>>   }
>> }
>>
>> {
>>   \once\override HorizontalBracketText.direction = #DOWN
>>   \once\override HorizontalBracketText.text = "a"
>>   \once\override HorizontalBracketText.padding = #-0.5
>>   \once\override HorizontalBracket.padding = 1
>>   c''\startGroup d''\stopGroup
>> }
>>
>


Re: Analysis brackets

2020-04-09 Thread Michael Taylor
Dear David,
Many thanks for this. I was curious about the curly analysis brackets when
I saw this in Snippets http://lsr.di.unimi.it/LSR/Search?q=curly but
couldn't figure out how (or if) these
shapes could be used for what I wanted. The only application I could find
was to group an
ensemble within a larger instrumental contingent.
With best wishes
Michael

On Tue, 7 Apr 2020 at 23:00, David Nalesnik 
wrote:

> On Tue, Apr 7, 2020 at 11:07 AM Michael Taylor
>  wrote:
> > Would it be possible in a future version to have the option of placing
> text within analysis brackets as well as the default above? MT
>
> HorizontalBracketText.direction with a little more tweaking than
> should be necessary.
>
> \layout {
>   \context {
> \Voice
> \consists "Horizontal_bracket_engraver"
> \override HorizontalBracket.direction = #UP
>   }
> }
>
> {
>   \once\override HorizontalBracketText.direction = #DOWN
>   \once\override HorizontalBracketText.text = "a"
>   \once\override HorizontalBracketText.padding = #-0.5
>   \once\override HorizontalBracket.padding = 1
>   c''\startGroup d''\stopGroup
> }
>


Re: Analysis brackets

2020-04-07 Thread David Nalesnik
On Tue, Apr 7, 2020 at 11:07 AM Michael Taylor
 wrote:
> Would it be possible in a future version to have the option of placing text 
> within analysis brackets as well as the default above? MT

HorizontalBracketText.direction with a little more tweaking than
should be necessary.

\layout {
  \context {
\Voice
\consists "Horizontal_bracket_engraver"
\override HorizontalBracket.direction = #UP
  }
}

{
  \once\override HorizontalBracketText.direction = #DOWN
  \once\override HorizontalBracketText.text = "a"
  \once\override HorizontalBracketText.padding = #-0.5
  \once\override HorizontalBracket.padding = 1
  c''\startGroup d''\stopGroup
}



Analysis brackets

2020-04-07 Thread Michael Taylor
Dear collective wisdom, in transcribing analytical markings I encountered a
curly horizontal bracket over a number of pitches. Is it possible to format
the existing analysis bracket to reproduce this, or are there other
solutions? Would it be possible in a future version to have the option of
placing text within analysis brackets as well as the default above? MT


Re: NR 1.7.2 - snippet "Analysis brackets with labels"

2017-06-07 Thread Federico Bruni



Il giorno mer 7 giu 2017 alle 17:53, David Nalesnik 
 ha scritto:
On Wed, Jun 7, 2017 at 10:42 AM, Federico Bruni  
wrote:






 Another question: why the markups added using "\tweak text" are not 
printed?

 (bars 2, 3 and 4)



A change was introduced after the docs were written: you have to write
\tweak HorizontalBracketText.text for this to work.

The snippet you're seeing was fixed, but scripts/auxiliar/makelsr.py
needs to be run for the changes to show up in the documentation.




Ah, ok, now I see the parenthesized text!
Thanks




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: NR 1.7.2 - snippet "Analysis brackets with labels"

2017-06-07 Thread David Nalesnik
On Wed, Jun 7, 2017 at 10:42 AM, Federico Bruni <f...@inventati.org> wrote:
> Can you please clarify the last sentence of this snippet:
>
> http://lilypond.org/doc/v2.19/Documentation/notation/outside-the-staff.html#analysis-brackets
>
>
> \layout {
>  \context {
>\Voice
>\consists "Horizontal_bracket_engraver"
>\override HorizontalBracket.direction = #UP
>  }
> }
>
> {
>  \once\override HorizontalBracketText.text = "a"
>  c''\startGroup d''\stopGroup
>  \once\override HorizontalBracketText.text = "a'"
>  e''\startGroup d''\stopGroup
>  c''
>  -\tweak text \markup \bold \huge "b" \startGroup
>  -\tweak text "a" \startGroup
>  d''\stopGroup
>  e''-\tweak text "a'" \startGroup
>  d''\stopGroup\stopGroup
>  c''-\tweak text foo \startGroup d'' e'' f''
>  \break
>  g'' a'' b'' c'''\stopGroup
> }
>
>
> """
> Analysis brackets with labels
>
> Text may be added to analysis brackets through the text property of the
> HorizontalBracketText grob. Adding different texts to brackets beginning at
> the same time requires the \tweak command. Bracket text will be
> parenthesized after a line break.
> """
>
> Bracket text will be parenthesized after a line break.
>
> It cannot simply mean that HorizontalBracketText can break a line (the
> parenthesis will be closed after the line break). So what else is trying to
> say?

Forgive the bad ASCII art:


/-- a --


--- (a) -\


>
> Another question: why the markups added using "\tweak text" are not printed?
> (bars 2, 3 and 4)
>

A change was introduced after the docs were written: you have to write
\tweak HorizontalBracketText.text for this to work.

The snippet you're seeing was fixed, but scripts/auxiliar/makelsr.py
needs to be run for the changes to show up in the documentation.

So nothing you need to worry about!

-David

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


NR 1.7.2 - snippet "Analysis brackets with labels"

2017-06-07 Thread Federico Bruni

Can you please clarify the last sentence of this snippet:

http://lilypond.org/doc/v2.19/Documentation/notation/outside-the-staff.html#analysis-brackets


\layout {
 \context {
   \Voice
   \consists "Horizontal_bracket_engraver"
   \override HorizontalBracket.direction = #UP
 }
}

{
 \once\override HorizontalBracketText.text = "a"
 c''\startGroup d''\stopGroup
 \once\override HorizontalBracketText.text = "a'"
 e''\startGroup d''\stopGroup
 c''
 -\tweak text \markup \bold \huge "b" \startGroup
 -\tweak text "a" \startGroup
 d''\stopGroup
 e''-\tweak text "a'" \startGroup
 d''\stopGroup\stopGroup
 c''-\tweak text foo \startGroup d'' e'' f''
 \break
 g'' a'' b'' c'''\stopGroup
}


"""
Analysis brackets with labels

Text may be added to analysis brackets through the text property of the 
HorizontalBracketText grob. Adding different texts to brackets 
beginning at the same time requires the \tweak command. Bracket text 
will be parenthesized after a line break.

"""

Bracket text will be parenthesized after a line break.

It cannot simply mean that HorizontalBracketText can break a line (the 
parenthesis will be closed after the line break). So what else is 
trying to say?


Another question: why the markups added using "\tweak text" are not 
printed? (bars 2, 3 and 4)


Thanks in advance
Federico





___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis brackets with text [was: how to get notes without tails?]

2015-09-01 Thread David Nalesnik
On Tue, Sep 1, 2015 at 4:01 PM, Paul Morris  wrote:

> Hi David,
>
> On Aug 31, 2015, at 8:20 AM, David Nalesnik 
> wrote:
>
> Which of course makes them unsuitable for showing phrase elision.
>
> Or longer overlaps:



 \relative c'' {
  c\startGroup d c\startGroup d\stopGroup c d\stopGroup
}

\layout {
  \context {
\Voice
\override HorizontalBracket.direction = #UP
\consists Horizontal_bracket_engraver
  }
}



The first \stopGroup closes the smaller grouping, because the system is
designed so that brackets nest cleanly.

Interestingly, this overlap is possible with slurs:

%

\version "2.19.25"

secondSlur = #(make-music 'SlurEvent 'span-direction START 'spanner-id "2")
secondEnd = #(make-music 'SlurEvent 'span-direction STOP 'spanner-id "2")

\relative c'' {
  c( d c\secondSlur d) c d\secondEnd
}

%%

This, too:



thirdSlur = #(make-music 'SlurEvent 'span-direction START 'spanner-id "3")
thirdEnd = #(make-music 'SlurEvent 'span-direction STOP 'spanner-id "3")

\relative c'' {
  c-\tweak Slur.positions #'(4 . 4) ( \secondSlur
  c\secondEnd\secondSlur -\tweak Slur.positions #'(3 . 3)\thirdSlur
  c\secondEnd\secondSlur
  c)\secondEnd\thirdEnd
  c( d c\secondSlur d) c d\secondEnd
}

%%%

Maybe a system could be devised where brackets nest by default, but a
spanner-id property can be used to create more sophisticated structures?

David
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis brackets with text [was: how to get notes without tails?]

2015-09-01 Thread Paul Morris
Hi David,

> On Aug 31, 2015, at 8:20 AM, David Nalesnik  wrote:
> 
> Which of course makes them unsuitable for showing phrase elision.
> 
> Getting a TextSpanner to begin on a note and another to start on the same 
> note requires some sleight-of-hand (you can see this in Scheme in the 
> regression test scheme-text-spanner.ly ).  I 
> wonder if the to accommodate nested brackets ruled "conflicting note group 
> events" out?

Good point.  I imagine you’re right.  

-Paul

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis brackets with text [was: how to get notes without tails?]

2015-08-31 Thread David Nalesnik
Hi Paul.

On Sun, Aug 30, 2015 at 10:10 PM, Paul Morris  wrote:

> Oh, one other thing I noticed.  There seems to be no way to have one
> bracket end at a note and another bracket start at that same note.
> ("warning: conflicting note group events”)  I tried spacer rests, but no
> luck.  It seems the start or end of a group cannot be a spacer rest.
> Anyway, I thought I'd mention this, FWIW.
>

Which of course makes them unsuitable for showing phrase elision.

Getting a TextSpanner to begin on a note and another to start on the same
note requires some sleight-of-hand (you can see this in Scheme in the
regression test scheme-text-spanner.ly).  I wonder if the to accommodate
nested brackets ruled "conflicting note group events" out?

David
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Analysis brackets with text [was: how to get notes without tails?]

2015-08-30 Thread Paul Morris
Hi David,On Aug 30, 2015, at 3:16 PM, David Nalesnik david.nales...@gmail.com wrote:LilyPond already has the ability to make analysis brackets, which are attached to note columns and can nest as in the link (HorizontalBracket). I have an old patch for adding text to these that I will finish up and post. (I have code for doing this in Scheme, but my approach now is an enhancement of the C++ engraver.)The attached file is what I used to use when making form handouts.This is great! – both the analysis brackets (which I didn’t know about before) and your code for text labels for them. I’ve often resorted to using Inkscape to add this kind of thing to LilyPond SVGs.In trying out your code I noticed that it didn’t really work when the text was wider than the bracket (the bracket was pushed over out of place). So I came up with a revision that handles this, using the “center-stencil-on-stencil” function I recently contributed to the LSR. See attached.Would be nice to have this in the LSR, at least. It also might be nice if it could accept a markup instead of a string, so you could change the appearance of the text (size, color, style, etc.).Best,-Paul

analysis-bracket-text-2.ly
Description: Binary data
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis brackets with text [was: how to get notes without tails?]

2015-08-30 Thread David Nalesnik
Hi Paul,

On Sun, Aug 30, 2015 at 4:51 PM, Paul Morris p...@paulwmorris.com wrote:

 Hi David,

 On Aug 30, 2015, at 3:16 PM, David Nalesnik david.nales...@gmail.com
 wrote:


 LilyPond already has the ability to make analysis brackets, which are
 attached to note columns and can nest as in the link (HorizontalBracket).
 I have an old patch for adding text to these that I will finish up and
 post.  (I have code for doing this in Scheme, but my approach now is an
 enhancement of the C++ engraver.)


 The attached file is what I used to use when making form handouts.


 This is great!  – both the analysis brackets (which I didn’t know about
 before) and your code for text labels for them.  I’ve often resorted to
 using Inkscape to add this kind of thing to LilyPond SVGs.

 In trying out your code I noticed that it didn’t really work when the text
 was wider than the bracket (the bracket was pushed over out of place).  So
 I came up with a revision that handles this, using the
 “center-stencil-on-stencil” function I recently contributed to the LSR.
 See attached.


Good catch.  Thanks!



 Would be nice to have this in the LSR, at least.  It also might be nice if
 it could accept a markup instead of a string, so you could change the
 appearance of the text (size, color, style, etc.).


Actually, you can.  The syntax is just a little awkward, though:

 gluck = \relative c'' {
  \time 3/4
  \key f \major
  \override HorizontalBracket.direction = #UP
  c4-\tweak stencil #(label #{ \markup \italic \center-column {
contrasting period } #}
   #{ \markup \italic \center-column { period
(cont.) } #})
  \startGroup
  -\tweak stencil #(label a a )\startGroup
  a8( bes c f)
  f4( e d)
  c d8( c bes c)
  \appoggiatura bes4 a2 g4 \stopGroup
  %\break
  f'8-\tweak stencil #(label b b)\startGroup r a, r d r
  c4( e, f)
  g8( bes) a4 g8( f)
  f2 \stopGroup \stopGroup r4
}

%%%

The plan at the moment is to create a grob HorizontalBracketText.  That
will allow easy use of markups through overrides of a 'text property:

\override HorizontalBracketText.text = \markup ...

and tweakability.

Best,
David
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis brackets with text [was: how to get notes without tails?]

2015-08-30 Thread Paul Morris
Oh, one other thing I noticed.  There seems to be no way to have one bracket 
end at a note and another bracket start at that same note. (warning: 
conflicting note group events”)  I tried spacer rests, but no luck.  It seems 
the start or end of a group cannot be a spacer rest.  Anyway, I thought I'd 
mention this, FWIW.

Cheers,
-Paul
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis brackets with text [was: how to get notes without tails?]

2015-08-30 Thread Paul Morris
Hi David,

That’s great that markups already work (I should have tried it before assuming 
they didn’t).  The plan for HorizontalBracketText sounds even better.  

Thanks again,
-Paul


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis brackets with text [was: how to get notes without tails?]

2015-08-30 Thread Mike Solomon


My go-to solution (which is hackish) has been to create a tuplet over spacer 
rests and change the tuplet number text. 
Cheers,MS


Sent from my Samsung device

 Original message 
From: Paul Morris p...@paulwmorris.com 
Date: 31/08/2015  05:32  (GMT+02:00) 
To: David Nalesnik david.nales...@gmail.com 
Cc: lilypond-user Mailinglist lilypond-user@gnu.org 
Subject: Re: Analysis brackets with text [was: how to get notes without tails?] 

Hi David,

That’s great that markups already work (I should have tried it before assuming 
they didn’t).  The plan for HorizontalBracketText sounds even better.  

Thanks again,
-Paul


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Question about the use of analysis-brackets by using \startGroup and \stopGroup

2013-11-18 Thread Eluze
dariyoosh wrote
 However I didn't manage to use 
*
  \startGroup
*
  and 
*
  \stopGroup
*
  within chords. For example the following example fails:
 
   c4  b d f \startGroup a \stopGroup f

your construct with ... defines simultaneous notes which somehow differ
from a chord - use

 b d f 

to make it work!

for the 2nd question http://lsr.dsi.unimi.it/LSR/Item?id=660 might be of
interest.

Eluze



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Question-about-the-use-of-analysis-brackets-by-using-startGroup-and-stopGroup-tp154077p154110.html
Sent from the User mailing list archive at Nabble.com.

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Question about the use of analysis-brackets by using \startGroup and \stopGroup

2013-11-18 Thread dariyoosh
Hello there,

Thank you very much for your time and for your nice  prompt solution which
solved the problem. 

Eluze wrote
 your construct with ... defines simultaneous notes which somehow
 differ from a chord - use 

Yes, in fact I made a mistake in chord notation, and following your advice I
replaced ,  respectively by  and  for each chord and then I was able
to use brackets on chords without problem.


Eluze wrote
 for the 2nd question http://lsr.dsi.unimi.it/LSR/Item?id=660 might be of
 interest.

Exactly, this is what I was looking for, \markup allows to add short
comments on brackets. So here is what I added at the end of \stopGroup for
each bracket \stopGroup_\markup{\halign #3 \typewriter{P3}}

Thanks for your time  for your help

Kind Regards
Dariyoosh



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Question-about-the-use-of-analysis-brackets-by-using-startGroup-and-stopGroup-tp154077p154124.html
Sent from the User mailing list archive at Nabble.com.

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Question about the use of analysis-brackets by using \startGroup and \stopGroup

2013-11-17 Thread dariyoosh
Hi,

*Environment description:*
OS: Fedora Core 17 X86_64
Lilypond version: 2.16.0

*Problem description:*
I was searching the online Lilypond notation guide, in order to see how to
use horizontal brackets in order to group several notes (possibly from
different bars). Based on what I found in the following link

http://www.lilypond.org/doc/v2.16/Documentation/notation-big-page.html#analysis-brackets
http://www.lilypond.org/doc/v2.16/Documentation/notation-big-page.html#analysis-brackets
  

Here is what I implemented:

If you run the above code, you can see that in fact two brackets are added
and this is almost what I'm looking for. However I didn't manage to use
*\startGroup* and *\stopGroup* within chords. For example the following
example fails:


As a result, I would like to ask two questions:

1) How should I modify the above code in order to be able to use
analysis-brackets also for chords (if it is possible)?
2) Is there a way to add a comment (for example writing P1, P2 for meaning
respectively part1 and part2) above the bracket?

Thanks in advance,

Kind Regards,
Dariyoosh



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Question-about-the-use-of-analysis-brackets-by-using-startGroup-and-stopGroup-tp154077.html
Sent from the User mailing list archive at Nabble.com.

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


text on analysis brackets

2011-07-08 Thread David Nalesnik
Hi, all --

I'd like to be able to add text to analysis brackets, and I'm running
into a problem with nested brackets.

In the attached file, I'd like the last bracket to have b over it,
but it takes its text from the previous incomplete bracket.

(It seems I can add as many nested brackets as I like with different
text, as long as they have the same starting-point.)

Is there anything I can do to make this approach work?

Best,
David
\version 2.14.1
\paper { tagline = ##f }
#(define (label text)
  (lambda (grob)
;; adapted from LSR snippet, Center text below hairpin dynamics
(ly:stencil-aligned-to
  (ly:stencil-combine-at-edge
(ly:stencil-aligned-to (ly:horizontal-bracket::print grob) X CENTER)
Y (ly:grob-property grob 'direction)
(ly:stencil-aligned-to (grob-interpret-markup grob (markup text)) X CENTER)
  0.2)
 X LEFT)))

\layout {
  \context {
\Voice
\consists Horizontal_bracket_engraver
  }
}

\relative c'' {
  \override  HorizontalBracket #'direction = #UP
  c4-\tweak #'stencil #(label A)\startGroup
-\tweak #'stencil #(label a)\startGroup
  d4\stopGroup
  %% following tweak seems to have no effect
  e4-\tweak #'stencil #(label b)\startGroup
  d4\stopGroup\stopGroup
}


attachment: texted-analysis-bracket.png___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: text on analysis brackets

2011-07-08 Thread David Nalesnik
On 7/8/11, David Nalesnik dnale...@umail.iu.edu wrote:
 Hi, all --

 I'd like to be able to add text to analysis brackets, and I'm running
 into a problem with nested brackets.

 In the attached file, I'd like the last bracket to have b over it,
 but it takes its text from the previous incomplete bracket.

 (It seems I can add as many nested brackets as I like with different
 text, as long as they have the same starting-point.)

 Is there anything I can do to make this approach work?


Hi, again --

It just dawned on me that I can use different voices, like so:

\version 2.14.1

#(define (label text)
  (lambda (grob)
;; adapted from LSR snippet, Center text below hairpin dynamics
(ly:stencil-aligned-to
  (ly:stencil-combine-at-edge
(ly:stencil-aligned-to (ly:horizontal-bracket::print grob) X CENTER)
Y (ly:grob-property grob 'direction)
(ly:stencil-aligned-to (grob-interpret-markup grob (markup
text)) X CENTER)
  0.2)
 X LEFT)))

\layout {
  \context {
\Voice
\consists Horizontal_bracket_engraver
  }
}
\new Staff 
  \new Voice \relative c'' {
 \override  HorizontalBracket #'direction = #UP
c4-\tweak #'stencil #(label A)\startGroup
  -\tweak #'stencil #(label a)\startGroup
d4\stopGroup
e4
d4\stopGroup
  }
  \new Voice {
s4
s4
\override  HorizontalBracket #'direction = #UP
\override  NoteColumn #'ignore-collision = ##t
\hideNotes
e''4-\tweak #'stencil #(label b)\startGroup
d''4\stopGroup
  }


So to refine the original question: Is there any way to do this
without multi-voice trickery?

Best,
David

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: text on analysis brackets

2011-07-08 Thread Neil Puttock
On 8 July 2011 21:09, David Nalesnik dnale...@umail.iu.edu wrote:

 So to refine the original question: Is there any way to do this
 without multi-voice trickery?

I'm afraid this is a bug in the Horizontal_bracket_engraver, so until
it's fixed your only other option would be to roll you own engraver in
Scheme.  I've logged it on the bugtracker
(http://code.google.com/p/lilypond/issues/detail?id=1751) and plan on
pushing a fix tomorrow.

Cheers,
Neil

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: text on analysis brackets

2011-07-08 Thread David Nalesnik
On Fri, Jul 8, 2011 at 5:00 PM, Neil Puttock n.putt...@gmail.com wrote:

 On 8 July 2011 21:09, David Nalesnik dnale...@umail.iu.edu wrote:

  So to refine the original question: Is there any way to do this
  without multi-voice trickery?

 I'm afraid this is a bug in the Horizontal_bracket_engraver, so until
 it's fixed your only other option would be to roll you own engraver in
 Scheme.  I've logged it on the bugtracker
 (http://code.google.com/p/lilypond/issues/detail?id=1751) and plan on
 pushing a fix tomorrow.

 Cheers,
 Neil


Thank you very much, Neil!

David
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Analysis brackets?

2009-04-10 Thread Claudia
Hi, I need to draw several superimposed -- although not nested -- 
brackets in order to evidence two 
melodic overlapping structures for teaching purposes. Does 
anyone knows how to do it?

I've tried Analysis brackets but the groupings are presumed nested 
and so, the group openings and 
closings are interpreted as in a heap.

I'm looking for something like:
\openGroup1 c d e f \openGroup2 g a b c \closeGroup1 d e fis g \closeGroup2


Thanks!
Claudia



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis brackets?

2009-04-10 Thread M Watts

Claudia wrote:

Hi, I need to draw several superimposed -- although not nested --
brackets in order to evidence two
melodic overlapping structures for teaching purposes. Does
anyone knows how to do it?

I've tried Analysis brackets but the groupings are presumed nested
and so, the group openings and
closings are interpreted as in a heap.

I'm looking for something like:
\openGroup1 c d e f \openGroup2 g a b c \closeGroup1 d e fis g 
\closeGroup2


As the Horizontal_bracket_engraver lives at voice level, overlapping 
brackets need to live in different voices.


\version 2.12.2

upper = \relative c'' {
 c\startGroup d e s4
 g a b c\stopGroup
 d e fis s4
}

lower = \relative c'' {
 s2. f4\startGroup
 s1
 s2. g'4\stopGroup
}

\score {
 \new Staff {
   
 \voiceOne \upper
 \voiceThree \lower
   
 }
}

\layout {
 \context {
   \Voice
   \consists Horizontal_bracket_engraver
 }
}


Btw, you can put any bracket above the staff with \once \override 
HorizontalBracket #'direction = #UP



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Analysis brackets for lyrics

2008-07-29 Thread Matthieu Jacquot

Hi all,
I try to use analysis brackets in a lyrics context, the problem seems more
global : how to call a function in a lyrics context? In the code below the
second staff is when bracket is linked to notes, it would be fine if it was
below the lyrics text. Can anybody help me? Thanks in advance.
Matth
So here's the code :

\version 2.11.*
 \new Voice { c'4 c' c' c'}
\new Lyrics \with {\consists Horizontal_bracket_engraver} 
\lyricmode
{a \startGroup a a a \stopGroup }
  

 \new Voice\with {\consists Horizontal_bracket_engraver} { c'4
\startGroup c' c' c'\stopGroup }
\new Lyrics \lyricmode
{a a a a}
  
http://www.nabble.com/file/p18719232/test.png 

-- 
View this message in context: 
http://www.nabble.com/Analysis-brackets-for-lyrics-tp18719232p18719232.html
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis brackets for lyrics

2008-07-29 Thread Matthieu Jacquot

Ok, I reply to myself.
I was hesitant to use the extra-offset command because I though that it
would generate a lot of collisions but as it seems that the lyrics and the
brackets are attached to the same objects (notes) they move together, great!
a sample code for those who would be interested :

 \new Voice\with {\consists Horizontal_bracket_engraver} {
\override HorizontalBracket #'extra-offset = #'(0 . -4)
 c'4 \startGroup c c, c'\stopGroup }
\new Lyrics \lyricmode
{a a a a}
  
http://www.nabble.com/file/p18720025/test.png test.png 
-- 
View this message in context: 
http://www.nabble.com/Analysis-brackets-for-lyrics-tp18719232p18720025.html
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Analysis Brackets with dashed lines

2008-07-09 Thread Hugo Ribeiro
Thanks all who helped me. This is the example of a Bach Invention 
analysed by Kent Kennan. For the brackets I used:


\startGroup \endGroup as normal brackets.
\[ \] as dashed lines in the up part of the staff
\startTextSpan \stopTextSpan as dashed lines in the bottom of the staff

I also copied the arrows from the Flamenco template and used as a markup 
in the lyrics context and in some notes.


I am attaching because it may be of some use for someone in the future...

Hugo


cap10ex13.ly
Description: application/extension-ly
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Analysis brackets don't work with spaces

2008-01-17 Thread Eliot Handelman
Hi,


The following code generates the markups but not the brackets. 
Is there some way to get brackets printed when they are attached to spaces? 

many thanks,

-- eliot


\version 2.10.33

\header { title = Brackets don't work with spaces }

A = {
  \time 4/4
  \clef treble
  s2\startGroup^\markup { \column { 1 } } 
  s2\stopGroup^\markup { \column { 2 } } 
  \bar |.
}

\score {
   
\new Staff  \A 
  
  
\layout {
\context {
  \Staff \consists Horizontal_bracket_engraver
}

  }
}




___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Single note analysis brackets?

2007-11-18 Thread Hugo Flordal
I'd like to use the Horizontal_bracket_engraver to indicate single notes, but it
seems analysis brackets can only be used over multiple notes. I'm attempting to
write 
  c8\startGroup\stopGroup
but this isn't working. Is it possible to get around this somehow? Perhaps by
adding a dummy note with zero width somewhere? All my experiments and solution
searches have failed...
  I also tried using the Ligature_bracket_engraver, but it does not appear to be
very stable and I can't find a way of tweaking it into producing horizontal
brackets at a fixed height.

It would be nice if analysis brackets could be generalised so that they could
replace the Ligature_bracket_engraver completely... (And perhaps use the \[ \]
notation as well...)



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Analysis Brackets

2007-02-12 Thread Matt
Hi there,

could someone please tell me how to get analysis 
brackets to appear above the stave?

I just can't seem to figure it out!

Thanks



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis Brackets

2007-02-12 Thread Trevor Bača

On 2/12/07, Matt [EMAIL PROTECTED] wrote:

Hi there,

could someone please tell me how to get analysis
brackets to appear above the stave?


Hi Matt,

8.5.6 Analysis brackets mentions HorziontalBracket. So we override
the direction of that grob.

%%% BEGIN %%%

\score {
  \relative c'' {
c4\startGroup\startGroup
c4\stopGroup
c4\startGroup
c4\stopGroup\stopGroup
  }
  \layout {
\context {
  \Staff \consists Horizontal_bracket_engraver
 \override HorizontalBracket #'direction = #up
}}}

%%% END %%%

Note no apostrophe before numbers, colors or directions like #up and #down.



--
Trevor Bača
[EMAIL PROTECTED]


up-brackets.png
Description: PNG image
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis Brackets

2007-02-12 Thread Trevor Bača

On 2/12/07, Matthew Kaner [EMAIL PROTECTED] wrote:

thank you very much!

I was trying that but had the \override command with the actual music, and
not in the layout/context part.


Hi Matt,

Actually, you can stick an override in the note entry of the music
itself if you want to.

In fact, there are three override locations. All three override
locations are equivalent:

1. In a \context block (which lives within the a \layout block)
2. In a \with block (which follows context instantiation immediately)
3. In the note entry of the actual music


1. Here's an override in a \context block, as before:

\score {
  \relative c'' {
c4\startGroup\startGroup
c4\stopGroup
c4\startGroup
c4\stopGroup\stopGroup
  }
  \layout {
\context {
  \Staff \consists Horizontal_bracket_engraver
  \override HorizontalBracket #'direction = #up
}}}


2. Here's an override in a \with block:

\score {
  \new Staff \with {
 \consists Horizontal_bracket_engraver
 \override HorizontalBracket #'direction = #up
   } {
 \relative c'' {
c4\startGroup\startGroup
c4\stopGroup
c4\startGroup
c4\stopGroup\stopGroup
  }
  }
}


3. And here's an override in the note entry of the music itself:

\score {
  \new Staff \with {
 \consists Horizontal_bracket_engraver
  } {
 \override Staff.HorizontalBracket #'direction = #up
 \relative c'' {
c4\startGroup\startGroup
c4\stopGroup
c4\startGroup
c4\stopGroup\stopGroup
  }
  }
}


Gurus, are there any other override locations? Or just these three?

Use whichever override location you prefer. (I prefer method #2 with a
\with block, because this leaves context settings with the context and
layout settings in \layout. Other users prefer other override
locations as a matter of style.)

No matter which override location you pick, you *must* first determine
the context of the grob you wish to override. In this case the
HorizontalBracket grob lives in the Staff context. You absolutely have
to determine this; otherwise you might write something like \override
Voice.HorizontalBracket #'direction = #up, which is absolutely correct
syntactically but will have no effect whatsoever because you've
misspecified the context.





On 2/12/07, Trevor Bača [EMAIL PROTECTED] wrote:
 On 2/12/07, Matt [EMAIL PROTECTED] wrote:
  Hi there,
 
  could someone please tell me how to get analysis
  brackets to appear above the stave?

 Hi Matt,

 8.5.6 Analysis brackets mentions HorziontalBracket. So we override
 the direction of that grob.

 %%% BEGIN %%%

  \score {
\relative c'' {
  c4\startGroup\startGroup
  c4\stopGroup
  c4\startGroup
  c4\stopGroup\stopGroup
}
\layout {
  \context {
\Staff \consists Horizontal_bracket_engraver
   \override HorizontalBracket #'direction = #up
  }}}

 %%% END %%%

 Note no apostrophe before numbers, colors or directions like #up and
#down.



 --
 Trevor Bača
 [EMAIL PROTECTED]







--
Trevor Bača
[EMAIL PROTECTED]
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis Brackets

2007-02-12 Thread Mats Bengtsson

Trevor Bača wrote:



Hi Matt,

Actually, you can stick an override in the note entry of the music
itself if you want to.

In fact, there are three override locations. All three override
locations are equivalent:

1. In a \context block (which lives within the a \layout block)
2. In a \with block (which follows context instantiation immediately)
3. In the note entry of the actual music


1. Here's an override in a \context block, as before:

\score {
  \relative c'' {
c4\startGroup\startGroup
c4\stopGroup
c4\startGroup
c4\stopGroup\stopGroup
  }
  \layout {
\context {
  \Staff \consists Horizontal_bracket_engraver
  \override HorizontalBracket #'direction = #up
}}}


2. Here's an override in a \with block:

\score {
  \new Staff \with {
 \consists Horizontal_bracket_engraver
 \override HorizontalBracket #'direction = #up
   } {
 \relative c'' {
c4\startGroup\startGroup
c4\stopGroup
c4\startGroup
c4\stopGroup\stopGroup
  }
  }
}


3. And here's an override in the note entry of the music itself:

\score {
  \new Staff \with {
 \consists Horizontal_bracket_engraver
  } {
 \override Staff.HorizontalBracket #'direction = #up
 \relative c'' {
c4\startGroup\startGroup
c4\stopGroup
c4\startGroup
c4\stopGroup\stopGroup
  }
  }
}


Gurus, are there any other override locations? Or just these three?


Well, you could also use \tweak and you have two variations of
alternative 1. - placing the \layout block outside or inside the \score
(hmm, if you have a \book block in your file, then you have three
possible levels for your \layout block).
Matthew, don't worry if you don't follow all the details here.

  /Mats


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis Brackets

2007-02-12 Thread Trevor Bača

On 2/12/07, Mats Bengtsson [EMAIL PROTECTED] wrote:

Trevor Bača wrote:


 Hi Matt,

 Actually, you can stick an override in the note entry of the music
 itself if you want to.

 In fact, there are three override locations. All three override
 locations are equivalent:

 1. In a \context block (which lives within the a \layout block)
 2. In a \with block (which follows context instantiation immediately)
 3. In the note entry of the actual music


 1. Here's an override in a \context block, as before:

 \score {
   \relative c'' {
 c4\startGroup\startGroup
 c4\stopGroup
 c4\startGroup
 c4\stopGroup\stopGroup
   }
   \layout {
 \context {
   \Staff \consists Horizontal_bracket_engraver
   \override HorizontalBracket #'direction = #up
 }}}


 2. Here's an override in a \with block:

 \score {
   \new Staff \with {
  \consists Horizontal_bracket_engraver
  \override HorizontalBracket #'direction = #up
} {
  \relative c'' {
 c4\startGroup\startGroup
 c4\stopGroup
 c4\startGroup
 c4\stopGroup\stopGroup
   }
   }
 }


 3. And here's an override in the note entry of the music itself:

 \score {
   \new Staff \with {
  \consists Horizontal_bracket_engraver
   } {
  \override Staff.HorizontalBracket #'direction = #up
  \relative c'' {
 c4\startGroup\startGroup
 c4\stopGroup
 c4\startGroup
 c4\stopGroup\stopGroup
   }
   }
 }


 Gurus, are there any other override locations? Or just these three?

Well, you could also use \tweak and you have two variations of
alternative 1. - placing the \layout block outside or inside the \score
(hmm, if you have a \book block in your file, then you have three
possible levels for your \layout block).
Matthew, don't worry if you don't follow all the details here.


WARNING: what follows is minutiae and not necessary for forming good \overrides.

Mats - I follow you on the \layout part; \layout blocks can go at any
of three levels: score-level, book-level or top-level. So that part
makes sense.

But how can you get \tweak to work for something like
HorizontalBracket? My understanding of \tweak comes down to one of two
different things: either for stuff connected directly to input (like
notes of a chord, as the docs say) or stuff that happens at the same
moment (which is my understanding, and useful for tweaking nested
tuplet brackets beginning at the same moment).

Could you shoot over a quick ex with \tweak for the HorizontalBracket
stuff that Matt was asking about?


--
Trevor Bača
[EMAIL PROTECTED]
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Analysis brackets linebreaks

2006-10-21 Thread Rutger

Dear all, 

I'm considering using Lilypond for my musicology thesis, but I am still
learning it and there's one thing I still can't work around, which is the
following: 

- I'd like to use analysis brackets to indicate the form of a melody, but
the horizontal brackets created by \startGroup\stopGroup split into two
seperate brackets over a line break, but what I would prefer is one
half-bracket with an open (i.e. horizontal) ending and one half with an open
beginning (¬) at the next line. How can I solve this? I have noticed that
the example with the split ties under the 'difficult tweaks' section in the
manual (9.3.6), together with the edge-height property may offer a solution,
but I haven't been able to get this to work. (Actually, I am still hoping
that there may be a more smooth and elegant solution to my seemingly simple
problem, too...)
- Besides, is there a easy way to place letters just above these brackets
(to indicate phrases like A, B, A', etc)? 

Is there anone who can help me with this?
Many thanks in advance, 

Rutger Helmers


(P.S.: I hope you haven't received this message twice; my apologies in case
you have - I had some trouble signing up for the mailing list...)
-- 
View this message in context: 
http://www.nabble.com/Analysis-brackets---linebreaks-tf2485752.html#a6931164
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis brackets linebreaks

2006-10-21 Thread Han-Wen Nienhuys

Rutger schreef:
Dear all, 


I'm considering using Lilypond for my musicology thesis, but I am still
learning it and there's one thing I still can't work around, which is the
following: 


- I'd like to use analysis brackets to indicate the form of a melody, but
the horizontal brackets created by \startGroup\stopGroup split into two
seperate brackets over a line break, but what I would prefer is one
half-bracket with an open (i.e. horizontal) ending and one half with an open
beginning (¬) at the next line. How can I solve this? I have noticed that
the example with the split ties under the 'difficult tweaks' section in the
manual (9.3.6), together with the edge-height property may offer a solution,
but I haven't been able to get this to work. (Actually, I am still hoping
that there may be a more smooth and elegant solution to my seemingly simple
problem, too...)


This is fixed in 2.9.27.

--

Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen

LilyPond Software Design
 -- Code for Music Notation
http://www.lilypond-design.com



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Colouring analysis brackets

2006-07-12 Thread Édouard Gilbert
Hi,

I'm not using Lilypond for a long time, so sorry if my question seems 
ridiculous.

I'm wondering if there is a way to print horizontal brackets in different 
colours
even when they start on the same note. Here come an example
(don't mind the notes or structure, they are nearly random).

%
\header
  {
title = Title
  }
  \score
  {
{
\once \override Staff.HorizontalBracket #'color = #red
d'\startGroup\startGroup\startGroup\startGroup\startGroup
d'\stopGroup ees'\startGroup e'\stopGroup\stopGroup e'\stopGroup
e'\stopGroup c'\startGroup\startGroup c'\startGroup\startGroup
c'\startGroup cis'\startGroup c'\stopGroup\stopGroup\stopGroup
c'\stopGroup\stopGroup g\startGroup a\startGroup
bes\stopGroup\stopGroup\stopGroup\stopGroup
   }
\layout
{
  \context
  {
\Staff \consists Horizontal_bracket_engraver
  }
}
  }

\version 2.8.5
%

As one can see, the five brackets opening on the first note are printed in red.
Is it possible to print, say, the second on in red, the fourth one in blue
and the others in black?

Thanks for your help,

Édouard



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Analysis brackets start too early

2005-09-27 Thread Sven Axelsson
Is this really how it's supposed to work? The below code puts a bracket over a b c and not only over b c as expected.



\version 2.7.10

\new Staff \with { \consists Horizontal_bracket_engraver }\relative c'' { a \startGroup b c \stopGroup d }-- Sven Axelsson 
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis brackets start too early

2005-09-27 Thread Graham Percival


On 27-Sep-05, at 5:46 AM, Sven Axelsson wrote:

Is this really how it's supposed to work? The below code puts a 
bracket over a b c and not only over b c as expected. 


Remember that lilypond is almost all postfix notation.  :)
(think of the behavior of a slur or beams)

Cheers,
- Graham



\version 2.7.10
 
\new Staff \with { \consists Horizontal_bracket_engraver }
\relative c'' { a \startGroup b c \stopGroup d }
 


--
Sven Axelsson___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user




___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis Brackets and Text

2005-05-17 Thread Mats Bengtsson
Not as far as I know, but I see that there is a comment in
the implementation saying
  TODO:
   ...
  Support texts on the brackets?
   /Mats
Ron Piterman wrote:
Is there a nice way to add some text to the brackets ( instead of to the 
notes as markup) ? (like A1, A2 aso)
Cheers,
Ron


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user
--
=
Mats Bengtsson
Signal Processing
Signals, Sensors and Systems
Royal Institute of Technology
SE-100 44  STOCKHOLM
Sweden
Phone: (+46) 8 790 8463 
Fax:   (+46) 8 790 7260
Email: [EMAIL PROTECTED]
WWW: http://www.s3.kth.se/~mabe
=
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Analysis Brackets and Text

2005-05-14 Thread Ron Piterman
Is there a nice way to add some text to the brackets ( instead of to the 
notes as markup) ? (like A1, A2 aso)
Cheers,
Ron


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis brackets

2004-08-16 Thread Mats Bengtsson
If you check out Documentation - Program reference - Translation
- Contexts - ...
you will find out what engravers live in what contexts.
For example, you will find that the engravers for rests, note heads
and stems, for example, appear in the Voice context, not in the
Staff or RhythmicStaff.
   /Mats
Hamish Allan wrote:
Hello again,
So, my latest attempt to put proper analysis brackets underneath both 
staves is to use an extra invisible RhythmicStaff like this:

\context RhythmicStaff \with {
  \remove Bar_engraver
  \remove Staff_symbol_engraver
  \remove Time_signature_engraver
  \remove Rest_engraver
  \consists Horizontal_bracket_engraver
} {
  r16\startGroup\startGroup\startGroup r r r\stopGroup
  r\startGroup r r r\stopGroup\stopGroup
  r\startGroup\startGroup r r r\stopGroup
  r\startGroup r r r\stopGroup\stopGroup\stopGroup
}
However, the \remove Rest_engraver seems to be having no effect. Nor 
does trying to remove note head and stem engravers when using notes 
instead of rests.

Could somebody please tell me what I'm doing wrong?
Also, even if it worked, this would definitely be a sub-optimal solution 
from a spacing point of view, so I'd still like to know if there's a 
better way (as I start to glimpse the power of tinkering with lower 
levels of lilypond, I think there must be!)

I would be most grateful for any response - I'd love to have more time 
to play, but I've got to hand in a dissertation (with this analysis in 
it)  in two week's time!

Thanks,
Hamish
On Aug 14, 2004, at 6:20, Hamish Allan wrote:
Hi,
As this is my first post, I'd like to say thank you very much to the 
developers for creating Lilypond -- I've just yesterday started having 
to typeset music within LaTeX documents; I had a quick play with 
MusiXTeX, but thankfully shortly afterwards found Lilypond and 
immediately became very glad of its existence!

My query is about analysis brackets. I'm trying to show nested 
metrical structure in Bach's Prelude No. 1 from the Well-Tempered 
Clavier (see source code below). I want two brackets per bar, then 
brackets round pairs of those, etc. I'm using the PianoStaff so I've 
got two staves. If I put the groups around notes in the top stave. the 
brackets appear between the staves, wheras I want them either below or 
above both staves. If I put the groups around the notes in the bottom 
stave, the brackets don't stretch far enough (because the notes in the 
bottom stave are longer - but I want the brackets effectively to cover 
both staves). I tried adding eight s16 invisible rests to the chord at 
the bottom but the brackets would still only stretch as far as the 
visible notes.

Is there any way either to have the brackets upside down above the top 
stave, or to have them cover more of the bottom stave?

Whilst we're here, can I use the square bracket shorthand for 
\startGroup and \stopGroup without changing the time signature? I 
tried it out, but of course it just extended the beams over the rest. 
Also, how might I use the triangular grouping engraver?

Many thanks in advance,
Hamish

\paper {
  linewidth = 413\pt
  indent = 0.0\mm
  raggedright = ##t
  #(paper-set-staff-size (* 18.0 pt))
  \context {
\StaffContext \consists Horizontal_bracket_engraver
  }
}
\score {
  \notes \context PianoStaff 
\context Staff = up {
  \relative c'' {
r8\startGroup\startGroup\startGroup\startGroup g16 c e g, c 
e\stopGroup
r8\startGroup g,16 c e g, c e\stopGroup\stopGroup
r8\startGroup\startGroup a,16 d f a, d f\stopGroup
r8\startGroup a,16 d f a, d f\stopGroup\stopGroup\stopGroup
r8\startGroup\startGroup\startGroup g,16 d' f g, d' f\stopGroup
r8\startGroup g,16 d' f g, d' f\stopGroup\stopGroup
r8\startGroup\startGroup g,16 c e g, c e\stopGroup
r8\startGroup g,16 c e g, c 
e\stopGroup\stopGroup\stopGroup\stopGroup
  }
}
\context Staff = down {
  \clef bass
  \relative c' {
 c2 \\ { r16 e8. ~ e4 } 
 c2 \\ { r16 e8.~ e4 } 
 c2 \\ { r16 d8. ~ d4 } 
 c2 \\ { r16 d8.~ d4 } 
 b2 \\ { r16 d8. ~ d4 } 
 b2 \\ { r16 d8.~ d4 } 
 c2 \\ { r16 e8. ~ e4 } 
 c2 \\ { r16 e8.~ e4 } 
  }
}
  
}


___
lilypond-user mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-user


___
lilypond-user mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-user
--
=
Mats Bengtsson
Signal Processing
Signals, Sensors and Systems
Royal Institute of Technology
SE-100 44  STOCKHOLM
Sweden
Phone: (+46) 8 790 8463 
Fax:   (+46) 8 790 7260
Email: [EMAIL PROTECTED]
WWW: http://www.s3.kth.se/~mabe

Re: Analysis brackets

2004-08-16 Thread Mats Bengtsson
The simple answer to your question seems to be to add the
engraver to the PianoStaff context instead of the Staff context:
\paper {
  linewidth = 413\pt
  indent = 0.0\mm
  raggedright = ##t
  #(paper-set-staff-size (* 18.0 pt))
  \context {
\PianoStaffContext \consists Horizontal_bracket_engraver
  }
}
   /Mats
Hamish Allan wrote:
Hi,
As this is my first post, I'd like to say thank you very much to the 
developers for creating Lilypond -- I've just yesterday started having 
to typeset music within LaTeX documents; I had a quick play with 
MusiXTeX, but thankfully shortly afterwards found Lilypond and 
immediately became very glad of its existence!

My query is about analysis brackets. I'm trying to show nested metrical 
structure in Bach's Prelude No. 1 from the Well-Tempered Clavier (see 
source code below). I want two brackets per bar, then brackets round 
pairs of those, etc. I'm using the PianoStaff so I've got two staves. If 
I put the groups around notes in the top stave. the brackets appear 
between the staves, wheras I want them either below or above both 
staves. If I put the groups around the notes in the bottom stave, the 
brackets don't stretch far enough (because the notes in the bottom stave 
are longer - but I want the brackets effectively to cover both staves). 
I tried adding eight s16 invisible rests to the chord at the bottom but 
the brackets would still only stretch as far as the visible notes.

Is there any way either to have the brackets upside down above the top 
stave, or to have them cover more of the bottom stave?

Whilst we're here, can I use the square bracket shorthand for 
\startGroup and \stopGroup without changing the time signature? I tried 
it out, but of course it just extended the beams over the rest. Also, 
how might I use the triangular grouping engraver?

Many thanks in advance,
Hamish

\paper {
  linewidth = 413\pt
  indent = 0.0\mm
  raggedright = ##t
  #(paper-set-staff-size (* 18.0 pt))
  \context {
\StaffContext \consists Horizontal_bracket_engraver
  }
}
\score {
  \notes \context PianoStaff 
\context Staff = up {
  \relative c'' {
r8\startGroup\startGroup\startGroup\startGroup g16 c e g, c 
e\stopGroup
r8\startGroup g,16 c e g, c e\stopGroup\stopGroup
r8\startGroup\startGroup a,16 d f a, d f\stopGroup
r8\startGroup a,16 d f a, d f\stopGroup\stopGroup\stopGroup
r8\startGroup\startGroup\startGroup g,16 d' f g, d' f\stopGroup
r8\startGroup g,16 d' f g, d' f\stopGroup\stopGroup
r8\startGroup\startGroup g,16 c e g, c e\stopGroup
r8\startGroup g,16 c e g, c 
e\stopGroup\stopGroup\stopGroup\stopGroup
  }
}
\context Staff = down {
  \clef bass
  \relative c' {
 c2 \\ { r16 e8. ~ e4 } 
 c2 \\ { r16 e8.~ e4 } 
 c2 \\ { r16 d8. ~ d4 } 
 c2 \\ { r16 d8.~ d4 } 
 b2 \\ { r16 d8. ~ d4 } 
 b2 \\ { r16 d8.~ d4 } 
 c2 \\ { r16 e8. ~ e4 } 
 c2 \\ { r16 e8.~ e4 } 
  }
}
  
}
 


___
lilypond-user mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-user
--
=
Mats Bengtsson
Signal Processing
Signals, Sensors and Systems
Royal Institute of Technology
SE-100 44  STOCKHOLM
Sweden
Phone: (+46) 8 790 8463 
Fax:   (+46) 8 790 7260
Email: [EMAIL PROTECTED]
WWW: http://www.s3.kth.se/~mabe
=
___
lilypond-user mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Analysis brackets

2004-08-14 Thread Hamish Allan
Hello again,
So, my latest attempt to put proper analysis brackets underneath both 
staves is to use an extra invisible RhythmicStaff like this:

\context RhythmicStaff \with {
  \remove Bar_engraver
  \remove Staff_symbol_engraver
  \remove Time_signature_engraver
  \remove Rest_engraver
  \consists Horizontal_bracket_engraver
} {
  r16\startGroup\startGroup\startGroup r r r\stopGroup
  r\startGroup r r r\stopGroup\stopGroup
  r\startGroup\startGroup r r r\stopGroup
  r\startGroup r r r\stopGroup\stopGroup\stopGroup
}
However, the \remove Rest_engraver seems to be having no effect. Nor 
does trying to remove note head and stem engravers when using notes 
instead of rests.

Could somebody please tell me what I'm doing wrong?
Also, even if it worked, this would definitely be a sub-optimal 
solution from a spacing point of view, so I'd still like to know if 
there's a better way (as I start to glimpse the power of tinkering with 
lower levels of lilypond, I think there must be!)

I would be most grateful for any response - I'd love to have more time 
to play, but I've got to hand in a dissertation (with this analysis in 
it)  in two week's time!

Thanks,
Hamish
On Aug 14, 2004, at 6:20, Hamish Allan wrote:
Hi,
As this is my first post, I'd like to say thank you very much to the 
developers for creating Lilypond -- I've just yesterday started having 
to typeset music within LaTeX documents; I had a quick play with 
MusiXTeX, but thankfully shortly afterwards found Lilypond and 
immediately became very glad of its existence!

My query is about analysis brackets. I'm trying to show nested 
metrical structure in Bach's Prelude No. 1 from the Well-Tempered 
Clavier (see source code below). I want two brackets per bar, then 
brackets round pairs of those, etc. I'm using the PianoStaff so I've 
got two staves. If I put the groups around notes in the top stave. the 
brackets appear between the staves, wheras I want them either below or 
above both staves. If I put the groups around the notes in the bottom 
stave, the brackets don't stretch far enough (because the notes in the 
bottom stave are longer - but I want the brackets effectively to cover 
both staves). I tried adding eight s16 invisible rests to the chord at 
the bottom but the brackets would still only stretch as far as the 
visible notes.

Is there any way either to have the brackets upside down above the top 
stave, or to have them cover more of the bottom stave?

Whilst we're here, can I use the square bracket shorthand for 
\startGroup and \stopGroup without changing the time signature? I 
tried it out, but of course it just extended the beams over the rest. 
Also, how might I use the triangular grouping engraver?

Many thanks in advance,
Hamish

\paper {
  linewidth = 413\pt
  indent = 0.0\mm
  raggedright = ##t
  #(paper-set-staff-size (* 18.0 pt))
  \context {
\StaffContext \consists Horizontal_bracket_engraver
  }
}
\score {
  \notes \context PianoStaff 
\context Staff = up {
  \relative c'' {
r8\startGroup\startGroup\startGroup\startGroup g16 c e g, c 
e\stopGroup
r8\startGroup g,16 c e g, c e\stopGroup\stopGroup
r8\startGroup\startGroup a,16 d f a, d f\stopGroup
r8\startGroup a,16 d f a, d f\stopGroup\stopGroup\stopGroup
r8\startGroup\startGroup\startGroup g,16 d' f g, d' f\stopGroup
r8\startGroup g,16 d' f g, d' f\stopGroup\stopGroup
r8\startGroup\startGroup g,16 c e g, c e\stopGroup
r8\startGroup g,16 c e g, c 
e\stopGroup\stopGroup\stopGroup\stopGroup
  }
}
\context Staff = down {
  \clef bass
  \relative c' {
 c2 \\ { r16 e8. ~ e4 } 
 c2 \\ { r16 e8.~ e4 } 
 c2 \\ { r16 d8. ~ d4 } 
 c2 \\ { r16 d8.~ d4 } 
 b2 \\ { r16 d8. ~ d4 } 
 b2 \\ { r16 d8.~ d4 } 
 c2 \\ { r16 e8. ~ e4 } 
 c2 \\ { r16 e8.~ e4 } 
  }
}
  
}


___
lilypond-user mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-user


___
lilypond-user mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-user


Analysis brackets

2004-08-13 Thread Hamish Allan
Hi,
As this is my first post, I'd like to say thank you very much to the 
developers for creating Lilypond -- I've just yesterday started having 
to typeset music within LaTeX documents; I had a quick play with 
MusiXTeX, but thankfully shortly afterwards found Lilypond and 
immediately became very glad of its existence!

My query is about analysis brackets. I'm trying to show nested metrical 
structure in Bach's Prelude No. 1 from the Well-Tempered Clavier (see 
source code below). I want two brackets per bar, then brackets round 
pairs of those, etc. I'm using the PianoStaff so I've got two staves. 
If I put the groups around notes in the top stave. the brackets appear 
between the staves, wheras I want them either below or above both 
staves. If I put the groups around the notes in the bottom stave, the 
brackets don't stretch far enough (because the notes in the bottom 
stave are longer - but I want the brackets effectively to cover both 
staves). I tried adding eight s16 invisible rests to the chord at the 
bottom but the brackets would still only stretch as far as the visible 
notes.

Is there any way either to have the brackets upside down above the top 
stave, or to have them cover more of the bottom stave?

Whilst we're here, can I use the square bracket shorthand for 
\startGroup and \stopGroup without changing the time signature? I tried 
it out, but of course it just extended the beams over the rest. Also, 
how might I use the triangular grouping engraver?

Many thanks in advance,
Hamish

\paper {
  linewidth = 413\pt
  indent = 0.0\mm
  raggedright = ##t
  #(paper-set-staff-size (* 18.0 pt))
  \context {
\StaffContext \consists Horizontal_bracket_engraver
  }
}
\score {
  \notes \context PianoStaff 
\context Staff = up {
  \relative c'' {
r8\startGroup\startGroup\startGroup\startGroup g16 c e g, c 
e\stopGroup
r8\startGroup g,16 c e g, c e\stopGroup\stopGroup
r8\startGroup\startGroup a,16 d f a, d f\stopGroup
r8\startGroup a,16 d f a, d f\stopGroup\stopGroup\stopGroup
r8\startGroup\startGroup\startGroup g,16 d' f g, d' f\stopGroup
r8\startGroup g,16 d' f g, d' f\stopGroup\stopGroup
r8\startGroup\startGroup g,16 c e g, c e\stopGroup
r8\startGroup g,16 c e g, c 
e\stopGroup\stopGroup\stopGroup\stopGroup
  }
}
\context Staff = down {
  \clef bass
  \relative c' {
 c2 \\ { r16 e8. ~ e4 } 
 c2 \\ { r16 e8.~ e4 } 
 c2 \\ { r16 d8. ~ d4 } 
 c2 \\ { r16 d8.~ d4 } 
 b2 \\ { r16 d8. ~ d4 } 
 b2 \\ { r16 d8.~ d4 } 
 c2 \\ { r16 e8. ~ e4 } 
 c2 \\ { r16 e8.~ e4 } 
  }
}
  
}
 


___
lilypond-user mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-user