Re: time signature magic

2015-05-23 Thread Alex Voice
You need the magic of: http://lsr.di.unimi.it/LSR/Snippet?id=782 - Good Luck!


Alex Jones-2 wrote
 Does anyone have a suggestion for a good way to accomplish this in
 lilypond?
 time signature with a second time signature in parentheses?
 
 Screen Shot 2015-05-23 at 5.41.47 PM.png (14K)
 lt;http://lilypond.1069038.n5.nabble.com/attachment/176955/0/Screen%20Shot%202015-05-23%20at%205.41.47%20PM.pnggt;





--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/time-signature-magic-tp176955p176956.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: slur syntax

2015-05-23 Thread Gianmaria Lari
Yes! Thank you Peter (and Urs), I think now it's clear 

Lilypond use a postfix syntax. To apply a function 'f' to the note 'a' the
lilypond syntax is a \f and not viceversa. Because the open parenthese is
like a function (a function that marks the first item) it must be written as
for all the other function: after the note.

Of course, everything is possible, and we could make the lilypond parser
more complex and use the other notation for the slur issue. But this has
been considered not important :)



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/slur-syntax-tp176928p176957.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: time signature magic

2015-05-23 Thread ole
maybe this helps?

http://lsr.di.unimi.it/LSR/Item?id=782

ole



Am 23.05.2015 um 23:44 schrieb Alex Jones akjonesjeff...@gmail.com:

 Does anyone have a suggestion for a good way to accomplish this in lilypond?
 
 time signature with a second time signature in parentheses?
 
 Thanks in advance!
 
 -akj
 
 Screen Shot 2015-05-23 at 5.41.47 PM.png
 ___
 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: time signature magic

2015-05-23 Thread Alex Jones
Thank you, this works!

It does look a little clunky.  

I saw this, which gets the parentheses but doesn’t include the first 
non-parenthesized item.  Can these two items be combined?

http://www.lilypond.org/doc/v2.19/Documentation/snippets/staff-notation#staff-notation-time-signature-in-parentheses-_002d-method-3

-akj

On May 23, 2015, at 6:09 PM, ole m...@oleschmidt.info wrote:

 maybe this helps?
 
 http://lsr.di.unimi.it/LSR/Item?id=782
 
 ole
 
 
 
 Am 23.05.2015 um 23:44 schrieb Alex Jones akjonesjeff...@gmail.com:
 
 Does anyone have a suggestion for a good way to accomplish this in lilypond?
 
 time signature with a second time signature in parentheses?
 
 Thanks in advance!
 
 -akj
 
 Screen Shot 2015-05-23 at 5.41.47 PM.png
 ___
 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: time signature magic

2015-05-23 Thread David Nalesnik
Hi Alex,

On Sat, May 23, 2015 at 5:41 PM, Alex Jones akjonesjeff...@gmail.com
wrote:

 Thank you, this works!

 It does look a little clunky.


I agree--there's too much space.  A simple fix is to use \concat, which
puts items directly beside each other, instead of \line in the original
function:

\version 2.18

#(define ((time-parenthesized-time up down upp downp) grob)
   (grob-interpret-markup grob
 (markup #:override '(baseline-skip . 0) #:number
   (#:concat (
   (#:column (up down))
   #:vcenter (
   (#:column (upp downp))
   #:vcenter ) )






 I saw this, which gets the parentheses but doesn’t include the first
 non-parenthesized item.  Can these two items be combined?


 http://www.lilypond.org/doc/v2.19/Documentation/snippets/staff-notation#staff-notation-time-signature-in-parentheses-_002d-method-3


Yes, and this will allow you control over the shape of the parentheses:

#(define ((time-parenthesized-time up down upp downp) grob)
   (ly:stencil-combine-at-edge
(grob-interpret-markup grob
  (markup #:override '(baseline-skip . 0) #:number #:column (up down)))
X RIGHT
(parenthesize-stencil
 (grob-interpret-markup grob
   (markup #:override '(baseline-skip . 0) #:number #:column (upp
downp)))
 0.1 0.7 0.7 0.1) ; these numbers affect the parentheses
0.0 ; padding between columns
))


\relative c' {
  \override Staff.TimeSignature.stencil = #(time-parenthesized-time 3 4
6 8)
  \time 3/4
  b8 b8 gis8 gis4 gis8
}



Hope this helps!

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


Re: how to add barre indications to automatic fret diagrams?

2015-05-23 Thread Carl Sorensen


On 5/23/15 6:34 AM, pls p.l.schm...@gmx.de wrote:


Here is another test case for your patch:

\version 2.19.20


  \new FretBoards {
d-1 a c'-1 fis' a'-11
g,-1 d f-1 b d'-1 g'-11
\transpose g a { g,-1 d f-1 b d'-1 g'-11 }
  }


These chords can be played with one finger! ;)

So what do you recommend be done?

I can make it so no fingerings are added, and then diagrams that are not
completely fingered will show dots that have a finger of 0 (that's the way
I started).  It seemed to me that having a finger of 0 is confusing.
Also, by far the most common barre is with the first finger.  So allowing
an open chord to be transposed to a barre chord with a first finger barre
seemed useful.

I don't have an algorithm to figure out fingering.  The .ly file explains
exactly how the implemented fingering algorithm works.  It assumes that
multiple notes played on the same fret with no fingering should be
represented as a barre with the first finger.  That's all it does.

If the user specifies fingerings that don't work right with the algorithm,
they won't work right.

Maybe I should back the code back to where a barre will be indicated only
if the fingers are specified in the chord, and no barre will be generated
when an open chord is transposed.  That would be a straightforward fix.
It would never generate any surprising results, because it would only
generate barres that the user had entered by indicating that multiple
notes should be played with the same finger.

What do you think?

Carl





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


time signature magic

2015-05-23 Thread Alex Jones
Does anyone have a suggestion for a good way to accomplish this in lilypond?

time signature with a second time signature in parentheses?

Thanks in advance!

-akj

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


Re: time signature magic

2015-05-23 Thread Alex Jones
This worked like a charm, thanks to everyone!

-akj

On May 23, 2015, at 7:05 PM, David Nalesnik david.nales...@gmail.com wrote:

 #(define ((time-parenthesized-time up down upp downp) grob)
(ly:stencil-combine-at-edge
 (grob-interpret-markup grob
   (markup #:override '(baseline-skip . 0) #:number #:column (up down)))
 X RIGHT
 (parenthesize-stencil
  (grob-interpret-markup grob 
(markup #:override '(baseline-skip . 0) #:number #:column (upp downp)))
  0.1 0.7 0.7 0.1) ; these numbers affect the parentheses
 0.0 ; padding between columns
 ))
 

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


Re: time signature magic

2015-05-23 Thread David Nalesnik
Alex,

On Sat, May 23, 2015 at 6:08 PM, Alex Jones akjonesjeff...@gmail.com
wrote:

 This worked like a charm, thanks to everyone!


Great!

Thought of something.  Why specify the numbers of the time signature in
effect?  Not that it saves much time, but you could do this for a slightly
shorter input:

 #(define ((time-parenthesized-time up down) grob)
   (ly:stencil-combine-at-edge
(ly:time-signature::print grob)
X RIGHT
(parenthesize-stencil
 (grob-interpret-markup grob
   (markup #:override '(baseline-skip . 0) #:number #:column (up down)))
 0.1 0.7 0.7 0.1) ; these numbers affect the parentheses
0.0 ; padding between columns
))

\relative c' {
  \override Staff.TimeSignature.stencil = #(time-parenthesized-time 6
8)
  \time 3/4
  b8 b8 gis8 gis4 gis8
}


%%

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


Re: how to add barre indications to automatic fret diagrams?

2015-05-23 Thread pls

On 23.05.2015, at 06:22, Carl Sorensen c_soren...@byu.edu wrote:

 
 + some frequently used chords are missing, such as m7.5- and suspended
 chords. (I know of course from my own experience that predefined fret
 diagram tables unfortunately are never complete.)
 
 m7.5- is not commonly used in  US consumer-grade pop charts, but I'd be
 happy to add them.  

Hm, m7.5- probably isn't used very often in pop music.  But in jazz music it 
definitely is a very common chord. 

 Suspended chords are also not commonly used in US
 consumer-grade pop charts.

Hm, being a guitar teacher quite a few more or less popular songs containing 
suspended chords pop into my mind:

+ All Of Me (John Legend)
+ Fireflies (Owl City)
+ Wonderwall (Oasis)
+ Stairway To Heaven (Led Zeppelin)
+ Brothers In Arms (Dire Straits)
+ You Take My Breath Away (Eva Cassidy)
+ Dreamer (Ozzy Osbourne)
+ How You Remind Me (Nickelback)
+ Underneath Your Clothes (Shakira)
+ To Be With You (Mr. Big)
+ Come As You Are (Nirvana)
+ Behind Blue Eyes (The Who/Limp Biskit)
+ Bubbly (Colbie Caillat)
+ Dear Mr. President (Pink)
+ Sweet Home Alabama (Lynyrd Skynyrd)
+ Viva la Vida (Coldplay)
+ Wake Me Up When September Ends (Green Day)
+ When You Say Nothing At All (Garth Brooks/Ronan Keating/Allison Krauss)
+ You’re Beautiful (James Blunt)
+ Your Body Is A Wonderland (John Mayer)
+ Born To Run (Bruce Springsteen)

I’d suspect that this list is not exhaustive and that these examples are not 
rare exceptions. ;)

 
 + some rare ³unacceptable² diagrams which can be easily fixed by
 assigning note(s) to a string.
 + problems arising from trying to transpose/shift diagrams potentially
 containing fingerings and or string numbers (as discussed here)
 
 String numbers should be consistent as you transpose diagrams within a
 given shape, I think.  Have you found any case where they don't work?

No, actually I haven’t.  I thought string numbers would interfere with 
predefined diagrams.  They don’t.  LilyPond simply ignores them.  

In the case of transposing automatically-generated diagrams LilyPond might 
throw some warnings ‘Ignoring string request and recalculating’  but the 
resulting diagram is fine, e.g.:

stringedA = a,\5 e\4 a\3 cis'\2 e'\11
\new FretBoards {
  \stringedA
  \transpose a e { \stringedA }
}

 
 Fingers should be OK as well, as long as you finger for the barre chord.

Yes, they basically are.  I alluded to the problem we already discussed: 
LilyPond can’t guess which fingers should be used in a chord, e.g.:

fingeredA = a, e-3 a-3 cis'-3 e'1
\new FretBoards {
  \fingeredA
  \transpose a e { \fingeredA } %wrong fingering
}

 
 These are basically the reasons why I started to make my own predefined
 fret diagram tables a few years ago (see
 https://github.com/Philomelos/lilypond-predefined-fretboards).  I haven¹t
 found the time to document it yet and there are only just a few test
 files currently available.  The definitions are spread over 6 files:
 + c-shape.ly http://c-shape.ly
 + a-shape.ly http://a-shape.ly
 + g-shape.ly http://g-shape.ly
 + e-shape.ly http://e-shape.ly
 + d-shape.ly http://d-shape.ly
 + alt-shape.ly http://alt-shape.ly (contains alternative chord shapes
 that cannot be included in the five basic shape files for technical
 reasons or due to their ambiguity)
 
 You can include these files as usual and then use 6 new commands
 (\cShape, \aShape, \gShape, \eShape, \dShape, and \altShape) to choose a
 diagram derived from one of the five basic chord shapes, so e.g.
 + \chordmode { \aShape c,:1.5.8.10 } or \notemode { c g c¹ e¹ }
 returns a c major barre chord across the 3rd fret
 + \chordmode { \eShape c,:1.5.8.10 } or \notemode { c g c¹ e¹ }
 returns a c major chord at the 8th fret (on the strings 6, 5, 4, and 3)
 + \chordmode { \dShape c:1.5.8.10 } or \notemode { c¹ g¹ c¹¹ e¹¹ }
 returns a c major chord at the 10th fret (on the strings 4, 3, 2, and 1)
 
 You need to enter all the pitches you want to include in your diagram.
 If there is a definition for the chord you should get the expected
 diagram including fingerings and a barre indicator (if necessary).  You
 don¹t need to manually add fingerings or string numbers.  So there are no
 problems with shape shifting and transpositions.  If you don¹t like a
 detail: don¹t use this definition or override it!
 You can use other definition files in combination. You can switch the
 definition files on and off by using \predefinedFretboardsOn and
 \predefinedFretboardsOff (as usual).  If the tables don¹t contain a
 definition for a certain chord structure (or if the chord structure or
 the octave is impossible in standard tuning) LilyPond jumps in and tries
 to automatically generate a diagram.
 
 The tables already contain a couple of hundred transposable definitions
 (even some inversions) but of course the library is far from being
 complete.  The reason why I started this thread here was to check whether
 it makes sense to continue the work on this library or maybe just use
 

Re: how to add barre indications to automatic fret diagrams?

2015-05-23 Thread pls

On 23.05.2015, at 06:22, Carl Sorensen c_soren...@byu.edu wrote:

 
 + some chords lead to unwanted barre indicators, e.g.:
 + d-1 a d¹ f¹ or
 + e, b,-3 e-3 gis-3 b e¹ (wrong fingers!)
 
 I will look into those.  Thanks.

Here is another test case for your patch:

\version 2.19.20


  \new FretBoards {
d-1 a c'-1 fis' a'-11
g,-1 d f-1 b d'-1 g'-11
\transpose g a { g,-1 d f-1 b d'-1 g'-11 }
  }


These chords can be played with one finger! ;)

hth
patrick


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


Re: slur syntax

2015-05-23 Thread Urs Liska

Am 23.05.2015 um 14:27 schrieb Gianmaria Lari:

Suppose I want to slur the followings notes:
a8 b c d

then I have to write
   a8 (b c d)

This looks a bit strange to me because I think it would be more 'natural'
(for me) write this:
   (a8 b c d)

There is any reason why the syntax is like it is?


There is a reasoning on this page:
http://www.lilypond.org/doc/v2.18/Documentation/learning/on-the-un_002dnestedness-of-brackets-and-ties.nl.html

where you can learn that slur markers are not brackets in the 
mathematical sense but simply mark something to start or end.
What is not explicitly mentioned in that article is that in all other 
cases markers are also appended to the notes, e.g. dynamics, 
articulations, markups etc.


HTH
Urs



Thank you, Gianmaria



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/slur-syntax-tp176928.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




--
Urs Liska
www.openlilylib.org

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


custom markup help

2015-05-23 Thread Damian leGassick
Hello list

I'm trying to get a markup to help with repetitive addition of scale-degrees 
with carats

I've got this far, but it's not picking up the new default baseline-skip value

\version 2.18.0 


#(define-markup-command (sd layout props sdnum) (markup?)
  #:properties ((baseline-skip 0.5))
  Put a number with a carat above the note.
  (interpret-markup layout props
#{\markup \override #`(baseline-skip . ,baseline-skip)
  \column { \small {^ #sdnum }}#}))


{g^\markup {\sd 3}}


any clues?

ideally i'd like to be able to write something like

{g^\sd{3}}

any assistance much appreciated

thanks as always

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


Re: custom markup help

2015-05-23 Thread Nick Payne

On 23/05/2015 21:24, Damian leGassick wrote:

\version 2.18.0


#(define-markup-command (sd layout props sdnum) (markup?)
   #:properties ((baseline-skip 0.5))
   Put a number with a carat above the note.
   (interpret-markup layout props
 #{\markup \override #`(baseline-skip . ,baseline-skip)
   \column { \small {^ #sdnum }}#}))


{g^\markup {\sd 3}}


Don't use the name baseline-skip for the baseline-skip value. Change it 
to something else and it works:


\version 2.18.0


#(define-markup-command (sd layout props sdnum) (markup?)
  #:properties ((skip 0.5))
  Put a number with a carat above the note.
  (interpret-markup layout props
#{\markup \override #`(baseline-skip . ,skip)
  \column { \small {^ #sdnum }}#}))


{g^\markup {\sd 3}}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Help notating a particular bar

2015-05-23 Thread Nick McManus
Hi, im just trying to notate this particular bar as an exercise and have 
no idea where to begin.  I need the note to be in the centre of the bar, 
as well as having the dynamics as written.

Here is the image link: http://i.imgur.com/mN5AZEN.png


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


Re: custom markup help

2015-05-23 Thread Klaus Blum
Hi Damian, 

aah, Nick was faster than me... :-)

The easiest way I've found would be this:

% ---
\version 2.18.0

#(define-markup-command (sd layout props sdnum) (markup?)
   Put a number with a carat above the note.
   (interpret-markup layout props
 #{\markup {
   \override #'(baseline-skip . 0.5)
   \column { \small {^ #sdnum }}
   }
 #}))

{g^\markup \sd 3}
% ---

If you dont want to use \markup every time, you also could work like this:

% ---
\version 2.18.0

sd = #(define-music-function (parser location sdnum)
(markup?)
Put a number with a carat above the note.
#{
  -\markup {
\override #'(baseline-skip . 0.5)
\column { \small {^ #sdnum }}
  }
#})

{g^\sd 3}
% ---

Cheers, 
Klaus



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/custom-markup-help-tp176923p176926.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: rhytm

2015-05-23 Thread Gianmaria Lari
Thank you!! It works, very nice!

Usual question (usual for me): why this functionality is not part of the
standard lilypond?

* * *

I'm a new user. To take advantage of this functionality I copied and pasted
the source code of this feature in my source.  Is this the correct/best way
to work with?

Thank you, g.



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/rhytm-tp176916p176927.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: rhytm

2015-05-23 Thread Phil Holmes
OK.  Fuller answer.

1) It's easy to create a snippet in the LSR: it was designed for this purpose.  
It's harder to update the main LilyPond package.
2) If the main package were updated, then we would also need to update the 
documentation.
3) All the work on LilyPond is done by volunteers who may have other priorities.
4) The functionality you're using is not needed often: why bother to add it to 
the main package? It's trivial to find in the LSR if you look.

So: if you want to extend LilyPond in a particular way, do what the rest of us 
here have done: read the Contributors Guide and start work.

HTH

--
Phil Holmes


  - Original Message - 
  From: Gianmaria Lari 
  To: Phil Holmes 
  Cc: lilypond-user 
  Sent: Saturday, May 23, 2015 1:35 PM
  Subject: Re: rhytm


  I started using lilypond two weeks ago, wouldn't be a bit presumptuous for me 
to propose this? Why the person that create the snippet does not propose it?


  On Sat, May 23, 2015 at 2:27 PM, Phil Holmes m...@philholmes.net wrote:

- Original Message - From: Gianmaria Lari 
gianmarial...@gmail.com
To: lilypond-user@gnu.org
Sent: Saturday, May 23, 2015 1:16 PM
Subject: Re: rhytm



  Thank you!! It works, very nice!

  Usual question (usual for me): why this functionality is not part of the
  standard lilypond?


Usual answer:

http://lilypond.org/website/help-us.html

--
Phil Holmes


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


Re: Help notating a particular bar

2015-05-23 Thread Andrew Bernard
Hi Nick,

Centering notes was very common in past traditions, and indeed in various 
modernist traditions. Lilypond does not do it out of the box. I think it must 
be one of my personal top ten most wanted features. So, for people working 
outside the Common Practice Era, you need to use some functions to help you. 
There was discussion on the mailing list about this some time ago, from which I 
have extracted centering function code that works very well indeed.

Here’s the code. Note that it only works when there is one object in the bar. 
Works nicely for rests, by the way.

Andrew


% Thanks to David Nalesnik and Thomas Morley.

#(define (sort-by-X-coord sys grob-lst)
   Arranges a list of grobs in ascending order by their X-coordinates
   (let* ((X-coord (lambda (x) (ly:grob-relative-coordinate x sys X)))
          (comparator (lambda (p q) ( (X-coord p) (X-coord q)

     (sort grob-lst comparator)))

#(define (find-bounding-grobs note-column grob-lst)
   (let* ((sys (ly:grob-system note-column))
          (X-coord (lambda (n) (ly:grob-relative-coordinate n sys X)))
          (note-column-X (X-coord note-column)))

     (define (helper lst)
       (if (and ( (X-coord (car lst)) note-column-X)
                ( (X-coord (cadr lst)) note-column-X))
           (cons (car lst) (cadr lst))
           (if (null? (cddr lst))
               (cons note-column note-column)
               (helper (cdr lst)

     (helper grob-lst)))

#(define (read-out ls1 ls2 ls3 symbol)
   Filters all elements of ls1 from ls2 and appends it to ls3
   (set! ls3 (append ls3 (filter (lambda (x) (eq? (car ls1) (symbol x))) ls2)))
   (if (null? (cdr ls1))
       ls3
       (read-out (cdr ls1) ls2 ls3 symbol)))

#(define ((center-note-column x-offs) grob)
   (let* ((sys (ly:grob-system grob))
          (elements-lst (ly:grob-array-list (ly:grob-object sys 
'all-elements)))
          (grob-name (lambda (x) (assq-ref (ly:grob-property x 'meta) 'name)))
          (X-extent (lambda (q) (ly:grob-extent q sys X)))
          ;; NoteColumn
          (note-column-coord (ly:grob-relative-coordinate grob sys X))
          (grob-ext (X-extent grob))
          (grob-length (interval-length grob-ext))
          ;; NoteHeads
          (note-heads (ly:grob-object grob 'note-heads))
          (note-heads-grobs (if (not (null? note-heads))
                                (ly:grob-array-list note-heads)
                                '()))
          (one-note-head (if (not (null? note-heads-grobs))
                             (car note-heads-grobs)
                             '()))
          (one-note-head-length (if (not (null? one-note-head))
                                    (interval-length (X-extent one-note-head)) 
;; NB
                                    0))
          ;; Stem
          (stem (ly:grob-object grob 'stem))
          (stem-dir (ly:grob-property stem 'direction))
          (stem-length-x (interval-length (X-extent stem))) ;; NB
          ;; DotColumn
          (dot-column (ly:note-column-dot-column grob))
          ;; AccidentalPlacement
          (accidental-placement (ly:note-column-accidentals grob))
          ;; Arpeggio
          (arpeggio (ly:grob-object grob 'arpeggio))
          ;; Rest
          (rest (ly:grob-object grob 'rest))
          ;; Grobs to center between
          (args (list 'BarLine
                  'Clef
                  'KeySignature
                  'KeyCancellation
                  'TimeSignature))
          (grob-lst (read-out args elements-lst '() grob-name))
          (new-grob-lst (remove (lambda (x) (interval-empty? (X-extent x))) 
grob-lst))
          (sorted-grob-lst (sort-by-X-coord sys new-grob-lst))
          ;; Bounds
          (bounds (find-bounding-grobs grob sorted-grob-lst))
          (left (cdr (X-extent (car bounds
          (right (car (X-extent (cdr bounds

          ;;(bounds-coord (cons left right)) ;; delete

          (basic-offset
           (- (average left right)
             (interval-center (X-extent grob))
             (* -1 x-offs)))
          (dir-correction
           (if ( grob-length one-note-head-length)
               (* stem-dir (* -2 stem-length-x) grob-length)
               0))

          ) ;; End of Defs in let*

     ;; Calculation
     (begin
      ;;(display \n\tbounds: \t)(write bounds)
      (for-each
       (lambda (x)
         (cond ((ly:grob? x)
                (ly:grob-translate-axis!
                 x
                 (- basic-offset dir-correction)
                 X
       (list
        (cond ((not (null? note-heads)) grob))
        dot-column accidental-placement arpeggio rest))
      )))

centerNoteColumnOn = \override Staff.NoteColumn #'after-line-breaking = 
#(center-note-column 0)

centerNoteColumnOff = \revert Staff.NoteColumn #'after-line-breaking

onceCenterNoteColumn =
#(define-music-function (parser location x-offs)(number?)
   #{
     \once \override Staff.NoteColumn #'after-line-breaking = 

Re: Help notating a particular bar

2015-05-23 Thread Andrew Bernard
Hi Nick,

A snippet to show how to use the centering function.

\version 2.19.20

% substitute your library directory
\include /home/a/lib/lilypond/centre.ly


\paper {
  ragged-right = ##f
}

treble = \relative c'' {
  \clef treble
  \time 4/4
  \centerNoteColumnOn
  b1
  \centerNoteColumnOff
  r4 c c c
}

\score {
  \new Staff \treble
  \layout { }
}


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


Re: rhytm

2015-05-23 Thread Phil Holmes
- Original Message - 
From: Gianmaria Lari gianmarial...@gmail.com

To: lilypond-user@gnu.org
Sent: Saturday, May 23, 2015 1:16 PM
Subject: Re: rhytm



Thank you!! It works, very nice!

Usual question (usual for me): why this functionality is not part of the
standard lilypond?


Usual answer:

http://lilypond.org/website/help-us.html

--
Phil Holmes

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


slur syntax

2015-05-23 Thread Gianmaria Lari
Suppose I want to slur the followings notes:
   a8 b c d

then I have to write
  a8 (b c d)

This looks a bit strange to me because I think it would be more 'natural'
(for me) write this:
  (a8 b c d)

There is any reason why the syntax is like it is?

Thank you, Gianmaria



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/slur-syntax-tp176928.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: rhytm

2015-05-23 Thread Gianmaria Lari
I started using lilypond two weeks ago, wouldn't be a bit presumptuous for
me to propose this? Why the person that create the snippet does not propose
it?

On Sat, May 23, 2015 at 2:27 PM, Phil Holmes m...@philholmes.net wrote:

 - Original Message - From: Gianmaria Lari 
 gianmarial...@gmail.com
 To: lilypond-user@gnu.org
 Sent: Saturday, May 23, 2015 1:16 PM
 Subject: Re: rhytm


  Thank you!! It works, very nice!

 Usual question (usual for me): why this functionality is not part of the
 standard lilypond?


 Usual answer:

 http://lilypond.org/website/help-us.html

 --
 Phil Holmes

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


Re: rhytm

2015-05-23 Thread Gianmaria Lari
Thank you for the Full answer :) I guessed only the number 4 - The
functionality you're using is not needed often... and wanted to be sure.

Ciao, g.

On Sat, May 23, 2015 at 3:28 PM, Phil Holmes m...@philholmes.net wrote:

  OK.  Fuller answer.

 1) It's easy to create a snippet in the LSR: it was designed for this
 purpose.  It's harder to update the main LilyPond package.
 2) If the main package were updated, then we would also need to update the
 documentation.
 3) All the work on LilyPond is done by volunteers who may have other
 priorities.
 4) The functionality you're using is not needed often: why bother to add
 it to the main package? It's trivial to find in the LSR if you look.

 So: if you want to extend LilyPond in a particular way, do what the rest
 of us here have done: read the Contributors Guide and start work.

 HTH

 --
 Phil Holmes



 - Original Message -
 *From:* Gianmaria Lari gianmarial...@gmail.com
 *To:* Phil Holmes m...@philholmes.net
 *Cc:* lilypond-user lilypond-user@gnu.org
 *Sent:* Saturday, May 23, 2015 1:35 PM
 *Subject:* Re: rhytm

 I started using lilypond two weeks ago, wouldn't be a bit presumptuous
 for me to propose this? Why the person that create the snippet does not
 propose it?

 On Sat, May 23, 2015 at 2:27 PM, Phil Holmes m...@philholmes.net wrote:

 - Original Message - From: Gianmaria Lari 
 gianmarial...@gmail.com
 To: lilypond-user@gnu.org
 Sent: Saturday, May 23, 2015 1:16 PM
 Subject: Re: rhytm


 Thank you!! It works, very nice!

 Usual question (usual for me): why this functionality is not part of the
 standard lilypond?


 Usual answer:

 http://lilypond.org/website/help-us.html

 --
 Phil Holmes



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


Re: slur syntax

2015-05-23 Thread Gianmaria Lari
Ciao Urs,

thank you for the link! 
I read the page 

http://www.lilypond.org/doc/v2.18/Documentation/learning/on-the-un_002dnestedness-of-brackets-and-ties.nl.html

and I understood that slur markers are not brackets in the mathematical
sense but simply mark something to start or end but don't understand the
consequences of this. Wouldn't be possible to slur the four notes  a b c d
using the other syntax 

  (a b c d)

instead of

  a (b c d)

?
Thank you, g.



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/slur-syntax-tp176928p176942.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: slur syntax

2015-05-23 Thread Peter Bjuhr



On 2015-05-23 18:56, Peter Bjuhr wrote:

In Frescobaldi if you use Quick Insert to slur the four notes you'll get:

|a( b c d)|

I tend to think the syntax |a ( b c d )| is preferable, but maybe with 
this syntax it is clearer that the '(' belongs to the 'a' and not to 
the 'b' - and ')' belongs to the 'd'.


Compare if you will with:

|a \staccato b c d \staccato|

The staccato marks will end up on the notes that precedes the command, 
that is a and d.


Yo can also compare with the phrasing slur:

|a( b c d)||
||
||a\( b c d\)||
||
||a\staccato b c d\staccato|

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


Re: Help notating a particular bar

2015-05-23 Thread Pierre Perol-Schneider
Hi Nick,
Hi Andrew,

I'm afraid that 'center-note-column' will not help since the score includes
a dynamic spanner.
Personally, I'd do something less sophisticated.
How about:

\version 2.18.2

myDynamics =
{
  \set crescendoText = \markup\dynamic f
  \set crescendoSpanner = #'text
  \override DynamicTextSpanner.style = #'line
  s1
  s2.._\ s8\f
}

\score {
  \new StaffGroup 
\new Staff 
  \new Voice { s1 s1*1/3 \tweak X-offset #0.3 e'' s }
  \new Voice { s1 s1*1/3 \tweak X-offset #0.3 e' s }
  \new Dynamics \myDynamics

\new Staff 
  \new Voice { s1 s1*1/3 \tweak X-offset #0.3 a' s }
  \new Voice { s1 s1*1/3 \tweak X-offset #0.3 a s }
  \new Dynamics \myDynamics

\new Staff 
  \new Voice { s1 s1*1/3 \tweak X-offset #0.3 bis' s }
  \new Voice { s1 s1*1/3 \tweak X-offset #0.3 bis s }
  \new Dynamics \myDynamics

\new Staff 
  \new Voice { s1 s1*1/3 \tweak X-offset #0.3 f' s }
  \new Dynamics \myDynamics

  
  \layout {
\context {
  \Score
  proportionalNotationDuration = #(ly:make-moment 1/4)
  \override NoteColumn.force-hshift = #0
  \override NoteColumn.ignore-collision = ##t
  \omit Clef
  \omit TimeSignature
}
  }
}

Cheers,
Pierre

2015-05-23 13:00 GMT+02:00 Andrew Bernard andrew.bern...@gmail.com:

 Hi Nick,

 A snippet to show how to use the centering function.

 \version 2.19.20

 % substitute your library directory
 \include /home/a/lib/lilypond/centre.ly


 \paper {
   ragged-right = ##f
 }

 treble = \relative c'' {
   \clef treble
   \time 4/4
   \centerNoteColumnOn
   b1
   \centerNoteColumnOff
   r4 c c c
 }

 \score {
   \new Staff \treble
   \layout { }
 }



 ___
 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: slur syntax

2015-05-23 Thread Peter Bjuhr



On 2015-05-23 18:29, Gianmaria Lari wrote:

I understood that slur markers are not brackets in the mathematical
sense but simply mark something to start or end but don't understand the
consequences of this. Wouldn't be possible to slur the four notes  a b c d
using the other syntax

   (a b c d)

instead of

   a (b c d)

?
Thank you, g.


In Frescobaldi if you use Quick Insert to slur the four notes you'll get:

|a( b c d)|

I tend to think the syntax |a ( b c d )| is preferable, but maybe with 
this syntax it is clearer that the '(' belongs to the 'a' and not to the 
'b' - and ')' belongs to the 'd'.


Compare if you will with:

|a \staccato b c d \staccato|

The staccato marks will end up on the notes that precedes the command, 
that is a and d.


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


Re: Putting lyrics below its staff?

2015-05-23 Thread Noeck
Hi Kaj,

in general you are right: In case there is only one expression,
duplicating the 'brackets',   or { } is not needed. You can even
write a single note without brackets:
\new Staff a
but of course not two:
\new Staff a b

At the top level you need something to tell LilyPond that this is music
(\new Staff in the examples above or braces) and not lyrics or commands
or something else:
{ a }
simply writing
a
is not enough.

Your code does not compile and it looks a bit strange. While you are
right concerning redundant brackets, I wonder why you have staves inside
of voices? I put a different example here and I comment some of the brackets

\new ChoirStaff  % needed because of 2 staves
  \new Staff  % needed because of 2 voices inside staff
\new Voice = vA { a b } % {} needed because multiple notes
\new Voice = vB { c d }
\new Lyrics \lyricsto vB { Hel -- lo }
  
  \new Staff { e f }  % no  needed because only one voice


Does that make sense to you?

Cheers,
Joram

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


Re: Re: Putting lyrics below its staff?

2015-05-23 Thread 70147persson



On 2015-05-22 22:02, Carl Sorensen wrote:


On 5/22/15 10:03 AM, 70147pers...@telia.com 70147pers...@telia.com
wrote:


Hi Carl!

Yes, you are the person with the big understanding. I learned t from

your solution, that you can, and in this case must, do things inside
open parenthesis.

I am concerned that you do not understand why the braces {} do what they
do, and that you are just memorizing syntax.

The items in a set of {} braces come one after the other in time, so they
will move from right to left on the page.

The items in a set of   angle brackets all start at the same time.

If you understand this, things will make much more sense.



That was what was wrong in my efforts towards the
solution. So I took your solution as a base and worked through my
example. It all was fine. I was a wee wondering about the extra gap
between top staff and the ones below, so I went on and added a
couple of measures an staves. And the result is clear: the new staff
will always start one step below the extra one to the left, even if
there are single measures in the top staff in between. Do you have a
smart solution to this too?

The way to solve this problem is to use one Staff, rather than multiple
Staff contexts, but also to use \startStaff and \stopStaff to break the
staff.  See the example in the Notation Reference where they talk about
many isolated ossia staves.

Thanks,

Carl



Hello Carl

Just when I thought I understand things you are making me confused. Yes, 
I think I have got this with simultaneous or parallel music (inside  
) and serial (inside { }). But I thought these are mutual, you do not 
need them both if they include the same area. You can look at both of 
them as some kind of parenthesis, with a wee different function. But you 
do not need them both together, I thought. There were a couple of such 
doubles in your example, so I removed those not actual. If I need a 
parallel part of the score, I do not have to embrace the double angles 
with braces, or do I? And obviously LilyPond accepts my mistake, if it 
is, since I get the same result from my code as from yours. Well, I 
might be wrong, and then I will try to learn it correct.


Here is your code:

\score {
  
\new ChoirStaff
% This matches (1) below
  {% This matches (2) below
\new Staff = sAB {% This matches (3) below
  % This matches (4) below
{% This matches (5) below
  \new Voice = vA {
\mA

  \mB
  \new Staff = sB {
\new Voice = vE { \mE }
  }
  \new Lyrics = IE \lyricsto vE{\tE}

\mC


  \mD
  \new Staff = sF {
\new Voice = vF { \mF }
  }
  \new Lyrics = lF \lyricsto vF { \tF }
  \new Staff = sG {
\new Voice = vG { \mG }
  }
  \new Lyrics = lF \lyricsto vF { \tF }

  }
  }% (5)
% (4)

  }   % (3)
  }% (2)
% (1)

Here, in my opinion, the pairs (1) and (2) include the same area and are 
redundant. Only the inner ones are necessary. Likewise (3), (4) and (5) 
are redundant and only the inner ones are necessary. But maybe this is 
wrong reasoning, so please tell me.


But again, many many thanks for your clear instructions.

Kaj

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


Re: Help notating a particular bar

2015-05-23 Thread Noeck
Hi Nick,

for the dynamics you could simply do something like this (is not
considered in midi output, though):

{
  a1_\markup { \halign #-0.3 \line { \dynamic  f — \dynamic f } }
}

Cheers,
Joram

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