Re: Let ', ' separate symbol lists like '.' does (issue 290490043 by d...@gnu.org)
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)
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)
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)
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
Il giorno mar 8 mar 2016 alle 22:02, Trevor Danielsha 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
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
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
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)
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)
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)
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)
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
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
John Gourlaywrites: >> 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)
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
Am 07.03.2016 um 10:49 schrieb Urs Liska: > > Am 07.03.2016 um 09:58 schrieb David Kastrup: >> Urs Liskawrites: >> >>> 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
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