Re: Strumming rhythm for chord progression

2009-08-14 Thread Robin Bannister

Christian Henning wrote:

I'm struggling with sus4 chords.
...
unexpected STRINGsus4



This is notemode complaining.  
It is the default input mode:
http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Input-modes 



sus4 is meant only for chord mode. 
But note mode is digesting your music in the \improvisationOn part. 

If you stay with (the implicit) note mode in the \improvisationOn part, 
you need to remove all modifiers like  :sus4 

But maybe you are trying to keep the music exactly the same, 
e.g. you want to use a music variable. 
In that case you could specify chord mode here too.   
That turns out badly because \improvisationOn expects single notes. 



Cheers, 
Robin



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


Re: Strumming rhythm for chord progression

2009-08-14 Thread Jan-Peter Voigt

Hello Christian,

everytime you want to enter chord, you have to put it in \chordmode.  
This version compiled in my Lilypond:

--
\version 2.12.2
\header {
 title =  \Creep\ by Radiohead
}

  \new ChordNames {
\chordmode { g1 g1:sus4  }

 }

 \new Voice \with {
   \consists Pitch_squash_engraver
 } \relative c'' {
   %\improvisationOn
g1
%next line should work in chordmode
\chordmode { g1:sus4 }
}

--
The \improvisationOn is commented out, because I am not used to it ;)  
and it doesn't look like it is doing the right thing in chordmode(?).  
The g1:sus4 looks the same as the g1.


Cheers,
Jan-Peter.


Am 14.08.2009 um 02:02 schrieb Christian Henning:


Hi there, first post ever. I'm trying to engrave a strumming pattern
for a simple chord progression. I can see how a works for major chords
but I'm struggling with sus4 chords.

Here is what I have:

\version 2.12.2
\header {
 title =  \Creep\ by Radiohead
}

  \new ChordNames {
\chordmode { g g:sus4  }

 }

 \new Voice \with {
   \consists Pitch_squash_engraver
 } \relative c'' {
   \improvisationOn
g1
%next line doesn't work
g1:sus4
}





This is what the log tells me:

C:/Code Samples/music/songs/Radiohead/creep_1.ly:17:3: error: syntax
error, unexpected STRING
g1:
  sus4

C:/Code Samples/music/songs/Radiohead/creep_1.ly:5:0: error: errors
found, ignoring music expression

Can anyone help me out?

Thanks,
Christian


___
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: Strumming rhythm for chord progression

2009-08-14 Thread Patrick Schmidt
Hi Christian,

I think you just forgot one closing curly brace (}). This works for me:

\version 2.12.2

  \new ChordNames {
\chordmode {
  g1 g2:sus4 g
}
  }

\new Voice \with {
\consists Pitch_squash_engraver
  } {
\relative c'' {
  \improvisationOn
  g4 g8. g16 g8 g~g16 g g g
  g8. g16 g8 g r g g g
}
  }


You should indent your code and your braces. It's easier to read and to find 
errors.

HTH
patrick
 Original-Nachricht 
 Datum: Thu, 13 Aug 2009 20:02:20 -0400
 Von: Christian Henning chhenn...@gmail.com
 An: lilypond-user@gnu.org
 Betreff: Strumming rhythm for chord progression

 Hi there, first post ever. I'm trying to engrave a strumming pattern
 for a simple chord progression. I can see how a works for major chords
 but I'm struggling with sus4 chords.
 
 Here is what I have:
 
 \version 2.12.2
 \header {
   title =  \Creep\ by Radiohead
 }
 
\new ChordNames {
  \chordmode { g g:sus4  }
 
   }
 
   \new Voice \with {
 \consists Pitch_squash_engraver
   } \relative c'' {
 \improvisationOn
 g1
 %next line doesn't work
 g1:sus4
 }
 
 
 
 This is what the log tells me:
 
 C:/Code Samples/music/songs/Radiohead/creep_1.ly:17:3: error: syntax
 error, unexpected STRING
 g1:
sus4
 
 C:/Code Samples/music/songs/Radiohead/creep_1.ly:5:0: error: errors
 found, ignoring music expression
 
 Can anyone help me out?
 
 Thanks,
 Christian
 
 
 ___
 lilypond-user mailing list
 lilypond-user@gnu.org
 http://lists.gnu.org/mailman/listinfo/lilypond-user

-- 
Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox 3 -
sicherer, schneller und einfacher! http://portal.gmx.net/de/go/chbrowser


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


Re: huge file with Japanese characters

2009-08-14 Thread Michel Villeneuve
2009/8/13 Werner LEMBERG w...@gnu.org:
 This is a bug in gs.  If the Japanese font contains embedded bitmaps,
 they are not subsetted (as done with all outline glyphs) in the PDF
 but output completely.  The recent version of gs, 8.70, should simply
 strip these bitmaps,[1] yielding much smaller PDF files.

It does not work for me with  ghostscript 8.70.
The size of files are the same.

-- 
Michel Villeneuve
43, faubourg Jean Jaurès
07700 Bourg St-Andéol
tel : (+33)(0)961468658   / (+33)(0)601981018
GnuPG Key ID  0019690E


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


Re: Strumming rhythm for chord progression

2009-08-14 Thread Christian Henning
Hi all, thanks a lot for your reply. I think I understand now. Inside
the \improvisationOn section I don't have to reuse the real chord
name. A placeholder might be sufficient? So instead of writing g1:sus
I can just use g1. All I want in the end is to have the chord name to
appear above the stave only. Am I on the right track?

Thanks again. Lilypond is a great tool!

Christian


On Fri, Aug 14, 2009 at 5:12 AM, Patrick Schmidtp.l.schm...@gmx.de wrote:
 Hi Christian,

 I think you just forgot one closing curly brace (}). This works for me:

 \version 2.12.2
 
  \new ChordNames {
    \chordmode {
      g1 g2:sus4 g
    }
  }

 \new Voice \with {
    \consists Pitch_squash_engraver
  } {
    \relative c'' {
      \improvisationOn
      g4 g8. g16 g8 g~g16 g g g
      g8. g16 g8 g r g g g
    }
  }


 You should indent your code and your braces. It's easier to read and to find 
 errors.

 HTH
 patrick
  Original-Nachricht 
 Datum: Thu, 13 Aug 2009 20:02:20 -0400
 Von: Christian Henning chhenn...@gmail.com
 An: lilypond-user@gnu.org
 Betreff: Strumming rhythm for chord progression

 Hi there, first post ever. I'm trying to engrave a strumming pattern
 for a simple chord progression. I can see how a works for major chords
 but I'm struggling with sus4 chords.

 Here is what I have:

 \version 2.12.2
 \header {
   title =  \Creep\ by Radiohead
 }
 
    \new ChordNames {
  \chordmode { g g:sus4  }

   }

   \new Voice \with {
     \consists Pitch_squash_engraver
   } \relative c'' {
     \improvisationOn
 g1
 %next line doesn't work
 g1:sus4
 }
 


 This is what the log tells me:

 C:/Code Samples/music/songs/Radiohead/creep_1.ly:17:3: error: syntax
 error, unexpected STRING
 g1:
    sus4

 C:/Code Samples/music/songs/Radiohead/creep_1.ly:5:0: error: errors
 found, ignoring music expression

 Can anyone help me out?

 Thanks,
 Christian


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

 --
 Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox 3 -
 sicherer, schneller und einfacher! http://portal.gmx.net/de/go/chbrowser



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


Re: Strumming rhythm for chord progression

2009-08-14 Thread Tim McNamara


On Aug 14, 2009, at 9:41 AM, Christian Henning wrote:


Hi all, thanks a lot for your reply. I think I understand now. Inside
the \improvisationOn section I don't have to reuse the real chord
name. A placeholder might be sufficient? So instead of writing g1:sus
I can just use g1. All I want in the end is to have the chord name to
appear above the stave only. Am I on the right track?


Much IMHO simpler would be to use following template which was sent  
to me by someone else on the list when I first started using  
LilyPond.  It works by having a section for inputting the chords (the  
harmonies variable), another section for inputting notes (the  
melody variable) and then a section that puts them together on the  
page (the score variable).  Substitute your LilyPond version if you  
are not using 2.12.2.  For the melody, if you are not going to  
transcribe that, just put it a whole note rest for each bar.  Of  
course, I think that you should score the melody too, learning to  
transcribe that kind of thing is an essential skill for any serious  
musician.  If you've scored the melody, then you can put in the  
lyrics and have a complete lead sheet.  The lyrics go in the / 
addlyrics block; if you put nothing in there, LilyPond will complain  
but will still render correctly, or you can delete the /addlyrics  
block and it's curly braces.


Hope this helps!


\version 2.12.2

#(ly:set-option 'delete-intermediate-files #t)  % deletes the .ps  
file automatically


\paper {
indent = 0.0
ragged-last = ##t

}

\header {
  title = 
  composer = 
  meter = 
  copyright = 
}


harmonies = \chordmode {

% chords go here

}

melody = \relative c' {
\override Staff.TimeSignature #'style = #'()
\time 4/4
\clef treble
\key

% melody notes or a lot of rests go here

}


\addlyrics  {

% you can delete \addlyrics and the two curly braces

}

\score {
  

\new ChordNames {
  \set chordChanges = ##t
  \harmonies
}
\new Staff \melody
  

}



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


Re: markup help

2009-08-14 Thread James E. Bailey


On 14.08.2009, at 07:52, Mark Polesky wrote:


James E. Bailey wrote:

Reading the documentation, I don't understand why this doesn't work:
\version 2.12.2

\markup {
   \musicglyph #scripts.zero
   \musicglyph #scripts.one
   ...
}


The glyph names for the numbers don't begin with scripts..
Do this instead:

\markup {
   \musicglyph #zero
   \musicglyph #one
   ...
}

Incidentally, you can see all the correct glyph names here:
http://lilypond.org/doc/v2.12/Documentation/user/lilypond/The-Feta- 
font


Though I reorganized them for 2.13. Hopefully you'll find this
version easier to read:
http://kainhofer.com/~lilypond/Documentation/notation/index_54.html

- Mark



Thank you, incidentally, after some trial and error (after I sent the  
email) I figured that out. Although I should point out, neither  
documentation source says that the glyph names for the numbers don't  
begin with scripts.


James E. Bailey



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


Re: markup help

2009-08-14 Thread Carl Sorensen



On 8/14/09 9:54 AM, James E. Bailey derhindem...@googlemail.com wrote:

 
 Though I reorganized them for 2.13. Hopefully you'll find this
 version easier to read:
 http://kainhofer.com/~lilypond/Documentation/notation/index_54.html
 
 - Mark
 
  
 
 Thank you, incidentally, after some trial and error (after I sent the email) I
 figured that out. Although I should point out, neither documentation source
 says that the glyph names for the numbers don't begin with scripts.
 

The list of all glyphs says the numbers are one, two, etc.  The fermatas
are scripts.ufermata, scripts.dfermata, etc.

Where does this imply that the numbers should be scripts.one, not one?
How could we make the documentation clearer?

Thanks,

Carl



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


Re: markup help

2009-08-14 Thread Mark Polesky
James E. Bailey wrote:
 Thank you, incidentally, after some trial and error (after I
 sent the email) I figured that out. Although I should point out,
 neither documentation source says that the glyph names for the
 numbers don't begin with scripts.

Are you referring to the section NR 1.2.5 Rehearsal marks?
http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Bars#Rehearsal-marks

In that section, it says:

  See The Feta font, for a list of symbols which may be printed
  with \musicglyph.

Okay, I guess I can imagine some confusion. If you click on the
Feta font link, you're taken to an appendix that starts with an
example which happens to also use the script. prefix:

  The following symbols are available in the Emmentaler font and
  may be accessed directly using text markup such as
  g^\markup { \musicglyph #scripts.segno }, see Formatting text. 


I think a good solution might be to replace the Feta font link
in NR 1.2.5 Rehearsal marks with a link to NR B.8.4 Music,
such as:

  For more information on using the \musicglyph command, see
  Music.

Clicking on Music would take you here:
http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Music#Music

And that section accomplishes two things: it shows that not all
glyph names start with scripts., and it links to
the Feta font.Would that be better?

One last thing, you can always try the command index
(NR appendix E) if you get stuck with a command:
http://lilypond.org/doc/v2.12/Documentation/user/lilypond/LilyPond-command-index

If you look up \musicglyph there you'll find two references, one
of which is to the NR B.8.4 Music section I mentioned earlier.
But now, of course, I see another problem. If you look up
musicglyph (without the backslash), you won't find it. Grrr.
Work-in-progress...

- Mark


  


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


Re: Strumming rhythm for chord progression

2009-08-14 Thread Mark Polesky
Tim McNamara wrote:
 Much IMHO simpler would be to use following template which was
 sent to me by someone else on the list when I first started
 using LilyPond.

An LSR search for harmonies yields some related snippets:
http://lsr.dsi.unimi.it/LSR/Search?q=harmonies

- Mark


  


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


Re: markup help

2009-08-14 Thread James E. Bailey


On 14.08.2009, at 19:11, Carl Sorensen wrote:





On 8/14/09 9:54 AM, James E. Bailey derhindem...@googlemail.com  
wrote:




Though I reorganized them for 2.13. Hopefully you'll find this
version easier to read:
http://kainhofer.com/~lilypond/Documentation/notation/index_54.html

- Mark




Thank you, incidentally, after some trial and error (after I sent  
the email) I
figured that out. Although I should point out, neither  
documentation source

says that the glyph names for the numbers don't begin with scripts.



The list of all glyphs says the numbers are one, two, etc.  The  
fermatas

are scripts.ufermata, scripts.dfermata, etc.

Where does this imply that the numbers should be scripts.one, not  
one?

How could we make the documentation clearer?

Thanks,

Carl





No problems, in the 2.12 documentation, b.6 The Feta font. The first  
sentence there is:
The following symbols are available in the Emmentaler font and may be  
accessed directly using text markup such as g^\markup { \musicglyph  
#scripts.segno }, see Formatting text.


In the one on kainhofer it's section a.6 The Feta font:
The following symbols are available in the Emmentaler font and may be  
accessed directly using text markup such as g^\markup { \musicglyph  
#scripts.segno }, see Formatting text.



James E. Bailey



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


Re: markup help

2009-08-14 Thread Carl Sorensen



On 8/14/09 12:27 PM, James E. Bailey derhindem...@googlemail.com wrote:

 
 On 14.08.2009, at 19:11, Carl Sorensen wrote:
 
 
 
 
 On 8/14/09 9:54 AM, James E. Bailey derhindem...@googlemail.com wrote:
 
  
 
 Though I reorganized them for 2.13. Hopefully you'll find this
 version easier to read:
 http://kainhofer.com/~lilypond/Documentation/notation/index_54.html
 
 - Mark
 
 
  
 
 Thank you, incidentally, after some trial and error (after I sent the email)
  I
 figured that out. Although I should point out, neither documentation source
 says that the glyph names for the numbers don't begin with scripts.
 
  
 
 The list of all glyphs says the numbers are one, two, etc.  The fermatas
 are scripts.ufermata, scripts.dfermata, etc.
 
 Where does this imply that the numbers should be scripts.one, not one?
 How could we make the documentation clearer?
 
 Thanks,
 
 Carl
 
  
 
 
 No problems, in the 2.12 documentation, b.6 The Feta font. The first sentence
 there is:
 The following symbols are available in the Emmentaler font and may be accessed
 directly using text markup such as g^\markup { \musicglyph #scripts.segno },
 see Formatting text.
 
 In the one on kainhofer it's section a.6 The Feta font:
 The following symbols are available in the Emmentaler font and may be accessed
 directly using text markup such as g^\markup { \musicglyph #scripts.segno },
 see Formatting text.
 

OK, I've tried to be more clear by referencing the glyph names as shown in
the table below, and I've included two examples: the current segno example
and one that uses five.

The fix is now pushed to git.

Thanks

Carl



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


horizontal/vertical text spanner alignment

2009-08-14 Thread Patrick Schmidt
Dear all,

how can I align a text spanner vertically and horizontally to get something 
like this ➂---➁? Here is a tiny example:


\version 2.13.3

scale = \relative c'' {
%\once \override TextSpanner #'(bound-details left Y) = #5
%\once \override TextSpanner #'(bound-details right Y) = #5
g\3_0\startTextSpan a_2 b_4\stopTextSpan c\2_1
}

\score {
\new Staff \scale
\layout {}
}

I fiddled with \once \override TextSpanner #'(bound-details left/right Y) = 
#[±0-9] but to no avail.

Any hint is greatly appreciated.

Thanks for your help!

patrick
-- 
Neu: GMX Doppel-FLAT mit Internet-Flatrate + Telefon-Flatrate
für nur 19,99 Euro/mtl.!* http://portal.gmx.net/de/go/dsl02


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


Re: horizontal/vertical text spanner alignment

2009-08-14 Thread Neil Puttock
2009/8/14 Patrick Schmidt p.l.schm...@gmx.de:

 how can I align a text spanner vertically and horizontally to get something 
 like this ➂---➁? Here is a tiny example:

You need to make the string numbers part of the text spanner using
'(bound-details left text)/'(bound-details right text).

Take a look at this snippet: http://lsr.dsi.unimi.it/LSR/Item?u=1id=616

Regards,
Neil


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


complex time signatures: scheme help

2009-08-14 Thread James E. Bailey

Look at that, even I need scheme. I wanted to have the time signature be

3+3+2
 8

Apparently this is where Scheme is necessary. I've found the one that  
makes it

3+3+2
8  8   8

in the documentation but I don't understand how to make the change.

#(define ((compound-time one two num) grob)
  (grob-interpret-markup grob
(markup #:override '(baseline-skip . 0) #:number
  (#:line (
  (#:column (one num))
  #:vcenter +
  (#:column (two num
  )))


Can someone just do that for me?

James E. Bailey



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


Re: complex time signatures: scheme help

2009-08-14 Thread Mark Polesky
James E. Bailey wrote:
 Apparently this is where Scheme is necessary. I've found the one
 that makes it
 3+3+2
 8 8 8

 in the documentation but I don't understand how to make the change.

 Can someone just do that for me?

Umm, that's probably not the best way of asking for help... We
usually prefer can someone point me in the right direction or
something like that...

The example you're referring to is called Compound time
signatures on this page:
http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Displaying-rhythms#Time-signature

Anyway, look at the scheme code. The compound-time procedure takes
three arguments, one two and num. In the doc example, the stencil
override is:
#(compound-time 2 3 8)
That means one is 2, two is 3, and num is 8.

You see where it says (#:column (one num)) in the scheme
procedure? That means that those two arguments (one and num) are
put in a column:
2
8

You see where it says #:vcenter +? That means that the + is
put in the vertical center. You can see what happens when you
remove the #:vcenter command.

So, you have to make a couple of changes.

1) you need another argument in your scheme procedure (3+2+2 as
   compared to 2+3).
   * you might call this additional argument three
   * logically, you should probably put it between two and num

2) so now you need to make sure you pass four values to the
   procedure within your music expression, instead of the 3 values
   there now.
   (you need to change this)... #(compound-time 2 3 8)

3) decide if you want
   (#:column (one num))
   ...or just...
   one
   etc.

4) decide if you want to keep the #:vcenter command

5) somehow incorporate your new argument (three) in with the rest
   of the arguments.


Let me know if you're still having trouble after trying this.
- Mark


  


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


Re: complex time signatures: scheme help

2009-08-14 Thread James E. Bailey


On 14.08.2009, at 23:59, Mark Polesky wrote:


Umm, that's probably not the best way of asking for help... We
usually prefer can someone point me in the right direction or
something like that...


Usually I do, except here, a point in the right direction wouldn't be  
sufficient for me. I kinda need templates with easy to figure out  
changes when it comes to Scheme hacks.



Anyway, look at the scheme code. The compound-time procedure takes
three arguments, one two and num. In the doc example, the stencil
override is:
#(compound-time 2 3 8)
That means one is 2, two is 3, and num is 8.

You see where it says (#:column (one num)) in the scheme
procedure? That means that those two arguments (one and num) are
put in a column:
2
8

You see where it says #:vcenter +? That means that the + is
put in the vertical center. You can see what happens when you
remove the #:vcenter command.

So, you have to make a couple of changes.

1) you need another argument in your scheme procedure (3+2+2 as
   compared to 2+3).
   * you might call this additional argument three
   * logically, you should probably put it between two and num

Got it, #(define ((compound-time one two three num) grob)


2) so now you need to make sure you pass four values to the
   procedure within your music expression, instead of the 3 values
   there now.
   (you need to change this)... #(compound-time 2 3 8)
Got it,   \override Staff.TimeSignature #'stencil = #(compound-time  
3 3 2 8)


3) decide if you want
   (#:column (one num))
   ...or just...
   one
   etc.
This bit I don't understand. (#:column (one num)) would be the  
equivalent of \markup \center-column { one num }, right? How would I  
do \markup \center-column {\line {one + two + three} num }?




4) decide if you want to keep the #:vcenter command

Probably not. I'm guessing.


5) somehow incorporate your new argument (three) in with the rest
   of the arguments.
This bit confuses me. Isn't it incorporated by adding three  
everywhere?


Thank you

James E. Bailey



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


RE: horizontal/vertical text spanner alignment

2009-08-14 Thread Nick Payne
See attached. I already had a music function for indicating string numbers in 
guitar scores, and it only took a minute or two to modify it to have a 
different number on each end of the spanner.

Nick

 -Original Message-
 From: lilypond-user-bounces+nick.payne=internode.on@gnu.org
 [mailto:lilypond-user-bounces+nick.payne=internode.on@gnu.org] On
 Behalf Of Patrick Schmidt
 Sent: Saturday, 15 August 2009 5:08 AM
 To: lilypond-user@gnu.org
 Subject: horizontal/vertical text spanner alignment
 
 Dear all,
 
 how can I align a text spanner vertically and horizontally to get
 something like this ➂---➁? Here is a tiny example:
 
 
 \version 2.13.3
 
 scale = \relative c'' {
   %\once \override TextSpanner #'(bound-details left Y) = #5
   %\once \override TextSpanner #'(bound-details right Y) = #5
   g\3_0\startTextSpan a_2 b_4\stopTextSpan c\2_1
 }
 
 \score {
   \new Staff \scale
   \layout {}
 }
 
 I fiddled with \once \override TextSpanner #'(bound-details left/right
 Y) = #[±0-9] but to no avail.
 
 Any hint is greatly appreciated.
 
 Thanks for your help!
 
 patrick
 --
 Neu: GMX Doppel-FLAT mit Internet-Flatrate + Telefon-Flatrate
 für nur 19,99 Euro/mtl.!* http://portal.gmx.net/de/go/dsl02
 
 
 ___
 lilypond-user mailing list
 lilypond-user@gnu.org
 http://lists.gnu.org/mailman/listinfo/lilypond-user
 No virus found in this incoming message.
 Checked by AVG - www.avg.com
 Version: 8.5.392 / Virus Database: 270.13.57/2303 - Release Date:
 08/14/09 18:10:00
attachment: test.png\version 2.13.3

stringUp = #(define-music-function (parser location stringnuma stringnumb osp shorten adjBreak adjEnd) (string? string? number? pair? number? number?) #{
	% set osp to 999 if spanner is colliding with another element
	% this will position the spanner outside all other elements
	% can be normally be set to zero
	\once \override TextSpanner #'outside-staff-priority = #$osp
	\once \override TextSpanner #'bound-details #'left #'text = \markup \bold \teeny \circle { \finger $stringnuma }
	\once \override TextSpanner #'font-shape = #'upright
	% setup dashed line and draw a bracket edge on RHS
	\once \override TextSpanner #'dash-period = #0.8
	\once \override TextSpanner #'dash-fraction = #0.6
	\once \override TextSpanner #'thickness = #0.8
	\once \override TextSpanner #'bound-details #'right #'text = \markup \bold \teeny \circle { \finger $stringnumb }
	% set alignment of line with reference to text
	\once \override TextSpanner #'bound-details #'left #'stencil-align-dir-y = #CENTER
	\once \override TextSpanner #'bound-details #'right #'stencil-align-dir-y = #CENTER
	\once \override TextSpanner #'bound-details #'left #'padding = #(car $shorten)
	\once \override TextSpanner #'bound-details #'right #'padding = #(cdr $shorten)
	% allow adjustment of line end when it wraps to following stave
	\once \override TextSpanner #'bound-details #'right-broken #'padding = #$adjEnd
	% adjust LH end of line when it wraps to following stave so that it doesn't
	% extend to the left of the notes on the stave
	\once \override TextSpanner #'bound-details #'left-broken #'X = #$adjBreak
	% optional override to remove text and bracket edge at line breaks
%	\once \override TextSpanner #'bound-details #'left-broken #'text = ##f
	\once \override TextSpanner #'bound-details #'right-broken #'text = ##f
#})

\relative c' {
	\stringUp 2 3 #0 #'(0 . -0.5) #5 #1 e\startTextSpan e e e\stopTextSpan
}

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


Re: complex time signatures: scheme help

2009-08-14 Thread Carl Sorensen



On 8/14/09 4:12 PM, James E. Bailey derhindem...@googlemail.com wrote:

 
 On 14.08.2009, at 23:59, Mark Polesky wrote:
 
 Umm, that's probably not the best way of asking for help... We
 usually prefer can someone point me in the right direction or
 something like that...
 
 Usually I do, except here, a point in the right direction wouldn't be
 sufficient for me. I kinda need templates with easy to figure out changes when
 it comes to Scheme hacks.
 
 Anyway, look at the scheme code. The compound-time procedure takes
 three arguments, one two and num. In the doc example, the stencil
 override is:
 #(compound-time 2 3 8)
 That means one is 2, two is 3, and num is 8.
 
 You see where it says (#:column (one num)) in the scheme
 procedure? That means that those two arguments (one and num) are
 put in a column:
 2
 8
 
 You see where it says #:vcenter +? That means that the + is
 put in the vertical center. You can see what happens when you
 remove the #:vcenter command.
 
 So, you have to make a couple of changes.
 
 1) you need another argument in your scheme procedure (3+2+2 as
compared to 2+3).
* you might call this additional argument three
* logically, you should probably put it between two and num
 Got it, #(define ((compound-time one two three num) grob)
 
 2) so now you need to make sure you pass four values to the
procedure within your music expression, instead of the 3 values
there now.
(you need to change this)... #(compound-time 2 3 8)
 Got it,   \override Staff.TimeSignature #'stencil = #(compound-time 3 3
 2 8)
 
 3) decide if you want
(#:column (one num))
...or just...
one
etc.
 This bit I don't understand. (#:column (one num)) would be the equivalent of
 \markup \center-column { one num }, right? How would I do \markup
 \center-column {\line {one + two + three} num }?

See Notation Reference 6.4.1 Markup construction in Scheme

(markup #:center-column ((#:line (one two three)) num))

 
 
 4) decide if you want to keep the #:vcenter command
 Probably not. I'm guessing.
 
 5) somehow incorporate your new argument (three) in with the rest
of the arguments.
 This bit confuses me. Isn't it incorporated by adding three everywhere?

Yep, you seem to have it right.

Carl



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


Re: complex time signatures: scheme help

2009-08-14 Thread Mark Polesky
James E. Bailey wrote:
  3) decide if you want
 (#:column (one num))
 ...or just...
 one
 etc.
 This bit I don't understand. (#:column (one num)) would be the
 equivalent of \markup \center-column { one num }, right?
 How would I do
 \markup \center-column {\line {one + two + three} num }? 

I think it's better to line it up this way instead:
\markup { \line { one + \center-column { two num } + three} }


  4) decide if you want to keep the #:vcenter command.
 Probably not. I'm guessing.

Well, the usual placement of + is on the middle line when all
the denominators are present, but if only one denominator is
there, the plus signs usually get centered between the numerators.


  5) somehow incorporate your new argument (three) in with the rest
 of the arguments.
 This bit confuses me. Isn't it incorporated by adding three
 everywhere?

I meant specifically in this part of the code:

(#:line ((#:column (one num))
 #:vcenter +
 (#:column (two num

I was just spelling it out. You probably just figured it out
before reading that far.

Let me know once you get it.
- Mark


  


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


Re: complex time signatures: scheme help

2009-08-14 Thread James E. Bailey


On 15.08.2009, at 00:30, Carl Sorensen wrote:


3) decide if you want
   (#:column (one num))
   ...or just...
   one
   etc.
This bit I don't understand. (#:column (one num)) would be the  
equivalent of

\markup \center-column { one num }, right? How would I do \markup
\center-column {\line {one + two + three} num }?


See Notation Reference 6.4.1 Markup construction in Scheme

(markup #:center-column ((#:line (one two three)) num))





4) decide if you want to keep the #:vcenter command

Probably not. I'm guessing.


5) somehow incorporate your new argument (three) in with the rest
   of the arguments.
This bit confuses me. Isn't it incorporated by adding three  
everywhere?


Yep, you seem to have it right.

Carl




Okay, now I have
#(define ((compound-time one two three num) grob)
  (grob-interpret-markup grob
(markup #:override '(baseline-skip . 0) #:number
(markup #:center-column ((#:line (one + two + three)) num))
  )))

Which looks like just a really complicated way of doing

 \override Staff.TimeSignature #'stencil = #ly:text- 
interface::print

 \override Staff.TimeSignature #'text = \markup {
\center-column {
   \line { \musicglyph #three \musicglyph #plus  
\musicglyph #three \musicglyph #plus \musicglyph #two }

   \line { \musicglyph #eight }
}
(my initial attempt)

Neither of which moves the Time signature to adjust for the wider  
space of 3+3+2. So, is there a better way of achieving this?


James E. Bailey



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


Re: complex time signatures: scheme help

2009-08-14 Thread Mark Polesky
James E. Bailey wrote:
  3) decide if you want
 (#:column (one num))
 ...or just...
 one
 etc.
 This bit I don't understand. (#:column (one num)) would be the
 equivalent of \markup \center-column { one num }, right?
 How would I do
 \markup \center-column {\line {one + two + three} num }? 


Now I think I understand your confusion. Without columns,
time-signature markups get placed in the *top* half of the staff,
not the center. With columns, subsequent markups are placed below
the preceding markup. You can try (#:column (1 2 3)) to
observe this.

- Mark


  


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


Re: complex time signatures: scheme help

2009-08-14 Thread Reinhold Kainhofer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Am Freitag, 14. August 2009 23:13:18 schrieb James E. Bailey:
 Look at that, even I need scheme. I wanted to have the time signature be

 3+3+2
   8

 Apparently this is where Scheme is necessary. I've found the one that
 makes it
 3+3+2
 8  8   8

 in the documentation 

Attached is my current code for general complex time signatures (arbitrary # 
of fractions, arbitrary # of numerators). I have not yet tried to get it into 
master, because the auto-beaming does not yet follow the signature.


Cheers,
Reinhold

- -- 
- --
Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
 * Financial  Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iD8DBQFKhelCTqjEwhXvPN0RAu0NAKCrYbZ4HAD73AHH8w3eNYmYSXvQ4QCfRQAd
yoTlxbPOM/e6ZJgxzuCRTk0=
=rHjY
-END PGP SIGNATURE-
\version 2.11.65

%
% Formatting of (possibly complex) compound time signatures
%

#(define-public (insert-markups l m)
  (let* ((ll (reverse l)))
(let join-markups ((markups (list (car ll)))
   (remaining (cdr ll)))
  (if (pair? remaining)
(join-markups (cons (car remaining) (cons m markups)) (cdr remaining))
markups

% Use a centered-column inside a left-column, because the centered column
% moves its reference point to the center, which the left-column undoes.
% The center-column also aligns its contented centered, which is not undone...
#(define-public (format-time-fraction time-sig-fraction)
  (let* ((revargs (reverse (map number-string time-sig-fraction)))
 (den (car revargs))
 (nums (reverse (cdr revargs
(make-override-markup '(baseline-skip . 0)
  (make-number-markup 
(make-left-column-markup (list
  (make-center-column-markup (list
(make-line-markup (insert-markups nums +))
den

#(define-public (format-complex-compound-time time-sig)
  (let* ((sigs (map format-time-fraction time-sig)))
(make-override-markup '(baseline-skip . 0)
  (make-number-markup
(make-line-markup 
  (insert-markups sigs (make-vcenter-markup +)))

#(define-public (format-compound-time time-sig)
  (cond
((not (pair? time-sig)) (null-markup))
((pair? (car time-sig)) (format-complex-compound-time time-sig))
(else (format-time-fraction time-sig


%
% Measure length calculation of (possibly complex) compound time signatures
%

#(define-public (calculate-time-fraction time-sig-fraction)
  (let* ((revargs (reverse time-sig-fraction))
 (den (car revargs))
 (nums (cdr revargs)))
(ly:make-moment (apply + nums) den)))

#(define-public (calculate-complex-compound-time time-sig)
  (let* ((sigs (map calculate-time-fraction time-sig)))
(let add-moment ((moment ZERO-MOMENT)
 (remaining sigs))
  (if (pair? remaining)
(add-moment (ly:moment-add moment (car remaining)) (cdr remaining))
moment

#(define-public (calculate-compound-measure-length time-sig)
  (cond
((not (pair? time-sig)) (ly:make-moment 4 4))
((pair? (car time-sig)) (calculate-complex-compound-time time-sig))
(else (calculate-time-fraction time-sig


%
% Beat Grouping
%

% #(define-public (calculate-compound-base-beat-full time-sig)
%   (let* ((den (map last time-sig)))
% (apply max den)))

% #(define-public (calculate-compound-beat-grouping time-sig beat)
%   (cond
% ((not (pair? time-sig)) 4)
% ((pair? (car time-sig)) (calculate-compound-base-beat-full time-sig))
% (else (calculate-compound-base-beat-full (list time-sig))




%
% Base beat lenth
%

#(define-public (calculate-compound-base-beat-full time-sig)
  (let* ((den (map last time-sig)))
(apply max den)))

#(define-public (calculate-compound-base-beat time-sig)
  (ly:make-moment 1 (cond
((not (pair? time-sig)) 4)
((pair? (car time-sig)) (calculate-compound-base-beat-full time-sig))
(else (calculate-compound-base-beat-full (list time-sig))


%
% The music function to set the complex time signature

Re: complex time signatures: scheme help

2009-08-14 Thread Carl Sorensen



On 8/14/09 4:46 PM, Reinhold Kainhofer reinh...@kainhofer.com wrote:

 
 Attached is my current code for general complex time signatures (arbitrary #
 of fractions, arbitrary # of numerators). I have not yet tried to get it into
 master, because the auto-beaming does not yet follow the signature.

How should auto-beaming respond to a compound time signature?

In particular, how should ((2 3 8) (4 8)) be different from (2 3 4 8)?

I think with the new autobeaming code it would not be hard to get the
top-level beaming right.

BeatLength, on the other hand, probably doesn't have sufficient structure
built into it to handle ((1 2 3 4 8) (2 4) (2 3 8)), because for that time
signature, beatLength should vary with measure position.

I'm willing to take a shot at fixing the auto-beaming, if you'd like.

Carl



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


Re: complex time signatures: scheme help

2009-08-14 Thread James E. Bailey


On 15.08.2009, at 00:46, Reinhold Kainhofer wrote:


-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Am Freitag, 14. August 2009 23:13:18 schrieb James E. Bailey:
Look at that, even I need scheme. I wanted to have the time  
signature be


3+3+2
  8

Apparently this is where Scheme is necessary. I've found the one that
makes it
3+3+2
8  8   8

in the documentation


Attached is my current code for general complex time signatures  
(arbitrary #
of fractions, arbitrary # of numerators). I have not yet tried to  
get it into

master, because the auto-beaming does not yet follow the signature.


Cheers,
Reinhold

- --


Wow, thank you. That's amazing! I hope that it one day makes it into  
the current code.


James E. Bailey



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


Re: complex time signatures: scheme help

2009-08-14 Thread Graham Percival
On Fri, Aug 14, 2009 at 11:13:18PM +0200, James E. Bailey wrote:
 Look at that, even I need scheme. I wanted to have the time signature be
 
 3+3+2
  8

Great!  Search the archives for this list, last Oct or Nov or
maybe even Dec, to find the solution.  lilypond elegance will
help the search.


And yes, getting it included in the main lilypond is Yet Another
Cool Thing (tm) that isn't happening because I'm busy doing other
stuff that other people could be helping with.

Cheers,
- Graham


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


Re: complex time signatures: scheme help

2009-08-14 Thread Reinhold Kainhofer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Am Samstag, 15. August 2009 01:06:40 schrieb Carl Sorensen:
 On 8/14/09 4:46 PM, Reinhold Kainhofer reinh...@kainhofer.com wrote:
  Attached is my current code for general complex time signatures
  (arbitrary # of fractions, arbitrary # of numerators). I have not yet
  tried to get it into master, because the auto-beaming does not yet follow
  the signature.

 How should auto-beaming respond to a compound time signature?

 In particular, how should ((2 3 8) (4 8)) be different from (2 3 4 8)?

That's one of the reasons why I haven't attacked that problem yet ;-)

 I think with the new autobeaming code it would not be hard to get the
 top-level beaming right.

yeah, I simply never managed to read the docs..

 BeatLength, on the other hand, probably doesn't have sufficient structure
 built into it to handle ((1 2 3 4 8) (2 4) (2 3 8)), because for that time
 signature, beatLength should vary with measure position.

I currently simply take the largest denominator ad common beatLength, so in 
this case the beatLength will be 8. I also don't know enough about the beaming 
rules to know how 2/4 and 4/8 behave differently.

 I'm willing to take a shot at fixing the auto-beaming, if you'd like.

Yeah, that would  be great!

Currently, the code I sent (albeit not perfect yet) is already used in 
musicxml2ly (where it is copied verbatim to the output file), but it should 
become part of master sooner or later, so that lilypond also supports complex 
time signatures properly.

Cheers,
Reinhold
- -- 
- --
Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
 * Financial  Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iD8DBQFKhfnUTqjEwhXvPN0RAt5EAJ4ot7fHua+hmvuQ2moKNT1/Z7VZtwCgoPfb
4ZzCTmAC5WUVwIdT0q9ZLHc=
=4Ocb
-END PGP SIGNATURE-


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


Re: complex time signatures: scheme help

2009-08-14 Thread Carl Sorensen



On 8/14/09 5:57 PM, Reinhold Kainhofer reinh...@kainhofer.com wrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Am Samstag, 15. August 2009 01:06:40 schrieb Carl Sorensen:
 On 8/14/09 4:46 PM, Reinhold Kainhofer reinh...@kainhofer.com wrote:
 Attached is my current code for general complex time signatures
 (arbitrary # of fractions, arbitrary # of numerators). I have not yet
 tried to get it into master, because the auto-beaming does not yet follow
 the signature.
 
 How should auto-beaming respond to a compound time signature?
 
 In particular, how should ((2 3 8) (4 8)) be different from (2 3 4 8)?
 
 That's one of the reasons why I haven't attacked that problem yet ;-)

My intended approach for right now will be to create a default beaming rule

(((9 . 8) end) .
 ((* . (2 3 4)))

It will use the largest denominator (i.e. the smallest time value) as the
beatlength, and then group according to the numerators.

I would handle ((1 2 3 4 8) (2 4) (2 3 8)) as

(((19 . 8) end) .
 ((* . (1 2 3 4 4 2 3)))

I think this is a good rough start; somebody who wants it another way can
tweak it as they wish.

If you see problems with this, please let me know.

Thanks,

Carl



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


Re: Trying to Replicate a Measure with Decreasing Subdivisions

2009-08-14 Thread Andrew Wiley
Okay, I think I solved this, thanks to the excellent Lilypond documentation.
I needed a combination of stemLeftBeamCount, stemLeftBeamCount, stemUp, and
cross-staff stems.
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Trying to Replicate a Measure with Decreasing Subdivisions

2009-08-14 Thread Mark Polesky
Andrew Wiley wrote:
 Okay, I think I solved this, thanks to the excellent
 Lilypond documentation. I needed a combination of
 stemLeftBeamCount, stemLeftBeamCount, stemUp, and
 cross-staff stems.

Solved what? Where is the message you're replying to?
- Mark



  


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