Re:Sibelius user looking for the easiest way to learn LilyPond

2013-01-05 Thread Stefan Thomas
Dear John,
I've also used Sibelius for a long time and now I'm using Lilypond.
Off course, You're right, lilypond seems, at the beginning, more
complicated than Sibelius and for some people it is hard, that You don't
have a graphical interface.
I think, it depends on what You want.
I, for example, prefare writing my scores by hand (yes, in that case I'm
old-school) and I make the fair copy with lilypond.
Some people prefare writing directly into the computer-software.
I think, this would be very hard to do with lilypond.
But for making fair copys, I think, lilypond is the best and it can be very
efficient in typing notes.
If You use lilypond-tool You can even typing notes with a midi keyboard, or
if You use RUMOR (running only on linux).
I recommand, that You install frescobaldi and as the first step I would
type in some easy music (e.g. early Mozart minuets).
That's the way I've learned it.


  A few years ago I was encouraged to try LilyPond
as an alternative to Sibelius because LilyPond
produced more beautiful scores. I was also told that it
would allow me to do things like specify that bars
25 through 32 are to be identical to bars 9 through 16
and avoid cutting and pasting from bars 9-16
into 25-32. I liked what I heard, but I was quite shocked
by LilyPond's interface. I would be interested in
hearing from any Sibelius users who have successfully
learned LilyPond. How can I get going in LilyPond
as quickly as possible?
 In case it's relevant, I should add that I used to program
in FORTRAN and a little bit of UNIX but never
in any other languages.

 Thanks in advance,
 John Link

 P.S. I sent the message above but I didn't receive it so
I'm sending it again. I have seen messages from
other users. http://www.cdbaby.com/all/johnlink
 http://www.myspace.com/johnlinkproject


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


Re: Trill and nonstandard expressive mark

2013-01-05 Thread David Kastrup
Nick Payne nick.pa...@internode.on.net writes:

 On 05/01/13 14:27, Andrew Bernard wrote:
 On 5/01/13 2:02 PM, Nick Payne wrote:
 You could use a left parenthesis and omit the upprall:

 \version 2.17.9

 { c'-\tweak bound-details.left.text
   \markup { \fontsize #-5 { \musicglyph
 #accidentals.leftparen } }
\tweak bound-details.left.stencil-offset #'(0.02 . -0.65)
\startTrillSpan
d'
c'2\stopTrillSpan }
 Thanks! Solves the matter for me very well indeed.

 You can wrap it up more neatly if you're using it in several locations:

 \version 2.17.9

 beginPrallSpan = #(define-event-function (parser location) ()
   #{
 \tweak bound-details.left.text
   \markup { \fontsize #-5 { \musicglyph #accidentals.leftparen } }
 \tweak bound-details.left.stencil-offset #'(0.02 . -0.65)
 \startTrillSpan
   #}
 )

No need for a function here.

beginPrallSpan =
 \tweak bound-details.left.text
   \markup { \fontsize #-5 { \musicglyph #accidentals.leftparen } }
 \tweak bound-details.left.stencil-offset #'(0.02 . -0.65)
 \startTrillSpan

-- 
David Kastrup


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


Re: FretBoards chordChanges

2013-01-05 Thread David Kastrup
Marc Hohl m...@hohlart.de writes:

 Am 04.01.2013 22:44, schrieb Phil Holmes:
 - Original Message - From: Marc Hohl m...@hohlart.de

 If you don't have compiled lilypond from source, it would be
 probably the best to wait for 2.17.11 to be released.

 If you want to give it a try, though, have a look at

 http://lilypond.org/doc/v2.17/Documentation/contributor/compiling


 It should be in 2.17.10 when I release that.
 Oh, yes, silly me – I *always* work with self-compiled binaries and
 forgot that
 their version numbers are those about to be released.

It is not just that.  Phil's message also is that he is not going to
release 2.17.10 for about a week, the time it takes until a proposed
patch that is not self-evidently the best and correct approach will take
to make it through reviews, countdown, and pushing.

-- 
David Kastrup


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


Re: Lilypond-book on Windows 2.16.1

2013-01-05 Thread Phil Holmes
- Original Message - 
From: Julien Rioux jri...@lyx.org

To: lilypond-user@gnu.org
Sent: Friday, January 04, 2013 9:43 PM
Subject: Re: Lilypond-book on Windows 2.16.1



On 04/01/2013 4:30 PM, Phil Holmes wrote:
Thanks for testing this.  2.16.2 is currently uploading and the stable 
build (which you have actually already downloaded from my website) should 
be on lilypond.org tomorrow.


--
Phil Holmes



Thanks for tackling this, Phil, and thanks to those who ran tests.

BTW, should the backported patches be marked fixed_2_16_2 on the issue 
tracker, as David did for 2_16_x before?



Done.

--
Phil Holmes 



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


Re: FretBoards chordChanges

2013-01-05 Thread Phil Holmes
- Original Message - 
From: EmilLask laske...@gmail.com

To: lilypond-user@gnu.org
Sent: Saturday, January 05, 2013 7:13 AM
Subject: Re: FretBoards chordChanges



Thanks Marc and thanks Phil.

Is there an easy guide, step by step, to compiling Lilypond in mac os x 
and

add .cc patch without get in trouble ?


There's a lot about compiling lilypond at

http://lilypond.org/doc/v2.17/Documentation/contributor/compiling

Unless you have a lot of experience, it would probably be easier to use a 
virtual machine and LilyDev.



Phil, when do you think will be ready the new release?


I was a little optimistic when I said it _would_ be in 2.17.10.  The truth 
it it _could_ be in that build.  As David says, the proposed change needs 
reviewing (a process docmented in 
http://lilypond.org/doc/v2.17/Documentation/contributor/commits-and-patches 
and which he as already started).  If it passes review and he pushed it to 
git, it would be in the release following that.  I typically make a release 
every 2 weeks.


--
Phil Holmes 



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


Re: Trill and nonstandard expressive mark

2013-01-05 Thread Ed Gordijn

Hi all,

Still learning more than I can contribute.

Just works fine in older version too:

\version 2.16.0


SetUpPrall = {

\once \override TrillSpanner #'(bound-details left text) = \markup { 
\fontsize #-5  \musicglyph #accidentals.leftparen  }


\once \override TrillSpanner #'(bound-details left stencil-offset) = 
#'(0.02 . -0.65)


}


{

\SetUpPrall

c''\startTrillSpan

d''

c''2\stopTrillSpan

}


Greetings, Ed


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


Re: Trill and nonstandard expressive mark

2013-01-05 Thread David Kastrup
Ed Gordijn ed.klari...@gmail.com writes:

 Still learning more than I can contribute.

 Just works fine in older version too:

 \version 2.16.0


 SetUpPrall = {

 \once \override TrillSpanner #'(bound-details left text) = \markup {
 \fontsize #-5  \musicglyph #accidentals.leftparen  }

 \once \override TrillSpanner #'(bound-details left stencil-offset) =
 #'(0.02 . -0.65)

 }


 {

 \SetUpPrall

 c''\startTrillSpan

 d''

 c''2\stopTrillSpan

 }

Well, you need _two_ trill starting commands now (though you could
likely squeeze \startTrillSpan into \SetUpPrall), and you need to
spend more attention to detail to the overrides.

So you likely contributed more time on this than I did.

-- 
David Kastrup


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


markup function

2013-01-05 Thread Noeck
Hi,

how can I write a function that returns a markup?

In Python (using LilyPond syntax) I would write something like:

def function(text):
url = http://www.something; + text.lower()
return \markup { \with-color #red \with-url #url text }

Cheers,
Joram

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


Re: markup function

2013-01-05 Thread David Kastrup
Noeck noeck.marb...@gmx.de writes:

 Hi,

 how can I write a function that returns a markup?

 In Python (using LilyPond syntax) I would write something like:

 def function(text):
 url = http://www.something; + text.lower()
 return \markup { \with-color #red \with-url #url text }

Have you tried looking into the Extending LilyPond manual?

URL:http://lilypond.org/doc/v2.16/Documentation/extending/markup-functions

-- 
David Kastrup


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


Re: Trill and nonstandard expressive mark

2013-01-05 Thread Ed Gordijn

Hi David,

Well, you need _two_ trill starting commands now (though you could
likely squeeze \startTrillSpan into \SetUpPrall), and you need to
spend more attention to detail to the overrides.

So you likely contributed more time on this than I did.

I am still in 2.16 and did try your tweaks but didn't get it ride. I 
know that 2.17  has got a new syntax with dots but converting that to 
the 2.16 style didn't solve it. Here is my code, I don't know what is wrong.


\version 2.16.0


beginPrallSpan = {

\tweak #'(bound-details left text) \markup { \fontsize #-5 \musicglyph 
#accidentals.leftparen }


\tweak #'(bound-details left stencil-offset) #'(0.02 . -0.65)

\startTrillSpan

}


{

c''-\beginPrallSpan

d''

c''2\stopTrillSpan

}


So, yes I am spending more time, but learned more than you did ;-)


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


Re: Tweaking notehead direction in chords

2013-01-05 Thread Paul Morris
On Jan 4, 2013, at 11:10 PM, Paul Morris p...@paulwmorris.com wrote:

 Without looking into it any further, my best guess is that calculating the 
 stem width does not work because the stem grob has not been generated before 
 the ] is reached, or something like that?  

By commenting things out, I identified the following as the first line that 
causes the error:

 (stem-stil (ly:grob-property stem 'stencil))

So it seems like the stem grob's stencil may not have been created yet, at the 
point where we are trying to get its width?

I tried the following, which moves the attempt to access the stencil behind the 
ly:stencil? check, but it returned the same error anyway.

  (stem (ly:grob-object grob 'stem))
  (stem-thick (ly:grob-property stem 'thickness 1.3))
  ;; (stem-stil (ly:grob-property stem 'stencil))
  (stem-x-width (if (ly:stencil? (ly:grob-property stem 'stencil))
 (interval-length (ly:stencil-extent (ly:grob-property stem 
'stencil) X))
 ;; if no stem-stencil use 'thickness-property
 (/ stem-thick 10)))
  (stem-dir (ly:grob-property stem 'direction))
  ;; Calculate a value to compensate the stem-extension
  (stem-x-corr 
(map 
  (lambda (q)
 (+ 1 1)
 )
   nh-duration-log)))


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


Re: markup function

2013-01-05 Thread Noeck

 Have you tried looking into the Extending LilyPond manual?
 
 URL:http://lilypond.org/doc/v2.16/Documentation/extending/markup-functions

I did not reach it, because I did not understand the sections 2.1 and
2.2 and then I gave up. Examples would help me a lot in these sections.
I played around, but I could not figure out how functions are defined
and how scheme works. My test is below, just to show on which basic
level I am stuck.

\version 2.17.9

function = % does not work
#(define-scheme-function
  (parser location text)
  (markup?)
  \markup{ \with-url #http #text} )

\function Hallo

Section 2.5.3 finally has an example and using that, I could finally
write the following function. But I only understand the part in #{ #}.
The words layout props and the interpret-markup are still cryptic to
me. Is there a documentation where this is described for noobs like me?

#(define-markup-command (myfunction layout props text) (markup?)
  Draw a double box around text.
  (interpret-markup layout props
#{\markup \with-url #http { #text }#}))

How can I combine two strings? The #http and the #text in this example?
How can I change a string to lower case?

Cheers,
Joram

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


Re: markup function

2013-01-05 Thread Noeck

 How can I combine two strings? The #http and the #text in this example?
 How can I change a string to lower case?

I just want to add, that I know the functions (via google serach):
(string-downcase Abc Def) and (string-append hello   world)

But I don't understand how to use them here.

Joram

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


Re: markup function

2013-01-05 Thread David Kastrup
Noeck noeck.marb...@gmx.de writes:

 Have you tried looking into the Extending LilyPond manual?
 
 URL:http://lilypond.org/doc/v2.16/Documentation/extending/markup-functions

 I did not reach it, because I did not understand the sections 2.1 and
 2.2 and then I gave up. Examples would help me a lot in these sections.
 I played around, but I could not figure out how functions are defined
 and how scheme works. My test is below, just to show on which basic
 level I am stuck.

 \version 2.17.9

 function = % does not work
 #(define-scheme-function
   (parser location text)
   (markup?)
   \markup{ \with-url #http #text} )

 \function Hallo

Well, change this to
\version 2.17.9

function =
#(define-scheme-function
  (parser location text)
  (markup?)
  #{ \markup{ \with-url #http #text } #})

\function Hallo

And it will work.  There was a #{ #} missing (you can't otherwise use
LilyPond syntax within Scheme), and #text} will complain because the
Scheme reader considers text} a single variable name which it can't
find anywhere.

Of course, this again requires at least 2.17.7:

commit a30c13f4658f03cb30820a27b42ddb4aea941380
Author: David Kastrup d...@gnu.org
Date:   Mon Nov 5 23:13:07 2012 +0100

Issue 2949: Allow (closed) scheme function calls as text scripts.

One motivation of recent grammar changes was to make scheme variables
identical to markup variables.  The obvious parallel idea of letting
scheme function calls be available for calculating markups has not
received similar attention.

The purpose of this patch is to allow for using scheme function calls
producing markup within text scripts.


In older versions, you'll have to go via define-markup-command:

 Section 2.5.3 finally has an example and using that, I could finally
 write the following function. But I only understand the part in #{ #}.
 The words layout props and the interpret-markup are still cryptic
 to me. Is there a documentation where this is described for noobs like
 me?

No.  I don't think there is reasonable documentation where this is
described for experts either.  Consider it a magic incantation.

 #(define-markup-command (myfunction layout props text) (markup?)
   Draw a double box around text.
   (interpret-markup layout props
 #{\markup \with-url #http { #text }#}))

 How can I combine two strings? The #http and the #text in this example?

It might make sense to look in the Guile manual for string operations.
Other than that, check out the notation manual for a description of
available markup commands (like \concat).

 How can I change a string to lower case?

That would again be something to look up in the Guile manual.

-- 
David Kastrup


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


Re: Trill and nonstandard expressive mark

2013-01-05 Thread David Kastrup
Ed Gordijn ed.klari...@gmail.com writes:

 Hi David,
 Well, you need _two_ trill starting commands now (though you could
 likely squeeze \startTrillSpan into \SetUpPrall), and you need to
 spend more attention to detail to the overrides.

 So you likely contributed more time on this than I did.

 I am still in 2.16 and did try your tweaks but didn't get it ride. I
 know that 2.17 has got a new syntax with dots but converting that to
 the 2.16 style didn't solve it. Here is my code, I don't know what is
 wrong.

 \version 2.16.0


 beginPrallSpan = {

 \tweak #'(bound-details left text) \markup { \fontsize #-5 \musicglyph
 #accidentals.leftparen }

 \tweak #'(bound-details left stencil-offset) #'(0.02 . -0.65)

 \startTrillSpan

 }

Well, putting { ... } around it is wrong, for one thing: it turns the
whole into sequential music.  Other than that it would be fine if \tweak
supported the tweaking of subproperties.

Alas,

commit c35b698a7cb24bc0bd2f724c23e4c6fc455bdf75
Author: David Kastrup d...@gnu.org
Date:   Sat Nov 24 21:04:21 2012 +0100

Issue 2997/2: Let \tweak deal with nested properties

was just entered in LilyPond in version 2.17.8.  All the tweak/override
folderol makes a good case for thinking of releasing 2.18 in a
reasonable time frame.  The spacing improvements of 2.17.1 are of course
also some incentive, but it looks better in the unstable version is
less awkward than oh, in the stable version this won't work at all and
the input is much more complicated.

 So, yes I am spending more time, but learned more than you did ;-)

And with luck, in a less exasperating way.

-- 
David Kastrup

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


Re: LilyPondXs

2013-01-05 Thread pls

Am 04.01.2013 um 12:16 schrieb Sven Axelsson sven.axels...@gmail.com:

 On 4 January 2013 10:43, Han-Wen Nienhuys hanw...@gmail.com wrote:
 -- Forwarded message --
 From: Kristina Vuckovic kvuck...@ffzg.hr
 Date: Fri, Dec 28, 2012 at 11:29 AM
 Subject: LilyPondXs
 To: han...@xs4all.nl
 
 
 Dear Mr. Nienhuys,
 
 
 I am using software NooJ for natural language processing, and some
 time ago I thought how nice it would be if we could use the same tool
 for processing musical notes. I was thinking about the ways how to
 introduce the note in a textual way and than I found your software
 LilyPond (greta job!)– now, since I need the notes to be converted to
 text, I was wondering if you have any plans in adding that to your
 program i.e. is it possible to have a pdf file with notes that get
 'translated' into LilyPond notation (c2 d2...)?
 
 Looking briefly at what NooJ seems to do, I assume you want to get
 access to a music corpus in Lilypond format to do some analysis on.
 Carlo has already suggested a possible way of translating scanned
 files to Lilypond notation. However, there is also the Mutopia Project
 (http://www.mutopiaproject.org) that contains quite a lot of music
 in Lilypond format. Maybe that can get you started?
Or maybe you are looking for a toolkit for computer-aided musicology?  Then you 
should have a look at http://mit.edu/music21/.  music21 can import and export 
quite a few musical data formats. Unfortunately it can't parse LilyPond but the 
music21 corpus comes with a large collection of scores in different formats.  
Provided you have some familiarity with Python you can analyze, visualize and 
transform musical data...

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


Re: shorthand for force display of chord name?

2013-01-05 Thread Eluze


Am 05.01.2013 01:43, schrieb Kieren MacMillan:

Hi Eluze,

   do you mean

\once \set chordChanges = ##f

No... if I had meant that, I would have said that.  ;)

I meant what I said:

c:min7!, analogous to how ! is used to force the display of accidentals

Thanks,
Kieren. 

hi Kieren

just to be sure: do you mean a different functionality or just a shorter 
(and postponed) shortcut?!


Eluze

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


Re: Trill and nonstandard expressive mark

2013-01-05 Thread Olivier Biot
On Sat, Jan 5, 2013 at 5:10 PM, David Kastrup d...@gnu.org wrote:

 Ed Gordijn ed.klari...@gmail.com writes:

  Hi David,
  Well, you need _two_ trill starting commands now (though you could
  likely squeeze \startTrillSpan into \SetUpPrall), and you need to
  spend more attention to detail to the overrides.
 
  So you likely contributed more time on this than I did.
 
  I am still in 2.16 and did try your tweaks but didn't get it ride. I
  know that 2.17 has got a new syntax with dots but converting that to
  the 2.16 style didn't solve it. Here is my code, I don't know what is
  wrong.
 
  \version 2.16.0
 
 
  beginPrallSpan = {
 
  \tweak #'(bound-details left text) \markup { \fontsize #-5 \musicglyph
  #accidentals.leftparen }
 
  \tweak #'(bound-details left stencil-offset) #'(0.02 . -0.65)
 
  \startTrillSpan
 
  }

 Well, putting { ... } around it is wrong, for one thing: it turns the
 whole into sequential music.


Bingo!

This is the most counterintuitive syntactic element in LilyPond for
newcomers (after Scheme). In most programming languages, curly braces are
used for grouping commands, in LilyPond curly braces have a double life and
can be used in one of their shapes as a shorthand for define serial music
(as opposed to define parallel music which is done with double angle
brackets. The double meaning of the curly braces in LilyPond is rather
confusing and I still have the impression at times that things seem to work
out of sheer luck when using curly braces.

Is this double meaning of curly braces documented somewhere? I did not come
across it in the online manuals so far.

Best regards,

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


(lilypond-book) Useful LaTeX snippets

2013-01-05 Thread Olivier Biot
Dear LilyPond users,

Is there a LaTeX snippet repository for submitting useful LaTeX macros for
lilypond-book users?

I'd like to share some snippets but don't know where to share them.

Best regards,

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


Re: Trill and nonstandard expressive mark

2013-01-05 Thread David Kastrup
Olivier Biot olivier.b...@gmail.com writes:

 Well, putting { ... } around it is wrong, for one thing: it turns
 the
 whole into sequential music.

 Bingo!

 This is the most counterintuitive syntactic element in LilyPond for
 newcomers (after Scheme). In most programming languages, curly braces
 are used for grouping commands, in LilyPond curly braces have a double
 life and can be used in one of their shapes as a shorthand for define
 serial music (as opposed to define parallel music which is done
 with double angle brackets. The double meaning of the curly braces in
 LilyPond is rather confusing and I still have the impression at times
 that things seem to work out of sheer luck when using curly braces.

 Is this double meaning of curly braces documented somewhere? I did not
 come across it in the online manuals so far.

What double life?  Within music, curly braces create sequential music.
What other meaning do you see?

-- 
David Kastrup

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


Re: markup function

2013-01-05 Thread Noeck

 It might make sense to look in the Guile manual for string operations.
 Other than that, check out the notation manual for a description of
 available markup commands (like \concat).

I know concat, but it did not work here. For the \with-url command I
need to replace the #http which is somehow different from the text:
\with-url #http text
For the text part, \concat would work but for the http part I tried all
combinations of # and $ but I always got scheme errors.

How can I use scheme functions within lilypond code inside #{ #}?

I tried this:

#(define-markup-command (myfunction layout props link text)
(markup? markup?)
  Comment.
  (interpret-markup layout props
#{\markup \with-url #(string-append #http #link) #text #}))

Cheers,
Joram

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


Re: markup function

2013-01-05 Thread David Kastrup
Noeck noeck.marb...@gmx.de writes:

 It might make sense to look in the Guile manual for string operations.
 Other than that, check out the notation manual for a description of
 available markup commands (like \concat).

 I know concat, but it did not work here. For the \with-url command I
 need to replace the #http which is somehow different from the text:
 \with-url #http text
 For the text part, \concat would work but for the http part I tried all
 combinations of # and $ but I always got scheme errors.

 How can I use scheme functions within lilypond code inside #{ #}?

# puts you into Scheme.

 I tried this:

 #(define-markup-command (myfunction layout props link text)
 (markup? markup?)
   Comment.
   (interpret-markup layout props
 #{\markup \with-url #(string-append #http #link) #text #}))

#http is nonsense since you _are_ already in Scheme.  Just write
http here (or more likely, http://;).  Similarly with link rather
than #link.

-- 
David Kastrup


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


Re: markup function

2013-01-05 Thread Noeck
 
 #(define-markup-command (myfunction layout props link text)
 (markup? markup?)
(string? string?)
   Comment.
   (interpret-markup layout props
 #{\markup \with-url #(string-append #http #link) #text #}))
 

Now it became clearer to me. What I meant in the last line was:
#{\markup \with-url #(string-append http link ) #text #}))
Because 'http' and 'link' is already a scheme expression.

For several months now, I tried to get started with scheme functions in
Lilypond with zero progress. Absolutely nothing worked. Now, I
understood the meaning of # and a/the difference between markup and
string and it does what I want it to do.

Thanks for your explanations! I think now I can continue step by step
and write small scheme functions (using the python2scheme converter in
my head and google).

Cheers,
Joram

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


Re: Trill and nonstandard expressive mark

2013-01-05 Thread Olivier Biot
On Sun, Jan 6, 2013 at 12:28 AM, David Kastrup d...@gnu.org wrote:

 Olivier Biot olivier.b...@gmail.com writes:

  Well, putting { ... } around it is wrong, for one thing: it turns
  the
  whole into sequential music.
 
  Bingo!
 
  This is the most counterintuitive syntactic element in LilyPond for
  newcomers (after Scheme). In most programming languages, curly braces
  are used for grouping commands, in LilyPond curly braces have a double
  life and can be used in one of their shapes as a shorthand for define
  serial music (as opposed to define parallel music which is done
  with double angle brackets. The double meaning of the curly braces in
  LilyPond is rather confusing and I still have the impression at times
  that things seem to work out of sheer luck when using curly braces.
 
  Is this double meaning of curly braces documented somewhere? I did not
  come across it in the online manuals so far.

 What double life?  Within music, curly braces create sequential music.
 What other meaning do you see?


First meaning of curly braces as block delimiter, e.g. in:

\score {
  % Serial or parallel music goes here
  \layout {
% Layout directives go here
  }
}

Second meaning as serial music definition, e.g. as a music expression
that will be used in a voice within a score block:

theMusic = { c8 d e4-. f2 }

It is very difficult to disambiguate the meaning of the curly braces
without looking at where they will eventually appear.

Best regards,

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


Re: Trill and nonstandard expressive mark

2013-01-05 Thread David Kastrup
Olivier Biot olivier.b...@gmail.com writes:

 On Sun, Jan 6, 2013 at 12:28 AM, David Kastrup d...@gnu.org wrote:

 Olivier Biot olivier.b...@gmail.com writes:

  Is this double meaning of curly braces documented somewhere? I did
  not come across it in the online manuals so far.

 What double life?  Within music, curly braces create sequential
 music.  What other meaning do you see?

 First meaning of curly braces as block delimiter, e.g. in:

 \score {
   % Serial or parallel music goes here
   \layout {
 % Layout directives go here
   }
 }

 Second meaning as serial music definition, e.g. as a music expression
 that will be used in a voice within a score block:

 theMusic = { c8 d e4-. f2 }

Seriously?  Do you think people are confused by the double life of
curly brackets in C?  First meaning as block delimiter, e.g. in:
struct {
  % declarations go here
  union {
% and more
  }
}

Second meaning as serial statement definition, e.g. as a statement
expression that will be used in a statement within a procedure:
main ()
{
  if (x) {
whatever ();
  }
}

I mean, {} for \score and \layout are _fixed_ parts of the syntax.
Using () for function calls as well as expression grouping is more
confusing than that.

 It is very difficult to disambiguate the meaning of the curly braces
 without looking at where they will eventually appear.

That's what is called syntax.  Scheme, in contrast, gets along without
most of this pesky context-dependent interpretation of lexems, but it
turns out that many people don't consider this an improvement in
legibility.  In fact, it is the most frequent complaint about Scheme.

-- 
David Kastrup

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


Bug squad metrics for Oct to Dec 2012

2013-01-05 Thread Colin Hall

Hi,

If you read this mailing list you are probably aware of the Bug Squad,
a small team within the Lilypond project. Their role is described in
[1] as follows:

The Bug Squad is mainly composed of non-programmers – their job is to
organize issues, not solve them. Their duties include removing false
bug reports, ensuring that any real bug report contains enough
information for developers, and checking that a developer’s fix
actually resolves the problem.

Right now the bug squad is Eluze, Marek Klein, Ralph Palmer and I with
help from other contributors including Phil Holmes, David Kastrup,
Keith O'Hara, James, Graham Percival, Reinhold Kainhofer.

As stated here [2] we aim to respond to bug reports within four
days. Graham Percival wrote some scripts [3] to analyse the response
time performance of the bug squad and I have just run them for the
last calendar quarter of 2012.

Response category  Number   % of total
--
Less than 24 hours   77  67.54%
24 to 48 hours   18  15.79%
More than 48 hours   12  10.53%
Never replied 7   6.14%

As you can see, we responded to over 83% of the reports in 48 hours or
less, which I think is pretty good. Never replied includes some
administrative emails (that need no reply), so it's not always a bad
thing to have some emails in this category. Just email me if you would
like a copy of the full report.

If you would like to help us improve on this by joining the bug squad,
please get in touch. I have one new applicant-in-waiting, Joe
Wakeling, but we could use one or two more!

Cheers,
Colin.

[1] 
http://lilypond.org/doc/v2.17/Documentation/contributor/introduction-to-issues
[2] http://lilypond.org/bug-reports.html
[3] https://github.com/gperciva/lilypond-extra/tree/master/bug-squad

-- 

Colin Hall
Bug Meister

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