Re: mention canceled releases on website? (was: status of release 2.16.0)

2012-05-19 Thread Graham Percival
On Sun, May 20, 2012 at 08:53:05AM +0200, Janek Warchoł wrote:
> On Sun, May 20, 2012 at 2:32 AM, Neil Thornock  wrote:
> > Not sure why nothing was mentioned on the website.
> 
> I'm not happy with this practice, either.

I eagerly await your patch.  If it looks ok I'll tell you to push
directly to staging.

> I suggest the following: when a critical bug is found, /modify/ second
> paragraph of the "release candidate" news to this: There
> are no known Critical issues with this release. A
> Critical bug was found, this release candidate is canceled. (date)

Just make a new news item.

- Graham

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


mention canceled releases on website? (was: status of release 2.16.0)

2012-05-19 Thread Janek Warchoł
On Sun, May 20, 2012 at 2:32 AM, Neil Thornock  wrote:
> According to this list:
>
> http://code.google.com/p/lilypond/issues/list
>
> it looks like critical issues were found.

Yes, they were.

> Not sure why nothing was mentioned on the website.

I'm not happy with this practice, either.
On the other hand, when 2.14 was being released a year ago, the news
on website were all "release candidate", "release canceled", "release
candidate", "release canceled", "release candidate", "release
canceled" - it looked weird.

I suggest the following: when a critical bug is found, /modify/ second
paragraph of the "release candidate" news to this: There
are no known Critical issues with this release. A
Critical bug was found, this release candidate is canceled. (date)

Graham, what do you think?

cheers,
Janek

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


Re: Source management tools for lilypond projects

2012-05-19 Thread Federico Bruni

Il 19/05/2012 19:47, Bernardo Barros ha scritto:

On 05/19/2012 09:47 AM, Federico Bruni wrote:


If you want to keep the easy to use interface, you can use SparkleShare,
free alternative to Dropbox:
http://sparkleshare.org/


Free in what sense? Do they encrypt your data, in a way that only the
owner have access to it?



Free as Free Software (GPL).
SparkleShare is a software, not a hosting service (even though it may 
become also a hosting service, see sparkleshare.net).


You can put your git repository wherever you want: personal server, 
github, bitbucket (which has unlimited free private repositories at the 
moment).


I'm not familiar at all with SparkleShare. I started using it two days 
ago to share some files with a person who uses Windows and knows nothing 
about Git.


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


Re: Source management tools for lilypond projects

2012-05-19 Thread Graham Percival
On Thu, May 17, 2012 at 12:36:35PM +0200, Christian Andersson wrote:
> Now, sit down and await all flames from proponents of all the other tools!

Saving different versions of files to floppy disks and writing a
label in a thick pen was good enough for us in 1986.  Especially
when we re-used a floppy disk and scratched out the previous
version number and wrote a new one on top.

- Graham

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


Re: status of release 2.16.0

2012-05-19 Thread Neil Thornock
According to this list:

http://code.google.com/p/lilypond/issues/list

it looks like critical issues were found.  Not sure why nothing was
mentioned on the website.

On Fri, May 18, 2012 at 4:51 PM, Tom Cloyd  wrote:
> I've had it marked on my calendar for days that May 17 is the scheduled
> release date, " If no Critical bugs are found..." (Ly website).
>
> The website in no way indicates that this occurred, nor are there any
> announcements that I can find on this list.
>
> Can someone provide a status update re: this event, please?
>
> t.
>
> ~
> Tom Cloyd, MS MA
> t...@tomcloyd.com
> (435) 272-3332
> St. George/Cedar City, Utah
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>



-- 
Neil Thornock, D.M.
The recent premiere of ...and a bunch of other stuff:
http://www.youtube.com/watch?v=LQtvPet3k8c
Assistant Professor of Music
Composition/Theory
Brigham Young University

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


Re: TupletNumber placement - can you improve this function?

2012-05-19 Thread David Nalesnik
Hi,

today i've found this snippet: http://lsr.dsi.unimi.it/LSR/Item?id=646
> The description says that it needs manual beaming to work, but i've
> tried using it with 2.15.36 and manual beaming was not necessary!
> The only downside i see is that non-kneed tuplets are positioned
> wrongly, so one has to turn this funciton on and off all the time.  It
> also doesn't support TupletBrackets, but these are usually hidden with
> kneed beams.
> Maybe one of you would be able to improve it?  It seems that we almost
> have a solid solution for tuplet numbers!
>

OK, I got it to work with 2.15.38.  There were two problems: (1) calling
'Y-extent for the tuplet bracket and (2) leaving X-offset and Y-offset
unset for the situations that the functions tried to ignore.  I tried it
with the score I mentioned earlier, and no problems :) :)

You don't need to change anything for the snippet to work with 2.14.

-David


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


Re: "Harvesting" comments from music sources

2012-05-19 Thread Tom Cloyd
[Trying again on this one, to see if my posts are finally getting 
through...]


Urs,

I'm not much of a programmer, but to me this seems to be both a good 
idea and an easy one to implement. Here's how I'd do it, since [a] I 
don't program in Scheme at all, and [b] I do have some skills in Ruby:


1. Insert all comments in the source with a leading "%|". The second 
character is arbitrary, and is merely there to indicate that what 
follows is a documentation comment. Inserting the comment text is easy 
if one is using a programming text editor such as jEdit, which has the 
ability to do columnwise selections and insertions - you write the 
entire comment, THEN insert the leading "%|". Quite painless.
2. Format the comments, if desired, using some simple markup logic like 
Markdown .
3. Write a simple text processing routine (I'd do it in Ruby), to be 
invoked when you wished to generate a new documentation file. It would 
read every line of the Lilypond source file, ignoring all but those 
which begin with the documentation text flag string - "%|", or whatever. 
It strips the flag string, and outputs the remainder of the line to a 
temporary text file, which is then processed by some routine that can 
process Markdown files. In the Ruby world, that would be the Bluecloth gem.


Hope this helps...

t.
~
Tom Cloyd, MS MA
t...@tomcloyd.com
(435) 272-3332
St. George/Cedar City, Utah

On 05/19/2012 04:29 AM, Urs Liska wrote:

Hi list,

any ideas/experience on parsing lilypond input files for special 
comments and produce some documentation from it?


I would love to write editorial comments directly in the lilypond source.
Some script could then read these from the source and produce html or 
OpenDocumentText or some latex input file.


What could be a practical approach or language for this?
Are there solutions to build upon?

Best
Urs

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




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


Re: TupletNumber placement - can you improve this function?

2012-05-19 Thread David Nalesnik
On Sat, May 19, 2012 at 5:02 PM, David Nalesnik wrote:



> I'll have to investigate, but possibly the actual override of 'Y-offset
> (or calling other functions related to Y) is having new effects.  (You can
> see one effect by adding \override TupletBracket #'bracket-visibility = ##t
>  -- no effort is made to position the number since the bracket is there,
> but we lose all horizontal and vertical positioning!  This wouldn't happen
> in 2.14.)
>

BTW, I'm not trying to suggest that I believe there is some regression
here!!

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


Re: TupletNumber placement - can you improve this function?

2012-05-19 Thread David Nalesnik
Hi Janek,

today i've found this snippet: http://lsr.dsi.unimi.it/LSR/Item?id=646
> The description says that it needs manual beaming to work, but i've
> tried using it with 2.15.36 and manual beaming was not necessary!
> The only downside i see is that non-kneed tuplets are positioned
> wrongly, so one has to turn this funciton on and off all the time.  It
> also doesn't support TupletBrackets, but these are usually hidden with
> kneed beams.
>

Just yesterday I was updating the score which was the reason for me writing
this in the first place!!  Probably about a hundred cross-staff tuplets, no
brackets, and a manual adjustment needed for each one of them...  Ugh. (The
default "flying" numbers happen because the number is placed in the opening
of the bracket, whether the bracket shows or not.)  In 2.12 and 2.14 it was
only necessary to call the functions once for the whole file, but here I
ended up needing to turn them on and off repeatedly.  (Still a lot of agony
spared.)

The conditions in the function were designed to leave ordinary beams
untouched, and also to ignore tuplets with visible brackets.  (In earlier
versions of LilyPond, the functions actually would give OK results with
ordinary beams.)

I'll have to investigate, but possibly the actual override of 'Y-offset (or
calling other functions related to Y) is having new effects.  (You can see
one effect by adding \override TupletBracket #'bracket-visibility = ##t  --
no effort is made to position the number since the bracket is there, but we
lose all horizontal and vertical positioning!  This wouldn't happen in
2.14.)

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


Re: "Harvesting" comments from music sources

2012-05-19 Thread Tom Cloyd

Urs,

I'm not much of a programmer, but to me this seems to be both a good 
idea and an easy one to implement. Here's how I'd do it, since [a] I 
don't program in Scheme at all, and [b] I do have some skills in Ruby:


1. Insert all comments in the source with a leading "%|". The second 
character is arbitrary, and is merely there to indicate that what 
follows is a documentation comment. Inserting the comment text is easy 
if one is using a programming text editor such as jEdit, which has the 
ability to do columnwise selections and insertions - you write the 
entire comment, THEN insert the leading "%|". Quite painless.
2. Format the comments, if desired, using some simple markup logic like 
Markdown .
3. Write a simple text processing routine (I'd do it in Ruby), to be 
invoked when you wished to generate a new documentation file. It would 
read every line of the Lilypond source file, ignoring all but those 
which begin with the documentation text flag string - "%|", or whatever. 
It strips the flag string, and outputs the remainder of the line to a 
temporary text file, which is then processed by some routine that can 
process Markdown files. In the Ruby world, that would be the Bluecloth gem.


Hope this helps...

t.
~
Tom Cloyd, MS MA
t...@tomcloyd.com
(435) 272-3332
St. George/Cedar City, Utah

On 05/19/2012 04:29 AM, Urs Liska wrote:

Hi list,

any ideas/experience on parsing lilypond input files for special 
comments and produce some documentation from it?


I would love to write editorial comments directly in the lilypond source.
Some script could then read these from the source and produce html or 
OpenDocumentText or some latex input file.


What could be a practical approach or language for this?
Are there solutions to build upon?

Best
Urs

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



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


Re: "Harvesting" comments from music sources

2012-05-19 Thread Andriy Senkovych
Hi,

Have you tried doxygen? It's pretty wide used among C/C++ developers
to produce documentation. You just need to override comment characters
and I believe you're done.

-- 
Thanks, Andriy Senkovych

2012/5/19 Urs Liska :
> Hi list,
>
> any ideas/experience on parsing lilypond input files for special comments
> and produce some documentation from it?
>
> I would love to write editorial comments directly in the lilypond source.
> Some script could then read these from the source and produce html or
> OpenDocumentText or some latex input file.
>
> What could be a practical approach or language for this?
> Are there solutions to build upon?
>
> Best
> Urs

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


posts not making it to the list

2012-05-19 Thread Tom Cloyd
I cannot post to the  list, for some reason.

Have been a list member for years.

Can anyone help with this?

This post is being made using the resource at -

http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.general

t.




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


Re: Source management tools for lilypond projects

2012-05-19 Thread Christian Andersson
Congratulations for touching upon a "hot" subject, pretty much like asking
people what text editor to use, something that has been debated for decades
without any objective conclusion.

Personally I tend to prefer git, not only for lilypond score projects, but
for anything text-oriented. This is mainly because of its exceptional
versatility and likewise exceptional efficiency. First of all, the
lock-based approach that you describe to the inherent concurrency of a
more-than-one-person project is obsolete since many years, so forget about
that. It should not be too much of a problem having two or more persons to
edit one file at the same time, the solution is (tool-supported) merge, in
which git excels. Git is, by the way, the tool used for source-code control
of Lilypond itself, which is indeed larger than the 200-500-file projects
that you describe. On the other hand, I personally use git for many
1-3-file projects of mine; it scales very well.

Depending on your background in version-control tools, git may not be the
simplest of tools to learn quickly. It's not that Google lacks pointers to
a lot of documentation, but since git is advanced, many sources can be
quite difficult to consume. One of the better books in this regard, which
I'd like to recommend, is "Pragmatic Version Control Using Git" by Travis
Swicegood (2008).

Now, sit down and await all flames from proponents of all the other tools!
Bazaar anyone? Or Subversion, CVS, whatever?

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


Re: Source management tools for lilypond projects

2012-05-19 Thread Andriy Senkovych
Hi,

I'm using git as well to write notes for my ensemble and host them on
github[1]. There's at least one more person hosting notes there
(actually, contributing for the Mutopia project)[2] so I believe it's
pretty common to use a VCS tool of someone's choice. You may browse
the links and get the idea of how other people organizing their
workspace for lilypond and get useful bits out for yourself.

>> Now, sit down and await all flames from proponents of all the other tools!
>> Bazaar anyone? Or Subversion, CVS, whatever?

I'd stand for Mercurial here as it's a bit more solid solution on Windows.

 [1]: https://github.com/anatra/scores
 [2]: https://github.com/horndude77/open-scores
-- 
Thanks, Andriy Senkovych

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


status of release 2.16.0

2012-05-19 Thread Tom Cloyd
I've had it marked on my calendar for days that May 17 is the scheduled 
release date, " If no Critical bugs are found..." (Ly website).


The website in no way indicates that this occurred, nor are there any 
announcements that I can find on this list.


Can someone provide a status update re: this event, please?

t.

~
Tom Cloyd, MS MA
t...@tomcloyd.com
(435) 272-3332
St. George/Cedar City, Utah
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


TupletNumber placement - can you improve this function?

2012-05-19 Thread Janek Warchoł
Dear Scheme Heroes,

today i've found this snippet: http://lsr.dsi.unimi.it/LSR/Item?id=646
The description says that it needs manual beaming to work, but i've
tried using it with 2.15.36 and manual beaming was not necessary!
The only downside i see is that non-kneed tuplets are positioned
wrongly, so one has to turn this funciton on and off all the time.  It
also doesn't support TupletBrackets, but these are usually hidden with
kneed beams.
Maybe one of you would be able to improve it?  It seems that we almost
have a solid solution for tuplet numbers!

cheers,
Janek

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


Re: Subject:,"Harvesting" comments from music sources

2012-05-19 Thread Lucas Gonze
Here is an experiment I did with a hybrid web/notation approach:
http://soupgreens.com/goodbyebooze/

Notice that everything but the notes is the standard browser stack.

As an example of the benefit, the lyrics scale nicely if you zoom in or out
with the browser. Or you could easily embed a comment tool like Disqus.


On Sat, May 19, 2012 at 6:10 AM, Christopher Webster <
christop...@claytonwebster.net> wrote:

>  There seems to be some conceptual overlap here with "literate
> programming" tools such as WEB (http://en.wikipedia.org/wiki/WEB).
>
> Whether there's enough overlap to be useful ... that I must leave you to
> decide.
>
>
> *Christopher*.
>
> On 2012-05-19 14:56, lilypond-user-requ...@gnu.org wrote:
>
>   Subject:
> "Harvesting" comments from music sources
> From:
> Urs Liska  
> Date:
> 2012-05-19 12:29
> To:
> Lilypond-User  
> Hi list,
>
> any ideas/experience on parsing lilypond input files for special comments
> and produce some documentation from it?
>
> I would love to write editorial comments directly in the lilypond source.
> Some script could then read these from the source and produce html or
> OpenDocumentText or some latex input file.
>
> What could be a practical approach or language for this?
> Are there solutions to build upon?
>
> Best
> Urs
>
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Source management tools for lilypond projects

2012-05-19 Thread Bernardo Barros
On 05/19/2012 09:47 AM, Federico Bruni wrote:
> 
> If you want to keep the easy to use interface, you can use SparkleShare,
> free alternative to Dropbox:
> http://sparkleshare.org/

Free in what sense? Do they encrypt your data, in a way that only the
owner have access to it?

-- 
Bernardo Barros

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


Re: header tweaks

2012-05-19 Thread Kieren MacMillan
Hi Derek,

> Do you have any ideas how I could print a two-line copyright notice on the 
> first page?

copyright = \markup \column { ... }

Read the markup docs for more details.

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


header tweaks

2012-05-19 Thread Derek
I have noticed that for each field in the header of a piece, there is only one
line allowed. In some cases I have used two separate fields to print a header on
two lines, such as:

composer = "Words and music by"
arranger = "composer's name"

In some pieces, I would like to have the copyright field span two lines. This
works fine when the piece is one page long:

copyright = "line 1"
tagline = "line 2"

However, some pieces span more than one page, and of course, the tagline will
print on the last page, while the copyright field will print on the first page.
Do you have any ideas how I could print a two-line copyright notice on the first
page? Thank you for your time.


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


Re: Source management tools for lilypond projects

2012-05-19 Thread Federico Bruni

Il 17/05/2012 13:11, Francisco Vila ha scritto:

2012/5/17 Urs Liska:

OK, but please keep in mind everybody that I specifically asked for the use
with lilypond projects ...


It's no need to be specifically for lilypond to be perfect for
lilypond. It only has to be perfect for text files, and git is.

You can set up a project in http://repo.or.cz/ and invite users to
share the repo.



I agree with Francisco.

If you want to keep the easy to use interface, you can use SparkleShare, 
free alternative to Dropbox:

http://sparkleshare.org/

(Windows support, only 7 and Vista, has been recently added)

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


Re: Get the positions of a beam (or other grob with positions)

2012-05-19 Thread Janek Warchoł
Hi David,

On Sat, May 19, 2012 at 3:30 PM, David Nalesnik
 wrote:
> This isn't a bug: cross-staff arpeggios belong to a different context.  In
> your case, they are a part of PianoStaff, so the override will have no
> impact.

Ah, silly me!  Thank you very much!
And by the way, once again you gave me a hint - i think i know now why
cross-voice arpeggios often collide with other things.
I'll have to write a bug report about this, but i don't know when i'll
have time...

thanks!
Janek

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


Re: Four Bars per Line/System, again :)

2012-05-19 Thread David Nalesnik
Hi Janek,

On Sat, May 19, 2012 at 8:17 AM, Janek Warchoł wrote:

> Hi David,
>
> On Sat, May 19, 2012 at 2:56 PM, David Nalesnik
>  wrote:
> > OK, this incorporates your idea of looping.  You specify a list as the
> > argument of the function, and that grouping will loop until the end.  The
> > example below shows how you would get four measures per line.  The score
> > ends with whatever's left over, in this case the last two bars.
>
> It's perfect!  Thank you!  Will be handy when i'll be revising my
> score of Allegri's Miserere (would you like a copy?).
>

Sure!  Please try it out on anything and everything you like.  I tried it
on a complex piano score, and no problems :)

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


Re: Get the positions of a beam (or other grob with positions)

2012-05-19 Thread David Nalesnik
Hi Janek,

On Sat, May 19, 2012 at 8:03 AM, Janek Warchoł wrote:

> Hi David & all,
>
> i want to make arpeggios longer (so that they overshoot the chords a
> bit).  I've modified your offsetBeamPositions function to work on
> Arpeggios instead of Beams (that was easy), but i'm quite surprised to
> find that it doesn't work correctly with cross-staff arpeggios.  Do
> you have any ideas why?  Maybe this is a bug in LilyPond?
>

This isn't a bug: cross-staff arpeggios belong to a different context.  In
your case, they are a part of PianoStaff, so the override will have no
impact.  If you do this, it will work:

  offsetCrossStaffArpeggioPositions =
 #(define-music-function (parser location offsets) (pair?)
   #{
  \override PianoStaff.Arpeggio #'positions = #(lambda (grob)
(let* ((func (assoc-get 'positions (cdr (ly:grob-basic-properties
grob
   (pos (func grob)))
   (coord-translate pos offsets)))
   #})

OK, that name is out of control :)

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


Re: Four Bars per Line/System, again :)

2012-05-19 Thread Janek Warchoł
Hi David,

On Sat, May 19, 2012 at 2:56 PM, David Nalesnik
 wrote:
> OK, this incorporates your idea of looping.  You specify a list as the
> argument of the function, and that grouping will loop until the end.  The
> example below shows how you would get four measures per line.  The score
> ends with whatever's left over, in this case the last two bars.

It's perfect!  Thank you!  Will be handy when i'll be revising my
score of Allegri's Miserere (would you like a copy?).

cheers,
Janek

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


Re: Subject:,"Harvesting" comments from music sources

2012-05-19 Thread Christopher Webster
There seems to be some conceptual overlap here with "literate 
programming" tools such as WEB (http://en.wikipedia.org/wiki/WEB).


Whether there's enough overlap to be useful ... that I must leave 
you to decide.



/Christopher/.

On 2012-05-19 14:56, lilypond-user-requ...@gnu.org wrote:

Subject:
"Harvesting" comments from music sources
From:
Urs Liska 
Date:
2012-05-19 12:29

To:
Lilypond-User 


Hi list,

any ideas/experience on parsing lilypond input files for 
special comments and produce some documentation from it?


I would love to write editorial comments directly in the 
lilypond source.
Some script could then read these from the source and produce 
html or OpenDocumentText or some latex input file.


What could be a practical approach or language for this?
Are there solutions to build upon?

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


Re: Four Bars per Line/System, again :)

2012-05-19 Thread David Nalesnik
Hi Johan,

Please submit to LSR...


Will do.  The LSR is running 2.14.2 right now, so I'll have to make some
changes.  (In particular, the function uses David Kastrup's make-engraver
macro which is fairly recent.)

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


Re: Get the positions of a beam (or other grob with positions)

2012-05-19 Thread Janek Warchoł
Hi David & all,

i want to make arpeggios longer (so that they overshoot the chords a
bit).  I've modified your offsetBeamPositions function to work on
Arpeggios instead of Beams (that was easy), but i'm quite surprised to
find that it doesn't work correctly with cross-staff arpeggios.  Do
you have any ideas why?  Maybe this is a bug in LilyPond?

offsetArpeggioPositions =
  #(define-music-function (parser location offsets) (pair?)
#{
   \override Arpeggio #'positions = #(lambda (grob)
 (let* ((func (assoc-get 'positions (cdr
(ly:grob-basic-properties grob
(pos (func grob)))
(coord-translate pos offsets)))
#})

\relative c'   {
  2\arpeggio
  \offsetArpeggioPositions #'(-1 . 1) % works perfectly
  2\arpeggio
}

\new PianoStaff \relative c' <<
  \set PianoStaff.connectArpeggios = ##t
  \new Staff {
\offsetArpeggioPositions #'(-10 . 10) % strange results
2\arpeggio
  }
  \new Staff {
\clef bass
2\arpeggio
  }
>>

% compare with output without your function:
\new PianoStaff \relative c' <<
  \set PianoStaff.connectArpeggios = ##t
  \new Staff {
2\arpeggio
  }
  \new Staff {
\clef bass
2\arpeggio
  }
>>

% cheers,
% janek

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


Re: Four Bars per Line/System, again :)

2012-05-19 Thread David Nalesnik
Hi again Janek,

On Sat, May 19, 2012 at 6:40 AM, David Nalesnik wrote:

> Hi Janek,
>
> On Sat, May 19, 2012 at 4:27 AM, Janek Warchoł 
> wrote:
>
>> David,
>>
>> a couple of thoughts:
>> - what about looping the break pattern?  I.e. \consists
>> #(custom-line-breaks-engraver '(2 3 4)) = \consists
>> #(custom-line-breaks-engraver '(2 3 4 2 3 4 2 3 4 ... 2 3 4))?
>>
>
> Great idea--this means that you can fix the number of bars per line by
> using a single number as your argument.  I'll see what I can do!
>

OK, this incorporates your idea of looping.  You specify a list as the
argument of the function, and that grouping will loop until the end.  The
example below shows how you would get four measures per line.  The score
ends with whatever's left over, in this case the last two bars.

If you want to see the 2 3 4 pattern, do lthis:
\consists #(custom-line-breaks-engraver '(2 3 4))

Thanks for trying this out!  Please let me know if you run into any
problems or have any more suggestions.

-David

%%

\version "2.15.38"

#(define (custom-line-breaks-engraver bar-list)
  (let* ((working-copy bar-list)
 (total (1+ (car working-copy
(lambda (context)
  (make-engraver
(acknowledgers ((paper-column-interface engraver grob
source-engraver)
  (let ((internal-bar (ly:context-property context
'internalBarNumber)))
(if (and (pair? working-copy)
 (= (remainder internal-bar total) 0)
 (eq? #t (ly:grob-property grob 'non-musical)))
(begin
  (set! (ly:grob-property grob 'line-break-permission)
'force)
  (if (null? (cdr working-copy))
  (set! working-copy bar-list)
  (begin
(set! working-copy (cdr working-copy
(set! total (+ total (car working-copy

\relative c' {
 \set Score.currentBarNumber = #4
   \repeat unfold 10 {
 \time 5/4
 c4 c c c c
 \time 3/4
 c c c
 \time 3/2
 c2 c c
   }
}

\layout {
  \context {
\Score
%\override NonMusicalPaperColumn #'line-break-permission = ##f
\consists #(custom-line-breaks-engraver '(4))
  }
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Four Bars per Line/System, again :)

2012-05-19 Thread David Nalesnik
Hi Janek,

On Sat, May 19, 2012 at 4:27 AM, Janek Warchoł wrote:

> David,
>
> a couple of thoughts:
> - what about looping the break pattern?  I.e. \consists
> #(custom-line-breaks-engraver '(2 3 4)) = \consists
> #(custom-line-breaks-engraver '(2 3 4 2 3 4 2 3 4 ... 2 3 4))?
>

Great idea--this means that you can fix the number of bars per line by
using a single number as your argument.  I'll see what I can do!

- i'm not sure if this is desired or not, but changing current
> barNumber confuses your function:
>

Yup, I suspected that it would!  Substituting 'internalBarNumber for
'currentBarNumber seems to do the trick:

 \version "2.15.38"

#(define (custom-line-breaks-engraver bar-list)
  (let ((total (1+ (car bar-list
(lambda (context)
  (make-engraver
(acknowledgers ((paper-column-interface engraver grob
source-engraver)
  (let ((internal-bar (ly:context-property context
'internalBarNumber)))
(if (and (pair? bar-list)
 (= (remainder internal-bar total) 0)
 (eq? #t (ly:grob-property grob 'non-musical)))
(begin
  (set! (ly:grob-property grob 'line-break-permission)
'force)
  (if (null? (cdr bar-list))
  (set! bar-list '())
  (begin
(set! bar-list (cdr bar-list))
(set! total (+ total (car bar-list))


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


Re: Appending coda on last line

2012-05-19 Thread Thomas Morley
2012/5/19 Helge Kruse :
> I have a score with "da capo al coda". And the coda is exactly one measure.
> Therefore I don't want to put the coda on a new line. But it should be a gap
> between the last measure of the main part and the coda. Additionally I would
> like to indicate that the last measure _is_ the coda.
>
> I have written the measures, but I failed to put them on one line. Can you
> help me?
>
> Helge

Hi Helge,

some time ago I wrote the snippet below. It's a little bit hackish and
would need some redesign/improvement for which I currently do not have
the time.
But for now it should work.

\version "2.15.36"

rochadeAlpha = {
\override Score.BreakAlignment #'break-align-orders =
  #(make-vector 3 '(left-edge
  ambitus
  breathing-sign
  staff-bar
  clef  
  key-cancellation
  key-signature
  time-signature
  custos))

\once \override Score.TimeSignature #'space-alist = #'(
(first-note fixed-space . 2.0)
(right-edge extra-space . 0.5)
(staff-bar minimum-space . 2.5))

\once \override Score.KeySignature #'space-alist = #'(
(time-signature extra-space . 1.15)
(first-note fixed-space . 1.0)
(right-edge extra-space . 0.5)
(staff-bar minimum-space . 2.5))
}


move = {
\rochadeAlpha
\once \override Score.BarLine #'extra-offset = #'(-0.5 . 0)
\once \override Score.SpanBar #'extra-offset = #'(-0.5 . 0)
\once \override Score.Clef #'extra-offset = #'(-0.5 . 0)
\once \override Score.KeyCancellation #'extra-offset = #'(-0.5 . 0)
\once \override Score.KeySignature #'extra-offset = #'(-0.5 . 0)
\once \override Score.TimeSignature #'extra-offset = #'(-0.5 . 0)
}

onceTextLengthOn = {
\once\override TextScript #'extra-spacing-width = #'(0 . 0)
\once\override TextScript #'extra-spacing-height = #'(-inf.0 . +inf.0)
}

staffStop = {
\onceTextLengthOn
\stopStaff
\cadenzaOn
}

staffStart = {
\once\override Score.BarNumber #'break-visibility = #'#(#f #t #t)
\startStaff
\cadenzaOff
\set Staff.forceClef = ##t
}

braceBar =
#(define-music-function (parser location braceExt)(number?)

  (define ((braceBarLine markup) grob)
(ly:stencil-combine-at-edge (ly:bar-line::print grob)
  X LEFT (grob-interpret-markup grob markup) 0.4))

  (define braceMarkup
(make-line-markup
  (list
(make-with-dimensions-markup '(0 . 0) '(0 . 0)
  (make-translate-markup ;(cons 0 ext)
(cons 0 (+ 0.2 (/ braceExt -10)))
(make-left-brace-markup (+ braceExt 20)))
  #{
  \once\override Score.BarLine #'hair-thickness = #'1.6
  \once \override Staff.BarLine #'stencil = #(braceBarLine braceMarkup)
  \bar "|"
  \move
  \once\override Score.RehearsalMark #'self-alignment-X = #LEFT
  #})

space =
#(define-music-function (parser location width) (number?)
#{
   \noBreak
   \staffStop
   \onceTextLengthOn
   s1*1/100-\markup \with-dimensions #(cons 0
width) #'(0 . 0) \null
   \once \override Score.Clef #'font-size = #'2
   \staffStart
   \noBreak
#})

% Test

AHrppartA = \relative c'{

<< { c'8 d e a c, b16 a r8\fermata e'16 d^\markup{D.C.} }
 \\ { c16 a d a e' a, a' a, e8 d } >> | % 37

 \bar "||"
 \key a \major

  \space #8
  \braceBar #60

 \mark\markup "Coda"
 \key a \major
 \clef treble

  b'16 cis d b cis a b gis 2\arpeggio\fermata \bar "|."

}

AHrppartB = \relative c{

 \clef bass

<< { e'8 d c b a[ gis] } \\ { 2 e4 } >>
8\fermata r

 \key a \major

 \space #8

 \clef bass
 \key a \major

 d8 fis cis e' a,16 e cis e a,4\fermata

}

\score {

<<

   \context PianoStaff <<

 \set PianoStaff.instrumentName="Piano"

 \context Staff = AHrppartA\AHrppartA

 \context Staff = AHrppartB\AHrppartB

>>

>>

}

HTH,
  Harm

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


Re: Four Bars per Line/System, again :)

2012-05-19 Thread Johan Vromans
David Nalesnik  writes:

> Hope this proves useful!

Please submit to LSR...

-- Johan

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


"Harvesting" comments from music sources

2012-05-19 Thread Urs Liska

Hi list,

any ideas/experience on parsing lilypond input files for special 
comments and produce some documentation from it?


I would love to write editorial comments directly in the lilypond source.
Some script could then read these from the source and produce html or 
OpenDocumentText or some latex input file.


What could be a practical approach or language for this?
Are there solutions to build upon?

Best
Urs

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


Re: Four Bars per Line/System, again :)

2012-05-19 Thread Janek Warchoł
David,

a couple of thoughts:
- what about looping the break pattern?  I.e. \consists
#(custom-line-breaks-engraver '(2 3 4)) = \consists
#(custom-line-breaks-engraver '(2 3 4 2 3 4 2 3 4 ... 2 3 4))?
- i'm not sure if this is desired or not, but changing current
barNumber confuses your function:

\version "2.15.38"

#(define (custom-line-breaks-engraver bar-list)
  (let ((total (1+ (car bar-list ;; not sure why increment necessary
(lambda (context)
  (make-engraver
(acknowledgers ((paper-column-interface engraver grob source-engraver)
  (let ((current-bar (ly:context-property context 'currentBarNumber)))
(if (and (pair? bar-list)
 (= (remainder current-bar total) 0)
 (eq? #t (ly:grob-property grob 'non-musical)))
(begin
  (set! (ly:grob-property grob 'line-break-permission) 'force)
  (if (not (null? (cdr bar-list)))
  (begin
(set! bar-list (cdr bar-list))
(set! total (+ total (car bar-list
  (set! bar-list '(

\relative c' {
  \set Score.currentBarNumber = #4
  c4 c c c c c c c c c c c c2 c
  c4 c c c c c c c c c c c c2 c
  c4 c c c c c c c c c c c c2 c
}

\layout {
  \context {
\Score
\consists #(custom-line-breaks-engraver '(4 4 4))  % the break
occurs after measure with number 4, not after 4 measures
  }
}

cheers,
Janek

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


Appending coda on last line

2012-05-19 Thread Helge Kruse
I have a score with "da capo al coda". And the coda is exactly one 
measure. Therefore I don't want to put the coda on a new line. But it 
should be a gap between the last measure of the main part and the coda. 
Additionally I would like to indicate that the last measure _is_ the coda.


I have written the measures, but I failed to put them on one line. Can 
you help me?


Helge



\version "2.15.38"

AHrppartA = \relative c'{

<< { c'8 d e a c, b16 a r8\fermata e'16 d^\markup{D.C.} }
  \\ { c16 a d a e' a, a' a, e8 d } >> | % 37

  \bar "||"

  \key a \major

}

AHrppartB = \relative c{

  \clef bass

<< { e'8 d c b a[ gis] } \\ { 2 e4 } >>
8\fermata r

  \key a \major

}

\score {

<<

\context PianoStaff <<

  \set PianoStaff.instrumentName="Piano"

  \context Staff = AHrppartA\AHrppartA

  \context Staff = AHrppartB\AHrppartB

>>

>>

}

BHrppartA =\relative c' {

  \key a \major

  \clef treble

   b'16 cis d b cis a b gis 2\arpeggio\fermata \bar "|."

}

BHrppartB =\relative c {

  \key a \major

  \clef bass

  d8 fis cis e' a,16 e cis e a,4\fermata

}

\score {

<<

  \context PianoStaff <<

\set PianoStaff.instrumentName="Piano"

\context Staff = BHrppartA\BHrppartA

\context Staff = BHrppartB\BHrppartB

>>

>>

}



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


Re: Four Bars per Line/System, again :)

2012-05-19 Thread Janek Warchoł
David:
8O
I think this is worth including in LilyPond itself!!
Try to beat this, Finale! Hahaha!

On Sat, May 19, 2012 at 9:31 AM, ole  wrote:
> Just want to report that the improved version gives the following error:
>
> /Applications/LilyPond.app/Contents/Resources/share/lilypond/current/ly/init.ly:111:66:
>  Fehler: syntax error, unexpected $end
>   (ly:parser-error parser (_ "expected error, but none found"
>
> The first version works fine...

There's a missing closing brace.  If you add it, it works fine.

cheers,
Janek

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


Re: Four Bars per Line/System, again :)

2012-05-19 Thread ole

Am 19.05.2012 um 04:19 schrieb David Nalesnik:

> Hi,
> 
> On Fri, May 18, 2012 at 7:38 PM, Jay Anderson  wrote:
> 
>> Slightly better would be to get rid of the bars-per-line define so
>> it's self-contained:
>> 
> 
> True, thank you--I've incorporated your suggestion below.
> 
> Thinking about this some more, I figure the next logical step is to write
> an engraver which allows you to specify the number of measures for each
> line of the score.  I've come up with the solution below.
> 
> If you use the (commented-out) override and you have measures left over,
> these will be crammed into the last line.  Without the
> 'line-break-permission override, Lily will space the remaining measures as
> usual.
> 
> Hope this proves useful!
> 
> Best,
> David
> 


Just want to report that the improved version gives the following error:

/Applications/LilyPond.app/Contents/Resources/share/lilypond/current/ly/init.ly:111:66:
 Fehler: syntax error, unexpected $end
   (ly:parser-error parser (_ "expected error, but none found"
  
The first version works fine...

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