Do we still need NR B.10 List of articulations?

2009-07-14 Thread Mark Polesky

Do we still need NR B.10 List of articulations? Now that
NR B.6 The Feta font is organized a little better, the
scripts are all together there, and easy enough to find, I
think. B.10 is starting to feel a little redundant to me.

- Mark



  


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


scripts.trill_element / scripts.trilelement

2009-07-14 Thread Mark Polesky

Do we need scripts.trill_element and scripts.trilelement?
Is scripts.trilelement ever used?

- Mark



  


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


Re: SVG status update

2009-07-14 Thread Patrick McCarty
On Tue, Jul 14, 2009 at 02:26:25PM +0900, Maximilian Albert wrote:
 Hi Patrick,
 
  So I spent a few hours today hacking on the SVG output, and here are
  some samples of the current output I have:
 
  [...]
 
 Great work!!

Thanks!

 Just a random comment that occurred to me while skimming through your
 samples: When moving individual elements (like note heads, staff
 lines, beams, etc.) with the mouse, I noticed that they all moved
 individually because they are all at the toplevel of the SVG file.
 Would it be possible to group elements belonging together (visually or
 conceptually), like the staff lines, note heads with their stems and
 beams, etc.? I have no clue how Lilypond's SVG output works internally
 so this may be highly nontrivial (for example, I noticed that the
 final bar line in bach-schenker is split into three parts, which
 indicates that these are not drawn in one go, perhaps even at very
 different time steps). But if it's simple to achieve it might be a
 good addition.

Unfortunately, this would be very difficult.  Elements are dumped into
the SVG file in the order they occur in the page stencil, and (almost)
every one is independently positioned as well.

Some of the related stencils are dumped consecutively (e.g. the
horizontal StaffSymbol lines), but I imagine this would require some
postprocess optimization, which is an interesting feature request.

I'll add this to the wiki.

 Anyway, thanks again for your excellent work on this.

I'm happy to be working on it, and I'm glad you appreciate it.

Thanks,
Patrick


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


Re: SVG status update

2009-07-14 Thread Patrick McCarty
On Mon, Jul 13, 2009 at 10:45:53PM -0700, Mark Polesky wrote:
 
 Patrick McCarty wrote:
  So I spent a few hours today hacking on the SVG output...
  What do you think?
 
 Wow. Nice work.
 
 I don't quite understand why the textual elements look rasterized,
 but I guess that's what you're still working on. Not having studied
 too much SVG, I use the poor man's SVG test: crank up the page zoom
 to full blast!

That's because the textual elements *are* rasterized.  :-)

I'm only working on the on-the-fly conversions for the SVG fonts
(Emmentaler and Aybabtu).

I can imagine on-the-fly conversions for everything else happening
eventually, but right now, the rendering for normal text will depend
on the fonts you have installed on your system.

Thanks,
Patrick


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


using LyricHyphens in the docs

2009-07-14 Thread Mark Polesky

I think the Salve, Regína example in NR 2.8 Ancient Notation
would be improved by using LyricHyphens. For example, instead of
Sal- ve, Re- gí- na, use Sal -- ve, Re -- gí -- na,.

Unless there's some ancient hyphen typesetting convention that I
don't know about.  The file involved is
input/manual/ancient-headword.ly. There may be others, but I just
noticed it there.

Anyone care to comment on that?
- Mark






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


Re: Broken make

2009-07-14 Thread Trevor Daniels


Carl Sorensen wrote Tuesday, July 14, 2009 5:04 AM
Subject: Broken make




End of the output is as follows:



--init-file=/Users/Carl/lilypond-working/lilypond-texi2html.init
out-www/lilypond-learning.texi
** `Updating old input files' doesn't appear in menus
** `When things don't work' is up for `Updating old input files', 
but has no

menu entry for this node
** No node following `Updating old input files' in menu, but
`Troubleshooting (taking it all apart)' follows in sectionning
WARNING: Unable to load the map file
WARNING: Unable to find node 'Updating old files' in book .
*** Unknown node in menu entry `Updating old files' (in 
out-www/working.texi

l. 684)
cp -u /Users/Carl/lilypond-working/Documentation/lilypond-blue.css
/Users/Carl/lilypond-working/Documentation/lilypond-ie-fixes.css
/Users/Carl/lilypond-working/Documentation/lilypond-mccarty.css
/Users/Carl/lilypond-working/Documentation/lilypond.css
out-www/lilypond-learning/
cp: illegal option -- u
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-pvX] source_file 
target_file

  cp [-R [-H | -L | -P]] [-fi | -n] [-pvX] source_file ...

target_directory
make[4]: *** [out-www/lilypond-learning/index.html] Error 64
make[3]: *** [WWW-2] Error 2
make[2]: *** [WWW-2] Error 2
make[1]: *** [WWW-2] Error 2
make: *** [doc] Error 2


Carl

There is an earlier error from texi2html about
missing menu entries which looks suspicious.  I
added a new subsection Common errors to LM 5.2
When things don't work recently in working.itely.
The update has made it sucessfully to kainhofer,
but seems to be giving you trouble.  Maybe
working.itely is corrupt in your branch?

Trevor



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



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


Re: SVG status update

2009-07-14 Thread Maximilian Albert
2009/7/14 Patrick McCarty pnor...@gmail.com:

 Unfortunately, this would be very difficult.  Elements are dumped into
 the SVG file in the order they occur in the page stencil, and (almost)
 every one is independently positioned as well.

Ah, okay. That's what I though. Out of interest: At the time when
these elements get written into the SVG file, do they know about their
mutual relationships? E.g., does a beam know which note heads it
belongs to (or vice versa)?

 Some of the related stencils are dumped consecutively (e.g. the
 horizontal StaffSymbol lines), but I imagine this would require some
 postprocess optimization, which is an interesting feature request.

 I'll add this to the wiki.

Following my question above, here is another random idea: Would it be
possible to (perhaps optionally) set the id attributes of the
elements to something meaningful from which at least the function of
this element could be deduced, like staffline01 or barline42 or
something similar? This could be a first step to enable some
postprocessing. BTW, I'm not saying that you should implement this.
I'm just interested whether it would be possible.

 I'm happy to be working on it, and I'm glad you appreciate it.

Yes, I do (and apparently I'm not alone). :-)

Max

P.S.: What's all this about text element being rasterized or converted
to paths? I can edit them as regular text elements in Inkscape without
problems.


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


Fw: git access

2009-07-14 Thread Trevor Daniels

copied to -devel for comment 

Trevor

- Original Message - 
From: Trevor Daniels t.dani...@treda.co.uk
To: Mark Polesky markpole...@yahoo.com; Graham Percival 
gra...@percival-music.ca

Sent: Tuesday, July 14, 2009 8:33 AM
Subject: Re: git access




Mark, you wrote Tuesday, July 14, 2009 5:50 AM


Trevor Daniels wrote:

Next try a push with --dry-run.  Enter:
git push --dry-run -v ssh+git://sv/srv/git/lilypond.git/


$ gt push --dry-run -v ssh+git://sv/srv/git/lilypond.git/
warning: You did not specify any refspecs to push, and the 
current remote
warning: has not configured any push refspecs. The default action 
in this
warning: case is to push all matching refspecs, that is, all 
branches
warning: that exist both locally and remotely will be updated. 
This may

warning: not necessarily be what you want to happen. warning:
warning: You can specify what action you want to take in this 
case, and
warning: avoid seeing this message again, by configuring 
'push.default' to:

warning:   'nothing'  : Do not push anything
warning:   'matching' : Push all matching branches (default)
warning:   'tracking' : Push the current branch to whatever it is 
tracking

warning:   'current'  : Push the current branch
Pushing to ssh+git://sv/srv/git/lilypond.git/
To ssh+git://sv/srv/git/lilypond.git/
= [up to date]  master - master
Everything up-to-date

So far so good?


Yes, I think so.  I've never seen this sequence
of warning messages, even though I do not have
an entry for push.default in git config.  You
will have a more recent version of git than I
do, so maybe this warning is a recent addition.
I'm on 1.5.4.2.1161.g1a6f0.  Yes, I just checked;
push.default seems to have been added around 1.6.


Do you recommend setting 'push.default' to 'nothing'?


No; you don't really want to have to specify source
and destination on every push.  In the simple git
arrangement used by LilyPond the default matching
is probably the best option.  But as I'm not an
expert, and don't have git 1.6, I'll copy to -devel
for comment.


This is exciting (and a little scary)!


When you're ready to push for real, try making
a small change to the text of a doc file first.
Anything you do can always be reverted, so no
need to worry.

Trevor





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


Re: SVG status update

2009-07-14 Thread Patrick McCarty
On Tue, Jul 14, 2009 at 04:13:12PM +0900, Maximilian Albert wrote:
 2009/7/14 Patrick McCarty pnor...@gmail.com:
 
  Unfortunately, this would be very difficult.  Elements are dumped into
  the SVG file in the order they occur in the page stencil, and (almost)
  every one is independently positioned as well.
 
 Ah, okay. That's what I though. Out of interest: At the time when
 these elements get written into the SVG file, do they know about their
 mutual relationships? E.g., does a beam know which note heads it
 belongs to (or vice versa)?

No.  The closest thing the elements possess that relates to this is
their *grob cause*.  For example the NoteHead grob is often the grob
cause for the noteheads.s2 glyph.

  Some of the related stencils are dumped consecutively (e.g. the
  horizontal StaffSymbol lines), but I imagine this would require some
  postprocess optimization, which is an interesting feature request.
 
  I'll add this to the wiki.
 
 Following my question above, here is another random idea: Would it be
 possible to (perhaps optionally) set the id attributes of the
 elements to something meaningful from which at least the function of
 this element could be deduced, like staffline01 or barline42 or
 something similar? This could be a first step to enable some
 postprocessing. BTW, I'm not saying that you should implement this.
 I'm just interested whether it would be possible.

That's possible, but it would be much easier to insert comments based
on the grob cause mentioned above.

It would look something like

  !-- NoteHead --
  path transform=translate(...) scale(...) d=... /

Would that be reasonable?

 P.S.: What's all this about text element being rasterized or converted
 to paths? I can edit them as regular text elements in Inkscape without
 problems.

Now that I think about it, I'm not really sure what Mark was referring
to.  Possibly the low graphics quality at 100% zoom in Firefox.

Thanks,
Patrick


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


Re: Fw: git access

2009-07-14 Thread Patrick McCarty
On Tue, Jul 14, 2009 at 08:35:10AM +0100, Trevor Daniels wrote:

 - Original Message - From: Trevor Daniels 
 t.dani...@treda.co.uk
 To: Mark Polesky markpole...@yahoo.com; Graham Percival  
 gra...@percival-music.ca
 Sent: Tuesday, July 14, 2009 8:33 AM
 Subject: Re: git access

 Mark, you wrote Tuesday, July 14, 2009 5:50 AM

 Trevor Daniels wrote:
 Next try a push with --dry-run.  Enter:
 git push --dry-run -v ssh+git://sv/srv/git/lilypond.git/

 $ gt push --dry-run -v ssh+git://sv/srv/git/lilypond.git/
 warning: You did not specify any refspecs to push, and the current 
 remote
 warning: has not configured any push refspecs. The default action in 
 this
 warning: case is to push all matching refspecs, that is, all  
 branches
 warning: that exist both locally and remotely will be updated. This 
 may
 warning: not necessarily be what you want to happen. warning:
 warning: You can specify what action you want to take in this case, 
 and
 warning: avoid seeing this message again, by configuring  
 'push.default' to:
 warning:   'nothing'  : Do not push anything
 warning:   'matching' : Push all matching branches (default)
 warning:   'tracking' : Push the current branch to whatever it is  
 tracking
 warning:   'current'  : Push the current branch
 Pushing to ssh+git://sv/srv/git/lilypond.git/
 To ssh+git://sv/srv/git/lilypond.git/
 = [up to date]  master - master
 Everything up-to-date

 So far so good?

 Yes, I think so.  I've never seen this sequence
 of warning messages, even though I do not have
 an entry for push.default in git config.  You
 will have a more recent version of git than I
 do, so maybe this warning is a recent addition.
 I'm on 1.5.4.2.1161.g1a6f0.  Yes, I just checked;
 push.default seems to have been added around 1.6.

Yes, no need to worry.

This giant warning was added in 1.6.3.  When I first tried to push
with no arguments, I got this warning too.

 Do you recommend setting 'push.default' to 'nothing'?

 No; you don't really want to have to specify source
 and destination on every push.  In the simple git
 arrangement used by LilyPond the default matching
 is probably the best option.  But as I'm not an
 expert, and don't have git 1.6, I'll copy to -devel
 for comment.

I set 'push.default' to 'nothing' but it's really personal choice.

Since pushing to master is (IMO) a relatively serious thing, I would
rather type the more verbose version:

  $ git push origin master

than accidentally type git push when I meant to type git pull.
This way, I can differentiate between pushing and pulling more easily,
and it provides a safeguard in that

  $ git push

will no longer work.


HTH,
Patrick


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


Re: @subsection foo should get name=foo

2009-07-14 Thread Trevor Daniels


Mark Polesky wrote Tuesday, July 14, 2009 6:54 AM


I like the way the Feta font appendix page turned out, but
I just assumed each @subsection foo would get name=foo.

Each B.6.x item in the navbar links only to the top of the
page, which is pointless IMO:

B.6 The Feta font 
   * B.6.1 Clefs 
   * B.6.2 Time Signatures 
   * B.6.3 Numbers 


Is there an easy way to improve that?


Yes.  You can add a menu to the Feta font
section and introduce each subsection with

@node 
@subsection ...

But it's easy to make mistakes in doing this.
Are you able to check texinfo syntax and refs?
If not, send any patch to me (or someone who
can compile the docs for checking) before
pushing.  A broken doc breaks all LP compiles!

Trevor


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


Re: Fw: git access

2009-07-14 Thread Trevor Daniels


Patrick McCarty wrote Tuesday, July 14, 2009 8:52 AM


On Tue, Jul 14, 2009 at 08:35:10AM +0100, Trevor Daniels wrote:


- Original Message - From: Trevor Daniels
t.dani...@treda.co.uk
To: Mark Polesky markpole...@yahoo.com; Graham Percival
gra...@percival-music.ca
Sent: Tuesday, July 14, 2009 8:33 AM
Subject: Re: git access


Mark, you wrote Tuesday, July 14, 2009 5:50 AM


Trevor Daniels wrote:

Next try a push with --dry-run.  Enter:
git push --dry-run -v ssh+git://sv/srv/git/lilypond.git/


$ gt push --dry-run -v ssh+git://sv/srv/git/lilypond.git/
warning: You did not specify any refspecs to push, and the 
current

remote
warning: has not configured any push refspecs. The default 
action in

this
warning: case is to push all matching refspecs, that is, all
branches
warning: that exist both locally and remotely will be updated. 
This

may
warning: not necessarily be what you want to happen. warning:
warning: You can specify what action you want to take in this 
case,

and
warning: avoid seeing this message again, by configuring
'push.default' to:
warning:   'nothing'  : Do not push anything
warning:   'matching' : Push all matching branches (default)
warning:   'tracking' : Push the current branch to whatever it 
is

tracking
warning:   'current'  : Push the current branch
Pushing to ssh+git://sv/srv/git/lilypond.git/
To ssh+git://sv/srv/git/lilypond.git/
= [up to date]  master - master
Everything up-to-date

So far so good?


Yes, I think so.  I've never seen this sequence
of warning messages, even though I do not have
an entry for push.default in git config.  You
will have a more recent version of git than I
do, so maybe this warning is a recent addition.
I'm on 1.5.4.2.1161.g1a6f0.  Yes, I just checked;
push.default seems to have been added around 1.6.


Yes, no need to worry.

This giant warning was added in 1.6.3.  When I first tried to push
with no arguments, I got this warning too.


Do you recommend setting 'push.default' to 'nothing'?


No; you don't really want to have to specify source
and destination on every push.  In the simple git
arrangement used by LilyPond the default matching
is probably the best option.  But as I'm not an
expert, and don't have git 1.6, I'll copy to -devel
for comment.


I set 'push.default' to 'nothing' but it's really personal choice.

Since pushing to master is (IMO) a relatively serious thing, I 
would

rather type the more verbose version:

 $ git push origin master

than accidentally type git push when I meant to type git pull.
This way, I can differentiate between pushing and pulling more 
easily,

and it provides a safeguard in that

 $ git push

will no longer work.


Sounds sensible; I have quite different methods for push and pull 
too.


Mark, seems like nothing is the best choice.

Trevor



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


Re: scripts.trill_element / scripts.trilelement

2009-07-14 Thread Patrick McCarty
On Mon, Jul 13, 2009 at 11:25:27PM -0700, Mark Polesky wrote:
 
 Do we need scripts.trill_element and scripts.trilelement?
 Is scripts.trilelement ever used?

The scripts.trill_element glyph is used to make the entire trill
spanner line, so we definitely need that one.

scripts.trilelement is not used, but IMO, it's a bad idea to be
removing a glyph from a font (unless it's being replaced by a superior
alternative).

-Patrick


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


Re: Do we still need NR B.10 List of articulations?

2009-07-14 Thread Patrick McCarty
On Mon, Jul 13, 2009 at 11:20:01PM -0700, Mark Polesky wrote:
 
 Do we still need NR B.10 List of articulations? Now that
 NR B.6 The Feta font is organized a little better, the
 scripts are all together there, and easy enough to find, I
 think. B.10 is starting to feel a little redundant to me.

I'm okay with removing it.

-Patrick


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


Re: using LyricHyphens in the docs

2009-07-14 Thread Trevor Daniels


Mark Polesky wrote Tuesday, July 14, 2009 7:38 AM


I think the Salve, Regína example in NR 2.8 Ancient Notation
would be improved by using LyricHyphens. For example, instead of
Sal- ve, Re- gí- na, use Sal -- ve, Re -- gí -- na,.

Unless there's some ancient hyphen typesetting convention that I
don't know about.  The file involved is
input/manual/ancient-headword.ly. There may be others, but I just
noticed it there.

Anyone care to comment on that?


I know essentially nothing about ancient music,
but as these examples were set by experts I assume
they know what should be done.  I doubt that
ancient music was ever typeset using modern
lyric spacing hyphens, not least because the
ligatures are conventionally grouped closely
together, and the syllable (with the hyphen)
almost always sits neatly under them.

Trevor





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



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


Re: percussion and midi

2009-07-14 Thread Marc Hohl

Hello Alan,

Alan Szlosek schrieb:
Greetings, current Lilypond developers. I'm new here and would like 
some guidance.


I'm interested in using Lilypond to compose music for high school 
drumlines. Hopefully my contributions will be useful to others. I'm 
not new to programming (Computer Science major), but am new to the C++ 
 Scheme setup in use here. My first task is to make accent marks 
translate into a dynamic step up in the MIDI output.


I would assume that I need to do some work at the iteration stage, as 
well as the MIDI translation stage. Does an \accent get turned into 
an articulation somehow by ly/script-init.ly http://script-init.ly? 
I'm probably wrong ...


I imagine I'll also have to do a check for whether we're dealing with 
drummode, and conditionally modify some node with extra dynamic 
information.


Can anyone point me in a more clear direction? Thanks.
I don't know much about MIDI in lilypond, but there has been some 
discussion about articulation
and MIDI on the lilypond-user mailing list, perhaps the following link 
might help you?


http://lists.gnu.org/archive/html/lilypond-user/2009-06/msg00029.html

Marc


--
Alan Szlosek :: http://www.greaterscope.net


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




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


Re: SVG status update

2009-07-14 Thread Maximilian Albert
Hi Patrick,

 Ah, okay. That's what I though. Out of interest: At the time when
 these elements get written into the SVG file, do they know about their
 mutual relationships? E.g., does a beam know which note heads it
 belongs to (or vice versa)?

 No.  The closest thing the elements possess that relates to this is
 their *grob cause*.  For example the NoteHead grob is often the grob
 cause for the noteheads.s2 glyph.

OK, thanks for the explanation. I seem to remember that some time ago
I was in a similar situation, where I wanted to find out some
elements' parent(s) from my code but was unable to, probably for
precisely this reason. Do you happen to know at what stage of the
engraving process elements are aware of their mutual relationships,
just in case I stumble across this problem again in the future?

 That's possible, but it would be much easier to insert comments based
 on the grob cause mentioned above.

 It would look something like

  !-- NoteHead --
  path transform=translate(...) scale(...) d=... /

 Would that be reasonable?

Sure. But as I said, as far as I'm concerned you don't need to spend
time on this right now (you've got lots of other things to do, I
suppose). It may even be the case that some people don't want the
comments in their files because they blow up the file size. But in
case we want to have automatic grouping in the future (either natively
or via some postprocessing) it's good to know that inserting comments
like this is an option.

Cheers,
Max


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


Re: Do we still need NR B.10 List of articulations?

2009-07-14 Thread Trevor Daniels


Patrick McCarty wrote Tuesday, July 14, 2009 10:15 AM



On Mon, Jul 13, 2009 at 11:20:01PM -0700, Mark Polesky wrote:


Do we still need NR B.10 List of articulations? Now that
NR B.6 The Feta font is organized a little better, the
scripts are all together there, and easy enough to find, I
think. B.10 is starting to feel a little redundant to me.


I'm okay with removing it.


I am too, but note all the index entries in B.10 -- they must be
relocated to the appropriate part of B.6.  Also the subheading
for that section of B.6 should be renamed to something like
Scripts and articulations, Scripts for articulations,..., so
someone searching for articulations can find it.

There may be refs to B.10 that will need adjusting too.

And deleting script-chart.ly will break the docs and compiling
unless the same change has been applied in all languages.

Trevor


Trevor



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


Re: proposal for doc rearrangement

2009-07-14 Thread Graham Percival
On Sat, Jul 11, 2009 at 12:01:22PM +0100, Trevor Daniels wrote:

 - Original Message - From: Graham Percival 
 gra...@percival-music.ca
 To: lilypond-devel@gnu.org
 Sent: Saturday, July 11, 2009 11:14 AM
 Subject: proposal for doc rearrangement

 Here's my proposal for doc rearrangement from a doc writer's
 perspective.
 ( - minus, + plus )

 LM
 - background essay
 - about the docs(nobody reads it there, anyway)

 I'd still like to see some sort of overview of the
 available documentation early in the LM.  Perhaps
 just the About the Learning Manual section with
 a reworked list like About the documentation,
 perhaps renamed Other documention.

For the sake of argument, assume that users always see the new
website Manuals page.  What else should users see?

- I agree that we should encourage them to click on HTML images,
  but that's done in the tutorial.
- I'm not certain if we should mention that the mailist archives
  are a for of documentation, but if you think that's important,
  I don't mind keeping that somewhere.  I might make it more
  prominent on the web Community-Contact page, though.
- init files: this is only applicable to tweaking, but IIRC that's
  in the LM already.

Basically, I think that LM 1.2 wasn't a success.  Either because
users didn't notice it (since the jumping in point was LM 2), or
because it included *too much* information.  Nobody could get a
sense of the docs at glance.

 + expand 2.1.1 Compiling a file into:
   + LM 1.1 Compiling with LilyPond and LilyPad

 Do we want anyone to use LilyPad?

If we still ship it, then we should describe it.  For Windows and
OSX; the linux version just has the command-line.

 Don't like to use Compiling in a heading.  It
 will not be understood by computer-non-literati.

I'm fine with changing the title.  My hope is that they'll have
read Text Input before they see the LM, but you're right that we
shouldn't assume they have any info before they read the LM.

   + LM 1.2 Alternate editors

 Not a suitable name if setup stuff is coming here.

The OS-specific setup (which IIRC is only for osx) is going on the
Download page, so this section really _will_ be for alternate
editors.

 - (possibly) Working on LilyPond Projects

 Quite a bit of the material here is suitable for
 the LM, but the organisation is poor.  (We didn't
 get to this during GDP).  I think we might need
 to dissect it, with bits staying and bits going to
 the AU.

Ok, that's fine with me.  I'm also thinking that the LM could use
a short conclusion (mainly pointing out the other parts of the
docs that should be consulted next), so we could keep a short LM 5
with some old material and a conclusion.

 AU
 - install, compile.  (that'll be in the CG and available as
  INSTALL.txt in source)

 Should not the simple instructions for installing
 GUB-built binaries remain?

IMO, that deserves to be on the website on the Download pages
(again, assuming that it's available in pdf+info forms for those
who prefer such formats).

Cheers,
- Graham


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


Re: @subsection foo should get name=foo

2009-07-14 Thread Trevor Daniels


Trevor Daniels wrote Tuesday, July 14, 2009 8:57 AM



Mark Polesky wrote Tuesday, July 14, 2009 6:54 AM


I like the way the Feta font appendix page turned out, but
I just assumed each @subsection foo would get name=foo.

Each B.6.x item in the navbar links only to the top of the
page, which is pointless IMO:

B.6 The Feta font 
   * B.6.1 Clefs 
   * B.6.2 Time Signatures 
   * B.6.3 Numbers 


Is there an easy way to improve that?


Yes.  You can add a menu to the Feta font
section and introduce each subsection with

@node 
@subsection ...


As we're in an appendix maybe this should be

@node ...
@appendixsubsec ... ?

Graham ?


But it's easy to make mistakes in doing this.
Are you able to check texinfo syntax and refs?
If not, send any patch to me (or someone who
can compile the docs for checking) before
pushing.  A broken doc breaks all LP compiles!

Trevor



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


Re: proposal for doc+web sources

2009-07-14 Thread Graham Percival
On Sat, Jul 11, 2009 at 03:02:33PM -0600, Carl Sorensen wrote:
 
 On 7/11/09 4:21 AM, Graham Percival gra...@percival-music.ca wrote:
 
  Here's my proposal for the source/makefile view of documentation.
  (this is the big argument one)
 
 In general, I think these proposals are reasonable.

Actually, giving it some more thought, there *is* some tension
between the release cycles of the main source tree and the
website.

That said, I still think we should distribute some of the website
info along with the release-specific docs.


What about having the texinfo in *both* places, but don't edit
them in the web/ branch?  Basically, it would work vaguely like
LSR.  The main website texinfo files would be in main/, but a
dedicated website person would import those files into a web/
branch (or repo) from time to time?

This way,
- we can include a snapshot of the website in the doc build from
  main/.  Texinfo cross-references and the like work easily, so
  the docs (user information) will be more coherent.
- doc writers and translators only work on main/ (or
  translations)
- we retain a house of sober second thought (sorry, Canadian
  political joke there... although AFAIK it would work in any
  country with a distinct second layer of representative, such
  as the US Senate or the UK House of Lords)

... let me try this again:

  The online website won't get screwed up if somebody makes a
  mistake in the main/ branch.  The dedicated website person
  will check the website before importing altered texinfo files
  from main/ to the web/ repo.

- really website-specific material, such as the google analytics
  stuff, would only be stored in the web/ repo.
- if desired, we could even alter the texi2html tweaking, css
  file, or even alter the main texinfo file, depending on
  whether it was the online website or a local snapshot for
  distribution with the release.

  I'm not certain if we'd want to change the CSS at all (a
  different color scheme for the local copy?), but it could
  well be a good idea to change the Download page.  I mean,
  if somebody's downloaded a lilypond-doc package in debian
  or whatever, they probably already have lilypond package.
  So maybe we'd omit those pages... also, the Search box
  won't do much good.  etc.

Cheers,
- Graham


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


Re: Do we still need NR B.10 List of articulations?

2009-07-14 Thread Graham Percival
On Mon, Jul 13, 2009 at 11:20:01PM -0700, Mark Polesky wrote:
 Do we still need NR B.10 List of articulations?

Yes, since the point is to show the \commands.  Unless B.6
includes that info?  I suppose that for many examples,
  scripts.staccato = \staccato
is a safe enough assumption to make.  However, I don't think
there's any \ufermata command, nor a \circlus.  Umm, so it's not a
safe assumption to make.  :)

Now, there might be a way to automatically generate B.10, in which
case we could alter that to fit inside B.6... but this might
require looking at the parser.  I'm not certain how this part of
the internals fits together.  Anyway, if that could be done, that
would be quite nice.

Cheers,
- Graham


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


Re: @subsection foo should get name=foo

2009-07-14 Thread Graham Percival
On Tue, Jul 14, 2009 at 10:46:58AM +0100, Trevor Daniels wrote:

 Trevor Daniels wrote Tuesday, July 14, 2009 8:57 AM

 Yes.  You can add a menu to the Feta font
 section and introduce each subsection with

 @node 
 @subsection ...

 As we're in an appendix maybe this should be

 @node ...
 @appendixsubsec ... ?

I believe it should be
  @node
  @unnumberedsubsec

You can use them inside an @appendicsec, and since the html pages
are split based on numbers, we want an @unnumbered... there.

Cheers,
- Graham


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


Re: Syntax changes in translated documentation

2009-07-14 Thread Graham Percival
On Sat, Jul 11, 2009 at 03:36:30PM -0600, Carl Sorensen wrote:
 I can see perhaps two options:
 
 1) Manually edit all of the lang/user/rhythms.itely files (aarghh!)
 2) Write a convert-ly rule and manually run all of the
 lang/user/rhythms.itely files through convert-ly.  Then I'll probably
 still have to manually edit all of the rhythms.itely, because the rule will
 be a NOT_SMART rule.

 I think I favor option 2 (although I haven't written the rule yet).

Yes, #2.  And if you ever add a NOT_SMART rule, you should
immediately write a NEWS entry.

(a change like the autobeaming stuff deserves a NEWS entry anyway,
but as a general rule fit for adding to the CG, any change
requiring a NOT_SMART rule needs a NEWS entry)

Cheers,
- Graham


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


Re: Do we still need NR B.10 List of articulations?

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

Am Dienstag, 14. Juli 2009 08:20:01 schrieb Mark Polesky:
 Do we still need NR B.10 List of articulations? Now that
 NR B.6 The Feta font is organized a little better, the
 scripts are all together there, and easy enough to find, I
 think. B.10 is starting to feel a little redundant to me.

Actually, there is one really huge difference: NR B.6 shows the glyph names, 
while NR B.10 shows the actual lilypond commands to bet the corresponding 
articulation!

So, from the feta chart alone, you only see that you can get e.g. nice 
espressivo, but you don't see how to obtain it in your lilypond code.
B.6 shows scripts.espr, while the actual lilypond command is \espressivo...

Similarly, up/down versions are shown as two glyphs in B.6, while they are 
just one lilypond command that automatically selects the correct glyph.

Thus, I don't think that B.10 can be removed.

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)

iD8DBQFKXHCRTqjEwhXvPN0RAhE3AKCLXNgUBg8+j8MhUr64+aIUDsUE0wCglJiQ
ixFOC6WHG2k71Aezbu+OFnw=
=ys16
-END PGP SIGNATURE-


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


Adding note color handling to musicxml2ly

2009-07-14 Thread Bret Aarden


I've written a music search tool that exports MusicXML and colors the 
matching notes, and I'd like those colors to show up in LilyPond 
typesetting.


There is no doubt a much more elegant way to do this, but the included 
patch works for me, and it would be great to see this functionality 
added to the musicxml2ly distribution.


-Bret.
From d861198ea6a58696ce52cfe17f63dd8aeee6ed58 Mon Sep 17 00:00:00 2001
From: Bret Aarden aar...@bret-aarden-2.local
Date: Mon, 13 Jul 2009 03:17:00 -0400
Subject: [PATCH] Added code to musicxml2ly.py and musicexp.ly to handle color
 overrides on notes.

---
 python/musicexp.py |   22 --
 scripts/musicxml2ly.py |2 ++
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/python/musicexp.py b/python/musicexp.py
index 9ebdb70..5f88818 100644
--- a/python/musicexp.py
+++ b/python/musicexp.py
@@ -100,7 +100,17 @@ class Output_printer:
 return
 
 self.unformatted_output (str)
-  
+
+def print_note_color (self, object, rgb=None):
+if rgb:
+str = (\override %s #'color = #(rgb-color %s %s %s) %
+   (object, rgb[0], rgb[1], rgb[2]))
+else:
+str = \\revert %s #'color % object
+self.newline()
+self.add_word(str)
+self.newline()
+
 def add_word (self, str):
 if (len (str) + 1 + len (self._line)  self._line_len):
 self.newline()
@@ -1436,6 +1446,10 @@ class NoteEvent(RhythmicEvent):
 def print_ly (self, printer):
 for ev in self.associated_events:
 ev.print_ly (printer)
+if hasattr(self, 'color'):
+printer.print_note_color(NoteHead, self.color)
+printer.print_note_color(Stem, self.color)
+printer.print_note_color(Beam, self.color)
 if self.pitch:
 self.pitch.print_ly (printer)
 printer (self.pitch_mods ())
@@ -1443,7 +1457,11 @@ class NoteEvent(RhythmicEvent):
 printer (self.drum_type)
 
 self.duration.print_ly (printer)
-
+if hasattr(self, 'color'):
+printer.print_note_color(NoteHead)
+printer.print_note_color(Stem)
+printer.print_note_color(Beam)
+
 class KeySignatureChange (Music):
 def __init__ (self):
 Music.__init__ (self)
diff --git a/scripts/musicxml2ly.py b/scripts/musicxml2ly.py
index ba7be37..1e31e8f 100644
--- a/scripts/musicxml2ly.py
+++ b/scripts/musicxml2ly.py
@@ -1846,6 +1846,8 @@ def musicxml_note_to_lily_main_event (n):
 
 if event:
 event.duration = musicxml_duration_to_lily (n)
+if hasattr(n, 'color'):
+event.color = hex_to_color(n.color)
 
 noteheads = n.get_named_children ('notehead')
 for nh in noteheads:
-- 
1.6.1

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


Re: Syntax changes in translated documentation

2009-07-14 Thread Jean-Charles Malahieude

Le 11/07/2009 15:36, Carl Sorensen disait :


OK, so I'm making syntax changes in autobeaming for LilyPond.

I've worked through rhythms.itely and input/lsr (and I'll soon work through
input/regression).

Now my make doc is failing because of snippets in /de/user/rhythms.itely
that use the old syntax and have, in many cases, been removed from
rhythms.itely.

What shall I do?

I can see perhaps two options:

1) Manually edit all of the lang/user/rhythms.itely files (aarghh!)
2) Write a convert-ly rule and manually run all of the
lang/user/rhythms.itely files through convert-ly.  Then I'll probably
still have to manually edit all of the rhythms.itely, because the rule will
be a NOT_SMART rule.

I think I favor option 2 (although I haven't written the rule yet).

Any hints from the devel team as to how to best accomplish this?  I looked
in the CG (thanks, Graham ;)  but couldn't find anything describing how to
deal with this circumstance.

Thanks,

Carl



Hi Carl,

Sorry to bother with this :

I pushed on Saturday evening a fully translated rhythms.itely into 
French. It resides only on the lilypond/translation branch in order to 
be proof-read before merged into master.


I might try, though I consider it /not so smart/, to apply your your 
changes to this updated version.


Let me know what is your preference in this matter...

I'm going back to updating the web branch.

Cheers
Jean-Charles




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


Re: Broken make

2009-07-14 Thread Carl Sorensen



On 7/13/09 10:55 PM, Matthias Kilian k...@outback.escape.de wrote:

 On Mon, Jul 13, 2009 at 09:18:58PM -0700, Patrick McCarty wrote:
 I found this interesting link:
 
 https://savannah.cern.ch/bugs/?35556
 
 It looks like cp -u will only work under Linux.  John added the -u
 flag earlier this month to avoid some error messages (likely different
 from yours).
 
 So, we can either remove the -u flag or find a different solution
 that still provides the fix John made.
 
 Just drop it. If the destination file has to be updated whenever
 the source file changes, let make(1) handle it.

I dropped it in my local copy, and make succeeded.  But I have not pushed
the change to git, and won't.  I don't have enough confidence that I know
the build process well to be sure I'm not breaking something.  I'll let John
Mandereau get to it when he has the time.

Thanks,

Carl




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


Re: Snippets in doc compile different from stand-alone

2009-07-14 Thread Carl Sorensen



On 7/10/09 3:37 PM, Carl Sorensen c_soren...@byu.edu wrote:

 I'm trying to finish up the revisions to the autobeaming code.
 
 I've got it working just fine when I compile from the command line.
 
 But when snippets are included in the docs, they seem to compile different
 than from the command line.
 
 I'll take a snippet that's in the docs (not one that's included as a file),
 copy it to a .ly file, wrap it in \relative c''{}, and everything works
 fine.
 
 But when I compile the docs with make doc, the snippet doesn't work.
 
 Is there a different version of LilyPond called when make doc is running?  I
 can't figure out what the story is.  Any clues would be appreciated.

I finally discovered what was going on.  The snippet was being replaced with
the version from one of the translated documents.  I actually fought with
this last December, and Neil gave me this answer:

 
 On 12/15/08 1:49 PM, Neil Puttock n.putt...@gmail.com wrote:
 
 Hi Carl,
 
 The make web choked on trying to run a lilypond snippet.  I looked at the
 snippet, and the reason that lilypond choked was because the snippet was the
 *old* version of the snippet, not the new version of the snippet.  So the
 last lines of the make web output aren't likely to be helpful.  If there are
 helpful lines in the output, they would be likely to show up somewhere
 above, where snippets are extracted from the .itely files.
 
 The old snippets were in the translations; running update-snippets.py
 copied the syntax changes over from user.
 
 Thanks, Neil.  I suspected that they were in the translations, but I had no
 idea how to get them over.
 
 Carl
 

Neil,

Can we get something in the CG about this problem, and how to run
update-snippets.py to fix things, or at least a statement about the easiest
way to solve the problem?

Thanks,

Carl



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


Re: New format for autobeaming rules

2009-07-14 Thread Carl Sorensen
I've posted a new patch set on Rietveld which I think is a release
candidate.

It has changes in all the translated rhythms.itely files so that all of the
docs build properly.

It has the revised snippets in input/new added to the repository.

It has cleaned up all of the issues that Neil identified, with the exception
of default autobeaming for 3/4 time.  I never got any concurrence for
setting it back to (3), so it's left at (1 1 1).

Please review and let me know of any further issues.

Thanks,

Carl



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


Re: proposal for doc rearrangement

2009-07-14 Thread Trevor Daniels


Graham Percival wrote Tuesday, July 14, 2009 10:46 AM



On Sat, Jul 11, 2009 at 12:01:22PM +0100, Trevor Daniels wrote:


- Original Message - From: Graham Percival
gra...@percival-music.ca
To: lilypond-devel@gnu.org
Sent: Saturday, July 11, 2009 11:14 AM
Subject: proposal for doc rearrangement


Here's my proposal for doc rearrangement from a doc writer's
perspective.
( - minus, + plus )

LM
- background essay
- about the docs(nobody reads it there, anyway)


I'd still like to see some sort of overview of the
available documentation early in the LM.  Perhaps
just the About the Learning Manual section with
a reworked list like About the documentation,
perhaps renamed Other documention.

For the sake of argument, assume that users always see the new
website Manuals page.  What else should users see?


Is this always guaranteed?  Actually, all I'm
suggesting is that something like the information
on the Manuals page could sensibly be in the LM,
(and in the other manuals too, for that matter).
Readers can then see where they should go if the
manual they are reading does not contain what
they are seeking.


- I agree that we should encourage them to click on HTML images,
 but that's done in the tutorial.
- I'm not certain if we should mention that the mailist archives
 are a for of documentation, but if you think that's important,
 I don't mind keeping that somewhere.  I might make it more
 prominent on the web Community-Contact page, though.
- init files: this is only applicable to tweaking, but IIRC that's
 in the LM already.

Basically, I think that LM 1.2 wasn't a success.  Either because
users didn't notice it (since the jumping in point was LM 2), or
because it included *too much* information.  Nobody could get a
sense of the docs at glance.


I think it was the latter.


+ expand 2.1.1 Compiling a file into:
  + LM 1.1 Compiling with LilyPond and LilyPad


Do we want anyone to use LilyPad?


If we still ship it, then we should describe it.  For Windows and
OSX; the linux version just has the command-line.


Seems at the moment we don't ;)

But you're right.  We need to describe it, and
its limitations.


Don't like to use Compiling in a heading.  It
will not be understood by computer-non-literati.


I'm fine with changing the title.  My hope is that they'll have
read Text Input before they see the LM, but you're right that we
shouldn't assume they have any info before they read the LM.


  + LM 1.2 Alternate editors


Not a suitable name if setup stuff is coming here.


The OS-specific setup (which IIRC is only for osx) is going on the
Download page, so this section really _will_ be for alternate
editors.


Ah, OK.  It wasn't clear in your original note.


- (possibly) Working on LilyPond Projects


Quite a bit of the material here is suitable for
the LM, but the organisation is poor.  (We didn't
get to this during GDP).  I think we might need
to dissect it, with bits staying and bits going to
the AU.


Ok, that's fine with me.  I'm also thinking that the LM could use
a short conclusion (mainly pointing out the other parts of the
docs that should be consulted next), so we could keep a short LM 5
with some old material and a conclusion.


I'm happy with that.


AU
- install, compile.  (that'll be in the CG and available as
 INSTALL.txt in source)


Should not the simple instructions for installing
GUB-built binaries remain?


IMO, that deserves to be on the website on the Download pages
(again, assuming that it's available in pdf+info forms for those
who prefer such formats).


Well, OK.  It's not an important point.


Cheers,
- Graham


Trevor



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


Re: SVG status update

2009-07-14 Thread Mark Polesky
Patrick McCarty wrote:
  P.S.: What's all this about text element being rasterized or converted
  to paths? I can edit them as regular text elements in Inkscape without
  problems.
 
 Now that I think about it, I'm not really sure what Mark was referring
 to.  Possibly the low graphics quality at 100% zoom in Firefox.

I've attached 2 PNGs, one at 100% zoom and one at 300%. The graphics
quality for the musical elements is excellent but the text comes out
pixellated. Using Firefox 3.0.11 on Windows XP. I guess the text output
depends on the installed fonts that Firefox sees on my system, but I
wonder if that's a good idea. I'm thinking that svg output can be used
for web apps (like wikipedia for instance), and I wouldn't want musical
examples to suffer from such user dependencies.

Though my understanding of the issues involved is rather limited, so I
might just be missing the point.

Thanks.
- Mark



  attachment: rasterized-text_100.pngattachment: rasterized-text_300.png___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Adding note color handling to musicxml2ly

2009-07-14 Thread Carl Sorensen



On 7/13/09 1:35 AM, Bret Aarden bret.aar...@gmail.com wrote:

 
 
 I've written a music search tool that exports MusicXML and colors the
 matching notes, and I'd like those colors to show up in LilyPond
 typesetting.
 
 There is no doubt a much more elegant way to do this, but the included
 patch works for me, and it would be great to see this functionality
 added to the musicxml2ly distribution.

I saw that you had provision in print_note_color for reverting color.  But I
never saw any code elsewhere that called print_note_color with no rgb value
to call that reversion.

I would recommend that you consider replacing \override with \once
\override, and junk the \revert.  But I'm certainly not an expert in
MusicXML.

Thanks,

Carl



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


Re: LM Errata

2009-07-14 Thread Trevor Daniels

Jonathans and Max

Many thanks for the help on the LM.  I'm
applying your changes at the moment.  A few
comments below.


I'm not sure about mesh vs. match.  Mesh has a lot of other
meanings which could cause confusion, so maybe there's a better 
term or

phrase to use there.


I don't like mesh or match, so I changed the
sentence to:

The C++ language forces a certain method of grouping
rules that cannot readily be applied to formatting
music notation.


Automated Engraving



The first lilypond example in this section is missing.


Do you mean the one introduced with Here you see two
chords, with accents and arpeggios?  If so, it seems
to be present on the kainhofer server.


What symbols to engrave?



The third example in this section is missing.


Again, it is there on kainhofer.

How are you viewing these graphics?

Trevor 




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


Re: LM Errata

2009-07-14 Thread Jonathan Wilkes

  Automated Engraving
 
  The first lilypond example in this section is
 missing.
 
 Do you mean the one introduced with Here you see two
 chords, with accents and arpeggios?  If so, it seems
 to be present on the kainhofer server.
 
  What symbols to engrave?
 
  The third example in this section is missing.
 
 Again, it is there on kainhofer.
 
 How are you viewing these graphics?
 
 Trevor 
 

I'm viewing from the web. Both show up on ie explorer but not on firefox
(winxp sp3).

-Jonathan


  


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


Re: Adding note color handling to musicxml2ly

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

Am Dienstag, 14. Juli 2009 18:07:10 schrieb Carl Sorensen:
 On 7/13/09 1:35 AM, Bret Aarden bret.aar...@gmail.com wrote:
  There is no doubt a much more elegant way to do this, but the included
  patch works for me, [...]

 I saw that you had provision in print_note_color for reverting color.  But
 I never saw any code elsewhere that called print_note_color with no rgb
 value to call that reversion.

 I would recommend that you consider replacing \override with \once
 \override, and junk the \revert.  

I was about to suggest the same. The \revert is never inserted. But then, you 
don't want an \override anyway, because the setting should only apply to that 
one note, which has the color attribute, not to all following ones. So, you 
really want \once\override.

To make sure things really work, you should create a regression test file 
input/regression/musicxml/59a-NoteColor.xml (see 
http://kainhofer.com/~lilypond/input/regression/musicxml/collated-files.html 
for the full regression test suite). That regression test should have:
- -) a colored note (at the very beginning, so you see if it works right at the 
first note, too)
- -) a following differently colored note
- -) a following colored note with the same color
- -) a following rest (should probably not be colored)
- -) a colored note
- -) a non-colored note.
- -) A colored note with some articulation and e.g. a non-default notehead 
(which uses an \override, too, so you check whether the combination of 
multiple settings for one note doesn't break)

I would suggest this order, because then you have all different types of 
sequences (two differently colored notes; rests after/before notes; uncolored 
notes). if rests can be colored, too, you should probably also add some 
combination of colored/uncolored rests and notes.

For some more comments on the patch, see below:

Am Dienstag, 14. Juli 2009 01:41:34 schrieb Bret Aarden:
 +def print_note_color (self, object, rgb=None):
 +if rgb:
 +str = (\override %s #'color = #(rgb-color %s %s %s) %
 +   (object, rgb[0], rgb[1], rgb[2]))

I suppose this should be \\override (i.e. escape the backslash).

 +else:
 +str = \\revert %s #'color % object
 +self.newline()
 +self.add_word(str)
 +self.newline()

I'm not sure that you really want TWO newlines. Won't this insert a blank line 
between two color directives in the lilypond code?
I'm not even sure that I want a newline before/after the override at all. This 
would result in each note of a piece taking ~4 lines in the lilypond file!
At least with almost all other note-attached overrides that I implemented, I 
don't write out any newlines.

The rest looks okay.

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)

iD8DBQFKXLZrTqjEwhXvPN0RAlhsAJ4wWhdfKq+YdBEct6Zf28wKFl8CZwCfaLVg
nLW9gtw5DHxhlLtH9qPJjGA=
=6ESx
-END PGP SIGNATURE-


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


Re: LM Errata

2009-07-14 Thread Trevor Daniels


Jonathan Wilkes wrote Tuesday, July 14, 2009 5:46 PM



 Automated Engraving

 The first lilypond example in this section is
missing.

Do you mean the one introduced with Here you see two
chords, with accents and arpeggios?  If so, it seems
to be present on the kainhofer server.

 What symbols to engrave?

 The third example in this section is missing.

Again, it is there on kainhofer.

How are you viewing these graphics?

Trevor



I'm viewing from the web. Both show up on ie explorer but not on 
firefox

(winxp sp3).


They look fine here with both IE and
Firefox (3.0.11) on Vista.  Anyway, it doesn't
seem to be a problem with the docs, so I'll
go ahead and push the changes you suggested.
You should be able to see them on kainhofer
in a day or so.

Thanks again for your help.

Trevor



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


Re: SVG status update

2009-07-14 Thread Patrick McCarty
On Tue, Jul 14, 2009 at 08:55:39AM -0700, Mark Polesky wrote:
 Patrick McCarty wrote:
   P.S.: What's all this about text element being rasterized or converted
   to paths? I can edit them as regular text elements in Inkscape without
   problems.
  
  Now that I think about it, I'm not really sure what Mark was referring
  to.  Possibly the low graphics quality at 100% zoom in Firefox.
 
 I've attached 2 PNGs, one at 100% zoom and one at 300%. The graphics
 quality for the musical elements is excellent but the text comes out
 pixellated. Using Firefox 3.0.11 on Windows XP. I guess the text output
 depends on the installed fonts that Firefox sees on my system, but I
 wonder if that's a good idea. I'm thinking that svg output can be used
 for web apps (like wikipedia for instance), and I wouldn't want musical
 examples to suffer from such user dependencies.

I agree that it looks bad.  I'll add a feature request to the wiki.

 Though my understanding of the issues involved is rather limited, so
 I might just be missing the point.

My understanding is a bit limited too.  But I know this task would be
*much* more difficult than extracting glyph paths from a plain-text
SVG font with regular expressions.

The advantage of PostScript is that binary font embedding is allowed.

Maybe we could ship the default text fonts (Century Schoolbook) as SVG
fonts too?  Then this might be possible.  I don't know if there are
any licensing issues though.  I just tried converting the bold face to
an SVG font, and it worked fine.  At least, it would give me
motivation to try converting these too.

But a big downside of converting everything to paths is that the text
can no longer be *edited* directly as text (in Inkscape, for example).
The SVG format is more suitable for editing than PostScript or PDF
are, so more users will be tempted to fire up Inkscape and try editing
the plain text if they find an SVG file.

If we decide to take this route, we should have a command-line switch,
like

  -dsvg-glyphs-to-paths

I'll write all of this down so that it's not forgotten.  Thanks for
bringing up this issue.

Thanks,
Patrick


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


Re: Broken make

2009-07-14 Thread Matthias Kilian
On Tue, Jul 14, 2009 at 09:32:16AM -0600, Carl Sorensen wrote:
  Just drop it. If the destination file has to be updated whenever
  the source file changes, let make(1) handle it.
 
 I dropped it in my local copy, and make succeeded.  But I have not pushed
 the change to git, and won't.  I don't have enough confidence that I know
 the build process well to be sure I'm not breaking something.  I'll let John
 Mandereau get to it when he has the time.

Yep, it may be helpful to know *what* he was trying to fix with cp -u.

Ciao,
Kili

-- 
Automake and autoconf deserve to wither and die, but unfortunately noone
at GNU seems to make much of an effort to euthanasize them.
-- Han-Wen Nienhuys, on Lilypond-devel mailing list


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


accessing accidentals with \tweak

2009-07-14 Thread Mark Polesky

In NR 5.3.4 The \tweak command, it says this:

Notably the \tweak command cannot be used to modify stems, beams
or accidentals, since these are generated later by note heads,
rather than by music elements in the input stream.

http://kainhofer.com/~lilypond/Documentation/user/lilypond/The-tweak-command.html

But I *am* able to abuse the notehead's stencil property to tweak
the accidental:

\version 2.13.2

#(define (color-accidental grob)
  ;; notehead stencil callback
  (let ((stil   (ly:note-head::print grob))
(accidental (ly:grob-object grob 'accidental-grob)))
(ly:grob-set-property! accidental 'color red)
   stil))
   
#(define (suppress-accidental grob)
  ;; notehead stencil callback
  (let ((stil   (ly:note-head::print grob))
(accidental (ly:grob-object grob 'accidental-grob)))
(ly:grob-suicide! accidental)
   stil))

\relative { 
  c! \tweak #'stencil #color-accidental e! g!
  c! \tweak #'stencil #suppress-accidental e! g!
}

Questions:

1) are the results of this technique undefined? Was it just luck
   that these worked?
   
2) This seems so kludgy. I presume I can only access the
   NoteHead's 'accidental-grob property through its standard
   settings (duration-log, stem-attachment, stencil, X-offset, and
   Y-offset). I wish I could do something like this instead (this
   of course doesn't work) ---
   
   #(define (color-accidental grob)
 ;; notehead foo callback
 (let ((accidental (ly:grob-object grob 'accidental-grob)))
   (ly:grob-set-property! accidental 'color red)
   #t))

   \relative { 
 c! \tweak #'foo #color-accidental e! g!
   }

   This would imply that I could make up my own dummy property and
   it would (magically) have access to the note-head-interface
   internal properties. Then I wouldn't have to bother making sure
   I return the correct value for whatever standard setting I'm
   abusing (stencil in the above case). Besides, I'd want to be
   able to tweak that standard setting independently. As a
   compromise, I considered the possibility of actually
   implementing a 'dummy property, but I don't think that would
   work either, because each subsequent call to \tweak #'dummy
   would override the previous one (for a given note).
   
This bizarre approach might solve a lot of problems for me, but I
don't like abusing properties like this. What do you guys think?
- Mark



  


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


Re: Patch: Delete intermediate ps files

2009-07-14 Thread Neil Puttock
2009/7/13 Maximilian Albert maximilian.alb...@googlemail.com:

 Thanks a lot! So does this close issue 685?

Yes.

 What's the status about
 .log files being created on Windows mentioned there?

Assuming this is a feature Windows users would like, it should be
logged as a new issue (low priority enhancement I'd imagine).

Regards,
Neil


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


Re: accessing accidentals with \tweak

2009-07-14 Thread Neil Puttock
2009/7/14 Mark Polesky markpole...@yahoo.com:

 1) are the results of this technique undefined? Was it just luck
   that these worked?

Of course not.  You're just accessing the accidental indirectly.

Perhaps we should amend the documentation for \tweak: it can't be used
to modify stems, beams or accidentals *directly*.


 2) This seems so kludgy. I presume I can only access the
   NoteHead's 'accidental-grob property through its standard
   settings (duration-log, stem-attachment, stencil, X-offset, and
   Y-offset). I wish I could do something like this instead (this
   of course doesn't work) ---

You can use any property which NoteHead supports (via its interfaces).

   This would imply that I could make up my own dummy property and
   it would (magically) have access to the note-head-interface
   internal properties. Then I wouldn't have to bother making sure
   I return the correct value for whatever standard setting I'm
   abusing (stencil in the above case). Besides, I'd want to be
   able to tweak that standard setting independently. As a
   compromise, I considered the possibility of actually
   implementing a 'dummy property, but I don't think that would
   work either, because each subsequent call to \tweak #'dummy
   would override the previous one (for a given note).

'before-line-breaking
'after-line-breaking

For accidentals, you'll have to use 'before-line-breaking, so it
catches them before space has been reserved.

Regards,
Neil


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


Re: Patch: Delete intermediate ps files

2009-07-14 Thread Trevor Daniels


Neil Puttock wrote Tuesday, July 14, 2009 9:34 PM



2009/7/13 Maximilian Albert maximilian.alb...@googlemail.com:


Thanks a lot! So does this close issue 685?


Yes.


What's the status about
.log files being created on Windows mentioned there?


Assuming this is a feature Windows users would like, it should be
logged as a new issue (low priority enhancement I'd imagine).


If the Windows user is invoking LP by double-clicking a .ly
file the only way to see the console output is via the log file.
It is essential for this mode of working.  Most Windows users
would do this, at least at the start, when it is essential that they
see the error messages.

The alternative is to use an editor which can launch a
compilation and capture the console output (that's what I
do), or to invoke LP from the command line DOS box
(not natural for most Windows users)


Regards,
Neil


Trevor



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


Re: SVG status update

2009-07-14 Thread Patrick McCarty
On Tue, Jul 14, 2009 at 2:27 AM, Maximilian
Albertmaximilian.alb...@googlemail.com wrote:
 Hi Patrick,

 Ah, okay. That's what I though. Out of interest: At the time when
 these elements get written into the SVG file, do they know about their
 mutual relationships? E.g., does a beam know which note heads it
 belongs to (or vice versa)?

 No.  The closest thing the elements possess that relates to this is
 their *grob cause*.  For example the NoteHead grob is often the grob
 cause for the noteheads.s2 glyph.

 OK, thanks for the explanation. I seem to remember that some time ago
 I was in a similar situation, where I wanted to find out some
 elements' parent(s) from my code but was unable to, probably for
 precisely this reason. Do you happen to know at what stage of the
 engraving process elements are aware of their mutual relationships,
 just in case I stumble across this problem again in the future?

I don't know for sure, but I would guess that these relationships are
set in the engraving/acknowledging step, and that they lose the
relationships after they have been converted to stencils (the post
page-breaking step, I think).

HTH,
Patrick


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


Re: Broken make

2009-07-14 Thread John Mandereau
Please junk (without blindly reverting) those -u flags I added. I've
started offline cleaning up translated docs generation, one planned
feature is HTML and PDF output of translations directly in
Documentation/user, so this multiple css file copy issue and other
ones will have gone.

Greetings from a mobile phone, I'm back online tomorrow, still very
busy but with more time for Lily
John

2009/7/14, Matthias Kilian k...@outback.escape.de:
 On Tue, Jul 14, 2009 at 09:32:16AM -0600, Carl Sorensen wrote:
  Just drop it. If the destination file has to be updated whenever
  the source file changes, let make(1) handle it.

 I dropped it in my local copy, and make succeeded.  But I have not pushed
 the change to git, and won't.  I don't have enough confidence that I know
 the build process well to be sure I'm not breaking something.  I'll let
 John
 Mandereau get to it when he has the time.

 Yep, it may be helpful to know *what* he was trying to fix with cp -u.

 Ciao,
   Kili

 --
 Automake and autoconf deserve to wither and die, but unfortunately noone
 at GNU seems to make much of an effort to euthanasize them.
   -- Han-Wen Nienhuys, on Lilypond-devel mailing list


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



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


Re: Broken make

2009-07-14 Thread Carl Sorensen



On 7/14/09 3:33 PM, John Mandereau john.mander...@gmail.com wrote:

 Please junk (without blindly reverting) those -u flags I added. I've
 started offline cleaning up translated docs generation, one planned
 feature is HTML and PDF output of translations directly in
 Documentation/user, so this multiple css file copy issue and other
 ones will have gone.

Done!  Thanks for the guidance.

Carl



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


Re: accessing accidentals with \tweak

2009-07-14 Thread Carl Sorensen



On 7/14/09 2:15 PM, Mark Polesky markpole...@yahoo.com wrote:

 
 
 In NR 5.3.4 The \tweak command, it says this:
 
 Notably the \tweak command cannot be used to modify stems, beams
 or accidentals, since these are generated later by note heads,
 rather than by music elements in the input stream.
 
 http://kainhofer.com/~lilypond/Documentation/user/lilypond/The-tweak-command.h
 tml
 
 But I *am* able to abuse the notehead's stencil property to tweak
 the accidental:
 
 \version 2.13.2
 
 #(define (color-accidental grob)
   ;; notehead stencil callback
   (let ((stil   (ly:note-head::print grob))
 (accidental (ly:grob-object grob 'accidental-grob)))
 (ly:grob-set-property! accidental 'color red)
stil))
   
 #(define (suppress-accidental grob)
   ;; notehead stencil callback
   (let ((stil   (ly:note-head::print grob))
 (accidental (ly:grob-object grob 'accidental-grob)))
 (ly:grob-suicide! accidental)
stil))
 
 \relative {
   c! \tweak #'stencil #color-accidental e! g!
   c! \tweak #'stencil #suppress-accidental e! g!
 }
 
 Questions:
 
 1) are the results of this technique undefined? Was it just luck
that these worked?

This is well-defined.  If you do a \displayMusic of your expression, you'll
see that the 
procedure gets put into the parse tree.

(make-music
  'EventChord
  'elements
  (list (make-music
  'NoteEvent
  'duration
  (ly:make-duration 2 0 1 1)
  'force-accidental
  #t
  'pitch
  (ly:make-pitch -1 0 0))
(make-music
  'NoteEvent
  'duration
  (ly:make-duration 2 0 1 1)
  'tweaks
  (list (cons (quote stencil) color-accidental))
  'force-accidental
  #t
  'pitch
  (ly:make-pitch -1 2 0))
(make-music
  'NoteEvent
  'duration
  (ly:make-duration 2 0 1 1)
  'force-accidental
  #t
  'pitch
  (ly:make-pitch -1 4 0))
(make-music
  'SlurEvent
  'span-direction
  1)))

So color-accidental is going to get evaluated and the result passed as the
stencil of the note.
   
 2) This seems so kludgy. I presume I can only access the
NoteHead's 'accidental-grob property through its standard
settings (duration-log, stem-attachment, stencil, X-offset, and
Y-offset). I wish I could do something like this instead (this
of course doesn't work) ---
   
#(define (color-accidental grob)
  ;; notehead foo callback
  (let ((accidental (ly:grob-object grob 'accidental-grob)))
(ly:grob-set-property! accidental 'color red)
#t))
 
\relative {
  c! \tweak #'foo #color-accidental e! g!
}
 
This would imply that I could make up my own dummy property and
it would (magically) have access to the note-head-interface
internal properties. Then I wouldn't have to bother making sure
I return the correct value for whatever standard setting I'm
abusing (stencil in the above case). Besides, I'd want to be
able to tweak that standard setting independently. As a
compromise, I considered the possibility of actually
implementing a 'dummy property, but I don't think that would
work either, because each subsequent call to \tweak #'dummy
would override the previous one (for a given note).
   
 This bizarre approach might solve a lot of problems for me, but I
 don't like abusing properties like this. What do you guys think?

If you look at the IR, you'll see three dummy grob properties that are used
to trigger callbacks.

What if a property like tweak-callback were added, whose job is just to
trigger the grob callback necessary for what you want to do?

Then you could have

\relative {
  c! \tweak #'tweak-callback #color-accidental e! g!
}

I think you could have multiple calls to #'tweak-callback, because
all of the tweaks are stored in a list, and would all be executed.

\displayMusic
\relative {
  c  
\tweak #'color #red
\tweak #'color #yellow
  d  
}


gives

(make-music
  'RelativeOctaveMusic
  'element
  (make-music
'SequentialMusic
'elements
(list (make-music
'EventChord
'elements
(list (make-music
'NoteEvent
'duration
(ly:make-duration 2 0 1 1)
'pitch
(ly:make-pitch 0 0 0))
  (make-music
'NoteEvent
'duration
(ly:make-duration 2 0 1 1)
'tweaks
(list (list (quote color) 1.0 0.0 0.0)
  (list (quote color) 1.0 1.0 0.0))
'pitch
(ly:make-pitch 0 1 0)))


Personally, I think this is a cool idea!

Carl



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

Re: New format for autobeaming rules

2009-07-14 Thread n . puttock

Carl, I haven't commenting on them directly, but there are quite a few
indentation errors in the .scm files.


http://codereview.appspot.com/88155/diff/95/1147
File Documentation/topdocs/NEWS.tely (right):

http://codereview.appspot.com/88155/diff/95/1147#newcode69
Line 69: section 1.2.4 Beams, for more information.
Is it possible to use @ruser{} here?

http://codereview.appspot.com/88155/diff/95/1149
File Documentation/user/rhythms.itely (right):

http://codereview.appspot.com/88155/diff/95/1149#newcode1743
Line 1743: Beam settings can be reverted to get back to default
behavior.  This
This looks like it should be an input/new snippet.

http://codereview.appspot.com/88155/diff/95/1155
File input/lsr/conducting-signs,-measure-grouping-signs.ly (right):

http://codereview.appspot.com/88155/diff/95/1155#newcode77
Line 77: }
missing %begin verbatim

http://codereview.appspot.com/88155/diff/95/1155#newcode88
Line 88: } % begin verbatim
rogue %begin verbatim

http://codereview.appspot.com/88155/diff/95/1170
File lily/measure-grouping-engraver.cc (right):

http://codereview.appspot.com/88155/diff/95/1170#newcode71
Line 71: scm_list_2 (time_signature_fraction,
same line as ly_assoc_get (

http://codereview.appspot.com/88155/diff/95/1170#newcode72
Line 72: ly_symbol2scm (end)),
indentation

http://codereview.appspot.com/88155/diff/95/1170#newcode75
Line 75: grouping_rules, SCM_EOL);
indentation

http://codereview.appspot.com/88155/diff/95/1177
File scm/c++.scm (right):

http://codereview.appspot.com/88155/diff/95/1177#newcode30
Line 30: (define-public (pair-or-symbol? x)
also unused

http://codereview.appspot.com/88155


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


Re: PATCH: Consolidate autobeaming to one property that controls it

2009-07-14 Thread Neil Puttock
2009/7/12 Carl Sorensen c_soren...@byu.edu:

 I don't know.  I didn't write displayLilyMusic; that was Nicolas IIRC.  I do
 know that \time 3/4 executes those functions.  It's really easy to go
 forward in the parse tree (i.e. from \time 3/4 to \set Timing), but I
 don't know any way to reliably go in reverse.

It looks like the matching process works by generating an equivalent
music expression then comparing it with the input (see
define-music-display-methods.scm, from line 971).

I imagine part of the reason it doesn't work is that you've removed
the setting for beatGrouping.

 I guess I'm not *too* concerned that \displayLilyMusic return exactly what
 what entered into it.  As long as it returns valid music expressions, then I
 think it's probably OK.

OK, perhaps a TODO in the file will suffice for now,

Regards,
Neil


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


Re: Snippets in doc compile different from stand-alone

2009-07-14 Thread Neil Puttock
2009/7/14 Carl Sorensen c_soren...@byu.edu:

 Can we get something in the CG about this problem, and how to run
 update-snippets.py to fix things, or at least a statement about the easiest
 way to solve the problem?

It's already mentioned in CG (in passing), but I got the impression
when I stumbled across it for the compile fix in December that it's
mainly for use by translators.

Regards,
Neil


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


Re: accessing accidentals with \tweak

2009-07-14 Thread Trevor Daniels


Neil Puttock wrote Tuesday, July 14, 2009 9:54 PM

Perhaps we should amend the documentation for \tweak: it can't be 
used

to modify stems, beams or accidentals *directly*.


I've done this, but it would be better to be able to refer to
a description of how to use Mark's neat technique in NR
5.5 Advanced tweaks.  Anyone up for writing this, once the
technique has crystallised?

Trevor



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


Re: New format for autobeaming rules

2009-07-14 Thread Neil Puttock
2009/7/14 Carl Sorensen c_soren...@byu.edu:

 It has cleaned up all of the issues that Neil identified, with the exception
 of default autobeaming for 3/4 time.  I never got any concurrence for
 setting it back to (3), so it's left at (1 1 1).

I think (3) is preferable, at least for quavers.

The Baerenreiter Bach 'cello suite example shows how it should be
(though it's got manual beaming just to make sure).

Regards,
Neil


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


Re: Snippets in doc compile different from stand-alone

2009-07-14 Thread Carl Sorensen



On 7/14/09 4:11 PM, Neil Puttock n.putt...@gmail.com wrote:

 2009/7/14 Carl Sorensen c_soren...@byu.edu:
 
 Can we get something in the CG about this problem, and how to run
 update-snippets.py to fix things, or at least a statement about the easiest
 way to solve the problem?
 
 It's already mentioned in CG (in passing), but I got the impression
 when I stumbled across it for the compile fix in December that it's
 mainly for use by translators.

Hmm -- I read through the CG and missed it.  Now that I know what I'm
looking for, I see where it is.  I'll add something to the CG.

I think that somehow we need to get it to be used by others besides
tranlators.  I need to use it because I can't push a patch until I verify
make doc works.

I could just verify that make doc works properly in a subdirectory (e.g.
Documentation/user), and then I know that the new english manuals work
properly.

But if I've changed syntax, and the translated manuals will no longer work
properly, then I break compilation if I push a patch.

So in the case of a syntax change that needs a NOT_SMART convert-ly rule, we
should have some procedure in place to avoid future occurences of this
problem, it seems to me.

I'm not sure exactly what is the best method of doing this, however.

Thanks,

Carl



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


Re: LM Errata

2009-07-14 Thread Jonathan Wilkes

  I'm viewing from the web. Both show up on ie explorer
 but not on 
  firefox
  (winxp sp3).
 
 They look fine here with both IE and
 Firefox (3.0.11) on Vista.  Anyway, it doesn't
 seem to be a problem with the docs, so I'll
 go ahead and push the changes you suggested.
 You should be able to see them on kainhofer
 in a day or so.

I've upgraded Firefox to 3.0.11, and those sections I mentioned are still 
empty.  Still looks fine in IE.  Also, everything looks fine on a mac, so 
I'm not sure what could be causing that behavior.

-Jonathan







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


Re: [PATCH] Markup commands \left-brace and \right-brace

2009-07-14 Thread Neil Puttock
2009/4/25 Neil Puttock n.putt...@gmail.com:
 2009/4/23 Jan Nieuwenhuizen janneke-l...@xs4all.nl:

 I don't really care about that, but it would be nice to split-out
 the (find-brace lambda to a generic function.

 OK, I'll farm it out to lily-library.scm and upload a new patch.

A new patch set is available here:

http://codereview.appspot.com/8874/show

I've moved the binary search and added a few checks for invalid point sizes.

Regards,
Neil


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


Re: PATCH: Consolidate autobeaming to one property that controls it

2009-07-14 Thread Carl Sorensen



On 7/14/09 4:08 PM, Neil Puttock n.putt...@gmail.com wrote:

 2009/7/12 Carl Sorensen c_soren...@byu.edu:
 
 I don't know.  I didn't write displayLilyMusic; that was Nicolas IIRC.  I do
 know that \time 3/4 executes those functions.  It's really easy to go
 forward in the parse tree (i.e. from \time 3/4 to \set Timing), but I
 don't know any way to reliably go in reverse.
 
 It looks like the matching process works by generating an equivalent
 music expression then comparing it with the input (see
 define-music-display-methods.scm, from line 971).

Oh, I wasn't thinking that it was set up as a set of specific pattern
matching examples.  I'll fix the patterns to make them work right.

 
 I imagine part of the reason it doesn't work is that you've removed
 the setting for beatGrouping.
 
 I guess I'm not *too* concerned that \displayLilyMusic return exactly what
 what entered into it.  As long as it returns valid music expressions, then I
 think it's probably OK.
 
 OK, perhaps a TODO in the file will suffice for now,

No, now that you've shown this to me, I won't be able to let it rest.  It
will require some changing to my current code, as well as changes to
define-music-display-methods.scm, but I'll do it.

Neil, I'm totally impressed with your comprehension of the LilyPond code
base.  How do you do it?  I consider myself a pretty smart guy, but I feel
like I'm walking around in a fog compared to you.  Thanks for being my
lighthouse!

Carl



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


Re: lilypond-devel Digest, Vol 80, Issue 53

2009-07-14 Thread Bret Aarden


I was about to suggest the same. The \revert is never inserted. But then, you 
don't want an \override anyway, because the setting should only apply to that 
one note, which has the color attribute, not to all following ones. So, you 
really want \once\override.
  

Ah, I had forgotten about the \once command. That's very useful.

To make sure things really work, you should create a regression test file 
input/regression/musicxml/59a-NoteColor.xml (see 
http://kainhofer.com/~lilypond/input/regression/musicxml/collated-files.html 
for the full regression test suite). That regression test should have:
- -) a colored note (at the very beginning, so you see if it works right at the 
first note, too)

- -) a following differently colored note
- -) a following colored note with the same color
- -) a following rest (should probably not be colored)
- -) a colored note
- -) a non-colored note.
- -) A colored note with some articulation and e.g. a non-default notehead 
(which uses an \override, too, so you check whether the combination of 
multiple settings for one note doesn't break)
  

OK, I put one together and attached it to this email.


+def print_note_color (self, object, rgb=None):
+if rgb:
+str = (\override %s #'color = #(rgb-color %s %s %s) %
+   (object, rgb[0], rgb[1], rgb[2]))



I suppose this should be \\override (i.e. escape the backslash).
  
Well, it's been a while since I've worked with Python in depth, but it 
seems to work fine without it.


I'm not sure that you really want TWO newlines. Won't this insert a blank line 
between two color directives in the lilypond code?
I'm not even sure that I want a newline before/after the override at all. This 
would result in each note of a piece taking ~4 lines in the lilypond file!
At least with almost all other note-attached overrides that I implemented, I 
don't write out any newlines.
  
OK, I took those out and condensed the code a little. I've attached a 
new patch file.


Thanks for the comments!

-Bret.


?xml version=1.0 encoding=UTF-8?
!DOCTYPE score-partwise PUBLIC -//Recordare//DTD MusicXML 1.0 Partwise//EN
http://www.musicxml.org/dtds/partwise.dtd;
score-partwise
  movement-titleColored Notes/movement-title
  identification
miscellaneous
  miscellaneous-field name=description8 note elements: a blue
	quarter note (G4), 2 red eighth notes (A4, B4), an uncolored
	half rest, a green quarter note (C5), an uncolored quarter
	note (D5), a staccato cyan quarter note (E5), and a magenta
	'x' notehead quarter note (F5).
  /miscellaneous-field
/miscellaneous
  /identification
  part-list
score-part id=P1
  part-nameMusicXML Part/part-name
/score-part
  /part-list
  !--=--
  part id=P1
measure number=1
  attributes
divisions2/divisions
key
  fifths0/fifths
  modemajor/mode
/key
time symbol=common
  beats4/beats
  beat-type4/beat-type
/time
clef
  signG/sign
  line2/line
/clef
  /attributes
  note color=#FF
pitch
  stepG/step
  octave4/octave
/pitch
duration2/duration
voice1/voice
typequarter/type
  /note
  note color=#FF
pitch
  stepA/step
  octave4/octave
/pitch
duration1/duration
voice1/voice
typeeighth/type
	beam number=1begin/beam
  /note
  note color=#FF
pitch
  stepB/step
  octave4/octave
/pitch
duration1/duration
voice1/voice
typeeighth/type
	beam number=1end/beam
  /note
  note
	rest /
duration4/duration
voice1/voice
typehalf/type
  /note
/measure
!--===--
measure number=2
  note color=#00FF00
pitch
  stepC/step
  octave5/octave
/pitch
duration2/duration
voice1/voice
typequarter/type
  /note
  note
pitch
  stepD/step
  octave5/octave
/pitch
duration2/duration
voice1/voice
typequarter/type
  /note
  note color=#00
pitch
  stepE/step
  octave5/octave
/pitch
duration2/duration
voice1/voice
typequarter/type
	notations
	  articulations
	staccato placement=above/
	  /articulations
	/notations
  /note
  note color=#FF00FF
pitch
  stepF/step
  octave5/octave
/pitch
duration2/duration
voice1/voice
typequarter/type
	noteheadx/notehead
  /note
  barline location=right
bar-stylelight-heavy/bar-style
  /barline
/measure
  /part
  !--=--
/score-partwise
From 

Re: Adding note color handling to musicxml2ly

2009-07-14 Thread Bret Aarden


Ah, drat, I used the wrong subject. Here it is again.

I was about to suggest the same. The \revert is never inserted. But then, you 
don't want an \override anyway, because the setting should only apply to that 
one note, which has the color attribute, not to all following ones. So, you 
really want \once\override.
  

Ah, I had forgotten about the \once command. That's very useful.

To make sure things really work, you should create a regression test file 
input/regression/musicxml/59a-NoteColor.xml (see 
http://kainhofer.com/~lilypond/input/regression/musicxml/collated-files.html 
for the full regression test suite). That regression test should have:
- -) a colored note (at the very beginning, so you see if it works right at the 
first note, too)

- -) a following differently colored note
- -) a following colored note with the same color
- -) a following rest (should probably not be colored)
- -) a colored note
- -) a non-colored note.
- -) A colored note with some articulation and e.g. a non-default notehead 
(which uses an \override, too, so you check whether the combination of 
multiple settings for one note doesn't break)
  

OK, I put one together and attached it to this email.


+def print_note_color (self, object, rgb=None):
+if rgb:
+str = (\override %s #'color = #(rgb-color %s %s %s) %
+   (object, rgb[0], rgb[1], rgb[2]))



I suppose this should be \\override (i.e. escape the backslash).
  

Well, it's been a while since I've worked with Python in depth, but it
seems to work fine without it.

I'm not sure that you really want TWO newlines. Won't this insert a blank line 
between two color directives in the lilypond code?
I'm not even sure that I want a newline before/after the override at all. This 
would result in each note of a piece taking ~4 lines in the lilypond file!
At least with almost all other note-attached overrides that I implemented, I 
don't write out any newlines.
  

OK, I took those out and condensed the code a little. I've attached a
new patch file.

Thanks for the comments!

-Bret.



?xml version=1.0 encoding=UTF-8?
!DOCTYPE score-partwise PUBLIC -//Recordare//DTD MusicXML 1.0 Partwise//EN
http://www.musicxml.org/dtds/partwise.dtd;
score-partwise
  movement-titleColored Notes/movement-title
  identification
miscellaneous
  miscellaneous-field name=description8 note elements: a blue
	quarter note (G4), 2 red eighth notes (A4, B4), an uncolored
	half rest, a green quarter note (C5), an uncolored quarter
	note (D5), a staccato cyan quarter note (E5), and a magenta
	'x' notehead quarter note (F5).
  /miscellaneous-field
/miscellaneous
  /identification
  part-list
score-part id=P1
  part-nameMusicXML Part/part-name
/score-part
  /part-list
  !--=--
  part id=P1
measure number=1
  attributes
divisions2/divisions
key
  fifths0/fifths
  modemajor/mode
/key
time symbol=common
  beats4/beats
  beat-type4/beat-type
/time
clef
  signG/sign
  line2/line
/clef
  /attributes
  note color=#FF
pitch
  stepG/step
  octave4/octave
/pitch
duration2/duration
voice1/voice
typequarter/type
  /note
  note color=#FF
pitch
  stepA/step
  octave4/octave
/pitch
duration1/duration
voice1/voice
typeeighth/type
	beam number=1begin/beam
  /note
  note color=#FF
pitch
  stepB/step
  octave4/octave
/pitch
duration1/duration
voice1/voice
typeeighth/type
	beam number=1end/beam
  /note
  note
	rest /
duration4/duration
voice1/voice
typehalf/type
  /note
/measure
!--===--
measure number=2
  note color=#00FF00
pitch
  stepC/step
  octave5/octave
/pitch
duration2/duration
voice1/voice
typequarter/type
  /note
  note
pitch
  stepD/step
  octave5/octave
/pitch
duration2/duration
voice1/voice
typequarter/type
  /note
  note color=#00
pitch
  stepE/step
  octave5/octave
/pitch
duration2/duration
voice1/voice
typequarter/type
	notations
	  articulations
	staccato placement=above/
	  /articulations
	/notations
  /note
  note color=#FF00FF
pitch
  stepF/step
  octave5/octave
/pitch
duration2/duration
voice1/voice
typequarter/type
	noteheadx/notehead
  /note
  barline location=right
bar-stylelight-heavy/bar-style
  /barline
/measure
  /part