Re: Big space between piece name and top of chords

2015-01-04 Thread Thomas Morley
2015-01-04 9:25 GMT+01:00 Pierre Abbat p...@leaf.dragonflybsd.org:
 This was working in version 2.10. I ran it through the converter and got some
 errors, like unexpected header; it turned out that the header has to be at
 the end of the score block. That fixed, it's outputting a big space between
 אדון עולם and the top of the chords. I fiddled with it (not really, the bow
 needs rehairing) and figured out:
 *The space is in the second score, but it's proportional to the number of
 verses in the first score.
 *It doesn't matter whether the first score is in Spanish or Hebrew; the space
 is in the second score.
 *Adding stanza numbers makes no difference, so I took them out.
 Any idea how to fix it? I'm using 2.16.2 on Ubuntu Trusty Tahr.

 Pierre



Hi Pierre,

looks like Issue 3642
Fixed_2_17_30
Please upgrade to 2.18.
If it's not in your distribution do it manually, it's achild's play.

Cheers,
  Harm

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


Re: Big space between piece name and top of chords

2015-01-04 Thread Pierre Abbat
On Sunday, January 04, 2015 12:59:13 Thomas Morley wrote:
 Hi Pierre,
 
 looks like Issue 3642
 Fixed_2_17_30
 Please upgrade to 2.18.
 If it's not in your distribution do it manually, it's achild's play.

DragonFly has 2.18.2. I'm going to try it on my DragonFly box; if it works, 
I'll let Ubuntu know that the package should be fixed.

Pierre
-- 
Jews use a lunisolar calendar; Muslims use a solely lunar calendar.


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


Big space between piece name and top of chords

2015-01-04 Thread Pierre Abbat
This was working in version 2.10. I ran it through the converter and got some 
errors, like unexpected header; it turned out that the header has to be at 
the end of the score block. That fixed, it's outputting a big space between 
אדון עולם and the top of the chords. I fiddled with it (not really, the bow 
needs rehairing) and figured out:
*The space is in the second score, but it's proportional to the number of 
verses in the first score.
*It doesn't matter whether the first score is in Spanish or Hebrew; the space 
is in the second score.
*Adding stanza numbers makes no difference, so I took them out.
Any idea how to fix it? I'm using 2.16.2 on Ubuntu Trusty Tahr.

Pierre
-- 
loi mintu se ckaji danlu cu jmaji
\version 2.16.0
melody = {
\partial 8 d8 | g8.( fis16) g8 e8 d4. }

chord = {\chordmode {\partial 8 g8 | g4  c4g4. }}
\score {
  
  \new ChordNames 
  {\set ChordNames.chordChanges=##t
  \chordmode { \chord }}
  \new Staff {\key g \major 
  
\new Voice {\relative c' \melody }
\new Lyrics \lyricmode { E8 -- | ter4 -- no8 Se -- ñor,4. }
\new Lyrics \lyricmode { Des8 -- | pués4 de la4. }
\new Lyrics \lyricmode { El8 | ú4 -- ni8 -- co Rey,4. }
\new Lyrics \lyricmode { Mi8 | vi4 -- vo Dios,4. }
\new Lyrics \lyricmode { A8 | Él4 me doy4. }
  
  }
  
  \header {
piece=Eterno Señor
}
}
\score {

  \new ChordNames 
  {\set ChordNames.chordChanges=##t
  \chordmode { \chord }}
  \new Staff {\key g \major 
  
\new Voice {\relative c' \melody }
\new Lyrics \lyricmode { א8 -- | דון4 עו4 -- לם4. }
\new Lyrics \lyricmode { ו8 -- | א4 -- ח -- רי4.  }
\new Lyrics \lyricmode { ו8 -- | הוא4 א4 -- חד4. }
\new Lyrics \lyricmode { ו8 -- | הוא4 א -- לי4.  }
\new Lyrics \lyricmode {  8 | ב4 -- י -- דו4 }
  
  }
  
  \header {
piece=אדון עולם
}
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Big space between piece name and top of chords

2015-01-04 Thread Pierre Abbat
On Sunday, January 04, 2015 09:01:46 Pierre Abbat wrote:
 DragonFly has 2.18.2. I'm going to try it on my DragonFly box; if it works,
 I'll let Ubuntu know that the package should be fixed.

Done. https://bugs.launchpad.net/ubuntu/+source/lilypond/+bug/1295143

Pierre
-- 
Jews use a lunisolar calendar; Muslims use a solely lunar calendar.


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


grace note bug?

2015-01-04 Thread Jaime E Oliver
Hi everyone, 

I am not sure if this is a bug, or just improper use, but, when using a single 
grace note expression with two notes such as:
\slashedGrace {a'32 a32} 
I get the expected result.

But when I use two subsequent ones such as:
\slashedGrace {a'32} \slashedGrace {a32}
I get the wrong score representation. 

I am assuming it is a bug as the software should be able to parse it. While it 
seems unusual for a human to write that, it would not be uncommon in computer 
generated material. 

Below is a testing code. 

All the best,

Jaime





\relative c'' {

\time 4/4

% example 1 correct
a4 \slashedGrace {a'32 a32}
d,4  d2

% example 2 bug?
a4 \slashedGrace {a'32} \slashedGrace {a32}
d,4  d2

}

\version 2.18.2
% notes Pd External version: testing_0.01


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


RE: grace note bug?

2015-01-04 Thread Mark Stephen Mrotek
Jaime,

I am not a programmer, nor an expert on the workings of Lilypond. I speak as
an amateur musician.

\slashedGrace {a'32 a32} does not give the expected result. No slash
appears. If the command is changed to \slashedGrace {a'32} a slashed grace
appears.
A \slashedGrace is an acciaccatura (single note) without the slur.

An ornament (grace, acciaccatura, etc.) is attached to a pitch. In the
second example an ornament is attached to another ornament. I am assuming
Lilypond construes the second \slashedGrace to be the main pitch.

Mark

-Original Message-
From: lilypond-user-bounces+carsonmark=ca.rr@gnu.org
[mailto:lilypond-user-bounces+carsonmark=ca.rr@gnu.org] On Behalf Of
Jaime E Oliver
Sent: Saturday, January 03, 2015 4:02 PM
To: LilyPond Users
Subject: grace note bug?

Hi everyone, 

I am not sure if this is a bug, or just improper use, but, when using a
single grace note expression with two notes such as:
\slashedGrace {a'32 a32}
I get the expected result.

But when I use two subsequent ones such as:
\slashedGrace {a'32} \slashedGrace {a32} I get the wrong score
representation. 

I am assuming it is a bug as the software should be able to parse it. While
it seems unusual for a human to write that, it would not be uncommon in
computer generated material. 

Below is a testing code. 

All the best,

Jaime





\relative c'' {

\time 4/4

% example 1 correct
a4 \slashedGrace {a'32 a32}
d,4  d2

% example 2 bug?
a4 \slashedGrace {a'32} \slashedGrace {a32}
d,4  d2

}

\version 2.18.2
% notes Pd External version: testing_0.01


___
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: Condensing single-bar rests into a multi-measure rest

2015-01-04 Thread Urs Liska


Am 04.01.2015 um 02:13 schrieb Kieren MacMillan:

Hi Urs,


I'm not sure about that because that wasn't the problem at hand.
My problem was that I have to merge multimeasure rests that were written as e.g.

R1*4 {} R1*6

The empty expression is a music function that can return a \break (- no rest 
merging) or an empty expression.
The linked function is able to merge consecutive rests when they are of the 
same type.

As I didn't look too close into the thread you linked I don't know if my 
problem is related to yours, but I suspect it's rather something different.

My problem was

\version 2.19.15

\new Staff \with { \compressFullBarRests }
  { R1*8 } { \repeat unfold 8 {s1} } 

Keith’s \mergeSkips deals with that, but (if I understand correctly) not your 
empty-expression problem.


My function also merges skips but it fails on the \repeat construct.
So R1 R1 s1 s1 gives the attached result, but when you use \repeat 
multiple empty bars are printed.
This is because \repeat unfold is a completely different representation 
than explicitly repeated music. I think it could be included if that's 
the issue, but I assume it's over my head so far. Principally it's a 
quite simple thing (just adding another conditional and taking the 
expression apart) but I don't have experience with this.


See the attached -- now self-contained -- file for some examples.

Urs



Cheers,
Kieren.
___

Kieren MacMillan, composer
www:  http://www.kierenmacmillan.info
email:  i...@kierenmacmillan.info



\version 2.16.0

% Taken from improved version from
% http://lilypond.1069038.n5.nabble.com/new-snippet-combine-multimeasure-rests-td144688.html
% Improved by Urs Liska to also merge over empty music expressions


#(define (add-durations dur1 dur2)
   (let* ((len1 (ly:duration-length dur1))
  (len2 (ly:duration-length dur2))
  (mult (ly:moment-div (ly:moment-add len1 len2) len1)))
 (ly:make-duration (ly:duration-log dur1)
   (ly:duration-dot-count dur1)
   (* (ly:duration-scale dur1) (ly:moment-main mult)

#(define (combinable-rest? rest)
   (and (ly:music? rest)
(or (eq? 'MultiMeasureRestMusic (ly:music-property rest 'name))
(eq? 'SkipEvent (ly:music-property rest 'name)))
(null? (ly:music-property rest 'articulations

#(define (combine-rests rest1 rest2)
   ;; create one rest/skip with the sum of both lengths
   (make-music (ly:music-property rest1 'name)
 'duration (add-durations (ly:music-property rest1 'duration)
 (ly:music-property rest2 'duration))
 'articulations '()))

#(define (consolidator curr rest)
   ;; determine ir we have consecutive MultimeasureRests or skips
   (if (and (combinable-rest? curr)
(not (null? rest)))
   ;; - we have a combinable rest left and 'something' right
   (if (and (combinable-rest? (car rest))
(eq? (ly:music-property curr 'name) (ly:music-property (car rest) 'name)))
   ;; - we also have a combinable rest right and both are the same type,
   ;; recurse by first merging rests and then looking for the next item
   (consolidator (combine-rests curr (car rest))
 (cdr rest))
   ;; - right is either no combinable rest or one of different type.
   (if (or (eq? 'BarCheck (ly:music-property (car rest) 'name))
   (eq? 'Music (ly:music-property (car rest) 'name)))
   ;; - right is one of the 'skippable' types,
   ;; so recurse using left and the next one to the right
   (consolidator curr (cdr rest))
   ;; just return left followed by righ
   (cons curr rest)))
   ;; - no combinable rest to the left
   ; But what happens when rest *is* null?
   (cons curr rest)))

#(define (accumulate-result output input)
   ;; recurse over the elements of 'music', appending consolidated
   ;; items (i.e. the item or a merged rest) to 'output'
   (if (null? input)
   output
   (let ((done output)
 (curr (car input))
 (rest (cdr input)))
 (if (null? rest)
 (append done (list curr))
 (let ((prev (consolidator curr rest)))
   (accumulate-result (append done (list (car prev))) (cdr prev)))

#(define (condense music)
   ;; recurse over the music list and condense consecutive rests
   (let* ((output music)
  (elts (ly:music-property output 'elements))
  (elt (ly:music-property output 'element)))
 (if (pair? elts)
 (ly:music-set-property! output 'elements (map condense (accumulate-result '() elts
 (if (ly:music? elt)
 (ly:music-set-property! output 'element (condense elt)))
 output))

combineMMRests =
#(define-music-function (parser location music) (ly:music?)
   ;; process the 'music' argument and merge consecutive MultimeasureRests
   (condense music))

\combineMMRests {
  \compressFullBarRests
  c''1 \repeat 

Big space between piece name and top of chords

2015-01-04 Thread Pierre Abbat
This was working in version 2.10. I ran it through the converter and got some 
errors, like unexpected header; it turned out that the header has to be at 
the end of the score block. That fixed, it's outputting a big space between 
אדון עולם and the top of the chords. I fiddled with it (not really, the bow 
needs rehairing) and figured out:
*The space is in the second score, but it's proportional to the number of 
verses in the first score.
*It doesn't matter whether the first score is in Spanish or Hebrew; the space 
is in the second score.
*Adding stanza numbers makes no difference, so I took them out.
Any idea how to fix it? I'm using 2.16.2 on Ubuntu Trusty Tahr.

Pierre
-- 
loi mintu se ckaji danlu cu jmaji\version 2.16.0
melody = {
\partial 8 d8 | g8.( fis16) g8 e8 d4. }

chord = {\chordmode {\partial 8 g8 | g4  c4g4. }}
\score {
  
  \new ChordNames 
  {\set ChordNames.chordChanges=##t
  \chordmode { \chord }}
  \new Staff {\key g \major 
  
\new Voice {\relative c' \melody }
\new Lyrics \lyricmode { E8 -- | ter4 -- no8 Se -- ñor,4. }
\new Lyrics \lyricmode { Des8 -- | pués4 de la4. }
\new Lyrics \lyricmode { El8 | ú4 -- ni8 -- co Rey,4. }
\new Lyrics \lyricmode { Mi8 | vi4 -- vo Dios,4. }
\new Lyrics \lyricmode { A8 | Él4 me doy4. }
  
  }
  
  \header {
piece=Eterno Señor
}
}
\score {

  \new ChordNames 
  {\set ChordNames.chordChanges=##t
  \chordmode { \chord }}
  \new Staff {\key g \major 
  
\new Voice {\relative c' \melody }
\new Lyrics \lyricmode { א8 -- | דון4 עו4 -- לם4. }
\new Lyrics \lyricmode { ו8 -- | א4 -- ח -- רי4.  }
\new Lyrics \lyricmode { ו8 -- | הוא4 א4 -- חד4. }
\new Lyrics \lyricmode { ו8 -- | הוא4 א -- לי4.  }
\new Lyrics \lyricmode {  8 | ב4 -- י -- דו4 }
  
  }
  
  \header {
piece=אדון עולם
}
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Condensing single-bar rests into a multi-measure rest

2015-01-04 Thread Urs Liska


Am 4. Januar 2015 01:16:23 MEZ, schrieb David Sumbler da...@aeolia.co.uk:
From: Urs Liska u...@openlilylib.org
To: lilypond-user@gnu.org
Subject: Re: Condensing single-bar rests into a multi-measure rest
Date: Sat, 03 Jan 2015 18:59:17 +0100
  
Am 03.01.2015 um 18:45 schrieb David Sumbler:
 From: Urs Liska u...@openlilylib.org
 To: lilypond-user@gnu.org
 Subject: Re: Condensing single-bar rests into a multi-measure rest
 Date: Sat, 03 Jan 2015 16:45:27 +0100

 Am 03.01.2015 um 16:36 schrieb David Sumbler:
 I have now finished setting the saxophone quartet, which is the
first
 substantial multi-instrument piece I have attempted with Lilypond.

 I am very pleased with the result, and I am now at the stage of
tweaking
 the appearance of the output.

 Searching in the Lilypond documentation, one problem I have not
been
 able to find a solution to is this: in the piece there are a few
places
 where one instrument is silent for several consecutive bars.  In
the
 score these obviously appear as single bar rests, but in the
relevant
 instrumental part I should like them to appear as a multi-measure
 rest.

 The problem may be that I have used \parallelMusic for the whole
score:
 this seems an obvious way of doing things for a piece such as this
with
 a small number of instruments.  It has certainly been far easier to
find
 my way around the file than in my previous Lilypond efforts (e.g. a
 piece for flute and piano), even though they were a lot shorter
than
 this one.

 But looking at the documentation, I can only see multi-measure
rests
 appearing if they are entered as multi-measure quantities - e.g.
R1*6.
 If this is true, then the only way I can see to get the result I
want,
 would be to deconstruct my whole file and reassemble it as 4
separate
 sections, one for each instrument.  This in itself will be a
tedious
 chore, but it also means the resulting file(s) will be much less
easily
 navigable when I make further additions and modifications.

 Is there any way to get the result I want whilst still keeping the
 \parallelMusic layout?
 LilyPond by default only interprets single entities as combinable
rests
 (i.e. R1*6), while consecutive rests (e.g. R1 R1) are separated by
 \compressFullBarRests.

 I recently had the same problem and got a file from the list which I
 tweaked to work well in a quite similar case.
 You can find the file at

https://git.ursliska.de/beautifulscores/das-trunkne-lied/blob/master/library/ly/to-lilylib/combineMultimeasureRests.ily

 I'm not sure if it is really straightforward to use in other
contexts
 but I suspect you should be able to use it.
 You have to remove the conditional expression in the last function
 \combineMMRests (because that's project specific), but I expect the
file
 to work smoothly once you've done that.

 To use it include the file and surround your music by
\combineMMRests
 \yourMusic.

 HTH
 Urs
 Thanks for that.  I have tried the file, and although it does not
 produce any errors, it does not seem to change the output at all.  So
it
 may be that I am doing something wrong.  Here is what I have done.

 Firstly, the final function now reads:

 combineMMRests =
 #(define-music-function (parser location music) (ly:music?)
 (condense music)
 music)

 I'm not entirely sure I have got this right!

No, that's not right. The result of a Scheme function is the result
of 
the last expression, and that is music in your case, so you're 
returning the unaltered music argument.

I think (without testing) that

combineMMRests =
#(define-music-function (parser location music) (ly:music?)
(condense music))

should be right.


 Secondly, in the section of my main file which produces a part for a
 instrument, I have:

 \score {
  \combineMMRests {
  \myMusic
  }
  \layout {
  }
 }

 Is this correct?

That looks correct, although you don't need the curly braces around 
\myMusic in this case.

However, I don't know if parallelMusic is interfering here
additionally.

HTH
Urs

I have now corrected my version of the combineMMRests function, but
unfortunately it still leaves my output unaffected.

I can see how something like this could work - unfortunately my
understanding at this stage of Scheme and Lilypond internals is
insufficient for me to see where the problem might be or to write
something similar from scratch.

I can't see why \parallelMusic should cause a problem: presumably it
just returns exactly what the individual parts would produce if they
were not interleaved in the parallelMusic structure.

David



But you do have the \compressFullBarRests somewhere? 

Urs 
___
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: Condensing single-bar rests into a multi-measure rest

2015-01-04 Thread David Sumbler
On Sun, 2015-01-04 at 09:26 +0100, Urs Liska wrote:
 I have now corrected my version of the combineMMRests function, but
 unfortunately it still leaves my output unaffected.
 
 I can see how something like this could work - unfortunately my
 understanding at this stage of Scheme and Lilypond internals is
 insufficient for me to see where the problem might be or to write
 something similar from scratch.
 
 I can't see why \parallelMusic should cause a problem: presumably it
 just returns exactly what the individual parts would produce if they
 were not interleaved in the parallelMusic structure.
 
 David
 
 
 
 But you do have the \compressFullBarRests somewhere? 
 
 Urs 

Oops!  No, I hadn't, and now that I have included it things appear to
work perfectly.

I'm delighted to see that I can simply include \compressFullBarRests in
each individual instrument's Staff without it adversely affecting the
output of the score, which obviously needs the rests to be shown
individually (unless all instruments are 'tacet' for 2 or more bars).

Sincere thanks for all your help.

David


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


Dynamic positioning in dynamic context

2015-01-04 Thread Helge Kruse
Hello,

I have an improvement request.

The dynamic context has a lot of advantages. Most important it makes a
uniform vertical position of all dynamics in a line. Unfortunately it
doesn't behave with the horizontal spacing.

The following example starts with a spacer rest measure. The \p in the
second measure is placed as expected. But if the dynamic has more width
it collides with the bar. This doesn't happen when I add the dynamic to
the upper staff in the third measure. Here you can find a small space
between the bar and the first note (d).

Can this be improved so that the width of objects in the dynamic context
control the spacing in the staff context?


\version 2.19.15
\language deutsch

global = { \time 3/4 }
upper = \relative c' {
s2.
d4\p\( e \acciaccatura{g8} f4-\)
d4\( e \acciaccatura{g8} f4-\)
d4\ppp\\( e \acciaccatura{g8} f4-\)
s2.\! s
}
dynamic = {
  s2.
  s2.\p
  s2.\ppp\
  s2.\! s2.
}
lower = { s2. s s s }

\new PianoStaff

  \new Staff  = Staff_pfUpper  \global \upper  
  \new Dynamics = Dynamics_pf  \global \dynamic 
  \new Staff = Staff_pfLower   \global \lower 



-- 
PGP Fingerprint: EDCE F8C8 B727 6CC5 7006 05C1 BD3F EADC 8922 1F61



signature.asc
Description: OpenPGP digital signature
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Changing vertical spacing in a column

2015-01-04 Thread David Sumbler
Before the start of the first staff system, I have the name of each
instrument opposite the appropriate stave.  The names are long, so I
have arranged them vertically, e.g.:

\set Staff.instrumentName = \markup {
\center-column { Soprano Saxophone \line { in B \flat }
} 

This is fine, but I need the lines of text to be closer to each other.

The only way of doing this I can find is by altering baseline-skip, but
I am afraid that my newbiness is letting me down here: I simply cannot
work out how to change this setting.  I have tried all sorts of
permutations and varieties of syntax, but so far without success.

What is the correct syntax to change baseline-skip (and other such
variables)?

And is there a better way of altering the spacing of these lines of
text?

David


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


Re: grace note bug?

2015-01-04 Thread David Nalesnik
Hi Jaime,

On Sat, Jan 3, 2015 at 6:02 PM, Jaime E Oliver jaime.oliv...@gmail.com
wrote:

 Hi everyone,

 I am not sure if this is a bug, or just improper use, but, when using a
 single grace note expression with two notes such as:
 \slashedGrace {a'32 a32}
 I get the expected result.

 But when I use two subsequent ones such as:
 \slashedGrace {a'32} \slashedGrace {a32}
 I get the wrong score representation.


There is no support (as far as I know) for slashed grace note groups.

There is a workaround, however.  Try this:

\version 2.19.15

% A better slash snippet %%%

% The argument `ang' is the amount of slant, expressed in degrees.
%
% Stem-fraction is the distance between the point the slash crosses the stem
% and the notehead-end of the stem.  It is expressed as a number between 0
and 1.
%
% The argument `protrusion' is the extra distance the slash
% extends beyond its intersection with stem and beam

slash =
#(define-music-function (parser location ang stem-fraction protrusion)
   (number? number? number?)
   (remove-grace-property 'Voice 'Stem 'direction) ; necessary?
   #{
 \once \override Stem #'stencil =
 #(lambda (grob)
(let* ((X-parent (ly:grob-parent grob X))
   (is-rest? (ly:grob? (ly:grob-object X-parent 'rest
  (if is-rest?
  empty-stencil
  (let* ((ang (degrees-radians ang))
 ; We need the beam and its slope so that slash will
 ; extend uniformly past the stem and the beam
 (beam (ly:grob-object grob 'beam))
 (beam-X-pos (ly:grob-property beam 'X-positions))
 (beam-Y-pos (ly:grob-property beam 'positions))
 (beam-slope (/ (- (cdr beam-Y-pos) (car beam-Y-pos))
   (- (cdr beam-X-pos) (car beam-X-pos
 (beam-angle (atan beam-slope))
 (stem-Y-ext (ly:grob-extent grob grob Y))
 ; Stem.length is expressed in half staff-spaces
 (stem-length (/ (ly:grob-property grob 'length) 2.0))
 (dir (ly:grob-property grob 'direction))
 ; if stem points up. car represents segment of stem
 ; closest to notehead; if down, cdr does
 (stem-ref (if (= dir 1) (car stem-Y-ext) (cdr
stem-Y-ext)))
 (stem-segment (* stem-length stem-fraction))
 ; Where does slash cross the stem?
 (slash-stem-Y (+ stem-ref (* dir stem-segment)))
 ; These are values for the portion of the slash that
 ; intersects the beamed group.
 (dx (/ (- stem-length stem-segment)
   (- (tan ang) (* dir beam-slope
 (dy (* (tan ang) dx))
 ; Now, we add in the wings
 (protrusion-dx (* (cos ang) protrusion))
 (protrusion-dy (* (sin ang) protrusion))
 (x1 (- protrusion-dx))
 (y1 (- slash-stem-Y (* dir protrusion-dy)))
 (x2 (+ dx protrusion-dx))
 (y2 (+ slash-stem-Y
   (* dir (+ dy protrusion-dy
 (th (ly:staff-symbol-line-thickness grob))
 (stil (ly:stem::print grob)))

(ly:stencil-add
 stil
 (make-line-stencil th x1 y1 x2 y2))
   #})


\new Staff {
  \relative c'' {
a4
\grace {
  \slash 50 0.6 1.0 a'32 a
}
d,4 d2
  }
}


Code comes from the following discussion:
http://www.mail-archive.com/lilypond-user%40gnu.org/msg86544.html

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


Re: Changing vertical spacing in a column

2015-01-04 Thread Thomas Morley
2015-01-04 19:37 GMT+01:00 David Sumbler da...@aeolia.co.uk:
 Before the start of the first staff system, I have the name of each
 instrument opposite the appropriate stave.  The names are long, so I
 have arranged them vertically, e.g.:

 \set Staff.instrumentName = \markup {
 \center-column { Soprano Saxophone \line { in B \flat }
 }

 This is fine, but I need the lines of text to be closer to each other.

 The only way of doing this I can find is by altering baseline-skip, but
 I am afraid that my newbiness is letting me down here: I simply cannot
 work out how to change this setting.  I have tried all sorts of
 permutations and varieties of syntax, but so far without success.

 What is the correct syntax to change baseline-skip (and other such
 variables)?

 And is there a better way of altering the spacing of these lines of
 text?

 David



Som epossibilities:

\layout {
  \context {
\Staff
%% for all Staves
%% currently making baseline-skip larger
%% applied in Staff = 1
%% in Staff = 2 it's overridden by the override included in \with
\override InstrumentName.baseline-skip = #5
  }
}

instr-mrkp =
  \markup {
\center-column {
  Soprano Saxophone \line { in B \flat }
}
  }

\new Staff = 1
  \with {
instrumentName = \markup \instr-mrkp
  }
  \relative c' { c' }

\new Staff = 2
  \with {
\override InstrumentName.baseline-skip = #1.5
instrumentName = \markup \instr-mrkp
  }
  \relative c' { c' }


%% toplevel-markup-override:
\markup
  \override #'(baseline-skip . 1)
  \instr-mrkp

%% or
\markup
  \override #'(baseline-skip . 1)
  \center-column {
Soprano
Saxophone
\line { in B \flat }
  }

HTH,
  Harm

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


Re: Fixed distance between staves in all systems

2015-01-04 Thread Knute Snortum
I'm in the same position and I used

\override StaffGrouper.staff-staff-spacing.minimum-distance = #10

I'm not positive that is the best solution, but it's a start.


Knute Snortum
(via Gmail)

On Sat, Jan 3, 2015 at 3:34 PM, Javier Ruiz-Alma jav...@ruiz-alma.com
wrote:

 I'm in the process of upgrading LP code from version 2.2.0 to 2.18.

 In the following section:

 %%%- start snip
 \layout{
 \context {
  \PianoStaff
  \accepts Dynamics
  \override VerticalAlignment.forced-distance = #6
  }
  }
 %%%- end snip

 Not being familiar with such early LP version, I'm assuming the original
 typesetter set a fixed distance between the staves in each system
 throughout the piece.

 Convert-ly is unable to update this forced distance override, giving this
 warning:
 ...2.11.15, Not smart enough to convert VerticalAlignment
 #'forced-distance. Use the `alignment-
 offsets' sub-property of NonMusicalPaperColumn #'line-break-system-details
 to set fixed distances between staves. 2.11.23, 2.11.35,...

 I'm not understanding how to re-create the intended forced distance
 between each staff with the relevant section of NR, as the examples given
 involve vertical positioning of each staff within a page:

 http://www.lilypond.org/doc/v2.18/Documentation/notation/explicit-staff-and-system-positioning


 Any ideas of how to set this?

 ___
 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: Changing vertical spacing in a column

2015-01-04 Thread David Sumbler
On Sun, 2015-01-04 at 20:22 +0100, Thomas Morley wrote:
 2015-01-04 19:37 GMT+01:00 David Sumbler da...@aeolia.co.uk:
  Before the start of the first staff system, I have the name of each
  instrument opposite the appropriate stave.  The names are long, so I
  have arranged them vertically, e.g.:
 
  \set Staff.instrumentName = \markup {
  \center-column { Soprano Saxophone \line { in B \flat }
  }
 
  This is fine, but I need the lines of text to be closer to each other.
 
  The only way of doing this I can find is by altering baseline-skip, but
  I am afraid that my newbiness is letting me down here: I simply cannot
  work out how to change this setting.  I have tried all sorts of
  permutations and varieties of syntax, but so far without success.
 
  What is the correct syntax to change baseline-skip (and other such
  variables)?
 
  And is there a better way of altering the spacing of these lines of
  text?
 
  David
 
 
 
 Som epossibilities:
 
 \layout {
   \context {
 \Staff
 %% for all Staves
 %% currently making baseline-skip larger
 %% applied in Staff = 1
 %% in Staff = 2 it's overridden by the override included in \with
 \override InstrumentName.baseline-skip = #5
   }
 }
 
 instr-mrkp =
   \markup {
 \center-column {
   Soprano Saxophone \line { in B \flat }
 }
   }
 
 \new Staff = 1
   \with {
 instrumentName = \markup \instr-mrkp
   }
   \relative c' { c' }
 
 \new Staff = 2
   \with {
 \override InstrumentName.baseline-skip = #1.5
 instrumentName = \markup \instr-mrkp
   }
   \relative c' { c' }
 
 
 %% toplevel-markup-override:
 \markup
   \override #'(baseline-skip . 1)
   \instr-mrkp
 
 %% or
 \markup
   \override #'(baseline-skip . 1)
   \center-column {
 Soprano
 Saxophone
 \line { in B \flat }
   }

Thank you so much for that.  Not only has it solved the immediate
problem, but it will be very useful to me as a guide for how to alter
the values of other variables.  (It isn't always easy to find exactly
what you want in the Lilypond documentation, excellent and extensive
though it is.)

David


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


Linux Audio Conference 2015 - Call for Participation

2015-01-04 Thread Gilberto Agostinho
Hi all,

Just got this via the Pure Data mailing list, and it looks very interesting.

Best,
Gilberto

* * *

Linux Audio Conference 2015 - Call for Participation

(Due to exceptional circumstances, this announcement comes a bit late,
so please note the early deadline of Feb 1st for submissions. We
apologize.)

We are happy to announce the next issue of the Linux Audio Conference
(LAC), April 9-12, 2015 @ JGU | Johannes Gutenberg University, in
Mainz, Germany.

http://lac.linuxaudio.org/2015/

The Linux Audio Conference is an international conference that brings
together musicians, sound artists, software developers and researchers,
working with Linux as an open, stable, professional platform for audio
and media research and music production. LAC includes paper sessions,
workshops, and a diverse program of electronic music.

Call for Papers, Workshops, Music and Installations

We invite submissions of papers addressing all areas of audio processing
and media creation based on Linux and other open source software. Papers
can focus on technical, artistic and scientific issues and should target
developers or users. In our call for music, we are looking for works
that have been produced or composed entirely/mostly using Linux and
other open source music software.

The online submission of papers, workshops, music and installations is
now open at http://lac.linuxaudio.org/2015/participation

The deadline for all submissions is Feb 1st, 2015 (23:59 HAST).

You are invited to register for participation on our conference website.
There you will find up-to-date instructions, as well as important
information about dates, travel, lodging, and so on.

This year's conference is hosted by the Computer Music Research Group
(Bereich Musikinformatik) at the IKM (Institut für Kunstgeschichte und
Musikwissenschaft) of the Johannes Gutenberg University (JGU) at
Mainz. Being founded in 1991, our research group has been among the
first German academic institutions in this interdisciplinary field at
the intersection of music, mathematics, computer science and media
technology. In our media lab students are working almost exclusively
with Linux, and in our research we are also devoted to contributing to
the growing body of open source audio and computer music software.

http://www.musikwissenschaft.uni-mainz.de/Musikinformatik/

We look forward to your submissions and hope to meet you in Mainz in
April!

Sincerely,
The LAC 2015 Organizing Team



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Linux-Audio-Conference-2015-Call-for-Participation-tp170113.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: Typesetting chord symbols

2015-01-04 Thread Carl Sorensen
On 12/29/14 12:42 PM, Thomas Morley thomasmorle...@gmail.com wrote:


I'm thinking about a major revision of our chord-naming-procedures for
quite a while.
Something at the lines of:
-Don't do any formating in basic functions/definitions
-Store all data in lists
-As _last_ step write a formatter


Carl, what do you think?

I think that this makes sense.  Commingling the logical information with
the presentation is a recipe for making things hard.

I think the logical data should be stored in alists, rather than lists.  I
thought about doing this a long time ago, but I couldn't figure out what
the appropriate names for the chord elements should be.

As a starter, we could have things like the following (taken from Brandt
and Roemer):

root
mode (major or minor)?
added-bass
modifiers (maybe a list -- I.e. sharp9, flat5)
polychord
omissions
inversion? (not strictly necessary for printing a chord symbol, but
probably useful for defining a chord structure -- and  I think that the
alist should be used to define the chord structure).

Some of these things already exist in the chord data structure; we
probably ought to first augment the chord data structure to capture
everything that we think is necessary.

If we can get a good set of what defines a chord structure, then we can
build the matching data structure.  And once we have a solid data
structure, we can make custom formatters relatively easily.

Thanks,

Carl




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


Re: grace note bug?

2015-01-04 Thread Carl Sorensen


On 1/3/15 5:02 PM, Jaime E Oliver jaime.oliv...@gmail.com wrote:

Hi everyone, 

I am not sure if this is a bug, or just improper use, but, when using a
single grace note expression with two notes such as:
\slashedGrace {a'32 a32}
I get the expected result.

But when I use two subsequent ones such as:
\slashedGrace {a'32} \slashedGrace {a32}
I get the wrong score representation.

I am assuming it is a bug as the software should be able to parse it.
While it seems unusual for a human to write that, it would not be
uncommon in computer generated material.

I don't think it is a bug; I think it is a misuse of the structure of
LilyPond.  I believe that each main note gets at most a single grace
expression attached to it.

LilyPond sends a warning that there is something wrong; the warning could
probably be clearer.

I don't know why you say the software should be able to parse it.  What
does it mean to have two grace expressions attached to a single note.
What would \grace{a'}\appoggiattura{a'} c''4 mean?  Why should
\slashedGrace be any different?

Thanks,

Carl




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


Re: grace note bug?

2015-01-04 Thread Jaime E Oliver
Hi all, thanks for the responses. Indeed the slashed grace is the wrong example 
as the slashing is not supported for more than one note, which I agree is an 
oversight as it is common in contemporary music.

However if you look at it with /grace, I mean that:  

\grace {a32 a32}
should probably be the same as:
\grace {a32} \grace {a32}

The way I saw it was that two \grace expressions should render two grace notes 
in a row since I did not get a warning at all, just a weird score. 

I can adapt to this behavior of course.

Thanks again for your responses.

best,

J


On Jan 3, 2015, at 7:02 PM, Jaime E Oliver jaime.oliv...@gmail.com wrote:

 Hi everyone, 
 
 I am not sure if this is a bug, or just improper use, but, when using a 
 single grace note expression with two notes such as:
 \slashedGrace {a'32 a32} 
 I get the expected result.
 
 But when I use two subsequent ones such as:
 \slashedGrace {a'32} \slashedGrace {a32}
 I get the wrong score representation. 
 
 I am assuming it is a bug as the software should be able to parse it. While 
 it seems unusual for a human to write that, it would not be uncommon in 
 computer generated material. 
 
 Below is a testing code. 
 
 All the best,
 
 Jaime
 
 
 
 
 
 \relative c'' {
 
 \time 4/4
 
 % example 1 correct
 a4 \slashedGrace {a'32 a32}
 d,4  d2
 
 % example 2 bug?
 a4 \slashedGrace {a'32} \slashedGrace {a32}
 d,4  d2
 
 }
 
 \version 2.18.2
 % notes Pd External version: testing_0.01
 


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