Re: Let ', ' separate symbol lists like '.' does (issue 290490043 by d...@gnu.org)

2016-03-08 Thread Dan Eble
On Mar 8, 2016, at 17:55 , d...@gnu.org wrote:
> 
>> So it would be valid to write
> 
>>\keepWithTag violin.flute,oboe …
> 
>> If that’s the case, it’s weird.
> 
> Then don't write it.

OK. No further objections.
— 
Dan


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


Re: Let ', ' separate symbol lists like '.' does (issue 290490043 by d...@gnu.org)

2016-03-08 Thread thomasmorley65

On 2016/03/08 22:55:51, dak wrote:

On 2016/03/08 22:42:55, dan_faithful.be wrote:
> On Mar 8, 2016, at 13:17 , mailto:d...@gnu.org wrote:
> >
> > Description:
> > Let ',' separate symbol lists like '.' does
> >
> > While the dotted list syntax is natural for hierarchical paths

like for

> > \override and \revert, it is less natural in cases that may now be
> > written as
> >
> >\keepWithTag violin,flute,oboe { c''’ }
> >
>
> Based on my hasty scan of this change, it looks like you’ve made

comma and dot

> interchangeable.



Correct.



> So it would be valid to write
>
>\keepWithTag violin.flute,oboe …
>
> If that’s the case, it’s weird.



Then don't write it.


I firstly had some concerns about problems arising from people being
tempted to write additional spaces after the comma, though with:

blub = #(define-void-function (arg)(list?) (write (map symbol->string
arg)))
\blub foo . bar . buzz

I noticed no problem. Hence I expect no problems with commas as well.

[...]



My actual secret motivation arose in connection with subproperties

that can be

numerical.  So numbers (at least positive integers) can become members

of lists,

and entering something like 4.5 is a no-go.  4,5 is fine, in

comparison.  That

allows for



 \time 3,2 5/4



which seems nice but also the only function right now taking a

number-list?

argument.  So that's not much of a justification.



A quick scan through my private functions using number-list? offered
some hits, where it could be a nice input-possibility.

Although I can't review parse-code, I vote for it.
Really nice, especially for number-lists.



https://codereview.appspot.com/290490043/
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Let ', ' separate symbol lists like '.' does (issue 290490043 by d...@gnu.org)

2016-03-08 Thread dak

On 2016/03/08 22:42:55, dan_faithful.be wrote:

On Mar 8, 2016, at 13:17 , mailto:d...@gnu.org wrote:
>
> Description:
> Let ',' separate symbol lists like '.' does
>
> While the dotted list syntax is natural for hierarchical paths like

for

> \override and \revert, it is less natural in cases that may now be
> written as
>
>\keepWithTag violin,flute,oboe { c''’ }
>



Based on my hasty scan of this change, it looks like you’ve made comma

and dot

interchangeable.


Correct.


So it would be valid to write



\keepWithTag violin.flute,oboe …



If that’s the case, it’s weird.


Then don't write it.


If the problem is that ‘.’ implies hierarchy, then in addition to

making it

possible to define a comma-separated symbol list, wouldn’t it be

helpful to

require a comma-separated list for non-hierarchical arguments and a
dot-separated list for hierarchical arguments?


The resulting Scheme data is the same so you cannot write a music
function predicate distinguishing the two.


And would we ever want to express a non-hierarchical list of

hierarchical

lists?


Possibly, but then reverting to Scheme and its properly parenthesized
expressions is saner.

My actual secret motivation arose in connection with subproperties that
can be numerical.  So numbers (at least positive integers) can become
members of lists, and entering something like 4.5 is a no-go.  4,5 is
fine, in comparison.  That allows for

\time 3,2 5/4

which seems nice but also the only function right now taking a
number-list? argument.  So that's not much of a justification.

However, I consider \keepWithTag violin.flute.oboe weird as well, so
having a differently flavored syntactic sugar for it just seems more
appropriate.

It's conceivable to _not_ allow , for overrides/reverts only.  But then
having \override forbid , while \propertyOverride allows it: how would
you document that?

https://codereview.appspot.com/290490043/
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Let ', ' separate symbol lists like '.' does (issue 290490043 by d...@gnu.org)

2016-03-08 Thread Dan Eble
On Mar 8, 2016, at 13:17 , d...@gnu.org wrote:
> 
> Description:
> Let ',' separate symbol lists like '.' does
> 
> While the dotted list syntax is natural for hierarchical paths like for
> \override and \revert, it is less natural in cases that may now be
> written as
> 
>\keepWithTag violin,flute,oboe { c''’ }
> 

Based on my hasty scan of this change, it looks like you’ve made comma and dot 
interchangeable.  So it would be valid to write

   \keepWithTag violin.flute,oboe …

If that’s the case, it’s weird.

If the problem is that ‘.’ implies hierarchy, then in addition to making it 
possible to define a comma-separated symbol list, wouldn’t it be helpful to 
require a comma-separated list for non-hierarchical arguments and a 
dot-separated list for hierarchical arguments?

And would we ever want to express a non-hierarchical list of hierarchical lists?
— 
Dan


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


Re: Unable to use git-cl

2016-03-08 Thread Federico Bruni
Il giorno mar 8 mar 2016 alle 22:02, Trevor Daniels 
 ha scritto:
The SSL error you're seeing has been reported when users upgraded to 
python 2.7.9.  Have you perhaps got this or a later version of python 
installed?  I still have 2.4.5, as distributed with Lily, and it 
seems to work OK.


Carl, you are using LilyDev, right?
ca-certificates is installed?

See:
https://github.com/fedelibre/LilyDev/commit/be003117a7e498db995ebdd1232e2e3dcf9c46bb





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


Re: Unable to use git-cl

2016-03-08 Thread Trevor Daniels

Carl, you wrote Tuesday, March 08, 2016 6:54 PM
> 
> I can upload patches to Rietveld, as you can see at
> 
> https://codereview.appspot.com/283550043
> 
> but the links to the issue tracker never get made.
> 
> As far as I can see, we have a custom git-cl, so I can't get general help
> anywhere but on the devel list.
> 
> I would appreciate anybody who can point me in a direction that I can
> troubleshoot my problem.

The SSL error you're seeing has been reported when users upgraded to python 
2.7.9.  Have you perhaps got this or a later version of python installed?  I 
still have 2.4.5, as distributed with Lily, and it seems to work OK.

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


Re: Unable to use git-cl

2016-03-08 Thread Simon Albrecht

On 08.03.2016 19:54, Carl Sorensen wrote:

I would hate to leave LilyPond development, but it appears that I have no
choice, as I cannot contribute with a broken toolchain.

I can upload patches to Rietveld, as you can see at

https://codereview.appspot.com/283550043

but the links to the issue tracker never get made.


Oh, what are you talking about? Don’t you get scared away by peanuts – 
if the tracker issue isn’t created or updated automatically (and you 
don’t want to do it manually), I can offer to just do it. Or you might 
send an e-mail to the bug list.


Yours, Simon

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


Re: Unable to use git-cl

2016-03-08 Thread Carl Sorensen
On 3/8/16 4:03 AM, "James Lowe"  wrote:

>Carl,
>
>On 07/03/16 17:35, Carl Sorensen wrote:
>> On 3/7/16 12:50 AM, "v.villen...@gmail.com on behalf of Valentin
>> Villenave" 
>> wrote:
>>
>>> On Mon, Mar 7, 2016 at 3:21 AM, Carl Sorensen
>>>
>>> wrote:
 It appears that my ssl certificate is not working properly.
>>> Greetings Carl,
>>> have you by any chance disabled JavaScript in your Web browser? (I was
>>> unable to post anything until I complied with SourceForge demanding to
>>> execute non-free JavaScript code in my browser.)
>>> When issuing git cl upload, does the actual page open in your Web
>>> browser? Does it tell you that everything is ok or does it complain
>>> about something?
>> I will check.  I got a window opening up in my browser, but I think it
>>is
>> a codereview window not a sourceforge  window.
>
>Yes that is correct.
>> Not knowing how it is
>> supposed to work, I don't know what to look for.
>All I can say is that if I am not logged into Rietveld at the time I run
>git-cl I get a 'Google' login window. When I log in, or if I am already
>logged in the Browser will show a single line about 'Authentication
>completed' (or somesuch words), then in the terminal, you can see that
>the upload process (to Rietveld) goes through its process - displaying
>what it is doing - and then once that has completed I get the prompt
>from git-cl asking about which sourceforge issue to update (it does some
>simple detection on trying to guess the issue number it thinks - git-cl
>that is - should update). You apply the appropriate answer and that is it.


I have gotten that far -- I give the appropriate answer to the issue
number, and then I get a whole slew of error messages, as posted earlier.

At this point, I have spent several hours trying to make this process
work, and I am getting very frustrated.   I can find no documentation
about how to troubleshoot my issues.  All I can find is a set of commands
to copy and paste, which I have tried multiple times.

I would hate to leave LilyPond development, but it appears that I have no
choice, as I cannot contribute with a broken toolchain.

I can upload patches to Rietveld, as you can see at

https://codereview.appspot.com/283550043

but the links to the issue tracker never get made.

As far as I can see, we have a custom git-cl, so I can't get general help
anywhere but on the devel list.

I would appreciate anybody who can point me in a direction that I can
troubleshoot my problem.

Thanks,

Carl


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


Re: Let ', ' separate symbol lists like '.' does (issue 290490043 by d...@gnu.org)

2016-03-08 Thread dak

Reviewers: lemzwerg, simon.albrecht,

Message:
On 2016/03/08 17:52:09, simon.albrecht wrote:

I also like the idea.
Should this get a regtest?



Best, Simon


It certainly should get both regtest and documentation and Changes
entry.  However, it will presumably also fit together with pending
documentation for tags.  And I'm also working on other related changes
so I'm somewhat unsure about the total scope.

So if someone wants to take this from here (or propose tests/docs to
include), he's certainly welcome to do so.

Description:
Let ',' separate symbol lists like '.' does

While the dotted list syntax is natural for hierarchical paths like for
\override and \revert, it is less natural in cases that may now be
written as

\keepWithTag violin,flute,oboe { c''' }

Please review this at https://codereview.appspot.com/290490043/

Affected files (+23, -1 lines):
  M lily/parser.yy


Index: lily/parser.yy
diff --git a/lily/parser.yy b/lily/parser.yy
index  
3e7625f45f8cafbbe578bfa803e2d2a4819bedbe..29ecf1c3222f88e4d8a7b6325486d24c098fa605  
100644

--- a/lily/parser.yy
+++ b/lily/parser.yy
@@ -654,6 +654,11 @@ assignment:
parser->lexer_->set_identifier (path, $5);
 $$ = SCM_UNSPECIFIED;
}
+   | assignment_id ',' property_path '=' identifier_init {
+   SCM path = scm_cons (scm_string_to_symbol ($1), $3);
+   parser->lexer_->set_identifier (path, $5);
+$$ = SCM_UNSPECIFIED;
+   }
;


@@ -1673,6 +1678,10 @@ symbol_list_arg:
{
$$ = scm_append (scm_list_2 ($1, scm_reverse_x ($3, SCM_EOL)));
}
+   | SYMBOL_LIST ',' symbol_list_rev
+   {
+   $$ = scm_append (scm_list_2 ($1, scm_reverse_x ($3, SCM_EOL)));
+   }
;

 symbol_list_rev:
@@ -1681,6 +1690,10 @@ symbol_list_rev:
{
$$ = scm_append_x (scm_list_2 ($3, $1));
}
+   | symbol_list_rev ',' symbol_list_part
+   {
+   $$ = scm_append_x (scm_list_2 ($3, $1));
+   }
;

 // symbol_list_part delivers elements in reverse copy.
@@ -2621,6 +2634,10 @@ revert_arg_part:
{
$$ = scm_append_x (scm_list_2 ($5, $3));
}
+   | revert_arg_backup BACKUP SCM_ARG ',' symbol_list_part
+   {
+   $$ = scm_append_x (scm_list_2 ($5, $3));
+   }
| revert_arg_backup BACKUP SCM_ARG symbol_list_part
{
$$ = scm_append_x (scm_list_2 ($4, $3));
@@ -4103,6 +4120,10 @@ try_string_variants (SCM pred, SCM str)

str = scm_string_split (str, SCM_MAKE_CHAR ('.'));
for (SCM p = str; scm_is_pair (p); p = scm_cdr (p))
+   scm_set_car_x (p, scm_string_split (scm_car (p),
+   SCM_MAKE_CHAR (',')));
+   str = scm_append_x (str);
+   for (SCM p = str; scm_is_pair (p); p = scm_cdr (p))
scm_set_car_x (p, scm_string_to_symbol (scm_car (p)));

// Let's attempt the symbol list interpretation first.
@@ -4140,7 +4161,8 @@ is_regular_identifier (SCM id, bool multiple)
  || (c >= 'A' && c <= 'Z')
  || c > 0x7f)
  middle = true;
- else if (middle && (c == '-' || c == '_' || (multiple && c == '.')))
+ else if (middle && (c == '-' || c == '_' || (multiple &&
+  (c == '.' || c == ','
  middle = false;
  else
  return false;



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


Re: Let ', ' separate symbol lists like '.' does (issue 290490043 by d...@gnu.org)

2016-03-08 Thread simon . albrecht

I also like the idea.
Should this get a regtest?

Best, Simon

https://codereview.appspot.com/290490043/

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


Re: Let ', ' separate symbol lists like '.' does (issue 290490043 by d...@gnu.org)

2016-03-08 Thread lemzwerg

Nice idea, thanks!  LGTM.

https://codereview.appspot.com/290490043/

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


Let ', ' separate symbol lists like '.' does (issue 290490043 by d...@gnu.org)

2016-03-08 Thread lemzwerg

Nice idea, thank!  LGTM.

https://codereview.appspot.com/290490043/

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


Re: Unable to use git-cl

2016-03-08 Thread James Lowe

Carl,

On 07/03/16 17:35, Carl Sorensen wrote:

On 3/7/16 12:50 AM, "v.villen...@gmail.com on behalf of Valentin
Villenave" 
wrote:


On Mon, Mar 7, 2016 at 3:21 AM, Carl Sorensen 
wrote:

It appears that my ssl certificate is not working properly.

Greetings Carl,
have you by any chance disabled JavaScript in your Web browser? (I was
unable to post anything until I complied with SourceForge demanding to
execute non-free JavaScript code in my browser.)
When issuing git cl upload, does the actual page open in your Web
browser? Does it tell you that everything is ok or does it complain
about something?

I will check.  I got a window opening up in my browser, but I think it is
a codereview window not a sourceforge  window.


Yes that is correct.

Not knowing how it is
supposed to work, I don't know what to look for.
All I can say is that if I am not logged into Rietveld at the time I run 
git-cl I get a 'Google' login window. When I log in, or if I am already 
logged in the Browser will show a single line about 'Authentication 
completed' (or somesuch words), then in the terminal, you can see that 
the upload process (to Rietveld) goes through its process - displaying 
what it is doing - and then once that has completed I get the prompt 
from git-cl asking about which sourceforge issue to update (it does some 
simple detection on trying to guess the issue number it thinks - git-cl 
that is - should update). You apply the appropriate answer and that is it.


--
James

---


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


Re: Running the musicxml regression tests

2016-03-08 Thread David Kastrup
John Gourlay  writes:

>> On Feb 24, 2016, at 12:45 PM, Federico Bruni  wrote:
>> 
>> Il giorno mer 24 feb 2016 alle 18:03, Paul Morris
>>  ha scritto:
 On Feb 24, 2016, at 10:37 AM, John Gourlay  
 wrote:
 I’m having trouble figuring out how to run the musicxml2ly
 regression tests automatically. Neither "make test” nor “make doc”
 nor both in succession seem to produce new ly files for the xml
 files in input/regression/musicxml. Can anyone give me a pointer?
>>> Hi John, I don’t know the answer, but from what I see in these files:
>>> input/regression/musicxml/book-musicxml-testsuite.py
>>> input/regression/musicxml/GNUmakefile
>>> it seems like "make test" and/or "make doc" should do it.
>> 
>> try touching all the files:
>> 
>> touch input/regression/*
>> 
>> and rerun:
>> 
>> make test
>
> Touch did the trick. Thank you Federico.

I'd rather use "make test-clean" before rerunning the tests.

-- 
David Kastrup

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


Going from XML to (make-sequential-music)

2016-03-08 Thread Urs Liska
Hi devs,

this question may seem somewhat far-fetched and maybe even
out-of-the-blue, but it actually has a concrete context (if you don't
know what I mean you may ask me off-list).

Consider the scenario that I have a specific XML format where a number
of external formats can be converted to (e.g. MusicXML, MEI, Abjad). I
want to enable LilyPond to engrave from that format directly, without
going the way of converting to LilyPond *input language* first. This
seems possible by converting the XML representation to something that
can be fed to LilyPond's engraving engine through
(make-sequential-music) or something similar that may be developed. The
process would be two-fold:

  * process the music to become LilyPond music expressions
  * build a LilyPond file with the score structure that uses these music
expressions

The first task consists of converting XML data to LilyPond music
expressions in Scheme. For this we can see two routes, and what I'm
asking for is opinions on the implications of these routes:

A)

  * Convert XML to Scheme expressions and write them out (to a file or a
pipe)
Note: The given XML format is already handled through Python, so
that should be used here as well
  * Feed the result into LilyPond through the -e command line option


B)

  * Read the XML to Scheme-XML using the sxml module (from Guile 2)
  * Use Scheme to convert that S-XML to LilyPond music expressions


AFAICS A) has two major advantages:
- we don't need sxml
- the hard stuff can be developed and maintained in Python, which means:
more potential developers

B) also has its advantages:
- we don't need to care about serializing Scheme expressions, i.e. we
don't need to think about writing Scheme syntax
- we don't need a separate intermediate representation
- maybe this may prove more robust against syntax changes (?)


I would probably try to implement this as an external library and *not*
to squeeze it into LilyPond itself.

The original motivation is to let LilyPond engrave scores encoded in
MEI, but due to the nature of our intermediate XML format (and related
tools) this would automatically give us the possibility to engrave from
a number of other formats, e.g. MusicXML.

Once this works it should be rather straightforward to implement a
proper file converter by letting LilyPond itself write out its music
through \displayLilyMusic or something derived from that.
This would make import from e.g. MusicXML much more robust than our
current tools because the converter doesn't have to deal with the
(changing) LilyPond syntax at all.

I'd be happy about any opinions and hints
Urs

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


Re: GSoC applications and slots

2016-03-08 Thread Urs Liska


Am 07.03.2016 um 10:49 schrieb Urs Liska:
>
> Am 07.03.2016 um 09:58 schrieb David Kastrup:
>> Urs Liska  writes:
>>
>>> Am 07.03.2016 um 09:26 schrieb David Kastrup:
 Urs Liska  writes:

> Hi guys,
>
> it seems there's the chance this year that we end up with more GSoC
> applications than available slots. Right now there are four people
> having expressed interest in it, and my impression so far is that the
> majority (or even all) may go the way through to an application.
>
> That raises the question: How does the allocation of slots with GNU and
> Google is supposed to work? I'm sorry but I don't recall that from last
> year (only that we "lost" students along the way, ending up with an
> unused slot). Google says that slots are (partially?) assigned according
> to the number of applications, but I have no idea what that concretely
> means, especially as we are not the project itself but have GNU as a
> "proxy".
>
> So: do *we* have to approach GNU to apply for a number of slots? If so,
> when should we do that and who would do that?
 I rather think that we have to approach the GSoC coordinator(s) for the
 GNU project.
>>> OK. Presumably we should do that when we have a pretty clear idea how
>>> many real applications we'll get, maybe at the start of the student
>>> application time window (March 13-25)?
>> I have no idea.
> I will write an email asking about that (now), together with the draft
> we made for the http://www.gnu.org/software/soc-projects/ideas-2016.html
> page.
>
> Urs
>
>

OK, I've got some information.

We can apply for as many slots as we want, as long as we can provide one
mentor per slot. The projects have to be declared "essential" or "desired".
GNU will collect all wishes and will apply with Google for the total
number of slots requested by the projects. Once they have the results
(i.e. the number of slots assigned to GNU) they'll try to serve first
all essential and then the desired projects.

They didn't tell me concretely when what will happen, but it seems clear
to me that we should figure out for how many slots we can provide mentors.
The student application window is March 14-25, so that seems to be the
latest possibility, but we should try to get to the point earlier.

Currently we seem to be lacking mentors!
If I can see correctly we might apply for three slots if we have three
mentors available, even if there's no match (yet) between mentors and
students. But of course it would be better to have mentors available for
those projects where we have students.

Urs

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


"Spanner-context" GSoC project, mentor needed

2016-03-08 Thread Urs Liska
Hi devs,

we have a potential student looking for a GSoC project
(http://lists.gnu.org/archive/html/lilypond-devel/2016-03/msg6.html
and following messages). He has expressed interest in the "Allow
spanners to cross voices" project where I am listed as
potential/secondary mentor. However, I have said that I can't provide
that service without at least one primary mentor who feels fully qualified.

As probably not everybody is really up to date with that project I'll
outline a few things about it below. I would be really glad if someone
steps up, if not to volunteer as mentor then at least to discuss the
project and possible implementation approaches.
It may happen that we'll have more applications than slots this year,
but it would be unacceptable to prevent an application due to lack of
mentorship.

Problem:
Spanners (dynamics, curves, text spanners etc.) have to be contained
(i.e. start and end) in one voice. This doesn't reflect musical reality
for all inherently polyphonic instruments. Additionally it is a PITA
when working with combined parts.

Solution:
We have to find a way to make LilyPond recognize spanners that cross
voices/contexts. This would make the ugly hacks with hidden voices obsolete.

Note:
This is *not* related to the engraving, as this already works properly
(when the hidden voice is applied), so it is only related to *parsing*
the input.

Possible approaches:

  * Let the beginning of the spanner specify a (named) target context
for the end of the spanner
  * Give the spanner an ID that can be specified at the beginning and
the end

I would suggest to implement both approaches and let the user choose
which is appropriate for the given document. In particular I would like
to see the ID approach implemented as part of this GSoC project because
we'll need that for other purposes as well: enabling the
edition-engraver to address items by ID and engraving from MusicXML/MEI.

Urs

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