Re: Grand Advanced Stylesheet Project (GASP)

2015-01-18 Thread Martin Tarenskeen



On Mon, 19 Jan 2015, Urs Liska wrote:


Am 18.01.2015 um 20:42 schrieb Kieren MacMillan:

 My idea is that we have a basic set of stylesheets for the main types of
 scores — e.g., piano solo, organ solo, instrumental solo/part, choir, full
 score, etc. — which can be \include-d by the user to give a truly
 beautiful default appearance right out of the box.


There could be a hierarchy of different building blocks, and the actual 
include file would pick from them what it needs and optionally add more items 
to the stylesheet.


I like the ideas of such stylesheets. Would also be great to use when 
integrated in the Frescobaldi templates.


But before needing all kinds of includes for different kinds of scores: 
I think there is still enough room for improvement for the raw default 
LilyPond output - without needing extra include files.


--

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


Re: Grand Advanced Stylesheet Project (GASP)

2015-01-18 Thread Mike Kilmer
Speaking as a newbie, I also love this idea, as I’m understanding it. I had 
been surprised not to find a template for the “lead sheets” I’ve been making.


On Jan 18, 2015, at 6:59 PM, Tom Cloyd tomcloydm...@gmail.com wrote:

 I have to say that I like this idea a LOT. Like Urs' suggestion too. Seems 
 like this should just be a part of the package - kind of an adjunct to the 
 exceptional documentation that has always been a part of Lily.
 
 Tom
 (classic guitar)
 
 On Sun, Jan 18, 2015 at 4:58 PM, Tom Cloyd tomcloydm...@gmail.com wrote:
 I have to say that I like this idea a LOT. Like Urs' suggestion too. Seems 
 like this should just be a part of the package - kind of an adjunct to the 
 exceptional documentation that has always been a part of Lily.
 
 Tom
 (classic guitar)
 
 On Sun, Jan 18, 2015 at 3:05 PM, Urs Liska u...@openlilylib.org wrote:
 
 Am 18.01.2015 um 20:42 schrieb Kieren MacMillan:
 Hello all!
 
 I recently sent a post about my choral piece, and had to *not* use my choral 
 stylesheet. Seeing what the default output looks like lit a fire under my 
 butt to get a stylesheet project going ASAP — I haven’t really seen a default 
 Lilypond score (as opposed to tiny snippets) in at least two years, and had 
 honestly forgotten how unelegant it looks.
 
 My idea is that we have a basic set of stylesheets for the main types of 
 scores — e.g., piano solo, organ solo, instrumental solo/part, choir, full 
 score, etc. — which can be \include-d by the user to give a truly beautiful 
 default appearance right out of the box.
 
 By way of an example, my choral_octavo stylesheet results in the attached 
 screenshot (which shows the top ½ of the first score page of my setting of 
 “When You Are Old and Grey”). To my eye, that is significantly superior to 
 the default output.
 
 I realise that a lot of the final, fine-detail decisions would be subjective… 
 But I offer that there would be many benefits to including with the standard 
 distribution a well-crafted (e.g., with default fonts, better spacing 
 parameters, better titling options and layout, etc.) hierarchical collection 
 of default stylesheets that individuals could call with a simple (e.g.)
 
  \stylesheet “choral_octavo”
 
 and then extend (e.g., incorporating non-standard fonts, etc.) as 
 needed/desired.
 
 Would anyone be interested in working on this with me?
 
 I definitely am.
 However, I'm not sure if integrating it into LilyPond itself is necessarily 
 the right direction. Maybe having it as a semi-official library would be more 
 manageable?
 
 A suggestion regarding the interface: how about
 
 \include stylesheets/choral/octavo.ily
 
 There could be a hierarchy of different building blocks, and the actual 
 include file would pick from them what it needs and optionally add more items 
 to the stylesheet.
 
 Urs
 
 
 All the best,
 Kieren.
 ___
 
 Kieren MacMillan, composer
 www:  http://www.kierenmacmillan.info
 email:  i...@kierenmacmillan.info
 ___
 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
 
 
 
 -- 
 ~
 
 Love is the only force which can make things one without destroying them. … 
 Some day, after mastering the winds, the waves, the tides and gravity, we 
 shall harness.. the energies of love, and then, for the second time in the 
 history of the world, man will have discovered fire. ~ Pierre Teilhard de 
 Chardin
 
 ~
 Tom Cloyd, MS MA LMHC (WA)
 Psychotherapist (therapist, training, research)
 Spokane, Washington, U.S.A: (435) 272-3332
  t...@tomcloyd.com  (email)
  TomCloyd.com  (website)
 ~
 
 
 
 -- 
 ~
 
 Love is the only force which can make things one without destroying them. … 
 Some day, after mastering the winds, the waves, the tides and gravity, we 
 shall harness.. the energies of love, and then, for the second time in the 
 history of the world, man will have discovered fire. ~ Pierre Teilhard de 
 Chardin
 
 ~
 Tom Cloyd, MS MA LMHC (WA)
 Psychotherapist (therapist, training, research)
 Spokane, Washington, U.S.A: (435) 272-3332
  t...@tomcloyd.com  (email)
  TomCloyd.com  (website)
 ~
 ___
 lilypond-user mailing list
 lilypond-user@gnu.org
 https://lists.gnu.org/mailman/listinfo/lilypond-user

___
lilypond-user mailing list
lilypond-user@gnu.org

Re: instrumentSwitch and addInstrumentDefinition use

2015-01-18 Thread Kieren MacMillan
Hi Keith,

Thanks for adding the issue to the tracker — it’s a great starting place.

 You have to admit that this does (accidentally) make it sound a bit like you 
 are looking for a convenient way to write music with no regard for the 
 instrument.

Not at all. I inhabit [at least] three roles in the creation of my works 
(especially my musical theatre works): composer, arranger, and engraver. As 
Composer-Kieren writes the music — with the desired instrument in mind [!!!] — 
Arranger-Kieren is mapping those instruments to players in the pit. Meanwhile, 
Engraver-Kieren is waiting with baited breath to see how difficult it will be 
to output the score and parts.  ;)

Consider the West Side Story” wind parts, for example:
  Reed I = Piccolo, Flute, Alto Saxophone, Clarinet in Bb, Bass Clarinet
  Reed II = Clarinet in Eb, Clarinet in Bb, Bass Clarinet
  Reed III = Piccolo, Flute, Oboe, English Horn, Tenor Saxophone, Baritone 
Saxophone, Clarinet in Bb, Bass Clarinet
  Reed IV = Piccolo, Flute, Soprano Saxophone, Bass Saxophone, Clarinet in Bb, 
Bass Clarinet
  Reed V: Bassoon

More to the point:
  Clarinet in Bb is played by Reeds I, II, III and IV
  Bass Clarinet is played by Reeds I, II, III and IV
  Piccolo is played by Reeds I, III, and IV
  Flute is played by Reeds I, III, and IV

I wouldn’t dare suggest that Leonard Bernstein (and Sid Ramin, etc.) originally 
composed and/or orchestrated “West Side Story with no regard for the 
instrument, would you?! As any working composer/arranger/orchestrator will tell 
you, the more likely scenario is that Berstein composed the music exactly as he 
heard in his head — instruments and all — and the parts got divided up as best 
suited the logistics of the players in a pit orchestra.

 I do see, though, that the convenience also makes it easier to make drafts 
 and see how the fingerings work out on alto flute or C flute, whether it is 
 easier to switch instruments a few measures earlier, etc.

I can honestly say that such concerns as fingerings *never* cross my mind. (I 
actually don’t know enough about the technical requirements/issues of each 
instrument to think that way!) I simply compose music for the instrument which 
has the timbre I want to hear at that moment — it’s up to the player(s) to work 
out the technical issues, in my opinion.

 I think the best way needs no music functions, just variables to set up the 
 instrument-switches.

Yes!!! That would seem to be the best way, IMO.

 If you type in concert pitch

…which I *always* do… (I have literally never entered “written”, i.e., 
transposed, notes into Lilypond.)

 you can apply a \transpose to written-pitch directly to the input notes.

Hmmm… I’ll have to look at this more closely and get back to you. It still 
seems too convoluted to be the most elegant solution.

 This does have the variable reedPlayer storing written pitches, where we 
 recommend storing concert pitches

I would much rather code in concert pitches.

 You can think primarily in concert pitch, run \new Staff \reedPlayer through 
 Lilypond to see how the fingerings work out, and move \switchClarinet and the 
 \transpose {...} around as needed to make the arrangement work out.

Again, my instrument-switching decisions are never based on such things — 
they’re always based on timbral considerations.

Still, I think I must be missing something fundamental… It really seems to me 
that \addInstrumentDefinition already has [almost?] everything we need: the 
shortInstrumentName is there, the clef is there (in case a change is needed), 
the cue name is there, the transposition is there, etc.

So what is stopping us from making something very similar to the OP’s original 
code Do The Right Thing™?

%%

\version 2.19.15
\language english

\addInstrumentDefinition #cl Bflat
#`(
(instrumentTransposition . ,(ly:make-pitch 0 0 -200))
(shortInstrumentName . Cl. in Bb)
(clefGlyph . clefs.G)
(middleCPosition . -6)
(clefPosition . -2)
(instrumentCueName . ,(make-bold-markup Cl. in Bb))
(midiInstrument . clarinet)
)

\addInstrumentDefinition #piccolo
#`(
(instrumentTransposition . ,(ly:make-pitch 1 0 0))
(shortInstrumentName . Picc.)
(clefGlyph . clefs.G)
(middleCPosition . -13)
(clefPosition . 2)
(instrumentCueName . ,(make-bold-markup Picc))
(midiInstrument . flute)
)

global = {
  \key d \major
  s1*2
}

%%% This is how I want to code the concert pitches:
wind_notes = {
  \instrumentSwitch “piccolo”
  d'4 e' fs' g'   | 
  \instrumentSwitch cl Bflat
  d'4 e' fs' g'   | 
}

\score {
  \new Staff  \global \wind_notes 
}

%%

There is a problem with the above [concert-pitch] snippet: Lilypond thows an 
error [warning: No such instrument: “piccolo”], even though it shouldn’t, 
intuitively. Why is that?

The big problem, of course, is when we want to output a **transposed part**. 
How can we generate the transposed part — complete with key signature change — 
with minimal effort on the part of the coder (= Engraver-Kieren)?

In a 

Re: instrumentSwitch and addInstrumentDefinition use

2015-01-18 Thread Paul Scott
On Mon, Jan 12, 2015 at 07:29:39AM -0500, Kieren MacMillan wrote:
 Hi Keith,
 
  I guess you enter the notes in concert pitch, then ?
 
 Yes — I can’t imagine entering it any other way and maintaining my sanity.  :)

I certainly understand that as being the most common need.  However I am not a 
composer.  I am in 
the position of either adapting an existing book for younger players who may 
not be able to play 
all the instruments in a book or fixing my own book so the page turns are 
better maybe because of 
cuts.  
.  
Sometimes I am just creating parts and maybe scores from existing hard to read 
parts.

I usually want to just get music that already exists into the computer.  Even 
though my transposition 
skills are fine it's safer to enter the music directly as written.
 
  Do you use the \quoteDuring mechanism (as below) or Jan-Peter's 
  auto-transposing engraver to 
  generate the engraved pitches for each instrument?

I often use \quoteDuring for parts of what I do avoid entering a doubled 
passage more than once..

So I am saying that I would like any new features for instrument switching to 
suit my need to 
not always enter the notes in concert pitch.  I don't really think that be a 
problem.

Paul

 Neither. I simply use \transpose.
 (I was planning to look at Jan-Peter’s engraver, but haven’t yet had the 
 time.)
 Your snippet is quite helpful and hint-ful — I’m going to see if I can twist 
 it to my needs.
 
 Thanks!
 Kieren.
 ___


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


Re: Grand Advanced Stylesheet Project (GASP)

2015-01-18 Thread Kieren MacMillan
Hi Urs (et al.),

 Maybe having it as a semi-official library would be more manageable?

Sure… whatever works best!

 A suggestion regarding the interface: how about
\include stylesheets/choral/octavo.ily”

Okay.

 There could be a hierarchy of different building blocks, and the actual 
 include file would pick from them what it needs and optionally add more items 
 to the stylesheet.

Hmmm… I’d need to see it in action to see if that could really Do The Right 
Thing™. Let’s say we want the following choral stylesheets: octavo, letter in 
portrait orientation, and letter in landscape orientation. What’s the 
hierarchy, and how does the stylesheet put it all together? Then, when I want 
to make a stylesheet that mimics (e.g.) Barenreiter's octavo choral scores, how 
does that work?

Obviously, this is related to my (our) Henle-Beethoven stylesheet discussions 
from last year. We’d want the library to include piano solo stylesheets for 
letter in both portrait and landscape orientations, and concert (9x12) in both 
orientations. Then if we wanted to extend to a Henle house style, and narrow 
that to “Henle piano folios ca. 1950” (with Abraham’s awesome new font, of 
course!), how does that work?

Looking forward to making this a reality!

Thanks,
Kieren.
___

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


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


Re: Grand Advanced Stylesheet Project (GASP)

2015-01-18 Thread Henning Hraban Ramm

Am 2015-01-19 um 09:44 schrieb Kieren MacMillan kieren_macmil...@sympatico.ca:

 Hi all,
 
 I had been surprised not to find a template for the “lead sheets” I’ve been 
 making.
 
 Yes!
 
 Let’s start making a list of the “big picture” targets:
piano solo
instrument solo/part
orchestra score
choir, a cappella
choir plus piano
piano + voice, art song
piano + voice + guitar chords, popular
chamber score (2-4 players)
piano chamber score with cue staves
pipe organ solo
lead sheet
 
 Other obvious ones?

I most often use lead sheet (one or two voices, lyrics and guitar chords, more 
stanzas below) or the same for choir (i.e. 4 voices, guitar chords, additional 
stanzas).

I also prepared a template for rounds - while they fit easily into a general 
lead sheet for printing, they need a bit more work for multi-voice MIDI output. 
But I didn’t use it often enough to be content with it yet.

I can provide my templates and include file, they serve me rather well, but I 
don’t think they will fit some majority, and are a mixture of different kinds 
of settings that you’ll better decouple:
- spacing
- fonts
- header
- hide everything that I don’t need/like (no indent of first line, no measure 
numbering, no page numbers)
- chord display (e.g. lowercase letters for minor chords, no symbol for maj7)
- MIDI setup (instrument, volume, stereo settings)
- shortcuts for some common tweaks (e.g. chords in braces, smaller or cross 
note heads...)

My templates contain a lot of commented lines with commands/tweaks that I 
sometimes use, so that I don’t need to look them up again. That might fit 
templates in Frescobaldi, but isn’t suitable for stylesheets that you just 
include without looking at them.


Greetlings, Hraban
---
fiëé visuëlle
Henning Hraban Ramm
http://www.fiee.net
http://angerweit.tikon.ch/lieder/
https://www.cacert.org (I'm an assurer)





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


Re: Grand Advanced Stylesheet Project (GASP)

2015-01-18 Thread Christopher R. Maden
On 01/18/2015 09:44 PM, Kieren MacMillan wrote:
 Other obvious ones?

Melody + chords (tunes, e.g. Irish or old-timey)
Instrument + piano (accompanied instrument solo)

~crism
-- 
Chris Maden, text nerd  URL: http://crism.maden.org/ 
Surround hate and force it to surrender.
GnuPG fingerprint: DB08 CF6C 2583 7F55 3BE9  A210 4A51 DBAC 5C5C 3D5E

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


Re: Grand Advanced Stylesheet Project (GASP)

2015-01-18 Thread Johan Vromans
On Sun, 18 Jan 2015 22:44:29 -0500
Kieren MacMillan kieren_macmil...@sympatico.ca wrote:

 Other obvious ones?

choir (4 voices) + guitar chords (names)

I have a set of templates that I currently use for this.
I can define the melodies, and one or more lyrics for each melody. All is
automatically combined into the final score depending on what is defined and
wht not.

Also automatically added is a metronome track (midi only) based on the
chords.

It is definitely not perfect, but works for me.

-- Johan

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


Re: Grand Advanced Stylesheet Project (GASP)

2015-01-18 Thread Kieren MacMillan
Hi all,

 I had been surprised not to find a template for the “lead sheets” I’ve been 
 making.

Yes!

Let’s start making a list of the “big picture” targets:
piano solo
instrument solo/part
orchestra score
choir, a cappella
choir plus piano
piano + voice, art song
piano + voice + guitar chords, popular
chamber score (2-4 players)
piano chamber score with cue staves
pipe organ solo
lead sheet

Other obvious ones?

Thanks,
Kieren.
___

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


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


Re: Grand Advanced Stylesheet Project (GASP)

2015-01-18 Thread Jay Anderson
On Sun, Jan 18, 2015 at 8:44 PM, Kieren MacMillan
kieren_macmil...@sympatico.ca wrote:
 Let’s start making a list of the “big picture” targets:
 piano solo
 instrument solo/part
 orchestra score
 choir, a cappella
 choir plus piano
 piano + voice, art song
 piano + voice + guitar chords, popular
 chamber score (2-4 players)
 piano chamber score with cue staves
 pipe organ solo
 lead sheet

 Other obvious ones?

- solo instrument + solo instrument (solo part is cue staff)

I assume the goal is mostly for setting sensible defaults for a
specific type of score and less about building the structure. So you'd
still need to manually build the scores and staves. Correct?

-Jay

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


Re: Command Line call to LilyPond with PDF auto open

2015-01-18 Thread Johan Vromans
On Sat, 17 Jan 2015 22:58:53 -0800
Matthew James Briggs matthew.james.bri...@gmail.com wrote:

 Oops this is actually superfluous because the preview app on Mac OS X
 updates with any changes as soon as I click on it, so just leaving the pdf
 open when compiling works no problem.

So do many viewers on other platforms. E.g., evince on Linix.


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


Re: Grand Advanced Stylesheet Project (GASP)

2015-01-18 Thread Tom Cloyd
I have to say that I like this idea a LOT. Like Urs' suggestion too. Seems
like this should just be a part of the package - kind of an adjunct to
the exceptional documentation that has always been a part of Lily.

Tom
(classic guitar)

On Sun, Jan 18, 2015 at 4:58 PM, Tom Cloyd tomcloydm...@gmail.com wrote:

 I have to say that I like this idea a LOT. Like Urs' suggestion too. Seems
 like this should just be a part of the package - kind of an adjunct to
 the exceptional documentation that has always been a part of Lily.

 Tom
 (classic guitar)

 On Sun, Jan 18, 2015 at 3:05 PM, Urs Liska u...@openlilylib.org wrote:


 Am 18.01.2015 um 20:42 schrieb Kieren MacMillan:

 Hello all!

 I recently sent a post about my choral piece, and had to *not* use my
 choral stylesheet. Seeing what the default output looks like lit a fire
 under my butt to get a stylesheet project going ASAP — I haven’t really
 seen a default Lilypond score (as opposed to tiny snippets) in at least two
 years, and had honestly forgotten how unelegant it looks.

 My idea is that we have a basic set of stylesheets for the main types of
 scores — e.g., piano solo, organ solo, instrumental solo/part, choir, full
 score, etc. — which can be \include-d by the user to give a truly beautiful
 default appearance right out of the box.

 By way of an example, my choral_octavo stylesheet results in the
 attached screenshot (which shows the top ½ of the first score page of my
 setting of “When You Are Old and Grey”). To my eye, that is significantly
 superior to the default output.

 I realise that a lot of the final, fine-detail decisions would be
 subjective… But I offer that there would be many benefits to including with
 the standard distribution a well-crafted (e.g., with default fonts, better
 spacing parameters, better titling options and layout, etc.) hierarchical
 collection of default stylesheets that individuals could call with a simple
 (e.g.)

  \stylesheet “choral_octavo”

 and then extend (e.g., incorporating non-standard fonts, etc.) as
 needed/desired.

 Would anyone be interested in working on this with me?


 I definitely am.
 However, I'm not sure if integrating it into LilyPond itself is
 necessarily the right direction. Maybe having it as a semi-official library
 would be more manageable?

 A suggestion regarding the interface: how about

 \include stylesheets/choral/octavo.ily

 There could be a hierarchy of different building blocks, and the actual
 include file would pick from them what it needs and optionally add more
 items to the stylesheet.

 Urs


 All the best,
 Kieren.
 ___

 Kieren MacMillan, composer
 www:  http://www.kierenmacmillan.info
 email:  i...@kierenmacmillan.info
 ___
 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




 --
 ~

 Love is the only force which can make things one without destroying them.
 … Some day, after mastering the winds, the waves, the tides and gravity, we
 shall harness.. the energies of love, and then, for the second time in the
 history of the world, man will have discovered fire. ~ Pierre Teilhard de
 Chardin

 ~
 Tom Cloyd, MS MA LMHC (WA)
 Psychotherapist (therapist, training, research)
 Spokane, Washington, U.S.A: (435) 272-3332
  t...@tomcloyd.com  (email)
  TomCloyd.com  (website)
 ~




-- 
~

Love is the only force which can make things one without destroying them.
… Some day, after mastering the winds, the waves, the tides and gravity, we
shall harness.. the energies of love, and then, for the second time in the
history of the world, man will have discovered fire. ~ Pierre Teilhard de
Chardin

~
Tom Cloyd, MS MA LMHC (WA)
Psychotherapist (therapist, training, research)
Spokane, Washington, U.S.A: (435) 272-3332
 t...@tomcloyd.com  (email)
 TomCloyd.com  (website)
~
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: box around notes

2015-01-18 Thread David Nalesnik
Hi Klaus,

On Sat, Jan 17, 2015 at 9:54 AM, Klaus Blum benbigno...@gmx.de wrote:

  Hi David,

 one more big THANK YOU for your fast reply.


You're very welcome!


 Yes, it was very helpful.
 I have updated music-boxer-stencil so that it works again with the
 boxEngraver. Finally I did some cleanup to my messy code in make-box.d).


Looks great!  I like how you fixed the boundaries of the fill---looks much
better.

I've streamlined two of the variable definitions in music-boxer-stencil.  I
think you will also find it very helpful if you use line breaks and
indentation to clarify the structure of if-expressions and such.  As I was
looking at this, I went ahead and changed the formatting to help me follow
the code.  See attached excerpt.

Hope this helps!

David
#(define (make-box thick padding filled fill-color open-on-left open-on-right xext yext)
   (let* ((xext (interval-widen xext padding))
  (yext (interval-widen yext padding)))
 (ly:stencil-add
  (if filled
  (ly:make-stencil (list 'color fill-color
 (list 'round-filled-box
   (- (- (car xext) thick)) (+ (cdr xext) thick)
   (- (car yext)) (cdr yext)
   0.0)
 xext yext))
  empty-stencil)
  (if ( thick 0)
  (make-filled-box-stencil
   (cons (- (car xext) thick) (+ (cdr xext) thick))
   (cons (- (car yext) thick) (car yext)))
  empty-stencil)
  (if ( thick 0)
  (make-filled-box-stencil
   (cons (- (car xext) thick) (+ (cdr xext) thick))
   (cons (cdr yext) (+ (cdr yext) thick)))
  empty-stencil)
  (if (and (not open-on-right) ( thick 0))
  (make-filled-box-stencil
   (cons (cdr xext) (+ (cdr xext) thick))
   yext)
  empty-stencil)
  (if (and (not open-on-left) ( thick 0))
  (make-filled-box-stencil
   (cons (- (car xext) thick) (car xext))
   yext)
  empty-stencil)
  )))

#(define (music-boxer-stencil grob)
   (let* ((elts (ly:grob-object grob 'elements))
  (refp-X (ly:grob-common-refpoint-of-array grob elts X))
  (X-ext (ly:relative-group-extent elts refp-X X))
  (refp-Y (ly:grob-common-refpoint-of-array grob elts Y))
  (Y-ext (ly:relative-group-extent elts refp-Y Y))
  (padding (ly:grob-property grob 'padding 0.3))
  (thick (ly:grob-property grob 'thickness 0.1))
  (filled (ly:grob-property grob 'filled #f))
  (fill-color (ly:grob-property grob 'fill-color grey))
  (offset (ly:grob-relative-coordinate grob refp-X X))
  ; (left-bound  (ly:spanner-bound grob LEFT))
  ; (right-bound (ly:spanner-bound grob RIGHT))
  ; (break-dir-L (ly:item-break-dir left-bound))
  ; (break-dir-R (ly:item-break-dir right-bound))
  ; (open-on-left  (if (=  1 break-dir-L) #t #f))
  ; (open-on-right (if (= -1 break-dir-R) #t #f))
  (open-on-left
   (and (ly:spanner? grob)
(= 1 (ly:item-break-dir (ly:spanner-bound grob LEFT)
  ; (open-on-left 
  ; (if (ly:spanner? grob)
  ; (if (=  1 (ly:item-break-dir (ly:spanner-bound grob LEFT)))
  ;#t #f)
  ;  #f))
  (open-on-right
   (and (ly:spanner? grob)
(= -1 (ly:item-break-dir (ly:spanner-bound grob RIGHT)
  ;(open-on-right
  ;(if (ly:spanner? grob)
  ;   (if (= -1 (ly:item-break-dir (ly:spanner-bound grob RIGHT)))
  ;  #t #f)
  ; #f))
  (stil (make-box thick padding filled fill-color
  open-on-left open-on-right X-ext Y-ext))
  )
 (ly:stencil-translate-axis stil (- offset) X)
 )
   )___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Order of contexts over staves

2015-01-18 Thread Phil Holmes
I'm setting some music with temporary staves, and ensuring the the 
temporary staff is above the main staff using 

\new Staff \with { alignAboveContext = #label}

I'm also using a dynamics context, which is created with 

\new Dynamics  \with { alignAboveContext = label } 

The problem is that the dynamics appear above the ossia stave, rather than 
the main one.  Is there any way to change the order they appear on, on the 
page?

Thanks.


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


Re: Command Line call to LilyPond with PDF auto open

2015-01-18 Thread Conor Cook
Thank you!  I will look into that.

I do actually use Frescobaldi for LP, now that I think of it.  It's really only 
a problem for LaTeX and Gregorio, for me, I guess.  Still, I will look into it.



 On Jan 18, 2015, at 6:50 AM, Kevin Barry barr...@gmail.com wrote:
 
 
 On Sun, Jan 18, 2015 at 12:47 PM, Conor Cook conor.p.c...@gmail.com wrote:
 Is there a way on Windows to do so?
 Neither my program, Foxit, or the built-in allows that.
 
 Sumatrapdf is an auto-updating pdf reader for windows. Maybe take a look at 
 that.
 
 Or use frescobaldi!
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: best practice(s) for divisi choral works

2015-01-18 Thread Kieren MacMillan
Hi all,

Following up on this thread from December…

Attached is an example containing the choral parts from the first verse of my 
“Wither’s Carol”. (If you’re interested, you can find more information on the 
piece, including a recording, at http://kierenmacmillan.info/withers-carol/.)

My goal is to design a mechanism/structure which gives the engraver-user 
“complete flexibility” when it comes to the final layout (e.g., the octavo 
layout will almost certainly be quite different from the full score layout, 
viz-a-viz breaks and thus system content).

If you look at the score, you’ll see that the absolute minimum Staff+Lyric 
requirements are:
1 Staff + 1 Lyrics (below for SATB) for mm. 1-8;
2 Staff + 2 Lyrics (one between for SAT, one below for B) for mm. 9-12;
2 Staff + 4 Lyrics (above and below upper for S and A, above and below 
lower for T and B) for mm. 13-15;
1 Staff + 1 Lyrics (below for SATB) for mm. 16-17.

Of course, they can all be expressed using 4 Staff + 4 Lyrics — and mm 13-15 
probably *should* be expressed that way (since the “minimum” might be 
unnecessarily confusing). However, I want to structure the Lilypond code such 
that I can *choose* — or, better yet, let Lilypond choose — which setup to use, 
based on spacing needs, line and page breaks, etc. The setup should support 
markups (a la \partcombine) and end-of-system arrows to indicate 
splitting/combining, and so on.

My first instinct is to break the shared content into a variable (only if 
absolutely necessary), use \addQuote etc. to populate the other parts, and use 
\showStaff and \letStaffVanish to indicate where 2 and/or 4 staves are 
absolutely necessary. But I also know there are new DivisibleStaff mechanisms 
(which I have not looked into in depth yet) that may be useful.

I think the best solution may be of wider interest, so I would like to 
brainstorm this little example with anyone who is interested in doing so, with 
an eye to releasing a “Best Practice” example once we’re done.

Thanks,
Kieren.
___

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



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


Printing titles at a consistent size

2015-01-18 Thread David Sumbler
My current project is a quartet.  The score and each of the 4 parts are
in separate \book blocks.

I have #(set-global-staff-size 16) before the score \book, and
#(set-global-staff-size 20) before the first of the 4 part \book blocks
which follow.

Today I turned my attention to formatting the titles etc. which come at
the top the first page of each book.  Because I did not find the default
layout very satisfactory, I decided to rewrite 'bookTitleMarkup' (using
the default in titling-init.ly as a starting point), and my version is
now included in a global /paper block before any of the /book blocks.

Of course, I then realized that the different staff sizes between the
score and parts affects the titles also.  I was able to restore the
titles in the score to the size I want by adding '\fontsize #2' to each
of the title items.  So far so good.

However, after a lot of experimenting I have not found a way to increase
the baseline-skip value just for the titles in the score.

Perhaps someone can tell me how to achieve this.

But is there perhaps a better way of getting the titles to appear the
same size in the score and parts, despite the different staff sizes in
the music that follows the titles?

David


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


Re: Command Line call to LilyPond with PDF auto open

2015-01-18 Thread Kevin Barry
On Sun, Jan 18, 2015 at 12:47 PM, Conor Cook conor.p.c...@gmail.com wrote:

 Is there a way on Windows to do so?
 Neither my program, Foxit, or the built-in allows that.


Sumatrapdf is an auto-updating pdf reader for windows. Maybe take a look at
that.

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


Re: Command Line call to LilyPond with PDF auto open

2015-01-18 Thread Conor Cook
Is there a way on Windows to do so?  
Neither my program, Foxit, or the built-in allows that.


 On Jan 18, 2015, at 2:01 AM, Johan Vromans jvrom...@squirrel.nl wrote:
 
 On Sat, 17 Jan 2015 22:58:53 -0800
 Matthew James Briggs matthew.james.bri...@gmail.com wrote:
 
 Oops this is actually superfluous because the preview app on Mac OS X
 updates with any changes as soon as I click on it, so just leaving the pdf
 open when compiling works no problem.
 
 So do many viewers on other platforms. E.g., evince on Linix.
 
 
 

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


Re: Command Line call to LilyPond with PDF auto open

2015-01-18 Thread Hans Aberg

 On 18 Jan 2015, at 07:54, Matthew James Briggs 
 matthew.james.bri...@gmail.com wrote:
 
 When calling LilyPond from the command line (I'm on Mac OS X) like this
 
 exec /Applications/LilyPond.app/Contents/Resources/bin/lilypond pathtomy.ly
 
 is there a flag to tell the program to open the compiled PDF when it's 
 finished like the GUI program does?

I use a script ‘lilypond' in the PATH containing:
  exec /Applications/LilyPond.app/Contents/Resources/bin/lilypond $@“

Then run from the command line:
  lilypond name.ly  open name.pdf

In the past, Preview has not updated properly, but it can be useful anyhow, to 
get the document front.



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


Grand Advanced Stylesheet Project (GASP)

2015-01-18 Thread Kieren MacMillan
Hello all!

I recently sent a post about my choral piece, and had to *not* use my choral 
stylesheet. Seeing what the default output looks like lit a fire under my butt 
to get a stylesheet project going ASAP — I haven’t really seen a default 
Lilypond score (as opposed to tiny snippets) in at least two years, and had 
honestly forgotten how unelegant it looks.

My idea is that we have a basic set of stylesheets for the main types of scores 
— e.g., piano solo, organ solo, instrumental solo/part, choir, full score, etc. 
— which can be \include-d by the user to give a truly beautiful default 
appearance right out of the box.

By way of an example, my choral_octavo stylesheet results in the attached 
screenshot (which shows the top ½ of the first score page of my setting of 
“When You Are Old and Grey”). To my eye, that is significantly superior to the 
default output.

I realise that a lot of the final, fine-detail decisions would be subjective… 
But I offer that there would be many benefits to including with the standard 
distribution a well-crafted (e.g., with default fonts, better spacing 
parameters, better titling options and layout, etc.) hierarchical collection of 
default stylesheets that individuals could call with a simple (e.g.)

\stylesheet “choral_octavo”

and then extend (e.g., incorporating non-standard fonts, etc.) as 
needed/desired.

Would anyone be interested in working on this with me?

All the best,
Kieren.
___

Kieren MacMillan, composer
www:  http://www.kierenmacmillan.info
email:  i...@kierenmacmillan.info
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Is cross voice parenthesis arpeggios possible?

2015-01-18 Thread Urs Liska

Am 18.01.2015 um 19:08 schrieb Thomas Morley:

2015-01-18 18:31 GMT+01:00 Samuel DA MOTA da.mota@gmail.com:

Hi,

On the following documentation, it explains how to create arpeggios
across notes in different voices.
http://lilypond.org/doc/v2.19/Documentation/notation/expressive-marks-as-lines#arpeggio

I tried to tweak the example to get parenthesis arpeggios across
voices, with no success.

Can anyone help me?
--
Samuel DA MOTA




Do you mean?:


\version 2.19.15

staffArpeggioParenthesis = {
   \override Staff.Arpeggio.stencil = #ly:arpeggio::brew-chord-slur
   \override Staff.Arpeggio.X-extent = #ly:grob::stencil-width
   \revert Staff.Arpeggio.dash-definition
}

\new Staff
   \with {
 \consists Span_arpeggio_engraver
   }
   \relative c' {
 \set Staff.connectArpeggios = ##t
 \staffArpeggioParenthesis
 
   \new Voice { \voiceOne e' g4\arpeggio d f d f2\arpeggio }
   \new Voice { \voiceTwo d, f2\arpeggio g b2\arpeggio }
 
   }


The predefined arpeggioParenthesis is made for Bottom-context.
Simply add the correct context to the definition.


Hm.
How should anyone know this or find this out?
From the referenced page from the NR it clearly looks like arpeggios 
are exclusively styled using the predefined commands, so when that 
doesn't help it's hard to see that it is possible at all.


If you already know that predefined commands are actually shorthands for 
overriding grob properties you may think about following the link See 
also: Internals reference to

http://lilypond.org/doc/v2.19/Documentation/internals/arpeggio
On this page you would have to realize that

 stencil (stencil):

ly:arpeggio::print

The symbol to print.

is the property you are looking for, which is far from self-evident IMO 
(I would actually expect some property setting a 'style or whatever).


And even if you'd already know that overriding the stencil might be what 
you're looking for, how would you know what to use to override it with? 
Where is ly:arpeggio::brew-chord-slur documented? In any case nowhere 
you'd reach it on that track.


I would consider following the link arpeggio-interface to
http://lilypond.org/doc/v2.19/Documentation/internals/arpeggio_002dinterface
but there is absolutely nothing that helps.

Apart from the current example of someone looking for an 
arpeggioParenthesis this once more shows how difficult it is to get 
one's way through the documentation.


In short: this leads to asking on lilypond-user to be the most promising 
approach. Usually you'll get an answer here but I think there should be 
ways to make all this information easier to retrieve. Unfortunately I 
don't have a clue how one could do that ...


Urs




HTH,
   Harm

___
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


Re: Is cross voice parenthesis arpeggios possible?

2015-01-18 Thread Samuel DA MOTA
Exactly,

That's perfect. Thanks!
Might be worth to add this example to the documentation, or at the
very least to the LSR.
What do you think?

Regards,
-- 
Sam

On 18/01/2015, Thomas Morley thomasmorle...@gmail.com wrote:
 2015-01-18 18:31 GMT+01:00 Samuel DA MOTA da.mota@gmail.com:
 Hi,

 On the following documentation, it explains how to create arpeggios
 across notes in different voices.
 http://lilypond.org/doc/v2.19/Documentation/notation/expressive-marks-as-lines#arpeggio

 I tried to tweak the example to get parenthesis arpeggios across
 voices, with no success.

 Can anyone help me?
 --
 Samuel DA MOTA



 Do you mean?:


 \version 2.19.15

 staffArpeggioParenthesis = {
   \override Staff.Arpeggio.stencil = #ly:arpeggio::brew-chord-slur
   \override Staff.Arpeggio.X-extent = #ly:grob::stencil-width
   \revert Staff.Arpeggio.dash-definition
 }

 \new Staff
   \with {
 \consists Span_arpeggio_engraver
   }
   \relative c' {
 \set Staff.connectArpeggios = ##t
 \staffArpeggioParenthesis
 
   \new Voice { \voiceOne e' g4\arpeggio d f d f2\arpeggio }
   \new Voice { \voiceTwo d, f2\arpeggio g b2\arpeggio }
 
   }


 The predefined arpeggioParenthesis is made for Bottom-context.
 Simply add the correct context to the definition.


 HTH,
   Harm



-- 
Samuel DA MOTA

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


Re: Printing titles at a consistent size

2015-01-18 Thread Kieren MacMillan
Hi David,

 But is there perhaps a better way of getting the titles to appear the
 same size in the score and parts, despite the different staff sizes in
 the music that follows the titles?

\markup \abs-fontsize …

is your friend.  =)

Hope this helps!
Kieren.
___

Kieren MacMillan, composer
www:  http://www.kierenmacmillan.info
email:  i...@kierenmacmillan.info
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Printing titles at a consistent size

2015-01-18 Thread David Sumbler
On Sun, 2015-01-18 at 11:25 -0500, Kieren MacMillan wrote:
 Hi David,
 
  But is there perhaps a better way of getting the titles to appear the
  same size in the score and parts, despite the different staff sizes in
  the music that follows the titles?
 
 \markup \abs-fontsize …
 
 is your friend.  =)
 
 Hope this helps!
 Kieren.

This seems a promising idea, and I was cross with myself that I had not
spotted \abs-fontsize for myself.

But now that I have tried it, I am getting a bizarre result: the titles
in the score are as specified in my version of bookTitleMarkup; but
although the parts have the correct font-sizes, both vertical spacing of
the lines and horizontal spacing of individual letters is abnormal, and
is in proportion to the staff-size set.  Try as I might, I can't work
out why this is happening.

The basic structure I have, missing out everything that appears to be
irrelevant, is this:

\version 2.18.0 

%'include' file containing definition of myBookTitleMarkup

titleStr = Title
subtitleStr = Subtitle 

\paper {
  bookTitleMarkup = \myBookTitleMarkup
}

#(set-global-staff-size 16)

\book {
  \bookOutputName score
  \header {
title= \titleStr
subtitle = \subtitleStr
  } 
  \score  { }
  \layout { }
}

#(set-global-staff-size 20)

\book {
  \bookOutputName part1
  \header {
title= \titleStr
subtitle = \subtitleStr
  } 
  \score  { }
  \layout { }
}

%(Other parts follow)


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


Is cross voice parenthesis arpeggios possible?

2015-01-18 Thread Samuel DA MOTA
Hi,

On the following documentation, it explains how to create arpeggios
across notes in different voices.
http://lilypond.org/doc/v2.19/Documentation/notation/expressive-marks-as-lines#arpeggio

I tried to tweak the example to get parenthesis arpeggios across
voices, with no success.

Can anyone help me?
-- 
Samuel DA MOTA

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


Re: Printing titles at a consistent size

2015-01-18 Thread Kieren MacMillan
Hi David,

 I am getting a bizarre result: the titles
 in the score are as specified in my version of bookTitleMarkup; but
 although the parts have the correct font-sizes, both vertical spacing of
 the lines and horizontal spacing of individual letters is abnormal, and
 is in proportion to the staff-size set.

I don’t think (though am not 100% positive) that you can use both

#(set-global-staff-size 16)

and

#(set-global-staff-size 20)

in the same file, and expect it to behave rationally.

n.b. I have different files entirely for my score and parts, because they 
almost always have such drastically different geometries, spacing parameters, 
etc.

Cheers,
Kieren.
___

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


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


Re: Is cross voice parenthesis arpeggios possible?

2015-01-18 Thread Thomas Morley
2015-01-18 18:31 GMT+01:00 Samuel DA MOTA da.mota@gmail.com:
 Hi,

 On the following documentation, it explains how to create arpeggios
 across notes in different voices.
 http://lilypond.org/doc/v2.19/Documentation/notation/expressive-marks-as-lines#arpeggio

 I tried to tweak the example to get parenthesis arpeggios across
 voices, with no success.

 Can anyone help me?
 --
 Samuel DA MOTA



Do you mean?:


\version 2.19.15

staffArpeggioParenthesis = {
  \override Staff.Arpeggio.stencil = #ly:arpeggio::brew-chord-slur
  \override Staff.Arpeggio.X-extent = #ly:grob::stencil-width
  \revert Staff.Arpeggio.dash-definition
}

\new Staff
  \with {
\consists Span_arpeggio_engraver
  }
  \relative c' {
\set Staff.connectArpeggios = ##t
\staffArpeggioParenthesis

  \new Voice { \voiceOne e' g4\arpeggio d f d f2\arpeggio }
  \new Voice { \voiceTwo d, f2\arpeggio g b2\arpeggio }

  }


The predefined arpeggioParenthesis is made for Bottom-context.
Simply add the correct context to the definition.


HTH,
  Harm

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


Re: Printing titles at a consistent size

2015-01-18 Thread Noeck
Hi,

if I am not mistaken, there was some discussion and a solution how to get the
line space consistent for different settings of the staff space within the
discussion about a new Mutopia tagline.

Unfortunately, I can not find it anymore. But I think it involved having a zero
baseline-skip:
\override #'(baseline-skip . 0 )
Perhaps, some keywords in this mail could help to find some more hints.

HTH,
Joram

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


Re: Grand Advanced Stylesheet Project (GASP)

2015-01-18 Thread Urs Liska


Am 18.01.2015 um 20:42 schrieb Kieren MacMillan:

Hello all!

I recently sent a post about my choral piece, and had to *not* use my choral 
stylesheet. Seeing what the default output looks like lit a fire under my butt 
to get a stylesheet project going ASAP — I haven’t really seen a default 
Lilypond score (as opposed to tiny snippets) in at least two years, and had 
honestly forgotten how unelegant it looks.

My idea is that we have a basic set of stylesheets for the main types of scores 
— e.g., piano solo, organ solo, instrumental solo/part, choir, full score, etc. 
— which can be \include-d by the user to give a truly beautiful default 
appearance right out of the box.

By way of an example, my choral_octavo stylesheet results in the attached 
screenshot (which shows the top ½ of the first score page of my setting of 
“When You Are Old and Grey”). To my eye, that is significantly superior to the 
default output.

I realise that a lot of the final, fine-detail decisions would be subjective… 
But I offer that there would be many benefits to including with the standard 
distribution a well-crafted (e.g., with default fonts, better spacing 
parameters, better titling options and layout, etc.) hierarchical collection of 
default stylesheets that individuals could call with a simple (e.g.)

 \stylesheet “choral_octavo”

and then extend (e.g., incorporating non-standard fonts, etc.) as 
needed/desired.

Would anyone be interested in working on this with me?


I definitely am.
However, I'm not sure if integrating it into LilyPond itself is 
necessarily the right direction. Maybe having it as a semi-official 
library would be more manageable?


A suggestion regarding the interface: how about

\include stylesheets/choral/octavo.ily

There could be a hierarchy of different building blocks, and the actual 
include file would pick from them what it needs and optionally add more 
items to the stylesheet.


Urs



All the best,
Kieren.
___

Kieren MacMillan, composer
www:  http://www.kierenmacmillan.info
email:  i...@kierenmacmillan.info
___
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: Order of contexts over staves

2015-01-18 Thread Keith OHara
Phil Holmes writes:

  I'm setting some music with temporary staves, and ensuring the the
  temporary staff is above the main staff using
 
  \new Staff \with { alignAboveContext = #label}
 
  I'm also using a dynamics context, which is created with
 
  \new Dynamics  \with { alignAboveContext = label }
 
  The problem is that the dynamics appear above the ossia stave, rather 
than
  the main one.  Is there any way to change the order they appear on, on 
the
  page?

I see what you are thinking, and I see what LilyPond is thinking.

The Dynamics context starts before the ossia, but has only spacers in it
until the ossia Staff starts.

LilyPond put the Dynamics above the main Staff, then later put the
ossia Staff just above the main Staff, squeezing under the Dynamics.

You could 
  \new Staff \with {alignAboveContext = dn } ...
  \new Dynamics = dn ...




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


Re: Is cross voice parenthesis arpeggios possible?

2015-01-18 Thread Thomas Morley
2015-01-18 19:35 GMT+01:00 Urs Liska u...@openlilylib.org:
 Am 18.01.2015 um 19:08 schrieb Thomas Morley:

 2015-01-18 18:31 GMT+01:00 Samuel DA MOTA da.mota@gmail.com:

 Hi,

 On the following documentation, it explains how to create arpeggios
 across notes in different voices.

 http://lilypond.org/doc/v2.19/Documentation/notation/expressive-marks-as-lines#arpeggio

 I tried to tweak the example to get parenthesis arpeggios across
 voices, with no success.

 Can anyone help me?
 --
 Samuel DA MOTA

 Do you mean?: [...]

 The predefined arpeggioParenthesis is made for Bottom-context.
 Simply add the correct context to the definition.


 Hm.
 How should anyone know this or find this out?
 From the referenced page from the NR it clearly looks like arpeggios are
 exclusively styled using the predefined commands, so when that doesn't help
 it's hard to see that it is possible at all.

 If you already know that predefined commands are actually shorthands for
 overriding grob properties you may think about following the link See also:
 Internals reference to
 http://lilypond.org/doc/v2.19/Documentation/internals/arpeggio
 On this page you would have to realize that

  stencil (stencil):

 ly:arpeggio::print

 The symbol to print.

 is the property you are looking for, which is far from self-evident IMO (I
 would actually expect some property setting a 'style or whatever).

 And even if you'd already know that overriding the stencil might be what
 you're looking for, how would you know what to use to override it with?
 Where is ly:arpeggio::brew-chord-slur documented? In any case nowhere you'd
 reach it on that track.

 I would consider following the link arpeggio-interface to
 http://lilypond.org/doc/v2.19/Documentation/internals/arpeggio_002dinterface
 but there is absolutely nothing that helps.

 Apart from the current example of someone looking for an arpeggioParenthesis
 this once more shows how difficult it is to get one's way through the
 documentation.

 In short: this leads to asking on lilypond-user to be the most promising
 approach. Usually you'll get an answer here but I think there should be ways
 to make all this information easier to retrieve. Unfortunately I don't have
 a clue how one could do that ...

 Urs

Hi Urs,

best solution would be to have an easy to understand and easy to
document input-code.
Something like \shape:

[-]\shape displacements item (from NR)
Where 'item' is some kind of curve.
(When people struggle with \shape then because of the 'displacements',
not for 'item')

I tried to find something like that for 'arpeggioParenthesis' with the
possibility to specify the context, but let it default to 'Bottom.

I'm ashamed I couldn't figure how to use a function with an optional
argument for it.

Best I found is:

#(define* (parenthesized-arpeggio #:optional (ctx Bottom))
  #{
\override #ctx . Arpeggio.stencil = #ly:arpeggio::brew-chord-slur
\override #ctx . Arpeggio.X-extent = #ly:grob::stencil-width
\revert #ctx . Arpeggio.dash-definition
  #})

But it seems it isn't possible to use it like:
\parenthesized-arpeggio Staff
(like a music-function)

@David K, any chance to make it work?


You can use it with the following syntax, though:
$(parenthesized-arpeggio)
or
$(parenthesized-arpeggio Staff)
etc

Using it with cross-Staff-Arpeggios in PianoStaff will require an
additional _manual_ override for 'X-extent, though.
The default-procedure, 'ly:grob::stencil-width' returns a warning and
bad output.
A bug?

Cheers,
  Harm

Full code and examples:

\version 2.19.15

#(define* (parenthesized-arpeggio #:optional (ctx Bottom))
  #{
\override #ctx . Arpeggio.stencil = #ly:arpeggio::brew-chord-slur
\override #ctx . Arpeggio.X-extent = #ly:grob::stencil-width
\revert #ctx . Arpeggio.dash-definition
  #})


\relative c'' {
  $(parenthesized-arpeggio)
  g b d g4\arpeggio
  g b d g4\arpeggio
  g b d g4\arpeggio
}

\new Staff
  \with {
\consists Span_arpeggio_engraver
  }
  \relative c'' {
\set Staff.connectArpeggios = ##t

  \new Voice {
\voiceOne
g b d g4\arpeggio
g b d g4\arpeggio
$(parenthesized-arpeggio Staff)
g b d g4\arpeggio
  }
  \new Voice {
\voiceTwo
g,4\arpeggio
g4\arpeggio
g4\arpeggio
  }

  }

\new PianoStaff
  \relative c'' {
\set PianoStaff.connectArpeggios = ##t

  \new Staff {
g b d g4\arpeggio
g b d g4\arpeggio
$(parenthesized-arpeggio PianoStaff)
%% X-extent has to be set manual,
%% using 'ly:grob::stencil-width' will return a warning and
%% not convincing output
\override PianoStaff.Arpeggio.X-extent = #'(-1 . 0)
g b d g4\arpeggio
  }
  \new Staff {
g,4\arpeggio
g4\arpeggio

Re: Grand Advanced Stylesheet Project (GASP)

2015-01-18 Thread Ralph Palmer
On Sun, Jan 18, 2015 at 2:42 PM, Kieren MacMillan 
kieren_macmil...@sympatico.ca wrote:

 Hello all!

 I recently sent a post about my choral piece, and had to *not* use my
 choral stylesheet. Seeing what the default output looks like lit a fire
 under my butt to get a stylesheet project going ASAP — I haven’t really
 seen a default Lilypond score (as opposed to tiny snippets) in at least two
 years, and had honestly forgotten how unelegant it looks.

 My idea is that we have a basic set of stylesheets for the main types of
 scores — e.g., piano solo, organ solo, instrumental solo/part, choir, full
 score, etc. — which can be \include-d by the user to give a truly beautiful
 default appearance right out of the box.



 Would anyone be interested in working on this with me?

 All the best,
 Kieren.


Hi, Kieren - Wonderful idea. Although my time and expertise are quite
limited, I would like to help. I would also like to see a piano/solo
instrument stylesheet (template?) and an updated string quartet stylesheet.

What can I do?

All the best,

Ralph

-- 
Ralph Palmer
Brattleboro, VT
USA
palmer.r.vio...@gmail.com
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Is cross voice parenthesis arpeggios possible?

2015-01-18 Thread David Kastrup
Thomas Morley thomasmorle...@gmail.com writes:

 I'm ashamed I couldn't figure how to use a function with an optional
 argument for it.

 Best I found is:

 #(define* (parenthesized-arpeggio #:optional (ctx Bottom))
   #{
 \override #ctx . Arpeggio.stencil = #ly:arpeggio::brew-chord-slur
 \override #ctx . Arpeggio.X-extent = #ly:grob::stencil-width
 \revert #ctx . Arpeggio.dash-definition
   #})

 But it seems it isn't possible to use it like:
 \parenthesized-arpeggio Staff
 (like a music-function)

 @David K, any chance to make it work?

The normal optional argument definition style will work just fine.  The
problem is that with the optional argument coming _last_, you cannot
omit it implicitly.

You then have to write \parenthesized-arpeggio \default

which is not really much of a saving as compared to spelling Bottom
out.

-- 
David Kastrup

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


Re: Order of contexts over staves

2015-01-18 Thread Pierre Perol-Schneider
Hi again,

How about :

\version 2.19.15

myOssia = \relative c' {
  R1*2
  
\new Staff
\with { alignAboveContext = #essai \magnifyStaff #5/7 }
{ c4 c c c }
  R1
  
  R1*5
}

myMusic = \relative c' {
  c1 c c c c c c c
}

myDynamics = {
  s1\f s s\p s\f s
  \break
  s s\p s\pp
}

\score {
  
\new Staff = essai \myOssia
\new Staff = label \myMusic
\new Dynamics \with {  alignAboveContext = #label } \myDynamics
  
  \layout {
\context {
  \Score
  \override VerticalAxisGroup.remove-first = ##t
  %\override SystemStartBar.collapse-height = #1
}
\context {
  \Staff \RemoveEmptyStaves
}
  }
}

See attached png
Cheers,
Pierre
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Order of contexts over staves

2015-01-18 Thread Trevor Daniels

Phil Holmes wrote Sunday, January 18, 2015 8:29 PM


 - Original Message - 
 From: Phil Holmes m...@philholmes.net
 To: lilypond-user@gnu.org
 Sent: Sunday, January 18, 2015 3:11 PM
 Subject: Order of contexts over staves
 
 
 I'm setting some music with temporary staves, and ensuring the the
 temporary staff is above the main staff using

 \new Staff \with { alignAboveContext = #label}

 I'm also using a dynamics context, which is created with

 \new Dynamics  \with { alignAboveContext = label }

 The problem is that the dynamics appear above the ossia stave, rather than
 the main one.  Is there any way to change the order they appear on, on the
 page?

 Thanks.
 
 Trevor has requested an example to help look into this.  This is fairly 
 minimal:
 
[snip minimal example]

 The attached image shows the proble of the dynamic being over the ossia, 
 rather than the permanent stave.

Thanks Phil,

It really is so much more tempting to investigate the question when there is 
a ready-made minimal example to get one started ;)  Three replies already!

Well, in the end Keith beat me to it, with both the explanation and the way to
fix the issue.

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


Re: Printing titles at a consistent size

2015-01-18 Thread Thomas Morley
2015-01-18 22:38 GMT+01:00 David Sumbler da...@aeolia.co.uk:
 On Sun, 2015-01-18 at 12:40 -0500, Kieren MacMillan wrote:
 Hi David,

  I am getting a bizarre result: the titles
  in the score are as specified in my version of bookTitleMarkup; but
  although the parts have the correct font-sizes, both vertical spacing of
  the lines and horizontal spacing of individual letters is abnormal, and
  is in proportion to the staff-size set.

 I don’t think (though am not 100% positive) that you can use both

 #(set-global-staff-size 16)

 and

 #(set-global-staff-size 20)

 in the same file, and expect it to behave rationally.

 n.b. I have different files entirely for my score and parts, because they 
 almost always have such drastically different geometries, spacing 
 parameters, etc.

 Well, it certainly doesn't seem to behave rationally!  I have tried all
 sorts of permutations and positioning of set-global-staff-size and
 bookTitleMarkup, and nothing I have tried works as I wish.

 This seems strange, because the Notation Reference says To set the
 staff size globally for all scores in a file (or in a book block, to be
 precise), use set-global-staff-size.  This seems to imply that
 different global-staff-sizes can be used for different book blocks.

 This seemed to work perfectly: I found that set-global-staff-size only
 seems to work outside a book block, so I placed it immediately before
 the start of the relevant books.  And, until I started started trying to
 sort the titles out, it seemed to do exactly what I wanted it to.

 Since the problem with the titles arose, I have also tried using
 layout-set-staff-size and changing the font size of the music.  But this
 still leaves the spacing of the staves unchanged as well as the
 font-size of text marks.

 It seems perfectly normal to me to want smaller staves for the score and
 larger ones for the parts that actually have to be read by players, yet
 to have the titles appearing the same on both.  Is there really no
 straightforward way of achieving this in Lilypond?

 (I'm sure I never used to have this kind of difficulty in my days of
 using Score!)

 David



Hi David,

you would increase your chance for an early and meaningful answer, if
you'd post a minimal and _compilable_ code-example.

I tested putting #(set-global-staff-size ...) into different books in
the same file. It worked as documented in the NR up to 2.14.2
(although a warning was printed), 2.16 and above return strange
things.
Congratulations, you discovered a new bug (at least a quick glance on
the tracker offered no matching issue)

Nevertheless, I'd not use 'set-global-staff-size anyway.
With 2.19.15 you could use \magnifyStaff
or
http://lsr.di.unimi.it/LSR/Item?u=1id=862
may of some help as well

-Harm

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


Re: Is cross voice parenthesis arpeggios possible?

2015-01-18 Thread Thomas Morley
2015-01-18 23:11 GMT+01:00 David Kastrup d...@gnu.org:
 Thomas Morley thomasmorle...@gmail.com writes:

 I'm ashamed I couldn't figure how to use a function with an optional
 argument for it.

 Best I found is:

 #(define* (parenthesized-arpeggio #:optional (ctx Bottom))
   #{
 \override #ctx . Arpeggio.stencil = #ly:arpeggio::brew-chord-slur
 \override #ctx . Arpeggio.X-extent = #ly:grob::stencil-width
 \revert #ctx . Arpeggio.dash-definition
   #})

 But it seems it isn't possible to use it like:
 \parenthesized-arpeggio Staff
 (like a music-function)

 @David K, any chance to make it work?

 The normal optional argument definition style will work just fine.  The
 problem is that with the optional argument coming _last_, you cannot
 omit it implicitly.

 You then have to write \parenthesized-arpeggio \default

 which is not really much of a saving as compared to spelling Bottom
 out.

 --
 David Kastrup

Thanks for the explanations!
I have to admit that I had forgotten about these limitation totally.


Cheers,
  Harm

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


Re: Order of contexts over staves

2015-01-18 Thread Phil Holmes
- Original Message - 
From: Phil Holmes m...@philholmes.net

To: lilypond-user@gnu.org
Sent: Sunday, January 18, 2015 3:11 PM
Subject: Order of contexts over staves



I'm setting some music with temporary staves, and ensuring the the
temporary staff is above the main staff using

\new Staff \with { alignAboveContext = #label}

I'm also using a dynamics context, which is created with

\new Dynamics  \with { alignAboveContext = label }

The problem is that the dynamics appear above the ossia stave, rather than
the main one.  Is there any way to change the order they appear on, on the
page?

Thanks.


Trevor has requested an example to help look into this.  This is fairly 
minimal:


{
 \new Staff = label
 
   \new Voice {  \repeat unfold 4 c''4
   
 {
  R1 r2 r4 c''4
 }
 {
 \new Staff \with {
   \remove Time_signature_engraver
   alignAboveContext = #label
   \override StaffSymbol #'staff-space = #(magstep -3)
   fontSize = #-2
 }
 
   \new Voice {
 r2 a'2 \repeat unfold 3 a'4 r4
   }
 
 }
   
   \repeat unfold 4 c''4
   }
 \new Dynamics  \with { alignAboveContext = label }
 {
s1 s1 s2 s4 s4 \ff s1
 }
 
}

The attached image shows the proble of the dynamic being over the ossia, 
rather than the permanent stave.


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


Re: Order of contexts over staves

2015-01-18 Thread Pierre Perol-Schneider
Hi Phil, Hi Trevor,

If that helps here are other trials I was working on.
Noting found yet though.

\version 2.19.15

myOssia =  \relative c' { c4 c c c }

myMusic = \relative c' {
  c1 c
  
\new Staff \with {
  \magnifyStaff #5/7
  alignAboveContext = #label
}
\new Voice = ossia \with {
  \remove Dynamic_engraver
  \remove Dynamic_align_engraver
}\myOssia
c
  
  c c c c c c
}

myDynamics = {
  % here's a very bad workaround:
  %\override DynamicText.extra-offset = #'(0 . -8.5)
  s1\f s s\p s\f s
  \break
  s s\p s\pp
}

\score {
  \new GrandStaff 
\new Dynamics \myDynamics
\new Staff = label \myMusic
  
  \layout {
\context {
  \Dynamics
  alignBelowContext = #ossia
}
  }
}


\markup\vspace #5

myOssiaBis = \relative c' {
  s1*2
  
\new Voice \with {
  \remove Dynamic_engraver
  \remove Dynamic_align_engraver
  \magnifyStaff #5/7
}
c
  
  s1*7
}

myMusicBis = \relative c' {
  c1 c c c c c c c
}

myDynamicsBis = {
  s1\f s s\p s\f s
  \break
  s s\p s\pp
}

\score {
  
\new Devnull = ossia \myOssiaBis
\new GrandStaff = label 
\new Staff \myMusicBis
\new Dynamics \myDynamicsBis

  
  \layout {
\context {
  \Devnull
  alignAboveContext = #label
}
\context {
  \Dynamics
  %alignBelowContext = #ossia
  alignAboveContext = #label
}
  }
}

Cheers,
Pierre

2015-01-18 21:29 GMT+01:00 Phil Holmes m...@philholmes.net:

 - Original Message - From: Phil Holmes m...@philholmes.net
 To: lilypond-user@gnu.org
 Sent: Sunday, January 18, 2015 3:11 PM
 Subject: Order of contexts over staves


  I'm setting some music with temporary staves, and ensuring the the
 temporary staff is above the main staff using

 \new Staff \with { alignAboveContext = #label}

 I'm also using a dynamics context, which is created with

 \new Dynamics  \with { alignAboveContext = label }

 The problem is that the dynamics appear above the ossia stave, rather than
 the main one.  Is there any way to change the order they appear on, on the
 page?

 Thanks.


 Trevor has requested an example to help look into this.  This is fairly
 minimal:

 {
  \new Staff = label
  
\new Voice {  \repeat unfold 4 c''4

  {
   R1 r2 r4 c''4
  }
  {
  \new Staff \with {
\remove Time_signature_engraver
alignAboveContext = #label
\override StaffSymbol #'staff-space = #(magstep -3)
fontSize = #-2
  }
  
\new Voice {
  r2 a'2 \repeat unfold 3 a'4 r4
}
  
  }

\repeat unfold 4 c''4
}
  \new Dynamics  \with { alignAboveContext = label }
  {
 s1 s1 s2 s4 s4 \ff s1
  }
  
 }

 The attached image shows the proble of the dynamic being over the ossia,
 rather than the permanent stave.

 --
 Phil Holmes
 ___
 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: instrumentSwitch and addInstrumentDefinition use

2015-01-18 Thread Keith OHara

On Tue, 13 Jan 2015 05:54:48 -0800, Kieren MacMillan 
kieren_macmil...@sympatico.ca wrote:


I understand that in realistic cases you probably have the notes in one 
variable and options for arrangements in another parallel sequence
 flute_notes = {c'2 c''  }
 arrangementB = {s1*4 \prep_alto_flute s1*4 \switch_alto_flute s1*8 }
and it is not so convenient to break flute_notes into segments for the 
individual \transpose{}s.


Correct on both counts.
(n.b. I *do* break flute_notes up when absolutely necessary… but I definitely 
wouldn’t call it “convenient”.)


You have to admit that this does (accidentally) make it sound a bit like you 
are looking for a convenient way to write music with no regard for the 
instrument.

I do see, though, that the convenience also makes it easier to make drafts and 
see how the fingerings work out on alto flute or C flute, whether it is easier 
to switch instruments a few measures earlier, etc.

I tried to make a concrete enhancement request
http://code.google.com/p/lilypond/issues/detail?id=4264


Well, if the notes are right there, and you can put them in {},
 \instrument_alto_flute { ... }  \instrument_tenor_sax { ... }
then we (including the braver non-programmers among us) can write music 
functions to set up for the new instrument and transposes the stuff in {} using 
the usual LilyPond commands.


Is that the best way?


I think the best way needs no music functions, just variables to set up the 
instrument-switches.  If you type in concert pitch you can apply a \transpose 
to written-pitch directly to the input notes.

prepClarinet = { \set Staff.shortInstrumentName=Clar
   ^\markup\italic\center-align pick up clarinet }
switchClarinet = { ^\markup\boldClarinet
\once\set Staff.whichBar = ||
\transpositionUpdateKey bes }

reedPlayer = \transpose c c' {
 c4 d e f
\prepClarinet
 R1
\switchClarinet
\transpose bes c' {
 c4 d e f
} }

This does have the variable reedPlayer storing written pitches, where we recommend 
storing concert pitches in the manual, but that causes no problem once we learn to use 
\tranposition bes .  For example \addQuote reed \reedPlayer supplies 
cue-notes that will be printed in concert pitch for, say, the violin player to time his 
entry.

I happen to like to include \key changes with the notes, so I would have a \key 
after the \switchClarinet, but you might prefer to have \transpositionUpdateKey 
generate that.

You can think primarily in concert pitch, run \new Staff \reedPlayer through 
Lilypond to see how the fingerings work out, and move \switchClarinet and the 
\transpose {...} around as needed to make the arrangement work out.



The instrumentSwitch mechanism we had before seemed less convenient than the 
way you wrote your \play_alto above, and it did not handle the transpositions 
which is the tricky bit.


Yes… After Han-Wen had completed the sponsored programming (back in 2006, I 
believe), I came to that sad realization.



We can't blame your sponsorship for this one.
You reported that LilyPond stopped noticing \set Staff.instrumentName during 
the music
http://lists.gnu.org/archive/html/lilypond-devel/2006-06/msg00277.html
and, while fixing that, the programmers added the unnecessary instrumentSwitch 
package.


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


Re: Printing titles at a consistent size

2015-01-18 Thread David Sumbler
On Sun, 2015-01-18 at 12:40 -0500, Kieren MacMillan wrote:
 Hi David,
 
  I am getting a bizarre result: the titles
  in the score are as specified in my version of bookTitleMarkup; but
  although the parts have the correct font-sizes, both vertical spacing of
  the lines and horizontal spacing of individual letters is abnormal, and
  is in proportion to the staff-size set.
 
 I don’t think (though am not 100% positive) that you can use both
 
 #(set-global-staff-size 16)
 
 and
 
 #(set-global-staff-size 20)
 
 in the same file, and expect it to behave rationally.
 
 n.b. I have different files entirely for my score and parts, because they 
 almost always have such drastically different geometries, spacing parameters, 
 etc.

Well, it certainly doesn't seem to behave rationally!  I have tried all
sorts of permutations and positioning of set-global-staff-size and
bookTitleMarkup, and nothing I have tried works as I wish.

This seems strange, because the Notation Reference says To set the
staff size globally for all scores in a file (or in a book block, to be
precise), use set-global-staff-size.  This seems to imply that
different global-staff-sizes can be used for different book blocks.

This seemed to work perfectly: I found that set-global-staff-size only
seems to work outside a book block, so I placed it immediately before
the start of the relevant books.  And, until I started started trying to
sort the titles out, it seemed to do exactly what I wanted it to.

Since the problem with the titles arose, I have also tried using
layout-set-staff-size and changing the font size of the music.  But this
still leaves the spacing of the staves unchanged as well as the
font-size of text marks.

It seems perfectly normal to me to want smaller staves for the score and
larger ones for the parts that actually have to be read by players, yet
to have the titles appearing the same on both.  Is there really no
straightforward way of achieving this in Lilypond?

(I'm sure I never used to have this kind of difficulty in my days of
using Score!)

David


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