Re: overhead projection of lilypond scores

2008-10-14 Thread Dmytro O. Redchuk
2008/10/13 Gerry Prosser [EMAIL PROTECTED]:
 when teaching a congregation a new worship song, it would be rather nice to
 project the melody line onto the screen as well as the words. But
 black-on-white is a projection disaster. It really needs to be yellow
 staff/text on a blue background. And probably a thicker text font than times
 new roman.  Is this achievable, please ?
A bit a joke. I'd say it's quite easy to get dark (colored) text on
light (colored) screen --
just paint a screen with some (light) color and then pick up an
appropriate color
for text.

This will work :-)

Won't work for dark screen and light text, though :-)

-- 
Dmytro O. Redchuk


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


Re: square note heads for cluster

2008-10-14 Thread Sebastian Menge
Am Mon, 13 Oct 2008 20:24:37 +0200
schrieb [EMAIL PROTECTED]:

 I need to notate some clusters using squared rhythmic note-heads,
 something along the lines of this figure:

I was recently looking for that kind of clusters too. It is really
standard in some contemporary music.

If someone knows how to do it, you could make two ppl happy :-)

Seb.


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


Re: Accidental besides trill

2008-10-14 Thread Marcos di Silva
2008/10/13 Gilles Sadowski [EMAIL PROTECTED]:
 How to put an accidental besides trill?

 Try this:

  e^\markup{\musicglyph #scripts.trill {\raise #1 \sharp}}

It works :-)

Thank you, Gilles.

Cheers,
-- 
Marcos di Silva
http://www.marcosdisilva.net/


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


Re: square note heads for cluster

2008-10-14 Thread Mark Polesky
Anders,

I recently started working on a keyboard-cluster function, but it's
a big project and I haven't gotten very far yet. I've attached a png
generated by the file included below to share some basic ideas about
my initial approach. Perhaps this will help you. I'm finding myself
able to make the clusters look however I want them to look, but I
want one all-encompassing function to apply arbitrary cluster-styles
on the fly. It's not necessarily difficult, but I want to support a
wide variety of cluster-styles, which will take me some time.

In the end, I'd have my function generate embedded-ps paths and fill
in the missing notes dynamically, but for the moment I'm applying my
cluster-styles manually (see below).

Regarding your question:
 ...is there a good list of various 'ly:' info-grabbing functions...?

Try this:
http://lilypond.org/doc/v2.11/Documentation/user/lilypond-internals/Scheme-functions#Scheme-functions

Hope this helps.
- Mark

--

\version 2.11.61-1

squareA =
#(ly:make-stencil (list 'embedded-ps
gsave
currentpoint translate
newpath
0 0.51 moveto
1 0.51 lineto
1 -0.51 lineto
0 -0.51 lineto
closepath
fill
grestore)
  (cons 0 1)
  (cons 0 0))

squareB =
#(ly:make-stencil (list 'embedded-ps
gsave
currentpoint translate
newpath
0.3 0.51 moveto
1.0125 0.51 lineto
1.0125 -0.51 lineto
0.3 -0.51 lineto
closepath
fill
grestore)
  (cons 0 1.3125)
  (cons 0 0))

\relative {
  \once \override Voice.NoteHead #'X-offset = #0
  \once \override Voice.NoteHead #'stencil = \squareA
  c d e f g a b c4

  \once \override Voice.NoteHead #'X-offset = #0
\once \override NoteHead #'stem-attachment = #'(1 . 7)
  c
\tweak #'stencil \squareB d
\tweak #'stencil \squareB e
\tweak #'stencil \squareB f
\tweak #'stencil \squareB g
\tweak #'stencil \squareB a
\tweak #'stencil \squareB b c4
}


  attachment: clusters_1.png___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: insertion of UTF-8 characters

2008-10-14 Thread Trevor Daniels

Tom

It has to be within a \markup and not in quotes.  And xc2a9 should be 00a9.

Try

   c'4^\markup { #(ly:export (ly:wide-char-utf-8 #x00a9)) }

or just

   \markup { Copyright 2008 #(ly:export (ly:wide-char-utf-8 #x00a9)) }

outside the score block to place it in text, or for the copyright line, try

   copyright = \markup { #(ly:export (ly:wide-char-utf-8 #x00a9)) 2008 }
.

Trevor

- Original Message - 
From: Tom Cloyd [EMAIL PROTECTED]

To: Lilypond lilypond-user@gnu.org
Sent: Tuesday, October 14, 2008 2:08 AM
Subject: insertion of UTF-8 characters


The documentation [/Lilypond notation reference.pdf/, “3.3.3 Text 
 encoding”, pdf p. 318.] states that UTF-8 coding is used in Ly and that 
UTF-8 hex codes can be inserted into text. An example is given, and I show 
it here using the code of interest to me - that for the Copyright sign:


#(ly:export (ly:wide-char-utf-8 #xc2a9))|

|This example has no context, and when I put it in one I cannot get it to 
work. I suggest that the documentation be modified to give one. Meanwhile, 
I need a solution to the problem of how to insert a Copyright sign into 
the copyright line. Here's what I tried:


\header {...
copyright = #(ly:export (ly:wide-char-utf-8 #xc2a9)) 2008
...

It produced this in the PDF output:

#(ly:export (ly:wide-char-utf-8 #xc2a9)) 2008

Placing the UTF code export line outside of the quotes wouldn't even 
compile.


Can anyone suggest how to do this?

Thanks!

Tom


||

--

~
Tom Cloyd, MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
 [EMAIL PROTECTED]  (email)
 TomCloyd.com  (website)  sleightmind.wordpress.com  (mental 
health weblog)

~



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





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


Re: square note heads for cluster

2008-10-14 Thread andersvi
Heres a start on a cluster-chord function.

A question someone might help answer:

When using the music-function on a chord - ie \clusterKord e g2 - it
only 'eats' the first note of the chord, and appends the second one as a
separate note if i dont 'kill it' inside the music-function.

The code below just deletes it and handles stem-lengths explicitly,
however this breaks explicit beaming and possibly other things.

Any hints?

If some lilypond-guru would bother to hint on ways to improve this it
would of course help me a lot further on.  Im just starting to work with
lilypond, and everything seems chaotic atm.  Thanks.  Anders.

attachment: cluster-shot.png

\version 2.11.57


#(define (sort-chord chord pred)
   (define (note-y music)
 (let* ((n (ly:music-property music 'element))
(p (ly:music-property music 'pitch)))
   (cond ((ly:music? n) (note-y n))
 ((ly:pitch? p) (let* ((o (ly:pitch-octave p))
   (n (ly:pitch-notename p)))
  (+ (* 7 o) n))
   (sort chord (lambda (n1 n2) (pred (note-y n1) (note-y n2)


#(define (chord-y-extent music)
   (define (note-y music)
 (let* ((n (ly:music-property music 'element))
(p (ly:music-property music 'pitch)))
   (cond ((ly:music? n) (note-y n))
 ((ly:pitch? p) (let* ((o (ly:pitch-octave p))
   (n (ly:pitch-notename p)))
  (+ (* 7 o) n))
   (let ((alle-ys  (map note-y (ly:music-property music 'elements
 ;;(display alle-ys)
 (cons (apply min alle-ys) (apply max alle-ys

#(define (leggtilbokshue akkord)
   (let* ((bunn-topp (chord-y-extent akkord))
  (bunn (car bunn-topp))
  (topp (cdr bunn-topp))
  (filled? (let ((dur (ly:music-property
   (car (ly:music-property akkord 'elements))
   'duration)))
 (and (ly:duration? dur)
  ( (ly:duration-log dur) 1)

 (make-music
  'SequentialMusic
  'elements (cons
 (make-music
  'ContextSpeccedMusic 'context-type 'Bottom
  'element (make-music
'OverrideProperty 'pop-first #t
'grob-property-path (list (quote stencil))
'grob-value ly:text-interface::print
'once #t
'symbol 'NoteHead))

 (cons
  (make-music
   'ContextSpeccedMusic 'context-type 'Bottom
   'element (make-music
 'OverrideProperty 'pop-first #t
 'grob-property-path (list (quote length))
 ;; whats the default stem-length?
 ;; how to find whether a stem is up or down?
 'grob-value (+ (- topp bunn) 7) 
 'once #t
 'symbol 'Stem))
  (cons (make-music
 'ContextSpeccedMusic 'context-type 'Bottom
 'element (make-music
   'OverrideProperty
   'pop-first #t
   'grob-property-path (list (quote text))
   ;; adjust to non-filled with 'unfilled durs:
   'grob-value
   (let ((xs (cons 0 1))
 (ys (cons -0.5 (+ (/ (- topp bunn) 2) 
0.5) )))
 (if filled?
 ;; cludge, replace with graphics-code
 (markup #:line (#:line (#:filled-box 
xs ys 0)))
 (markup #:line (#:box (#:pad-to-box xs 
ys (#:null))
   'once #t
   'symbol 'NoteHead))
;; this breaks explicit beamings
(list (car (sort-chord (ly:music-property akkord 
'elements) )


clusterKord = #(define-music-function (parser location music) (ly:music?)
(leggtilbokshue  music))

% TODO: handle stem-direction, nice drawing-func ('stencil'), get rid of 
grid-lines?, user-choices, 

%{
 headFirkant = {
 \once \override NoteHead #'stencil = #ly:text-interface::print
 \once \override NoteHead #'text =  #(markup #:line (#:filled-box '(0.0 . 1.0) 
'(-0.5 . 2.0) 0))
 }
%}

\layout { ragged-right = ##t }
{
  \clusterKord d' g'1
  \clusterKord a, g''2
  \clusterKord a' g'8
  \clusterKord a' d'8
   a' g'8[
   a' d'8]
}

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


Re: Lilypond midi to stdout?

2008-10-14 Thread Bertalan Fodor (LilyPondTool)
I think LilyPond must have the full score to create the MIDI, it doesn't 
happen measure by measure.


John O'Hagan wrote:

Why is it important to play the midi file during generation?



I'm glad you asked! The program is intended to have a performance mode: you 
enter a set of requirements and restrictions on the command-line (this is the 
creative part!) and then see what it produces.


The program then does some combinatorial number-crunching, which can take a 
long time to complete - in some cases unrealistically long. However, it uses 
Python generators, so that each small unit of output (i.e., bar) is yielded 
immediately and then forgotten about, and we begin to see output straight 
away. Without this feature, some of the larger operations would simply fill 
the memory and never complete. This way, it can begin to perform 
immediately.


Of course, it is possible to play midi files (or scores) produced by Lilypond 
at the end of the process, but that may be much later, or never.


To date, I've been using the sox synth to play the results, but that's pretty 
limited; and then by triggering some piano samples, but I realized I was 
re-inventing midi; and since my program already includes a function to 
convert my numerical representation of music into Lilypond-friendly strings, 
the midi data is already being produced. 


If only I could get my hands on it!
 



  

John O'Hagan wrote:


Hi,

I'm using Lilypond to print the results of an algorithmic music program
written in Python.

I'm looking for a way to play the results as they are produced (i.e bar
by bar), and it occurred to me that simply playing Lilypond midi files
with a midi player would do the trick.

However, I can't figure out how to get Lilypond's midi data sent to
stdout, where it could then be read from stdin by a player. Whatever I
try (including python pipes and even plain shell pipes) it just writes
the file to my home directory.

Is there any way around this?

Regards,

John O'Hagan



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


  


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


Re: insertion of current date in text string

2008-10-14 Thread Francisco Vila
2008/10/14 Tom Cloyd [EMAIL PROTECTED]:
 Nowagain: I'm being misunderstood, and, strangely, it appears that no
 one is reading either the subject line of this thread or what I'm writing in
 the message body. Let me say it again:

This thread is 6 hours old by now, please be patient.


 I want to combine current date (which I now have) with the text string
 version to output the version date OF THE BLOODY SCORE, not of the
 Lilypond version I'm running. All over the documentation, the authors are
 relentlessly single minded, as you both have been (ha!) in seeing version
 as referring IN THIS CONTEXT to Lilypond versions. It does not. Other things
 have versions, too, I assure you. In this case, it's my score(s).

What is the version date? The version number freely chosen and set by
yourself? The date of the input file? The time of compilation of the
PDF?


 So...hopefully with that cleared up, let me assure you that I've searched
 all through all the documentation I can find/understand, and I don't see how
 to do this thing I'm trying to do...


It is not very clear yet, but you already have got several responses.

-- 
Francisco Vila. Badajoz (Spain)
http://www.paconet.org


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


Re: Keeping annotations when extracting parts from a score

2008-10-14 Thread Gilles Sadowski
Hi.

 I've got a song where several annotations like Refrain or Verse are set 
 in 
 the Vocals (because that's the voice at the top of the system). 
 Now I'm starting to extract parts, and of course the annotations are only 
 shown in the vocal part. 
 is there any other way to have the annotations in each other part than to 
 write it down for any voice but using tags to prevent them getting printed in 
 the score?
 It would be nice if I could define for e.g. bar 3 independently of the 
 instrument the part is for that  the annotation Refrain has to be set at 
 the 
 upper right of the bar.

You can save the annotations in a variable and create one staff with them and 
one
staff without; then you use the appropriate one in the \score block. [See 
attached
example.]

Best,
Gilles
\version 2.10.10


annotationsForParts = {
  s1*3 |
  s1^Refrain |
% etc.
}

partNotes = \relative c' {
  c1 |
  d2 e |
  f1 |
  g4 a g f |
% etc.
}

partStaffWithAnnotations = \context Staff = AnnotatedPart {
  
\annotationsForParts
\partNotes
  
}

partStaff = \context Staff = Part {
  \partNotes
}

\score {
  \partStaff
%  \partStaffWithAnnotations
  \layout {}
}
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Right-margin aligning of Composer-field

2008-10-14 Thread J . Van Thuyne
The subjoined code results (both in versions 2.11.58 and 2.11.62) in a
Composer-field without a right margin. Is this a known issue, or am I missing a
mistake?


\version 2.11.62

\paper {
  #(set-paper-size a4)
  left-margin = 20
  right-margin = 20
  top-margin = 20
  between-system-space = 20
  systemSeparatorMarkup = \slashSeparator
}

\header {
  title = Centered title
  subsubtitle = from \'Titles, from left to right\'
  poet = Poet
  composer = Composer, not OK.
}

melody = \relative c { a b c }

\score {
  \new Staff = mel \melody
}


-- http://hemiola.eu/rightmargin.pdf


Best regards,

Jethro.




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


Re: Right-margin aligning of Composer-field

2008-10-14 Thread Mark Knoop
At 14:03 on 14 Oct 2008, J.Van Thuyne wrote:
 The subjoined code results (both in versions 2.11.58 and 2.11.62) in a
 Composer-field without a right margin. Is this a known issue, or am I
 missing a mistake?
 
 
 \version 2.11.62
 
 \paper {
   #(set-paper-size a4)
   left-margin = 20
   right-margin = 20

I don't think right-margin exists - there's just left-margin and
line-width. Since left and right margins are by default 10mm, setting
left margin to 20mm means that the right-margin becomes 0mm. 

See: Documentation/user/lilypond/Page-formatting.html#Horizontal-dimensions


   top-margin = 20
   between-system-space = 20
   systemSeparatorMarkup = \slashSeparator
 }
 
 \header {
   title = Centered title
   subsubtitle = from \'Titles, from left to right\'
   poet = Poet
   composer = Composer, not OK.
 }
 
 melody = \relative c { a b c }
 
 \score {
   \new Staff = mel \melody
 }
 
 
 -- http://hemiola.eu/rightmargin.pdf
 

-- 
Mark Knoop


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


Re: rolled chords in mulivoice classical guitar score

2008-10-14 Thread Jonathan Kulp

I think I have it, Tom.  Took me a long time, too.  Try the code below:


% This shows how to use arpeggios that cross
% from one voice to another.

\version 2.11.62

melody = \relative c'' {
   \voiceOne
   \set Staff.connectArpeggios = ##t
   e4\arpeggio d f d f2
}

bass = \relative c' {
  \voiceTwo
  \set Staff.connectArpeggios = ##t
  d2\arpeggio g b2
}


\score {
\context Staff = guitar \with {
\consists Span_arpeggio_engraver
}
 
\context Voice = melody { \melody }
\context Voice = bass   { \bass   }
 

\layout { }

  \midi {
\context {
  \Score
  tempoWholesPerMinute = #(ly:make-moment 160 4)
}
  }
}



Tom Cloyd wrote:

Maybe. Probably. If I could get it to work.

The problem is that it start a new staff. I need arpeggios across voices
in arbitrary locations - of course.

Here's the structure of my file:

\header stuff

staffClassicalGuitar = { my music, in 2  3 part voicing}

\score {
 \new Staff {
   (staff definitions stuff)
   
 \staffClassicalGuitar
   
 }

 \layout...

 \midi...
}

\paper 

I got this structure right from the  Lilypond 2.11.60 documentation. But
I cannot find a place to put this stuff -

\new Staff \with {
 \consists Span_arpeggio_engraver
}

where it will be accepted. Starting a new staff in the middle of a
measure makes no sense. OR in the middle of a line. So, I assume the
\with... thing needs to go into the existing \new Staff... I already
have. But nothing I try works - it all causes prodigious errors. For
example, this is NOT accepted...

\score {
 \new Staff \with {
   \consists Span_arpeggio_engraver
   \clef treble
   \key e \minor
   \time 3/4
   \tempo  4 = 90
[...]

I've tried all the variations I can imagine, and I cannot find any
real-world examples that show me the solution, and I cannot make sense
of things logically. Why do I have to create a new staff to get a single
arpeggio? If I want to do this arbitrarily, why is the setup for it so
arcane? I must not be understanding something, but can't see what.

Any help would be appreciated (!).

t.

Can you suggest what I need to do?


Jonathan Kulp wrote:

This snippet appears to do what you're asking:

http://lilypond.org/doc/v2.11/input/lsr/lilypond-snippets/Expressive-marks 



Go down to where it says Creating arpeggios across notes in different 
voices.


Jon

% 
% Start cut--pastable-section
% 



\paper {
  #(define dump-extents #t)

  indent = 0\mm
  line-width = 160\mm
  force-assignment = #
  line-width = #(- line-width (* mm  3.00))
}

\layout {

}



% 
% ly snippet:
% 
\sourcefilename creating-arpeggios-across-notes-in-different-voices.ly
\sourcefileline 0
%% Do not edit this file; it is auto-generated from LSR 
http://lsr.dsi.unimi.it

%% This file is in the public domain.
\version 2.11.62

\header {
  lsrtags = expressive-marks

  texidoces = 
Se puede trazar un símbolo de arpegio entre notas de distintas
voces que están sobre el mismo pentagrama si el grabador
@code{Span_arpeggio_engraver} se traslada al contexto de
@code{Staff} context:


  doctitlees = Crear arpegios entre notas de voces distintas

  texidoc = 
An arpeggio can be drawn across notes in different voices on the same
staff if the @code{Span_arpeggio_engraver} is moved to the @code{Staff}
context:


  doctitle = Creating arpeggios across notes in different voices
} % begin verbatim
\new Staff \with {
  \consists Span_arpeggio_engraver
}
\relative c' {
  \set Staff.connectArpeggios = ##t
  
{ e' g4\arpeggio d f d f2 } \\
{ d, f2\arpeggio g b2 }
  
}



% 
% end ly snippet
% 


Tom Cloyd wrote:

Greetings!

After digging around considerably in the excellent Lilypond 
documentation (am running 2.11.60 on Kubuntu Linux 8.04.1), and 
running a number of experiments, I'm defeated on this problem.


A simple test case: I have two voices in a single staff. 
Periodically, I want to indicate that the notea co-occuring at a 
given point are to be played as a rolled arpeggio. There is NO 
chord notated - just two voices with single notes. Please don't 
suggest I merge the voices. That's not the solution I'm looking for.


P. 90 of Lilypond Notation reference illustrates a rolled arpeggio 
across different notes in the same staff, but it involves notes in 
chord clusters. Besides, my Lilypond doesn't at all like this stuff 
(from the reference):


\new Staff \with {
 \consists Span_arpeggio_engraver
}
\relative c' {...

I get this error - warning: cannot find file: `consists' 

So, even if I HAD chord clusters, I'd still have a problem.

This rolled arpeggio business is very common in 

Re: rolled chords in mulivoice classical guitar score

2008-10-14 Thread Jonathan Kulp
Ok this is better.  I put the \set Staff.connectArpeggios in the score 
block instead.  This is more elegant:


% This shows how to use arpeggios that cross
% from one voice to another.

\version 2.11.62

melody = \relative c'' {
   \voiceOne
   e4\arpeggio d f d f2
}

bass = \relative c' {
  \voiceTwo
  d2\arpeggio g b2
}


\score {
\context Staff = guitar \with {
\consists Span_arpeggio_engraver
}
 
\set Staff.connectArpeggios = ##t
\context Voice = melody { \melody }
\context Voice = bass   { \bass   }
 

\layout { }

  \midi {
\context {
  \Score
  tempoWholesPerMinute = #(ly:make-moment 160 4)
}
  }
}



Tom Cloyd wrote:

Maybe. Probably. If I could get it to work.

The problem is that it start a new staff. I need arpeggios across voices
in arbitrary locations - of course.

Here's the structure of my file:

\header stuff

staffClassicalGuitar = { my music, in 2  3 part voicing}

\score {
 \new Staff {
   (staff definitions stuff)
   
 \staffClassicalGuitar
   
 }

 \layout...

 \midi...
}

\paper 

I got this structure right from the  Lilypond 2.11.60 documentation. But
I cannot find a place to put this stuff -

\new Staff \with {
 \consists Span_arpeggio_engraver
}

where it will be accepted. Starting a new staff in the middle of a
measure makes no sense. OR in the middle of a line. So, I assume the
\with... thing needs to go into the existing \new Staff... I already
have. But nothing I try works - it all causes prodigious errors. For
example, this is NOT accepted...

\score {
 \new Staff \with {
   \consists Span_arpeggio_engraver
   \clef treble
   \key e \minor
   \time 3/4
   \tempo  4 = 90
[...]

I've tried all the variations I can imagine, and I cannot find any
real-world examples that show me the solution, and I cannot make sense
of things logically. Why do I have to create a new staff to get a single
arpeggio? If I want to do this arbitrarily, why is the setup for it so
arcane? I must not be understanding something, but can't see what.

Any help would be appreciated (!).

t.

Can you suggest what I need to do?


Jonathan Kulp wrote:

This snippet appears to do what you're asking:

http://lilypond.org/doc/v2.11/input/lsr/lilypond-snippets/Expressive-marks 



Go down to where it says Creating arpeggios across notes in different 
voices.


Jon

% 
% Start cut--pastable-section
% 



\paper {
  #(define dump-extents #t)

  indent = 0\mm
  line-width = 160\mm
  force-assignment = #
  line-width = #(- line-width (* mm  3.00))
}

\layout {

}



% 
% ly snippet:
% 
\sourcefilename creating-arpeggios-across-notes-in-different-voices.ly
\sourcefileline 0
%% Do not edit this file; it is auto-generated from LSR 
http://lsr.dsi.unimi.it

%% This file is in the public domain.
\version 2.11.62

\header {
  lsrtags = expressive-marks

  texidoces = 
Se puede trazar un símbolo de arpegio entre notas de distintas
voces que están sobre el mismo pentagrama si el grabador
@code{Span_arpeggio_engraver} se traslada al contexto de
@code{Staff} context:


  doctitlees = Crear arpegios entre notas de voces distintas

  texidoc = 
An arpeggio can be drawn across notes in different voices on the same
staff if the @code{Span_arpeggio_engraver} is moved to the @code{Staff}
context:


  doctitle = Creating arpeggios across notes in different voices
} % begin verbatim
\new Staff \with {
  \consists Span_arpeggio_engraver
}
\relative c' {
  \set Staff.connectArpeggios = ##t
  
{ e' g4\arpeggio d f d f2 } \\
{ d, f2\arpeggio g b2 }
  
}



% 
% end ly snippet
% 


Tom Cloyd wrote:

Greetings!

After digging around considerably in the excellent Lilypond 
documentation (am running 2.11.60 on Kubuntu Linux 8.04.1), and 
running a number of experiments, I'm defeated on this problem.


A simple test case: I have two voices in a single staff. 
Periodically, I want to indicate that the notea co-occuring at a 
given point are to be played as a rolled arpeggio. There is NO 
chord notated - just two voices with single notes. Please don't 
suggest I merge the voices. That's not the solution I'm looking for.


P. 90 of Lilypond Notation reference illustrates a rolled arpeggio 
across different notes in the same staff, but it involves notes in 
chord clusters. Besides, my Lilypond doesn't at all like this stuff 
(from the reference):


\new Staff \with {
 \consists Span_arpeggio_engraver
}
\relative c' {...

I get this error - warning: cannot find file: `consists' 

So, even if I HAD chord clusters, I'd still have a problem.

This rolled arpeggio business is very common in 

Re: Right-margin aligning of

2008-10-14 Thread J . Van
 I don't think right-margin exists - there's just left-margin and
 line-width. Since left and right margins are by default 10mm, setting
 left margin to 20mm means that the right-margin becomes 0mm. 

Mark,

Setting the line-width indeed solved my problem. 
Thank you!

Jethro.



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


Re: scheme music function going backwards in time (or better mp dolce) [solved]

2008-10-14 Thread Valentin Villenave
2008/10/4 Graham Percival [EMAIL PROTECTED]:
 This version of the files now do the following:
 - commands are placed after the note they belong to -- ie
  \pdolce behaves just like \p.  Except for the dolce part. :)

Hi graham,

these functions are quite interesting, but would it be possible to
have a single function that takes two strings as arguments and makes
the appropriate composite dynamic mark?

e.g. instead of having to predefine

plegato = #(make-dynamic-extra p legato)

and then use

\relative { c\plegato }

you could directly type

\relative { c\compDyn #p #legato }


So far, the only way I've found to do this is by using a music
function -- and that brings us back to the not-backwards-in-time
problem.

Cheers,
Valentin


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


Re: Lilypond midi to stdout?

2008-10-14 Thread fiëé visuëlle
I'm glad you asked! The program is intended to have a performance  
mode: you
enter a set of requirements and restrictions on the command-line  
(this is the

creative part!) and then see what it produces.

The program then does some combinatorial number-crunching, which  
can take a
long time to complete - in some cases unrealistically long.  
However, it uses
Python generators, so that each small unit of output (i.e., bar) is  
yielded
immediately and then forgotten about, and we begin to see output  
straight
away. Without this feature, some of the larger operations would  
simply fill

the memory and never complete. This way, it can begin to perform
immediately.

Of course, it is possible to play midi files (or scores) produced  
by Lilypond

at the end of the process, but that may be much later, or never.

To date, I've been using the sox synth to play the results, but  
that's pretty
limited; and then by triggering some piano samples, but I realized  
I was
re-inventing midi; and since my program already includes a function  
to
convert my numerical representation of music into Lilypond-friendly  
strings,

the midi data is already being produced.

If only I could get my hands on it!


Did you try to pipe the MIDI file through tail -f ?
That part seems to work, even if I don't know if the engraving during  
input can work.


Greetlings from Lake Constance
---
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
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: insertion of UTF-8 characters

2008-10-14 Thread Neil Puttock
Hi Trevor,

2008/10/14 Trevor Daniels [EMAIL PROTECTED]:
 Tom

 It has to be within a \markup and not in quotes.  And xc2a9 should be 00a9.

 Try

   c'4^\markup { #(ly:export (ly:wide-char-utf-8 #x00a9)) }

 or just

   \markup { Copyright 2008 #(ly:export (ly:wide-char-utf-8 #x00a9)) }

 outside the score block to place it in text, or for the copyright line, try

   copyright = \markup { #(ly:export (ly:wide-char-utf-8 #x00a9)) 2008 }

For the docs examples, I think it would be better to replace the
Scheme hack with \char, which uses ly:wide-char-utf-8 internally.

c'4^\markup { \char ##xa9 }

Regards,
Neil


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


unfoldRepeats

2008-10-14 Thread James E. Bailey
Okay, so I think I understand now. I think this may be a bug. Or at  
least, not documented. I don't know how to say this in proper lilypond  
terms, but the repeats don't unfold.


\score {
   \new Staff 
  {
 \time 1/4
 \repeat volta 2 {s4}
 \alternative { {s4} {s4} }
  }
  {
 c'4 g a
 \bar |.
  }
   
}


\score {
   \unfoldRepeats {
  \new Staff 
 {
\time 1/4
\repeat volta 2 {s4}
\alternative { {s4} {s4} }
 }
 {
c'4 g a
\bar |.
 }
  
   }
}

Does work. Is this correct? Can this be changed?


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


Re: unfoldRepeats

2008-10-14 Thread Mats Bengtsson
Your mistake is that you believe that the repeats can be separated from 
the notes. Please always keep in mind that the input should

describe the musical meaning, not only the resulting layout.
In this case, the music that should be played is c g c a, right.
In notation, you can use repeats as a shorthand and similarly
LilyPond input syntax allows to use \repeat. However, this should
be done together with the music and not separated, as you have done.
I would rather call it a bug that your first example produces the 
result it does.

Just replace
c'4 g a in your examples by
\repeat volta 2 {c'4} \alternative{{ g}{ a}}

   /Mats

Quoting James E. Bailey [EMAIL PROTECTED]:

Okay, so I think I understand now. I think this may be a bug. Or at  
least, not documented. I don't know how to say this in proper 
lilypond  terms, but the repeats don't unfold.


\score {
   \new Staff 
  {
 \time 1/4
 \repeat volta 2 {s4}
 \alternative { {s4} {s4} }
  }
  {
 c'4 g a
 \bar |.
  }
   
}


\score {
   \unfoldRepeats {
  \new Staff 
 {
\time 1/4
\repeat volta 2 {s4}
\alternative { {s4} {s4} }
 }
 {
c'4 g a
\bar |.
 }
  
   }
}

Does work. Is this correct? Can this be changed?


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







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


Re: square note heads for cluster

2008-10-14 Thread andersvi
 M == Mark Polesky [EMAIL PROTECTED] writes:

M I'm finding myself able to make the clusters look however I want
M them to look, but I want one all-encompassing function to apply
M arbitrary cluster-styles on the fly.

M It's not necessarily difficult, but I want to support a wide
M variety of cluster-styles, which will take me some time.

M In the end, I'd have my function generate embedded-ps paths and
M fill in the missing notes dynamically, but for the moment I'm
M applying my cluster-styles manually (see below).

Thanks.

I guess an approach could be to set up a music-function which takes as
input a chord and adds a markup to it:

 - finds the positions of the top and lower notehead

 - draws or fills (depending on duration) a box with some note-head-size
   width (or thinner if note-heads are to be included) and y0 and y1 =
   extent of chord.  Preferably doing some graphical tweaks such as
   thicker lines on top/bottom than sides etc.

 - optionally gets rid of default noteheads, or replacing with some
   manually prescribed heads (pr. note/pr. chord)

Ill send something which could be a start in the next post.

-anders


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


Re: insertion of current date in text string

2008-10-14 Thread Tom Cloyd

Yes, this is the solution.

Put this right below the \version 2.11.60 in my file...

date = #(strftime %Y.%m.%d (localtime (current-time))) % define a 
variable to hold the formatted date


Then

\header {
[...]
   subsubtitle = \markup { score version of \date }
[...]}

This automatically datestamps my score each time I make a change and 
print a new version.


That was all I was after.

Thanks to the several folks who sent me the solution.

t.

Paul Scott wrote:

Tom Cloyd wrote:
  

OK, I've exhausted myself trying to solve another problem

I understand that I can put a current date into a \header{... field
(or whatever they're called), by doing something like

date = #(strftime %Y.%m.%d (localtime (current-time)))

\header{
.
.
.
subsubtitle = \date


BUT, how do I do this:

subsubtitle = { version  + \date}

I cannot find an example, and haven't been able to figure it out
empirically.


Just add \markup.

subsubtitle = \markup{ version \date }

Paul Scott



  



--

~
Tom Cloyd, MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
 [EMAIL PROTECTED]  (email)
 TomCloyd.com  (website) 
 sleightmind.wordpress.com  (mental health weblog)

~



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


Re: rolled chords in mulivoice classical guitar score

2008-10-14 Thread Tom Cloyd

Maybe. Probably. If I could get it to work.

The problem is that it start a new staff. I need arpeggios across voices
in arbitrary locations - of course.

Here's the structure of my file:

\header stuff

staffClassicalGuitar = { my music, in 2  3 part voicing}

\score {
 \new Staff {
   (staff definitions stuff)
   
 \staffClassicalGuitar
   
 }

 \layout...

 \midi...
}

\paper 

I got this structure right from the  Lilypond 2.11.60 documentation. But
I cannot find a place to put this stuff -

\new Staff \with {
 \consists Span_arpeggio_engraver
}

where it will be accepted. Starting a new staff in the middle of a
measure makes no sense. OR in the middle of a line. So, I assume the
\with... thing needs to go into the existing \new Staff... I already
have. But nothing I try works - it all causes prodigious errors. For
example, this is NOT accepted...

\score {
 \new Staff \with {
   \consists Span_arpeggio_engraver
   \clef treble
   \key e \minor
   \time 3/4
   \tempo  4 = 90
[...]

I've tried all the variations I can imagine, and I cannot find any
real-world examples that show me the solution, and I cannot make sense
of things logically. Why do I have to create a new staff to get a single
arpeggio? If I want to do this arbitrarily, why is the setup for it so
arcane? I must not be understanding something, but can't see what.

Any help would be appreciated (!).

t.

Can you suggest what I need to do?


Jonathan Kulp wrote:

This snippet appears to do what you're asking:

http://lilypond.org/doc/v2.11/input/lsr/lilypond-snippets/Expressive-marks 



Go down to where it says Creating arpeggios across notes in different 
voices.


Jon

% 
% Start cut--pastable-section
% 



\paper {
  #(define dump-extents #t)

  indent = 0\mm
  line-width = 160\mm
  force-assignment = #
  line-width = #(- line-width (* mm  3.00))
}

\layout {

}



% 
% ly snippet:
% 
\sourcefilename creating-arpeggios-across-notes-in-different-voices.ly
\sourcefileline 0
%% Do not edit this file; it is auto-generated from LSR 
http://lsr.dsi.unimi.it

%% This file is in the public domain.
\version 2.11.62

\header {
  lsrtags = expressive-marks

  texidoces = 
Se puede trazar un símbolo de arpegio entre notas de distintas
voces que están sobre el mismo pentagrama si el grabador
@code{Span_arpeggio_engraver} se traslada al contexto de
@code{Staff} context:


  doctitlees = Crear arpegios entre notas de voces distintas

  texidoc = 
An arpeggio can be drawn across notes in different voices on the same
staff if the @code{Span_arpeggio_engraver} is moved to the @code{Staff}
context:


  doctitle = Creating arpeggios across notes in different voices
} % begin verbatim
\new Staff \with {
  \consists Span_arpeggio_engraver
}
\relative c' {
  \set Staff.connectArpeggios = ##t
  
{ e' g4\arpeggio d f d f2 } \\
{ d, f2\arpeggio g b2 }
  
}



% 
% end ly snippet
% 


Tom Cloyd wrote:

Greetings!

After digging around considerably in the excellent Lilypond 
documentation (am running 2.11.60 on Kubuntu Linux 8.04.1), and 
running a number of experiments, I'm defeated on this problem.


A simple test case: I have two voices in a single staff. 
Periodically, I want to indicate that the notea co-occuring at a 
given point are to be played as a rolled arpeggio. There is NO 
chord notated - just two voices with single notes. Please don't 
suggest I merge the voices. That's not the solution I'm looking for.


P. 90 of Lilypond Notation reference illustrates a rolled arpeggio 
across different notes in the same staff, but it involves notes in 
chord clusters. Besides, my Lilypond doesn't at all like this stuff 
(from the reference):


\new Staff \with {
 \consists Span_arpeggio_engraver
}
\relative c' {...

I get this error - warning: cannot find file: `consists' 

So, even if I HAD chord clusters, I'd still have a problem.

This rolled arpeggio business is very common in classical guitar 
music. I'm a little surprised there isn't some simple way to indicate 
it, but...maybe I'm missing something.


Any help would be much appreciated!

Tom










--

~
Tom Cloyd, MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
 [EMAIL PROTECTED]  (email)
 TomCloyd.com  (website)
 sleightmind.wordpress.com  (mental health weblog)
~




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


Re: insertion of UTF-8 characters

2008-10-14 Thread Trevor Daniels


Neil Puttock wrote Tuesday, October 14, 2008 9:33 PM


Hi Trevor,

2008/10/14 Trevor Daniels [EMAIL PROTECTED]:

Tom

It has to be within a \markup and not in quotes.  And xc2a9 should be 
00a9.


Try

  c'4^\markup { #(ly:export (ly:wide-char-utf-8 #x00a9)) }

or just

  \markup { Copyright 2008 #(ly:export (ly:wide-char-utf-8 #x00a9)) }

outside the score block to place it in text, or for the copyright line, 
try


  copyright = \markup { #(ly:export (ly:wide-char-utf-8 #x00a9)) 
2008 }


For the docs examples, I think it would be better to replace the
Scheme hack with \char, which uses ly:wide-char-utf-8 internally.

c'4^\markup { \char ##xa9 }


Absolutely!  This -was- documented, I now realise, in App B.8.6, but
I hadn't met it before.  I'll change the new examples I added today to
use it, as you suggest.  And remove the Scheme hack.  Thanks.


Regards,
Neil


Trevor



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


Re: scheme music function going backwards in time (or better mp dolce) [solved]

2008-10-14 Thread Graham Percival
On Tue, 14 Oct 2008 11:10:10 +0200
Valentin Villenave [EMAIL PROTECTED] wrote:

 these functions are quite interesting, but would it be possible to
 have a single function that takes two strings as arguments and makes
 the appropriate composite dynamic mark?

Not that I know of.

 \relative { c\compDyn #p #legato }

Looks *way* uglier than \plegato, but I suppose it has the
advantage of not needing a predef.

Cheers,
- Graham


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


Re: insertion of UTF-8 characters

2008-10-14 Thread Tom Cloyd
Good lord above, yes! THIS is immediately understandable if one has 
experience with a multitude of other programming languages, whereas that 
other approach is exasperating nonsense.


Thanks, fellows, for chasing this one to ground.

t.

Trevor Daniels wrote:


Neil Puttock wrote Tuesday, October 14, 2008 9:33 PM


Hi Trevor,

2008/10/14 Trevor Daniels [EMAIL PROTECTED]:

Tom

It has to be within a \markup and not in quotes.  And xc2a9 should 
be 00a9.


Try

  c'4^\markup { #(ly:export (ly:wide-char-utf-8 #x00a9)) }

or just

  \markup { Copyright 2008 #(ly:export (ly:wide-char-utf-8 
#x00a9)) }


outside the score block to place it in text, or for the copyright 
line, try


  copyright = \markup { #(ly:export (ly:wide-char-utf-8 #x00a9)) 
2008 }


For the docs examples, I think it would be better to replace the
Scheme hack with \char, which uses ly:wide-char-utf-8 internally.

c'4^\markup { \char ##xa9 }


Absolutely!  This -was- documented, I now realise, in App B.8.6, but
I hadn't met it before.  I'll change the new examples I added today to
use it, as you suggest.  And remove the Scheme hack.  Thanks.


Regards,
Neil


Trevor



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




--

~
Tom Cloyd, MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
 [EMAIL PROTECTED]  (email)
 TomCloyd.com  (website) 
 sleightmind.wordpress.com  (mental health weblog)

~



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


ragged-last-bottom in multiple scores

2008-10-14 Thread Graham Percival
I have a collection of scores that I'd like to print in one book.
Is there any way of getting the non-last-scores to use
ragged-last-bottom=##t ?

Currently the only way I can think of doing this is by using
lilypond-book:

\documentclass{article}
\begin{document}
\lilypondfile{peice1.ly}
\lilypondfile{piece2.ly}
\end{document}


but it seems silly to use LaTeX just to put two scores together
and have consecutive page numbers.  I guess that another option
would be to use ghostscript or some pdf program to combine the
independently-created pdfs and number them... but again, that
seems like overkill.

Cheers,
- Graham


\version 2.11.62

\paper { ragged-last-bottom = ##t }
\layout { ragged-last-bottom = ##t }

\book{
  \score { { \repeat unfold 200 { c'1 } \bar |. }
\layout { ragged-last-bottom = ##t }
  }

  % ideally reset everything
  \pageBreak

  \score { { \repeat unfold 200 { d'1 } \bar |. }
\layout { ragged-last-bottom = ##t }
  }
}



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


new page-spacing area

2008-10-14 Thread Graham Percival
As an addendum to my question about ragged-last-bottom, I wonder
if it would be possible to define new page areas.  This idea is
inspired by the \newSpacingSection for horizontal spacing -- it
would be nice if we could say

  \newPageArea
(or whatever) and have the page-breaking algorithm (and related
page stuff) reset.  Even laying aside my problems, this could
reduce the time complexity of spacing scores -- dealing with k
problems of size n is easier than dealing with 1 problem of size
n*k.  (assuming the spacing algorithm isn't less than O(n) :)

Cheers,
- Graham


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


Re: ragged-last-bottom in multiple scores

2008-10-14 Thread Joe Neeman
On Tue, 2008-10-14 at 14:54 -0700, Graham Percival wrote:
 I have a collection of scores that I'd like to print in one book.
 Is there any way of getting the non-last-scores to use
 ragged-last-bottom=##t ?

Check out Nicolas' new \bookparts.




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


Re: ragged-last-bottom in multiple scores

2008-10-14 Thread Graham Percival
On Tue, 14 Oct 2008 17:07:13 -0700
Joe Neeman [EMAIL PROTECTED] wrote:

 On Tue, 2008-10-14 at 14:54 -0700, Graham Percival wrote:
  I have a collection of scores that I'd like to print in one book.
  Is there any way of getting the non-last-scores to use
  ragged-last-bottom=##t ?
 
 Check out Nicolas' new \bookparts.

Looks awesome; I had a feeling that I'd seen something recently.
Any chance of this getting merged for 2.11.63?

Cheers,
- Graham


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


Re: ragged-last-bottom in multiple scores

2008-10-14 Thread Joe Neeman
On Tue, 2008-10-14 at 17:26 -0700, Graham Percival wrote:
 On Tue, 14 Oct 2008 17:07:13 -0700
 Joe Neeman [EMAIL PROTECTED] wrote:
 
  On Tue, 2008-10-14 at 14:54 -0700, Graham Percival wrote:
   I have a collection of scores that I'd like to print in one book.
   Is there any way of getting the non-last-scores to use
   ragged-last-bottom=##t ?
  
  Check out Nicolas' new \bookparts.
 
 Looks awesome; I had a feeling that I'd seen something recently.
 Any chance of this getting merged for 2.11.63?

Aargh, I thought I had already reviewed this, but I see now that I've
left Nicolas waiting for almost 2 months :(

Anyway, now I've done some comments.

Joe



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


Re: rolled chords in mulivoice classical guitar score

2008-10-14 Thread Tom Cloyd

Jonathan,

This looks interesting, and its structure is not hard to discern (for 
me), but it requires me to split my guitar scores into voices and write 
them separately from beginning to end. This is possible, but not exactly 
what one expects to do, except with true multi-voice scores (vocal, 
orchestral, etc.).


Further, I find that splitting a score into voices is at times a 
formalistic strategy but at other times a practical one. I have several 
scores which are simply quicker to notate in two voices, except for a 
few measures which make more sense in three voices. Your approach blows 
this way of working out of the water. It forces me to split things into 
a fixed number of voices from beginning to end.


I remain puzzled about how hard this is all is. It just seems awfully 
strained, and I don't yet see a graceful solution - although the 
formalistic elegance of your suggestion is appealing for certain types 
of scores. But...is this the best approach available for a guitarist?


If so, then I must, in effect, dissect my scores into horizontal layers, 
and their complexity instantly increases dramatically. I dread this.


t.

Jonathan Kulp wrote:
Ok this is better.  I put the \set Staff.connectArpeggios in the score 
block instead.  This is more elegant:


% This shows how to use arpeggios that cross
% from one voice to another.

\version 2.11.62

melody = \relative c'' {
   \voiceOne
   e4\arpeggio d f d f2
}

bass = \relative c' {
  \voiceTwo
  d2\arpeggio g b2
}


\score {
\context Staff = guitar \with {
\consists Span_arpeggio_engraver
}
 
\set Staff.connectArpeggios = ##t
\context Voice = melody { \melody }
\context Voice = bass   { \bass   }
 

\layout { }

  \midi {
\context {
  \Score
  tempoWholesPerMinute = #(ly:make-moment 160 4)
}
  }
}



Tom Cloyd wrote:

Maybe. Probably. If I could get it to work.

The problem is that it start a new staff. I need arpeggios across voices
in arbitrary locations - of course.

Here's the structure of my file:

\header stuff

staffClassicalGuitar = { my music, in 2  3 part voicing}

\score {
 \new Staff {
   (staff definitions stuff)
   
 \staffClassicalGuitar
   
 }

 \layout...

 \midi...
}

\paper 

I got this structure right from the  Lilypond 2.11.60 documentation. But
I cannot find a place to put this stuff -

\new Staff \with {
 \consists Span_arpeggio_engraver
}

where it will be accepted. Starting a new staff in the middle of a
measure makes no sense. OR in the middle of a line. So, I assume the
\with... thing needs to go into the existing \new Staff... I already
have. But nothing I try works - it all causes prodigious errors. For
example, this is NOT accepted...

\score {
 \new Staff \with {
   \consists Span_arpeggio_engraver
   \clef treble
   \key e \minor
   \time 3/4
   \tempo  4 = 90
[...]

I've tried all the variations I can imagine, and I cannot find any
real-world examples that show me the solution, and I cannot make sense
of things logically. Why do I have to create a new staff to get a single
arpeggio? If I want to do this arbitrarily, why is the setup for it so
arcane? I must not be understanding something, but can't see what.

Any help would be appreciated (!).

t.

Can you suggest what I need to do?


Jonathan Kulp wrote:

This snippet appears to do what you're asking:

http://lilypond.org/doc/v2.11/input/lsr/lilypond-snippets/Expressive-marks 



Go down to where it says Creating arpeggios across notes in 
different voices.


Jon

% 
% Start cut--pastable-section
% 



\paper {
  #(define dump-extents #t)

  indent = 0\mm
  line-width = 160\mm
  force-assignment = #
  line-width = #(- line-width (* mm  3.00))
}

\layout {

}



% 
% ly snippet:
% 
\sourcefilename 
creating-arpeggios-across-notes-in-different-voices.ly

\sourcefileline 0
%% Do not edit this file; it is auto-generated from LSR 
http://lsr.dsi.unimi.it

%% This file is in the public domain.
\version 2.11.62

\header {
  lsrtags = expressive-marks

  texidoces = 
Se puede trazar un símbolo de arpegio entre notas de distintas
voces que están sobre el mismo pentagrama si el grabador
@code{Span_arpeggio_engraver} se traslada al contexto de
@code{Staff} context:


  doctitlees = Crear arpegios entre notas de voces distintas

  texidoc = 
An arpeggio can be drawn across notes in different voices on the same
staff if the @code{Span_arpeggio_engraver} is moved to the @code{Staff}
context:


  doctitle = Creating arpeggios across notes in different voices
} % begin verbatim
\new Staff \with {
  \consists Span_arpeggio_engraver
}
\relative c' {
  \set Staff.connectArpeggios = ##t
  
{ e' g4\arpeggio d f d f2 } \\
{ d, f2\arpeggio g b2 }
  
}



% 

Re: rolled chords in mulivoice classical guitar score

2008-10-14 Thread Tom Cloyd

Adjunct to my previous post -

I'll admit that my Ruby programming experience biases me in the 
direction of seeking simple, direct, comprehensible, heuristic 
solutions. I think I may have found one -


Building on my notion of using this construct to manage polyphonically 
structured scores -



{} \\
{}


it should be possible to restructure voicing so as to force structuring 
of chords into expressions which allow use of the simple  |\arpeggio 
construct. This won't make sense formally, but THAT will not affect the 
output score, which, after all IS the point of this exercise.


I can employ this tactic with my score immediately, and it doesn't 
require me to completely restructure my scores, or insert all manner of 
(to me) incomprehensible code or hacks or whatever. I can just get on 
with notating my scores, which really is my objective.


I still hope for a more high level elegant solution, as, I believe, is 
your inclination as well. I will continue to watch this thread 
carefully, hoping to see something develop. In truth, if it comes from 
anyone, I think it's likely to be from you, so...I want to encourage you 
to keep thinking about it.


Thanks for your care and effort on this matter,

t.
|
Jonathan Kulp wrote:
Ok this is better.  I put the \set Staff.connectArpeggios in the score 
block instead.  This is more elegant:


% This shows how to use arpeggios that cross
% from one voice to another.

\version 2.11.62

melody = \relative c'' {
   \voiceOne
   e4\arpeggio d f d f2
}

bass = \relative c' {
  \voiceTwo
  d2\arpeggio g b2
}


\score {
\context Staff = guitar \with {
\consists Span_arpeggio_engraver
}
 
\set Staff.connectArpeggios = ##t
\context Voice = melody { \melody }
\context Voice = bass   { \bass   }
 

\layout { }

  \midi {
\context {
  \Score
  tempoWholesPerMinute = #(ly:make-moment 160 4)
}
  }
}



Tom Cloyd wrote:

Maybe. Probably. If I could get it to work.

The problem is that it start a new staff. I need arpeggios across voices
in arbitrary locations - of course.

Here's the structure of my file:

\header stuff

staffClassicalGuitar = { my music, in 2  3 part voicing}

\score {
 \new Staff {
   (staff definitions stuff)
   
 \staffClassicalGuitar
   
 }

 \layout...

 \midi...
}

\paper 

I got this structure right from the  Lilypond 2.11.60 documentation. But
I cannot find a place to put this stuff -

\new Staff \with {
 \consists Span_arpeggio_engraver
}

where it will be accepted. Starting a new staff in the middle of a
measure makes no sense. OR in the middle of a line. So, I assume the
\with... thing needs to go into the existing \new Staff... I already
have. But nothing I try works - it all causes prodigious errors. For
example, this is NOT accepted...

\score {
 \new Staff \with {
   \consists Span_arpeggio_engraver
   \clef treble
   \key e \minor
   \time 3/4
   \tempo  4 = 90
[...]

I've tried all the variations I can imagine, and I cannot find any
real-world examples that show me the solution, and I cannot make sense
of things logically. Why do I have to create a new staff to get a single
arpeggio? If I want to do this arbitrarily, why is the setup for it so
arcane? I must not be understanding something, but can't see what.

Any help would be appreciated (!).

t.

Can you suggest what I need to do?


Jonathan Kulp wrote:

This snippet appears to do what you're asking:

http://lilypond.org/doc/v2.11/input/lsr/lilypond-snippets/Expressive-marks 



Go down to where it says Creating arpeggios across notes in 
different voices.


Jon

% 
% Start cut--pastable-section
% 



\paper {
  #(define dump-extents #t)

  indent = 0\mm
  line-width = 160\mm
  force-assignment = #
  line-width = #(- line-width (* mm  3.00))
}

\layout {

}



% 
% ly snippet:
% 
\sourcefilename 
creating-arpeggios-across-notes-in-different-voices.ly

\sourcefileline 0
%% Do not edit this file; it is auto-generated from LSR 
http://lsr.dsi.unimi.it

%% This file is in the public domain.
\version 2.11.62

\header {
  lsrtags = expressive-marks

  texidoces = 
Se puede trazar un símbolo de arpegio entre notas de distintas
voces que están sobre el mismo pentagrama si el grabador
@code{Span_arpeggio_engraver} se traslada al contexto de
@code{Staff} context:


  doctitlees = Crear arpegios entre notas de voces distintas

  texidoc = 
An arpeggio can be drawn across notes in different voices on the same
staff if the @code{Span_arpeggio_engraver} is moved to the @code{Staff}
context:


  doctitle = Creating arpeggios across notes in different voices
} % begin verbatim
\new Staff \with {
  \consists Span_arpeggio_engraver
}
\relative c' {
  \set Staff.connectArpeggios = ##t
  

Re: rolled chords in mulivoice classical guitar score

2008-10-14 Thread Tom Cloyd
Sorry. I spoke too soon. This is no solution. It messes up the VISIBLE 
voicing in the score - the direction of stems. It also cannot be used to 
arpeggiate across chords where different voices have different durations 
- unless one breaks notes up into tied groups. This a bad solution. 
Sigh. I still have no accessible solution.


t.

Tom Cloyd wrote:

Adjunct to my previous post -

I'll admit that my Ruby programming experience biases me in the 
direction of seeking simple, direct, comprehensible, heuristic 
solutions. I think I may have found one -


Building on my notion of using this construct to manage polyphonically 
structured scores -



{} \\
{}


it should be possible to restructure voicing so as to force 
structuring of chords into expressions which allow use of the simple  
|\arpeggio construct. This won't make sense formally, but THAT will 
not affect the output score, which, after all IS the point of this 
exercise.


I can employ this tactic with my score immediately, and it doesn't 
require me to completely restructure my scores, or insert all manner 
of (to me) incomprehensible code or hacks or whatever. I can just get 
on with notating my scores, which really is my objective.


I still hope for a more high level elegant solution, as, I believe, is 
your inclination as well. I will continue to watch this thread 
carefully, hoping to see something develop. In truth, if it comes from 
anyone, I think it's likely to be from you, so...I want to encourage 
you to keep thinking about it.


Thanks for your care and effort on this matter,

t.
|
Jonathan Kulp wrote:
Ok this is better.  I put the \set Staff.connectArpeggios in the 
score block instead.  This is more elegant:


% This shows how to use arpeggios that cross
% from one voice to another.

\version 2.11.62

melody = \relative c'' {
   \voiceOne
   e4\arpeggio d f d f2
}

bass = \relative c' {
  \voiceTwo
  d2\arpeggio g b2
}


\score {
\context Staff = guitar \with {
\consists Span_arpeggio_engraver
}
 
\set Staff.connectArpeggios = ##t
\context Voice = melody { \melody }
\context Voice = bass   { \bass   }
 

\layout { }

  \midi {
\context {
  \Score
  tempoWholesPerMinute = #(ly:make-moment 160 4)
}
  }
}



Tom Cloyd wrote:

Maybe. Probably. If I could get it to work.

The problem is that it start a new staff. I need arpeggios across 
voices

in arbitrary locations - of course.

Here's the structure of my file:

\header stuff

staffClassicalGuitar = { my music, in 2  3 part voicing}

\score {
 \new Staff {
   (staff definitions stuff)
   
 \staffClassicalGuitar
   
 }

 \layout...

 \midi...
}

\paper 

I got this structure right from the  Lilypond 2.11.60 documentation. 
But

I cannot find a place to put this stuff -

\new Staff \with {
 \consists Span_arpeggio_engraver
}

where it will be accepted. Starting a new staff in the middle of a
measure makes no sense. OR in the middle of a line. So, I assume the
\with... thing needs to go into the existing \new Staff... I 
already

have. But nothing I try works - it all causes prodigious errors. For
example, this is NOT accepted...

\score {
 \new Staff \with {
   \consists Span_arpeggio_engraver
   \clef treble
   \key e \minor
   \time 3/4
   \tempo  4 = 90
[...]

I've tried all the variations I can imagine, and I cannot find any
real-world examples that show me the solution, and I cannot make sense
of things logically. Why do I have to create a new staff to get a 
single

arpeggio? If I want to do this arbitrarily, why is the setup for it so
arcane? I must not be understanding something, but can't see what.

Any help would be appreciated (!).

t.

Can you suggest what I need to do?


Jonathan Kulp wrote:

This snippet appears to do what you're asking:

http://lilypond.org/doc/v2.11/input/lsr/lilypond-snippets/Expressive-marks 



Go down to where it says Creating arpeggios across notes in 
different voices.


Jon

% 
% Start cut--pastable-section
% 



\paper {
  #(define dump-extents #t)

  indent = 0\mm
  line-width = 160\mm
  force-assignment = #
  line-width = #(- line-width (* mm  3.00))
}

\layout {

}



% 
% ly snippet:
% 
\sourcefilename 
creating-arpeggios-across-notes-in-different-voices.ly

\sourcefileline 0
%% Do not edit this file; it is auto-generated from LSR 
http://lsr.dsi.unimi.it

%% This file is in the public domain.
\version 2.11.62

\header {
  lsrtags = expressive-marks

  texidoces = 
Se puede trazar un símbolo de arpegio entre notas de distintas
voces que están sobre el mismo pentagrama si el grabador
@code{Span_arpeggio_engraver} se traslada al contexto de
@code{Staff} context:


  doctitlees = Crear arpegios entre notas de voces distintas


Re: rolled chords in mulivoice classical guitar score

2008-10-14 Thread Jonathan Kulp
Hmm.  These organizational things are a matter of preference, of course. 
 Still, I don't see why you'd have to rewrite things so dramatically. 
I thought I saw in one of your posts here that you had all the notes in 
one variable.  It seems like this \score block ought to work even when 
all the notes are held in one variable that has mostly one voice and 
only occasionally another.  Could you attach the actual code of one of 
your scores (not abbreviated, but the whole score) so I can really see 
what you're working with?  I bet this score block can be modified to 
work just how you want.  The reason I spent so much time figuring out 
this problem of arpeggiation across voices is because I know that I'll 
want to do it myself at some point, and in fact have already added one 
to an existing score where I had just been too lazy to figure out how 
before (!).


Personally, I do break my guitar pieces into separate voices, each held 
in a different variable, then assemble them onto the staff in the \score 
block.  I didn't do it this way originally but came to the conclusion 
eventually that it was the way to go, so as to avoid having to do lots 
of  { } \\ {}  all over the place. In the orchestral piece I'm 
engraving right now, I have different variables for the voices of, say, 
flutes 1-2.  Now, a lot of the time, the fluteOneNotes variable holds 
the music for *both* flutes 1 and 2 since they move together with the 
same rhythms often, so in those places the fluteTwoNotes just has 
full-measure skips (s1*35 or something) while fluteOneNotes has lots 
of chords.  At this moment I can't recall precisely why I decided to 
do it this way instead of just putting the occasional {}\\{} in 
there, but I think it had to do with the length of the multivoice 
passages. If they were any longer than about two or three bars, then I 
broke them up into different variables for each voice  because I don't 
like having this construct {}\\{} spread over multiple lines in my 
text file--too hard to keep track of it.


Anyway please do send me a file, even off-list if you want, because I 
think the problem of making an arpeggio span different voices is solved 
now and it's gotten into matters of organization instead of technical 
problems.  Best,


Jon


Tom Cloyd wrote:

Jonathan,

This looks interesting, and its structure is not hard to discern (for 
me), but it requires me to split my guitar scores into voices and write 
them separately from beginning to end. This is possible, but not exactly 
what one expects to do, except with true multi-voice scores (vocal, 
orchestral, etc.).


Further, I find that splitting a score into voices is at times a 
formalistic strategy but at other times a practical one. I have several 
scores which are simply quicker to notate in two voices, except for a 
few measures which make more sense in three voices. Your approach blows 
this way of working out of the water. It forces me to split things into 
a fixed number of voices from beginning to end.


I remain puzzled about how hard this is all is. It just seems awfully 
strained, and I don't yet see a graceful solution - although the 
formalistic elegance of your suggestion is appealing for certain types 
of scores. But...is this the best approach available for a guitarist?


If so, then I must, in effect, dissect my scores into horizontal layers, 
and their complexity instantly increases dramatically. I dread this.


t.

Jonathan Kulp wrote:
Ok this is better.  I put the \set Staff.connectArpeggios in the score 
block instead.  This is more elegant:


% This shows how to use arpeggios that cross
% from one voice to another.

\version 2.11.62

melody = \relative c'' {
   \voiceOne
   e4\arpeggio d f d f2
}

bass = \relative c' {
  \voiceTwo
  d2\arpeggio g b2
}


\score {
\context Staff = guitar \with {
\consists Span_arpeggio_engraver
}
 
\set Staff.connectArpeggios = ##t
\context Voice = melody { \melody }
\context Voice = bass   { \bass   }
 

\layout { }

  \midi {
\context {
  \Score
  tempoWholesPerMinute = #(ly:make-moment 160 4)
}
  }
}



Tom Cloyd wrote:

Maybe. Probably. If I could get it to work.

The problem is that it start a new staff. I need arpeggios across voices
in arbitrary locations - of course.

Here's the structure of my file:

\header stuff

staffClassicalGuitar = { my music, in 2  3 part voicing}

\score {
 \new Staff {
   (staff definitions stuff)
   
 \staffClassicalGuitar
   
 }

 \layout...

 \midi...
}

\paper 

I got this structure right from the  Lilypond 2.11.60 documentation. But
I cannot find a place to put this stuff -

\new Staff \with {
 \consists Span_arpeggio_engraver
}

where it will be accepted. Starting a new staff in the middle of a
measure makes no sense. OR in the middle of a line. So, I assume the
\with... thing needs to go into the existing \new Staff... I already
have. But nothing I try works - it all causes prodigious errors. 

Re: Lilypond midi to stdout?

2008-10-14 Thread John O'Hagan
On Mon, 13 Oct 2008, Bertalan Fodor (LilyPondTool) wrote:
 Why is it important to play the midi file during generation?

I'm glad you aked! The program is intended to have a performance mode: you 
enter a set of requirements and restrictions on the command-line (this is the 
creative part!) and then see what it produces.

The program then does some combinatorial number-crunching, which can take a 
long time to complete - in some cases unrealistically long. However, it uses 
Python generators, so that each small unit of output (i.e., bar) is yielded 
immediately and then forgotton about, and we begin to see output straight 
away. Without this feature, some of the larger operations would simply fill 
the memory and never complete. This way, it can begin to perform 
immediately.

Of course, it is possible to play midi files (or scores) produced by Lilypond 
at the end of the process, but that may be much later, or never.

To date, I've been using the sox synth to play the results, but that's pretty 
limited; and then by triggering some piano samples, but I realized I was 
re-inventing midi; and since my program already includes a function to 
convert my numerical representation of music into Lilypond-friendly strings, 
the midi data is already being produced. 

If only I could get my hands on it!
 



 John O'Hagan wrote:
  Hi,
 
  I'm using Lilypond to print the results of an algorithmic music program
  written in Python.
 
  I'm looking for a way to play the results as they are produced (i.e bar
  by bar), and it occurred to me that simply playing Lilypond midi files
  with a midi player would do the trick.
 
  However, I can't figure out how to get Lilypond's midi data sent to
  stdout, where it could then be read from stdin by a player. Whatever I
  try (including python pipes and even plain shell pipes) it just writes
  the file to my home directory.
 
  Is there any way around this?
 
  Regards,
 
  John O'Hagan
 
 
 
  ___
  lilypond-user mailing list
  lilypond-user@gnu.org
  http://lists.gnu.org/mailman/listinfo/lilypond-user


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


Re: rolled chords in mulivoice classical guitar score

2008-10-14 Thread Tom Cloyd

Jonathan,

First, thank you for your continued interest. Attached is my engraving 
of the 5th section of a Variations and Theme piece I have written - 
the theme comes last. The F# added to the final chord is my addition, 
and is there to remind listeners of the harmonic flavor of the 
variations they've heard previously. I have indicated with arp. below 
the staff where I seek to place arpeggiation indicators.


I have added some comments below. I'm very interested in how you handle 
this whole problem of setting multipart guitar scores, as I'm much in 
the learning phase, still, at this point (obviously), so I'm grateful 
for your comments.



Jonathan Kulp wrote:
Hmm.  These organizational things are a matter of preference, of 
course.  Still, I don't see why you'd have to rewrite things so 
dramatically. I thought I saw in one of your posts here that you had 
all the notes in one variable.  
Yes - an idea taken from some of the Lilypond documentation. Could be 
useful where one adds, say, a second guitar or a flute or whatever, I'm 
thinking.
It seems like this \score block ought to work even when all the notes 
are held in one variable that has mostly one voice and only 
occasionally another.  

Well, it's mostly 2 and sometimes 3, actually.
Could you attach the actual code of one of your scores (not 
abbreviated, but the whole score) so I can really see what you're 
working with?  I bet this score block can be modified to work just how 
you want.  

I'd be fascinated to see yourideas on this.
The reason I spent so much time figuring out this problem of 
arpeggiation across voices is because I know that I'll want to do it 
myself at some point, and in fact have already added one to an 
existing score where I had just been too lazy to figure out how before 
(!).

Ah...good - I like it when my problems lead to solutions for others as well.



Personally, I do break my guitar pieces into separate voices, each 
held in a different variable, then assemble them onto the staff in the 
\score block.  I didn't do it this way originally but came to the 
conclusion eventually that it was the way to go, so as to avoid having 
to do lots of  { } \\ {}  all over the place. In the orchestral 
piece I'm engraving right now, I have different variables for the 
voices of, say, flutes 1-2.  Now, a lot of the time, the 
fluteOneNotes variable holds the music for *both* flutes 1 and 2 
since they move together with the same rhythms often, so in those 
places the fluteTwoNotes just has full-measure skips (s1*35 or 
something) while fluteOneNotes has lots of chords.  At this moment I 
can't recall precisely why I decided to do it this way instead of just 
putting the occasional {}\\{} in there, but I think it had to do 
with the length of the multivoice passages. If they were any longer 
than about two or three bars, then I broke them up into different 
variables for each voice  because I don't like having this construct 
{}\\{} spread over multiple lines in my text file--too hard to 
keep track of it.
OK, I CAN see some advantages with this approach. For one, it forces a 
kind of formalism which probably isn't a bad idea - a relentless part 
analysis. Especially could be useful for a composer, as opposed to 
someone merely setting down a piece from a score or whatever. Clearly a 
more orchestral approach, and also one that well fits one such as I who 
is much inclined to muck around a lot with Rennaisance and Baroque score 
that may be played or transcribed for classical guitar. Dowland comes 
readily to mind.


Anyway please do send me a file, even off-list if you want, because I 
think the problem of making an arpeggio span different voices is 
solved now and it's gotten into matters of organization instead of 
technical problems.
Well, it you think so, it's surely the case. We (I) are near to a 
practical solution. A cheery thought!


t.


~
Tom Cloyd, MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
 [EMAIL PROTECTED]  (email)
 TomCloyd.com  (website) 
 sleightmind.wordpress.com  (mental health weblog)

~

\version 2.11.60  

#(set-global-staff-size 20) % 20 this is said to be standard for most scores
date = #(strftime %Y.%m.%d (localtime (current-time))) % define a variable to 
hold the formatted date
#(define RH rightHandFinger) %assigns value to RH

\header {

  % * centered  top *
  %dedication={dedication} %centered above title, top of page one
  title = Variations on a de Visee Minuet %centered below dedication
  subtitle = 5 - theme - Minuet in E Minor %centered below title
  subsubtitle = \markup { (2008.10.04-11) - version \date } %centered below 
subtitle
%piece = (piece) %{ useful only with multi-piece set given Opus 
number; set flus left below meter %}
instrument = For Classical Guitar  %{ centered below the subsubtitle, 
and 

Re: rolled chords in mulivoice classical guitar score

2008-10-14 Thread Jonathan Kulp
Ok I've given this a tiny tweak that I think will work the way you want. 
 I just removed the two separate voices I had used before in the score 
block for the melody and bass, and replaced those with a single voice 
called music that will hold all voices, instantiated on-the-fly with 
{}\\{}.  The arpeggio still works beautifully.  I think with this 
score block you should be able to move freely between a single voice and 
two or more voices and simply add the \arpeggio command whenever you 
want one.  Is this the behavior you were looking for?


Jon


\version 2.11.62

music = \relative c'' {
  c,8 e g c e c g c 
   { e4 f g, b g'2\arpeggio } \\ { d2 g,\arpeggio } 
}

\score {
\context Staff = guitar \with {
\consists Span_arpeggio_engraver
}
 
\set Staff.connectArpeggios = ##t
\context Voice = music { \music }
 

\layout { }

  \midi {
\context {
  \Score
}
  }
}



Tom Cloyd wrote:

Jonathan,

This looks interesting, and its structure is not hard to discern (for 
me), but it requires me to split my guitar scores into voices and write 
them separately from beginning to end. This is possible, but not exactly 
what one expects to do, except with true multi-voice scores (vocal, 
orchestral, etc.).



--
Jonathan Kulp
http://www.jonathankulp.com


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


Re: WANTED: Design for documentation (Photoshop power users!)

2008-10-14 Thread Patrick Horgan

Patrick McCarty wrote:

I'm still experimenting with this.  :-)

I've created another design with a color palette that passes the W3C
Web Content Accessibility guidelines for color contrast:
  

This is great for me!

Patrick


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


Re: unusual Alto Clef

2008-10-14 Thread Patrick Horgan

Jonathan Kulp wrote:
Cool!!  I've attached the infamous Ravel quartet snippet that prompted 
me to post the query about this clef in the first place. Your C clef 
looks nice in there, almost like the original.  Of course in this 
passage there's a switch to treble clef, and when it returns to alto, 
the clef is a teency bit too big (the original is almost the same size 
vertically but less inky), but still this is much closer to the 
appearance of the original score than a standard alto clef.  Thanks 
for creating that, Valentin!  I'm adding it to my snippet definitions 
file. :)
I notice the cool alto clef doesn't have any space in front (to the 
left) like the other clefs.  Is this normal for this clef, or does it 
need to be tweaked?


Patrick


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