Re: Markup parsing question
Thank you David, this explains me what I didn't understand. It turned out that somehow I was looking at a bad parser.yy. Actually I'm not running/debugging the C code, but instead only reading it (and porting some of the parsing code to Java). Bertalan On Wed, Oct 26, 2011 at 7:26 AM, David Kastrup d...@gnu.org wrote: Bertalan Fodor (LilyPondTool) lilypondt...@organum.hu writes: Dear LilyPond devs, I have a problem with the LilyPond markup parsing, which prevents me to finish my new release of LilyPondTool. Could you help me a bit on that? I have this ly file -- dot = \markup { q \musicglyph #accordion.dot } { c^\dot } -- When the markup is parsed, it will become: ( q (musicglyph accordion.dot)) through the rules: markup_braced_list - markup_list - markup_top - full_markup - identifier_init This really makes sense, but please correct me if I'm wrong. You are wrong. \markuplines (soon to become \markuplist) takes this markup list verbatim. \markup, however, wraps it in a line-markup. Put the following after your assignment: #(begin) #(display dot) This produces: (#procedure line-markup (layout props args) ( q (#procedure musicglyph-markup (layout props glyph-name) accordion.dot))) Now when I'm referring to it in c^\dot, the following code is run: if (Text_interface::is_markup (sid)) { return MARKUP_IDENTIFIER; } else if (Text_interface::is_markup_list (sid)) { return MARKUPLINES_IDENTIFIER; } The result of this must be MARKUP_IDENTIFIER (as only those can be used as direction_reqd_event - gen_text_def - full_markup But if I look in Text_interface.isMarkup, it will just do the following: return (scm_is_string (x) || (scm_is_pair (x) SCM_BOOL_F != scm_object_property (scm_car (x), ly_symbol2scm (markup-signature; } So my value, ( q (musicglyph accordion.dot)) will not be considered as a markup, but instead a markup list, so I'm getting a parse error. Can you help me where I misunderstand the code? Have you actually tried your code? Works fine here. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Markup parsing question
I thought it was part of 2.14.1 source tarballI, probably I have changed it myself accidentally, changed this line: $$ = scm_list_2 (ly_lily_module_constant (line-markup), $1); to $$ = $1; when playing with it, as the source tarballs are correct. Thank you for your help, Bertalan On Wed, Oct 26, 2011 at 8:45 AM, David Kastrup d...@gnu.org wrote: Bertalan Fodor (LilyPondTool) lilypondt...@organum.hu writes: Thank you David, this explains me what I didn't understand. It turned out that somehow I was looking at a bad parser.yy. Interesting. Where did you get it? -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Markup parsing question
Dear LilyPond devs, I have a problem with the LilyPond markup parsing, which prevents me to finish my new release of LilyPondTool. Could you help me a bit on that? I have this ly file -- dot = \markup { q \musicglyph #accordion.dot } { c^\dot } -- When the markup is parsed, it will become: ( q (musicglyph accordion.dot)) through the rules: markup_braced_list - markup_list - markup_top - full_markup - identifier_init This really makes sense, but please correct me if I'm wrong. Now when I'm referring to it in c^\dot, the following code is run: if (Text_interface::is_markup (sid)) { return MARKUP_IDENTIFIER; } else if (Text_interface::is_markup_list (sid)) { return MARKUPLINES_IDENTIFIER; } The result of this must be MARKUP_IDENTIFIER (as only those can be used as direction_reqd_event - gen_text_def - full_markup But if I look in Text_interface.isMarkup, it will just do the following: return (scm_is_string (x) || (scm_is_pair (x) SCM_BOOL_F != scm_object_property (scm_car (x), ly_symbol2scm (markup-signature; } So my value, ( q (musicglyph accordion.dot)) will not be considered as a markup, but instead a markup list, so I'm getting a parse error. Can you help me where I misunderstand the code? Thank you, Bertalan ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: lilypond too noisy on the cmd line
You should consider using a proper logging framework with different logging levels. Bert On 1/2/11, Graham Percival gra...@percival-music.ca wrote: On Sat, Jan 01, 2011 at 02:25:57AM -0500, David Santamauro wrote: On Sat, 1 Jan 2011 10:19:18 + Graham Percival gra...@percival-music.ca wrote: http://code.google.com/p/lilypond/issues/detail?id=1074 Patches appreciated. Unfortunately I doubt that anything will happen unless you personally work on it, but it's on the books. Question: Should the be_verbose_global variable control this? I'm not sure a new command line argument is really needed as long as it is agreed upon what verbose is and isn't. I added a be_quiet_global in my sandbox but reading the thread makes me think that simplification is needed and not an expansion. Since we already have a be_verbose_global variable, I can't imagine much serious objection to having a be_quiet_global. My initial guess would be that we want three different types of output: - verbose - normal - quiet However, this is definitely outside my depth. Cheers, - Graham ___ 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: convert-ly on lilypondTool under GNU/Linux
Yeah, it uses python only if convert-ly command (in PluginsPlugin properties) is set to convert-ly.py (It looks for the py extension) If you change that to just convert-ly that should work (at least that's the intention, though I don't have linux so I can't test that.) On Tue, Oct 26, 2010 at 1:16 PM, Francisco Vila paconet@gmail.comwrote: Hello Bert, The convert-ly function in LilyPondTool tries to call python convert-ly.py ; this could be correct for Windows, but in GNU/Linux the command is just convert-ly -e; is there a way to avoid this function from calling python and instead issue the command directly? Thanks -- Francisco Vila. Badajoz (Spain) www.paconet.org , www.csmbadajoz.com ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Any way to use lilypond as a library? (embeded)
Why I ask that? I'm creating a little application and I would like to create simple midi files on the fly, but I would like to avoid to enter in midi internals (avoid to waste my time reinventing the wheel). And lilypond file format is really easy to use. So my idea is: * My program creates a tune. * Create a string with the lilypond description. * Calls a function, and it creates a external midi file * My program uses the midi file. Check JFugue. That would be more appropriate for this purpose. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Enhancement request: Termination message for lilypond compilations
(lilypond $* echo Success) || echo Failed 1. Lilypond is a multi-OS application, it doesn't just run under bash on a Linux-derived OS (e.g cmd on Windows, running from detached gui environment from JEdit or Frescobaldi - btw JEdit could also be running under Windows). Doesn't LilyPond correctly return an error code upon exit? Then the GUI apps could easily show this message. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: half-dot
Francisco Vila wrote: 2010/3/26 David Bobroff bobr...@centrum.is: Now, however, this notation convention has appeared again in another piece by a different composer. An example can bee seen here: http://centrum.is/~bobroff/lilypond/half-dot.png As a first step, you can do the following to make quarter+16th to appear as plain quarter notes. Then, possibly add a cosmethic 'x' to it is easier from here. \relative c' { \time 15/16 c4~c16 c4~c16 c4~c16 c4*5/4 c4*5/4 c4*5/4 | My favorite tweak helps here, overriding the stencil with text interface. \relative c' { \time 15/16 c4~c16 c4~c16 c4~c16 \override Dots #'stencil = #ly:text-interface::print \override Dots #'text = \markup { "" } \override Dots #'extra-offset = #'(0.2 . -1) c4.*5/6 c4.*5/6 c4.*5/6 | } ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: weblily: security risk
Note that there are existing effort on creating a service that can be used to render lilypond scores in Google Wave or in any web application. You can get its code at http://code.google.com/p/lilypondy/http://code.google.com/p/lilypondy/source/browse/#svn/trunk/lilywaveservlet You can see some good ideas about request queue, caching etc. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Grammar: meaning of terminals
The lexer reads regular expressions, and tries to match them to a rule. A rule will return a token and a value (yylval). These two will be used by the parser to interpret the input. This is so simple. So for example how a note name is recognized: a note name like fs will be read as [a-zA-Z\200-\377]+ regular expression (ALPHAWORD in lexer.ll). In notes and figure lexer state (notes, figures in lexer.ll) it will return scan_bare_word, based on the rule: notes,figures{ {ALPHAWORD}{ return scan_bare_word (YYText ()); } scan_bare_word is a function that takes the matched input and return the appropriate token and set the appropriate value in yylval. Look at the implementation of this function to understand how that token is actually generated. Bert Harmath Dénes wrote: On 2010.03.04., at 19:36, Patrick McCarty wrote: 2010/3/4 Harmath Dénes harmathde...@gmail.com: Greetings all, it's great to have a grammar of LilyPond in the NR! But there are terminal rules which are not strings (BOOK_IDENTIFIER, CHORD_MODIFIER etc.). Where can their definitions be learned? If you do a `git grep' for them in the source tree, you will see that many of these terminals come to life in the lexing stage. I see. The -p option gives even more useful output. For example, BOOK_IDENTIFIER is the return value of Lily_lexer::try_special_identifiers() in lily/parser.yy, but only if its second argument is a Book smob. -Patrick It's not exactly clear to me how lexing and parsing are related, since there are lexer rules (e.g. NOTENAME_PITCH) which can be set from Scheme code. Could someone shed a light on this? Thanks, thSoft ___ 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: nice stockhausen excerpt
Why not ask for rights from Stockhausen's copyright owner? I would try: m...@stockhausen.org Anyway, the fact that the example is an SVG is not too good: it has problems displaying the tuplet numbers, and a pp. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: top posting
Thanks for letting me know about this. I used be strongly against top posting and was quite vocal about it. I found that I was just alienating myself from newer Internet users who didn't know what I was talking about. It appears that this list is populated by a lot of long term Internet users and I'll happily stop top posting! I usually read my email on a mobile connection using a 120x176 px mobile phone, and bottom posting means extra traffic and extra scrolling. For a longer discussion I usually don't care about history, only the latest events and thoughts, so for me please do top post. ;) Thanks, Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: top posting
I think you don't understand what top posting means: It means that you quote the whole message (and all messages that it quoted) and simply add your reply at the top. This way, each mail contains the whole history! I wanted to say that I prefer that to quote the whole message and simply add your reply at the bottom. What you are asking for is to delete all irrelvant parts of the message you answer to and leave only the relevant parts in it. That's not top-posting, though. No, I'm asking that the relevant parts be at the top of the message as much as possible, to prevent unnecessary network traffic and scrolling. But honestly, my ultimate idea is freedom (that's why I'm here): everyone do what she feels effective. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Detailed instructions for jail mode
Hi, for the LilyPond Google Wave plugin, to ease hosting LilyPond services, I created detailed instructions about how to set up a good chroot jail. Could it be (worth) linked in the doc somehow? http://code.google.com/p/lilypondy/wiki/LilyPondInJail Thanks, Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Detailed instructions for jail mode
On Tue, Dec 01, 2009 at 04:54:59PM +0100, Bertalan Fodor (LilyPondTool) wrote: for the LilyPond Google Wave plugin, to ease hosting LilyPond services, I created detailed instructions about how to set up a good chroot jail. Could it be (worth) linked in the doc somehow? Dunno what the wave thing is all about, but I'm totally fine with better jail instructions. It would go in Usage 1.7 Jail, or Security issues, or Running as a web service, or something like that. As long as the patch compiles, and doesn't touch other areas (other than possibly adding a link from 1.2 to it), I'm not going to be too picky about it. Cheers, - Graham Would you prefer providing compact instructions in the lilypond doc and an external link to the details, or detailed instructions in the lilypond doc and external link to the reference web service implementation. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: LilyPond web service
Just a heads up for those who are thinking about hosting part of the distributed LilyPond server vision. I created a Java servlet based service for LilyPond for the purposes of Google Wave. It runs on a virtual private server with 256MB RAM (running Ubuntu Linux, Tomcat, a database and nothing more), and performs quite well for the simple tasks. Some important points though: - it allows only one LilyPond processing request at one time, so a queue is created. I tested it with parallel processes but they killed the server (the memory was not enough) - one LilyPond process can get at most 15sec of CPU time, and 32MB physical and 64MB virtual memory. This must be more fine tuning, including the LILYPOND_GC_YIELD setting, as this doesn't allow long parts to be compiled. - LilyPond runs in jail mode, which is very good The installation of the service is very easy, the hard part is actually setting up the jail mode for LilyPond, GhostScript and ImageMagick. So good instructions will be created for this. Valentin Villenave wrote: 2009/10/12 Harmath Dénes harmathde...@gmail.com: However, for it to work, of course, a web service is needed which takes LilyPond code as its GET argument, renders it with LilyPond (safe or jail mode of course), and returns the result as cropped PNG image. (Multiple servers can be configured for load distribution.) Is there an official LilyPond web service somewhere online like this (similar to http://noteserver.org for Guido)? The only LilyPond server at this point is the LilyPond Snippet Repository at Milano University. But it tends to go down as soon as several people use it at the same time :-) A few other servers were installed, particularly for LilyPond web plugins such as the Wordpress, the MediaWiki or the Spip plugins. I also began installing LilyPond on a dedicated server for the LilyNet website, but it's not nearly powerful enough. LilyPond requires a *lot* of resources. If not, I strongly propose setting up a server for this purpose. I already implemented this HTTP service. It needs only PHP, LilyPond and ImageMagick installed. Could you host this service? Until Google Wave gets more widespread adoptance, users could benefit from it already with just a minimalistic form-based web interface. The LilyPond community unfortunately doesn't have the resources to host such a service, however interesting it may be. We're already sponsored for our bandwidth and web resources, but that's about all we can get. However, if you do develop a convenient web-application and set up an experimental web-server, there's little doubt that many LilyPonders will follow you and try to help you with regard to the hosting server. But right now, it's kind of a long shot ;-) Regards, Valentin ___ 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: Suggestion: Music analysis in Lilypond?
A Chordname like thing would take quite much time to implement and I don't think it is important enough for most of the users to make it happen. Though you can use the Lyrics context for this, because you can write markups as lyric syllables if I'm right. On the lilypond-user list I'm quite sure you'll get directions if you can't figure out from the manual.. Ernir ÓskarPálsson wrote: Dear developers, I have recently found Lilypond, and am discovering step by step what a wonderful program it is, and what a quick and simple method to print beautiful music it presents (once I am a little more acquainted with it at least). I have been learning the basics og the program through writing up and completing my musical analysis assignments (am currently studying Musicology) The figured bass tool (or is it called context?) has been terrific to use, and leaves me wanting more: Would it be possible to make a similar tool (or perhaps even more similar to the Chordnames thing), where you can simply write harmonical analysis; that is either the functional system (T S Sp D7 etc.) and/or the Schönberg/Hindemith type with roman numbers (I IV ii V7 etc.)? The variants (bassnote-numbers, Dominant of Dominant, tonic-free chords, french/German/Italian chords etc.) could propably be implemented in a similar way as in the figured bass (?) I hope I am not wasting your time, I realize lots of people must have thought of this and perhaps there is some way to write it that I have yet to find out (like I said I am new at this, and less than worthless at programming). If you like the idea, however, an implementation in a future update would be terrific! otherwise, keep up the good work!! Thankful regards, Ernir Pálsson ___ 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: BOM mark from Windows notepad
Hehe, we've got this: INITIAL,chords,lyrics,figures,notes{BOM_UTF8}/.* { if (this-lexloc-line_number () != 1 || this-lexloc-column_number () != 0) { LexerError (_ (stray UTF-8 BOM encountered).c_str ()); exit (1); That means, we correctly parse the BOM, but exit if it is not the first char. Hans Aberg wrote: On 13 Nov 2009, at 10:08, Bertalan Fodor (LilyPondTool) wrote: I think changing the LilyPond parser to support BOM in the middle (ie not at the beginning) of the file is very hard. Actually if it is not at the beginning, then it should be treated as a regular character, which might not be present just anywhere in the file. Why would that be? Did you not have a Flex generated .l file? If the input .l file is in UTF-8 and Flex in 8-bit mode, add a rule BOM {} where BOM is the UTF-8 representation of the BOM. It will than add act as space, breaking tokens, but otherwise ignored. So it acts a zero-width space. Hans ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Code formatter
Yes, code formatting involves fascism. - Someone, a lead architect should decide upon rules. - Then a tool must be used to force these rules. It shouldn't be the tool's rules, but the tool should support the rules defined by the lead developer. - You should NOT run it on all existing files. - You should work the formatter on every file you commit, at least on the lines you changed. This is the only way to prevent merge conflicts caused by formatting. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Code formatter
Forget the tool. Astyle is very configurable, but we still could need our own formatter (though I wouldn't like that). Developing C++ code on Windows is practically impossible, but can be well done with the VirtualBox pc for which I host the ISO (see the CG :)) So it doesn't matter whether the tool is supported on Windows or not. But first: - what are the rules? - and then how we force that You can even force that with manually, that is not approving code that doesn't adhere, but all that can be automatized could be. So there might be some static code analysis tools to be used as well. Graham Percival wrote: On Fri, Nov 13, 2009 at 04:59:20PM -, Trevor Daniels wrote: Chris Snyder wrote Friday, November 13, 2009 4:35 PM Graham Percival wrote: I know that you're thinking this is ridiculous, but unless somebody does it, newbies will continue to face this difficulty. This job won't get done by itself. Yes, I do think it's ridiculous. As I understand, you're saying, go find a tool that makes the code conform to a standard we haven't defined yet. Chris is right: if progress is to be made the rules must be defined first. They can be defined incrementally; in fact some already exist. If we can't agree on the rules there is little point in searching for a tool. FFS!ok, **I** will start doing this investigation. 1) git pull -r; cd lily 2) astyle *.cc 3) git diff foo.patch 4) ls -lh foo.patch -rw-r--r-- 1 gperciva gperciva 3.4M 2009-11-13 17:14 foo.patch hmm, that's not too optimistic. Let's see... --- a/lily/accidental-engraver.cc +++ b/lily/accidental-engraver.cc @@ -29,61 +29,61 @@ class Accidental_entry { public: - bool done_; +bool done_; hmm, indenting variables to be 4 spaces instead of 2 spaces. Hmm... ick, a *ton* of things in the patch look like this. Let's try making it 2 spaces instead. 5) git checkout *.cc 6) astyle --style=gnu I couldn't immediately see a use 2 spaces for indents, but let's try this gnu option! 6) git diff foo.patch 7) ls -lh foo.patch -rw-r--r-- 1 gperciva gperciva 2.1M 2009-11-13 17:18 foo.patch well, it's smaller, at least. 8) looking at a diff... --- a/lily/accidental-engraver.cc +++ b/lily/accidental-engraver.cc @@ -27,18 +27,18 @@ #include translator.icc class Accidental_entry -{ -public: - bool done_; + { + public: +bool done_; interesting. is that really the GNU style? maybe I should check. Or wait, maybe this is something changed in fixcc.py. I'll check there. hmm... ok, that file is difficult to read. But gives me an idea... what if I just run fixcc.py on the output of astyle --style=gnu ? ... run the command... git-diff... look at the patch... ok, it's bigger now. that sucks. What happens if we skip astyle and just run fixcc.py ? ... ok, it *still* gives a 3-meg patch. This is pretty good evidence that, despite some people's claims to the contrary, fixcc.py is broken. Let's give up on that. 9) ok, back to the original let's use 2 spaces instead of 4. astyle --indent=spaces=2 *.cc gperc...@sapphire:~/src/lilypond/lily$ ls -lh foo.patch -rw-r--r-- 1 gperciva gperciva 2.2M 2009-11-13 17:30 foo.patch well, this is looking better. BTW, it's interesting that the non-GNU style works better than the GNU style. So, what's in the diff... hmm, stuff like this: --- a/lily/accidental-engraver.cc +++ b/lily/accidental-engraver.cc @@ -109,8 +109,8 @@ Accidental_engraver::update_local_key_signature (SCM new_sig) { last_keysig_ = new_sig; set_context_property_on_children (context (), - ly_symbol2scm (localKeySignature), - new_sig); +ly_symbol2scm (localKeySignature), +new_sig); Context *trans = context ()-get_parent_context (); that looks ok to me. (although the email might break it up). Basically, instead of lining up (context ly_symbol2cm it lines up (contest ly_symbol2cm I think the original was actually a typo. Ok. I am comfortable proposing (and defending) this change. what else is there? @@ -121,10 +121,10 @@ Accidental_engraver::update_local_key_signature (SCM new_sig) SCM val; while (trans trans-where_defined (ly_symbol2scm (localKeySignature), val) == trans) -{ - trans-set_property (localKeySignature, ly_deep_copy (last_keysig_)); - trans = trans-get_parent_context (); -} + { +trans-set_property (localKeySignature, ly_deep_copy (last_keysig_)); +trans = trans-get_parent_context (); + } } struct Accidental_result aha, the dreaded where should { brace go ? well, astyle has a whole bunch of options to change this. For now, I'll just make a note that we need to discuss this. I'll keep on going, but once I've finished my investigations, I'll make an email thread specifically for this example, asking what we want,
Re: developers developers developers
I feel a very big obstacle for fixing bugs: the lack of modern tools for developing LilyPond. For example in the CG there are many advices about Emacs, which according to the opinion of the 94% of the expert (really expert!) software developers I know (there are quite many of them) has been a piece of useless crap relative to Eclipse or Netbeans for at least 7 years now. Perhaps even the development platform should be changed here and there to make sure there are good tools to use. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: developers developers developers
Sure, though I'm afraid they are mostly Java programmers. One of them declined to participate even in LilyPondTool. Bert Would you please invite a couple of dozen of them to help with lilypond development? I only know about 3 really expert! programmers, possibly 6 plain expert programmers in total. One of them died. Jan. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: developers developers developers
Perhaps even the development platform should be changed here and there to make sure there are good tools to use. One thing I have learnt in the past: it is mostly pointless to try supporting a platform that is not your own choice. If others are passionate enough about it, they will do a better job than you can. Lilypond is a batch processing system. You can use whatever editor you like with it. If there are people who like Emacs, that does not change Lilypond to the better or worse. I'm talking about developer tools. For example, some months ago I got the advice to use grep to browse LilyPond source code. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: developers developers developers
Werner LEMBERG wrote: I'm talking about developer tools. For example, some months ago I got the advice to use grep to browse LilyPond source code. BTW, have you found something better? Werner Eclipse is quite good at finding macro definitions etc., but it relies on some special build configuration, i must set up first correctly. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: developers developers developers
Graham Percival wrote: On Thu, Nov 12, 2009 at 01:40:37PM +0100, Bertalan Fodor (LilyPondTool) wrote: I feel a very big obstacle for fixing bugs: the lack of modern tools for developing LilyPond. What, precisely do you mean by this? - C++ and scheme sucks? I doubt this will change. - the build system sucks? we're working on changing that. - new contributors spending days fiddling with indentation before they can get patches approved? there's an issue tracker about automatically indenting code to avoid this problem. (nobody's working on it, but we *do* know about the problem) Good visual debugger for both scheme and C++, running well on Windows and Linux. Easy build procedure using visual tools. Goal: To let a developer download lilyubuntu iso, and have the development tools set up perfectly well for development, gdb configured well etc. I started to do this, checking KDevelop, Eclipse, Netbeans, Anjuta, and posted my findings on the list months ago. (My conclusion was that Eclipse is quite good, but still not perfect - but didn't yet try Scheme debugging). Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: developers developers developers
Werner LEMBERG wrote: I'm talking about developer tools. For example, some months ago I got the advice to use grep to browse LilyPond source code. BTW, have you found something better? Eclipse is quite good at finding macro definitions etc., but it relies on some special build configuration, i must set up first correctly. Hmm. Can Eclipse do a regular expression search over all lilypond files, including documentation ones? What tool do you use for this purpose? Yes, Eclipse is capable of that. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: developers developers developers
Yes, that suffice if you are looking for text. But if you are looking for function and class definition, reference, exception throwing places, macro expansion as tooltip etc. There are a lot of things a good development environment must do for effective work. dem...@suffolk.lib.ny.us wrote: I'm talking about developer tools. For example, some months ago I got the advice to use grep to browse LilyPond source code. BTW, have you found something better? for those working on a mac, XCode and BBEdit have grep-like facilities as well as project-wide search capabilities that report results in a list that is itself a navigation tool for the hits. -- Dana Emery ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: anybody know apache? (dir structure of docs)
Yes, mod_rewrite can do that. I can look up how tomorrow, as i have this on my servers. Original message From: Graham Percival gra...@percival-music.ca Sent: 12 Nov 2009 12:47 -08:00 To: lilypond-u...@gnu.org Cc: Lily devel lilypond-devel@gnu.org, Jan Nieuwenhuizen jann...@gnu.org Subject: anybody know apache? (dir structure of docs) Anybody want to save me a half an hour of maintenance, and a few hours of sanity? Look this up. (alternately, if you already know apache, just answer the question) On Mon, Nov 09, 2009 at 12:31:31PM -0200, Han-Wen Nienhuys wrote: On Mon, Nov 9, 2009 at 9:54 AM, Jan Nieuwenhuizen jann...@gnu.org wrote: The technical reasons for using web/ and doc/v2.xx are: - easier rsyncing, moving, verifying - clean namespace -- currently we have quite some other things at the root. it's easy to get collisions, we need to really think this through very well before going forward with this Can't we have the directory structure internally with /web/ , /download/ what have you, and use some serverside URL rewriting to make translate /foo/ into /web/foo/ ? Does apache have mechanisms for rewriting the serving path without rewriting the URL that appears in browser window? I would like this. I'd like that a lot. We could keep the simpler build structure, but still have simpler urls. Cheers, - Graham ___ lilypond-user mailing list lilypond-u...@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Code formatter
I think that the question is not whether we want to use a code formatter but which one. Ideally applied automatically when pushing. Also, is there a tool for c++ like checkstyle and pmd in the java world? That could check for formatting issues and code smells and bad practices. Original message From: Graham Percival gra...@percival-music.ca Sent: 12 Nov 2009 15:03 -08:00 To: Chris Snyder csny...@adoromusicpub.com Cc: lilypond-devel lilypond-devel@gnu.org Subject: Re: Code formatter On Thu, Nov 12, 2009 at 05:52:30PM -0500, Chris Snyder wrote: After the on-going discussion that included talk about formatting, I did a quick search for automatic code formatters, starting with one for the C++ code (I think it's reasonable to expect to use a different formatter for each programming language). I came across one - astyle http://astyle.sourceforge.net - that has the GNU style built in and is painless to use. I gave it a try, and it seems to work quite well. I'd be willing to run all of the C++ code through astyle and provide a patch, but it seems like it would be easier if someone with push access to git would do it. Any takers? Woah there, cowboy. Slow down! It's not going to be that easy. At a rough guess, I'd say that the code formatter task will take 10-20 hours. Seriously. - do we really want separate tools? (no, so is it impossible to have a single tool that does both comes to mind) - what does astyle do differently than the current code? - what *is* the current standard, by the way? (hint: the answer appears to be whatever emacs does, plus a random python script that few people know about, and also a special dance depending on the phase of the moon) I'm afraid that you won't get many positive responses until you look at the previous discussion about this issue. Again, the main developers have been bitten by people in the past asking many questions, spending hours explaining things to them, but then ultimately giving up and disappearing. I don't want to be discouraging, but most people won't take you seriously unless you prove that you've done your research. I'm sorry, I know this *does* sound discouraging... but we have had *years* of experience with people not following through. You know the expression once bitten, twice shy? for us, it's ten times bitten, twenty times shy. I'm sorry to be discouraging -- again, I think this would be a *fantastic* project, especially if it handles scheme as well -- but it will be a *lot* more work than you're envisioning at the moment. Cheers, - Graham ___ 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
Google displays 2.9 doc
Hi, can something be done to make Google display latest doc and not 2.9? Thanks, Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: BOM mark from Windows notepad
It is a regression. BOM was supported for sure. Patrick McCarty wrote: On 2009-11-11, Francisco Vila wrote: Hello. When LilyPond for Linux encounters a BOM from files made with the Windows notepad, it issues an error. Has this always been the case, or is this a new issue with 2.13.7? I think it should continue making the PDF anyway, because the file has an otherwise correct syntax; what do you think? Yes, definitely. The BOM is permitted by the UTF-8 spec, so an error should not be issued. Thanks, Patrick ___ 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: Policy about SRFI usage?
I would add: make Scheme code as portable as possible. Han-Wen Nienhuys wrote: On Thu, Nov 5, 2009 at 12:48 PM, David Kastrup d...@gnu.org wrote: Hi, I was wondering what the Lilypond policies are for using SRFI, such as SRFI-13 for string functions. My question was triggered by looking at scm/lily-sort.scm (only used at document creation time) which could be There are no specific policies, except that you have to be careful. For example, there is a GUILE module that provides a format function, which also has enormous high rate of garbage generation; switching back to a hand-coded format cut memory usage in half. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Policy about SRFI usage?
David Kastrup wrote: Bertalan Fodor (LilyPondTool) lilypondt...@organum.hu writes: Han-Wen Nienhuys wrote: On Thu, Nov 5, 2009 at 12:48 PM, David Kastrup d...@gnu.org wrote: I was wondering what the Lilypond policies are for using SRFI, such as SRFI-13 for string functions. My question was triggered by looking at scm/lily-sort.scm (only used at document creation time) which could be There are no specific policies, except that you have to be careful. For example, there is a GUILE module that provides a format function, which also has enormous high rate of garbage generation; switching back to a hand-coded format cut memory usage in half. I would add: make Scheme code as portable as possible. Hm? You mean, run on other interpreters rather than Guile? If so, why? Yes. For example I'm currently integrating the SISC Scheme interpreter into LilyPondTool to make instant error checking more correct. If there is much dependency on Guile-specific modules/code, my task is much harder, because I have to reimplement functionality. In general, all code should be portable and maintainable, that is - make sure code is tool-agnostic, - make sure there are good tool support That's why it would be a bad idea to adopt R6RS for LilyPond (no tools), and it is a bad idea to make LilyPond code GUILE-dependent (no life outside Guile). Still, it is ok if the Guile modules used are implemented in pure R5RS - for example the module system is implemented using core R5RS features, so that can be safely used, still producing portable Scheme code. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Alternative music font
Wow too. Actually, there are things in Feta what I don't feel natural either. For example: the caesura sign, the G-clef and the trill indication feels better for me in Gonville. Though the G-clef is I think a clear LilyPond watermark, so I would keep that one :) The best would be if I could set up where to get which glyph from. Bert Simon Tatham wrote: Hi, I've recently drawn a new font of musical symbols for use with Lilypond, which look more like the ones I'm used to and hence distract me less. I put it up on the web this weekend at http://www.chiark.greenend.org.uk/~sgtatham/gonville/ Currently the only way I've found to use that font with Lilypond is to create a symlink mirror of the entire Lilypond data directory, replace the 'fonts' subdirectory, and point $LILYPOND_DATADIR at the altered copy. Would it be possible to introduce a command-line or configuration option of some sort, to make it easier to select an alternative font? (Or is there one I've missed?) Cheers, Simon ___ 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: keyboard navigation in html docs
A learning curve is always steep: http://www.psywww.com/intropsych/ch07_cognition/learning_curve.html Bert Mark Knoop wrote: At 17:37 on 30 Jul 2009, Mark Polesky wrote: Jonathan Kulp wrote: I think it's possibly to detect keypresses in javascript. 1) Would it be cool or annoying to press n in the docs to proceed to the next page? Admittedly this would be much more useful in the LM than the NR. I appreciate anything like this that keeps me off the mouse. Have you tried the Opera browser? Last time I looked, they were the leaders in the area of keyboard shortcuts. That was a couple years ago, but I remember being impressed. For the ultimate in keyboard browsing, try Vimperator. Like all the best software (e.g. LilyPond, Vim, etc.) there's a steep learning curve... http://vimperator.org/ ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: How to put to the NEWS on homepage?
Thank you. Actually jEdit's versioning scheme is quite awkward, as 4.3pre16 is a very stable version, far more stable than the not maintained 4.2 final. What is major release in this sense is the release LilyPondTool - it contains features that have been in development for 6 months. (And the latest plugin central release was at that time as well). Bert Graham Percival wrote: Anybody with git access could apply a patch to site/something.html in the web branch. I'm not totally certain that we _want_ to make such announcements as a general rule, but in the absence of anybody telling me not to, I'm willing to apply such a patch. I make no guarantees about the future, although I must admit that if we discuss lilypondtool in LM 1.2 -- which should be possible in 2-3 days -- then there's a much stronger case to be made for adding major announcements about lilypondtool. I'm not certain that 4.3pre16 qualifies as a major annoucement, but as I said, I'm willing to apply a patch regardless of these misgivings. Cheers, - Graham On Tue, Jul 28, 2009 at 07:44:13AM +0200, Bertalan Fodor (LilyPondTool) wrote: I haven't got any answer yet, so now I'm a bit afraid that it's going to be ignored. Who could put this announcement to the NEWS (I do think it's a good idea)? The latest version of LilyPondTool has been released to the jEdit plugin repository. Now it supports Virtual Piano and MIDI input, and a dockable PDF viewer with advanced point-and-click support. To get it, in JEdit 4.3pre16 or later (http://www.jedit.org) go to Plugins Plugin Manager and choose LilyPondTool from the Install tab. For more information check http://lilypondtool.organum.hu ___ 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
How to put to the NEWS on homepage?
I haven't got any answer yet, so now I'm a bit afraid that it's going to be ignored. Who could put this announcement to the NEWS (I do think it's a good idea)? The latest version of LilyPondTool has been released to the jEdit plugin repository. Now it supports Virtual Piano and MIDI input, and a dockable PDF viewer with advanced point-and-click support. To get it, in JEdit 4.3pre16 or later (http://www.jedit.org) go to Plugins Plugin Manager and choose LilyPondTool from the Install tab. For more information check http://lilypondtool.organum.hu ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: New markup command `parenthesize'
There are many other commands that have the same name in markup and normal context. Mark Polesky írta: Thomas Morgan wrote: Here is a patch which defines `parenthesize', a new markup command which works like `bracket'. It's mainly useful for parenthesizing columns containing several lines of text. Please let me know about anything you see that could be done better! There already is a command named parenthesize defined on line 604 of ly/music-functions-init.ly. I think you need to rename it to avoid conflicts. Perhaps parenthesize-markup? - Mark ___ 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
To the NEWS: [Fwd: ANN: LilyPondTool 2.12.879 Plugin Central Release]
Wouldn't it be a good idea to post these announcement to the NEWS of the LilyPond homepage? The latest version of LilyPondTool has been released to the jEdit plugin repository. Now it supports Virtual Piano and MIDI input, and a dockable PDF viewer with advanced point-and-click support. To get it, in JEdit 4.3pre16 or later (www.jedit.org) go to Plugins Plugin Manager and choose LilyPondTool from the Install tab. For more information check http://lilypondtool.organum.hu Thanks, Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Grob type (and other metadata) in point-and-click url
Would it be theoretically possible to include other metadata in the point-and-click url besides the input file position? I'm looking at: (define (grob-cause offset grob I'm not sure, how much information is included in that grob object. If a text script for example would have the information that it is a Voice.TextScript, or that the notehead it is coming from a note event it would allow powerful finishing tools, like extra-offset, adding transposition in the editors. What do you think? Thanks, Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: lilybuntu confusion
1) Memory: use the recommended base size of 384 MB? * are there system requirements for compiling LilyPond? * Do I need more RAM to compile the program than I would to compile just the docs? * I initially selected 384, but then VirtualBox warned me that 384 MB is more than 75% of all my RAM (I'm on an older computer with only 504 MB RAM). That would've left 120 MB for everything else and the warning said that was a bad idea. But I didn't know what to lower it to, or if I could lower it at all. So I changed the 384 to 200. I still don't know if it matters. As long as there's enough memory to run things, you're OK. Extra memory needs will be met by using virtual memory (on the hard disk). Well, I would recommend _at least_ 384MB, but running two OS'es at the same time on a computer with 0.5G RAM can be hard. 3) Storage type: Dynamically exapanding storage? Yes, definitely. 5) Virtual Location Disk Size: use recommended (8 GB)? * Does compiling LilyPond require more/less? * What if I only want to allocate 2GB (hypothetically)? * If I select 8GB, it'll start at the base size in expand dynamically anyway, right? It would be good to understand this. Probably want to use the recommended. 2GB may make it too tight. You can't even install the OS on 2GB. You need at least a 4GB hard disk, but that could be tight as well. I would recommend 6GB. I would mention, that the lilybuntu.iso is a Live CD (mounted as a virtual CD), which must be installed to the virtual hard drive before you can use the development tools. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: lilypond vs. GNU/LilyPond
I hope nobody. For a potential user, the term GNU is incomprehensible. Bert Graham Percival wrote: On the new website, I'm following the previous website which simply wrote LilyPond. Does anybody want to make a strong case in favor of replacing this with GNU/LilyPond everywhere? (or maybe just once or twice, in the intro or something like that?) Cheers, - Graham ___ 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: guile sandbox without guile
I played a bit with jEdit's console: In jEdit Console plugin you need to add %set GUILE_LOAD_PATH g:\program files\lilypond\usr\share\guile\1.8 and then you can start guile from the System Shell. Unfortunately the LilyPond shell doesn't support the #(top-repl) discussed in http://lilypond.org/doc/v2.13/Documentation/devel/contrib-guide/Debugging-LilyPond#Debugging-LilyPond So if you want the guile prompt you need to start LilyPond from the system shell, but not from the bin directory (I don't why it happens, that when you start lilypond.exe from its directory, it doesn't start): G:\ g:\Program Files\LilyPond\usr\bin\lilypond ${f} (${f} is substituted automatically with the current buffer's path) Trevor Daniels wrote: Henning Plumeyer Sunday, June 21, 2009 8:53 PM Am 21.06.2009, 02:31 Uhr, schrieb Neil Puttock n.putt...@gmail.com: I also tried that with no success. Having read the Guile manual, I thought adding the environment variable GUILE_LOAD_PATH=C:\Program Files\LilyPond might work, but it doesn't have any effect. I have an environment variable GUILE_LOAD_PATH=D:\Programme\LilyPond\usr\share\guile\1.8 and guile works from inside the command prompt and from Run Yes, this (or rather the equivalent location on my system) works fine on Vista too. Seems like we have two reliable ways of making guile work under Windows now. Mark, do you want to make a patch for the changes to LM B which you want to see, or shall I extract some changes from your note and the various comments? If you do it, I think we should document both of these methods for Windows (or three, if we mention git bash). Graham, should these be in the CG too? They are helpful to Windows users developing Scheme code. 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
I want to develop automatic lyric contraction
Hi, I'd like to dig myself into the C++ source of LilyPond. I have a long-wished feature, for support automatic lyric contraction. That means the following: When there is not enough space for a hyphen to appear, the hyphen is removed. Like instead of yeah - yeah - yeah, yeah yeah yeah. In these cases I would like LilyPond to automatically contract it to yeahyeah - yeah, moving the syllables, taking kerning into account. Do you think it is feasible without major rewrite? I do see some callback to the lyric syllable in the hyphen engraver, but I'm not sure about it. (Also, for some languages contraction would change the spelling, e.g. in German c-k may become kk, Hungarian sz-sz becomes ssz. But that's another story.) Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: I want to develop automatic lyric contraction
Generally I would fix the first syllable's position (leaving it as it is), and then move the following ones closer to the first. I believe this would always produce pleasant results, as if one of the last syllables would go too early, then it would be still long enough to remain under the corresponding note (because if it weren't long, then it wouldn't make the hyphen disappear in normal spacing.) However, there should be a way to change the first syllable's position, because in the hand-engraved scores I looked at, they often follow special rules: generally a syllable has 3 letters, it is centered under the note, but a 2 letter syllable is aligned to the left side of the note. So if you have a word with 2 syllables, like money, then in contraction ney will still be centered under its note, but mo will be moved to the right. But this is not general rule, so I think it would be enought to make sure there is a property, which in contraction situations would allow me to override the default spacing. Bert Mats Bengtsson wrote: Bertalan Fodor (LilyPondTool) wrote: Hi, I'd like to dig myself into the C++ source of LilyPond. I have a long-wished feature, for support automatic lyric contraction. That means the following: When there is not enough space for a hyphen to appear, the hyphen is removed. Like instead of yeah - yeah - yeah, yeah yeah yeah. In these cases I would like LilyPond to automatically contract it to yeahyeah - yeah, moving the syllables, taking kerning into account. How would this contracted syllable be aligned to the two note heads? /Mats ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: I want to develop automatic lyric contraction
Han-Wen Nienhuys wrote: On Mon, Jun 22, 2009 at 9:25 AM, Bertalan Fodor (LilyPondTool)lilypondt...@organum.hu wrote: I'd like to dig myself into the C++ source of LilyPond. I have a long-wished feature, for support automatic lyric contraction. That means the following: When there is not enough space for a hyphen to appear, the hyphen is removed. Like instead of yeah - yeah - yeah, yeah yeah yeah. In these cases I would like LilyPond to automatically contract it to yeahyeah - yeah, moving the syllables, taking kerning into account. Do you think it is feasible without major rewrite? I do see some callback to the lyric syllable in the hyphen engraver, but I'm not sure about it. I think it would be a difficult to implement. You'd have to replace the hyphen code and write code that checks the distance between this syllable and the next; if that distance is too small, it would remove or make transparent the following syllable, and change the text of the 1st to be the contracted version. There are some other hairy issues: in general, any contraction can change the spelling of a word, so what happens if you have a - b - c - d - e and it is set very tightly? Any contraction change the spelling of any syllable (and the space it takes up), so how do you decide between contracting aB - c - d - e and a - b - Cd - e first? the changed spelling may alter the size of the word, and may trigger another round of contractions. I'd go one syllable by one. Also, I would not allow automatic change of spelling - that is generally impossible without a full hyphenation engine with dictionary (even in those cases it often mistakes), so the user would have to explicitly set spell-changing upon contraction. I can hardly imagine cases when the respelling results in more space, but certainly that would call for some handling - but that could be solved by the user by setting the minimum-distance in those places. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: development on windows
A quick update: - tried Anjuta - couldn't import LilyPond - tried KDevelop - there were problems with it regarding setting different arguments to lilypond - tried Eclipse CDT - after some tutorial about importing the project (http://moblin.org/documentation/moblin-sdk/coding-tutorials/getting-started-developing-eclipse), it provided the best debugging experience. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: development on windows
Jonathan, only one issue: - If a command is not found (like typing 'asdf' in the terminal window), some python script is telling errors. Is that intentional? Just for the record: - On Asus EEE 901 KDevelop works very well using this VirtualBox + LilyUbuntu setup, running on a pen drive. - I did some configuration in kdevelop: changing the debug target path to ., linked kdesudo to kdesu (as kdevelop looks for kdesu, which has been renamed). Then set up Debug configuration to use /usr/bin/libtool --mode=execute. This way make, make install works from inside the IDE. - CTags integration works well, jumping to macro definitions is a matter of two clicks. - Then I successfully installed a breakpoint in main.cc, and runned LilyPond step by step, having the variable values and so displayed in the IDE. Great! - Also found that KDevelop supports syntax coloring for Scheme and LilyPond as well. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: development on windows
Jonathan Kulp wrote: Bertalan Fodor (LilyPondTool) wrote: Jonathan, only one issue: - If a command is not found (like typing 'asdf' in the terminal window), some python script is telling errors. Is that intentional? Can you post the terminal output from this? The only message I see when I do this is as follows: j...@bashtop:~/Desktop$ asdf bash: asdf: command not found Hm. Now the same for me... This all sounds great. I don't know what KDevelop is, though. Is it something normally used in the KDE desktop? KDevelop is a C/C++ IDE for Linux. After a 110MB download, it works on LilyBuntu as well. There is a Gnome IDE as well called Anjuta, but that doesn't seem so active. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: development on windows
Now I'm running lilybuntu in Sun VirtualBox from my pendrive. Successfully built LilyPond, now I start playing with kdevelop. Thanks for the fun. Bert Graham Percival wrote: On Sun, Jun 14, 2009 at 04:44:30PM -0600, Carl D. Sorensen wrote: On 6/13/09 11:39 PM, Bertalan Fodor lilypondt...@organum.hu wrote: I'm sure there are tools which would make it easier for us, simple not hackers, but software engineers, grown up on Microsoft Visual Studio end Eclipse. I remember that at university I did use some ide for linux cpp development. That's why I was seeking recommendation. The standard GNU answer is to use emacs to integrate your compiler, debugger, etc. You can open a directory in emacs and then open any file from that directory, so it's useful for browsing the source, as well. That's not really what I'd recommend for windows people, though. I'd say two things: 1) Since this image will install a complete linux distro, you can install any Linux GUI programming IDE you want. (we should specify this in the CG where we discuss the windows iso) 2) I don't know what the current favorite fancy IDE is, although I'm fairly certain that Eclipse runs on Linux. I'm not certain if that would actually be good for LilyPond, though -- does it support C++ and makefiles? IIRC eclipse is for java stuff. (again, I'm happy to dump whatever suggestions people throw at me in the CG) I've never worked on C++ files, but I opened one up in Geany and it had nice syntax highlighting plus a build menu with lots of options, including targets for make, compiling, building, etc. Geany's my favorite GUI editor and it's available for both Windows and Linux. A developer would be better able to judge its worth as an IDE, but I like it very much and it's easy to install from the repos. BTW I've been fiddling with my Lilybuntu virtual machine and finally figured out how to make it go fullscreen (previously I'd only been able to view it in a 800x600 window--very annoying). It's a bit of a trick to make this work on a virtual Linux machine in Sun's VirtualBox. Once you get it set up, though, it's really amazing. It's a matter of successfully installing Guest Additions. I don't know if you want to get into VirtualBox issues in the CG, especially since others might use different virtualization tools, but getting it set up properly will make a big difference in the usability of the virtual machine. Once it's fullscreen it looks as if it's the real OS on your computer. Very nice. I now have my Windows VMs set up this way (much easier on the Windows VMs to set up Guest Additions) and it's excellent for testing. Jon -- Jonathan Kulp http://www.jonathankulp.com ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: development on windows
Yes, that was a good idea. Now I'm gonna try this thing out on my Eee Pc. :) Jonathan Kulp wrote: Bertalan Fodor wrote: Now I'm running lilybuntu in Sun VirtualBox from my pendrive. Successfully built LilyPond, now I start playing with kdevelop. Thanks for the fun. Bert Cool! Thanks for testing, Bert. Did you get the Guest Additions installed successfully? Jon ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: development on windows
Well, Eclipse runs very well on my netbook with Atom and 2gb ram. But the cdt is still very limited. Also its startup from the pen drive is too slop. But kdevelop seems all right, which has ctags integration and looks up macro definitions in a second. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: development on windows
What tools can be used to develop? To debug, browse the source, etc? ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: development on windows
I'm sure there are tools which would make it easier for us, simple not hackers, but software engineers, grown up on Microsoft Visual Studio end Eclipse. I remember that at university I did use some ide for linux cpp development. That's why I was seeking recommendation. Bert Original message From: Carl D. Sorensen c_soren...@byu.edu Sent: 13 Jun 2009 20:15 -06:00 To: Bertalan Fodor lilypondt...@organum.hu, Jonathan Kulp jonlancek...@gmail.com Cc: Tim Wilkinson mu3...@yahoo.co.uk, lilypond-devel@gnu.org lilypond-devel@gnu.org Subject: Re: development on windows On 6/13/09 8:43 AM, Bertalan Fodor lilypondt...@organum.hu wrote: What tools can be used to develop? To debug, browse the source, etc? Compiling: gcc Debugging: gdb Guile/Scheme testing: guile Browse the source: more, vi Search the source: git grep HTH, Carl ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: development on windows
Tim, have you used VMware before? This should allow you to compile LilyPond inside a virtual machine. I'm not certain what the best way is to transfer the iso from Jonathan to you, though. The goal of this iso to make it usable on a virtualization tool. The open source Sun VirtualBox can for example mount this as the virtual hard disk. Once it's ready maybe I can create a torrent? I've never done that before but it's probably the best way to transfer it. It'll take a while. I can also give you FTP access to one of the servers run by me where you could upload it. That would be the easiest. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: development on windows
- does anybody feel like making cygwin packages for the missing software? Well, for some time I used to be the cygwin maintainer of lilypond. Was quite nightmare. - does anybody have VMware (commercial version) and feel like making a small Linux installation which has all the required software? Potential contributors would be able to run this in the free VMware version. Why VMware? There are free alternatives, like MS Virtual PC, Sun VirtualBox. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: development on windows
VirtualBox is Open Source and runs on Linux hosts, so I would recommend this. Creating an OS that can be used is a matter of creating a disk image. One approach is to install ubuntu on the virtual machine, then install the additional tools, and share the resulting virtual disk. Bert Graham Percival wrote: On Fri, Jun 05, 2009 at 12:26:41PM +0200, Bertalan Fodor (LilyPondTool) wrote: - does anybody have VMware (commercial version) and feel like making a small Linux installation which has all the required software? Potential contributors would be able to run this in the free VMware version. Why VMware? There are free alternatives, like MS Virtual PC, Sun VirtualBox. Never heard of them, but then again, I haven't looked at virtualization since about 10 years ago (when I was trying to run the old Ultima computer games on Linux). If you're familiar with these, which would you recommend? And can we create the OS and run the OS with the free versions? Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: development on windows
Jonathan Kulp wrote: Bertalan Fodor (LilyPondTool) wrote: VirtualBox is Open Source and runs on Linux hosts, so I would recommend this. Creating an OS that can be used is a matter of creating a disk image. One approach is to install ubuntu on the virtual machine, then install the additional tools, and share the resulting virtual disk. Can't all of the tools be installed from inside the virtual machine? Yes, that was my proposal as well. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: development on windows
BTW, having said all of this, I actually have an .iso of my own remix of xubuntu that has all of the Lilypond build tools installed already. It's kind of big, about 1.1GB, so it either has to go on a DVD or it can be used as an .iso to install it in a virtual machine. I used a tool called remastersys to create it. Great - it seems we're almost done. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: development on windows
As we are looking for windows-experienced developers I really think that the ubuntu way would be better, it is easier for us windowsers. If you guys think it would be useful then I'll have a go at it. I think I can remaster xubuntu with all the Lilypond build tools and get it under 700MB to fit on a CD. I would go with Debian but the tool remastersys is specifically made for doing Ubuntu remixes and I'm not sure it would work with straight Debian. I'm not sure if I can build it in such a way as to include the git source files. Normally that's the sort of thing in an individual user's /home directory and would be left out of the remix. When someone installs from one of these remixes it works the same way as with regular Ubuntu, they create user accounts at the time of installation. I feel that if I can get it under 700 megs with all of the build tools and with the git program installed, then just about any user can open a terminal and copy-paste the git commands you put together in the CG to grab the source code. I've copy/pasted from CG several times myself and it works perfectly. Jon ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Using .ily for included lilypond files
It's not a problem for me. As you can see, I always try to catch up with LilyPond. That's why LilyPondTool is only released along with stable LilyPond versions. I'm only trying to help measuring the weight of a change: it's not just a matter of changing convert-ly. Bert Carl D. Sorensen wrote: On 5/22/09 7:25 AM, Bertalan Fodor (LilyPondTool) lilypondt...@organum.hu wrote: By the way, who's offering to spend the 5-20 hours required to implement such changes to the parser? (whatever we end up deciding) And also in the LilyPondTool parser? ;) Bert, As mucn as I like LilyPondTool, it seems to me that we can't refuse to make changes to LilyPond just because it would require changes to LilyPondTool. Carl ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Using .ily for included lilypond files
Just wondering. Is the fact, that a change like this breaks existing editor support for LilyPond, considered at all? Graham Percival wrote: In the large DOC: Makefile thread that nobody new is going to read, there was a proposal to use .ily to indicate setup lilypond files. I quite like this suggestion, so I'm asking somebody to take the next step: integrate this with lilypond. - change (almost) everything in ly/ to .ily. - update the internal loading included files stuff. - update the docs (i.e. \include gregorian.ly should now just be gregorian.ily) - make a convert-ly rule. Any of the built-in files (i.e. accordian.ly) should be changed automatically. Since we still support including .ly, we don't need to print out a warning for other files. - add a NEWS item. Cheers, - Graham ___ 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: Using .ily for included lilypond files
That's fine for me. I will notify you if I figured out what could be broken. Graham Percival wrote: On Mon, May 18, 2009 at 01:13:06PM +0200, Bertalan Fodor (LilyPondTool) wrote: Is the fact, that a change like this breaks existing editor support for LilyPond, considered at all? If you're asking in the past tense, then no, it was never considered, because we didn't imagine it would break anything. If you're asking in the future tense, then yes, we're quite willing to consider it, although not unless somebody specifies what it would break. Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: lilypond wikipedia
Wikipedia won't allow lilypond due to security and performance reasons as far as I know. I and other have already created quite useful mediawiki plugins. Bert Francisco Vila wrote: 2009/4/21 Helder Geovane Gomes de Lima heldergeov...@gmail.com: Hi everybody! I would like to know if there is any progress about this topic. How is it going? (is it going?) Are you talking about - the LilyPond article on Wikipedia - the LilyPond plugin for mediawiki There was an interesting project in http://draft.wikilily.org but it is currently unreachable. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: using \include for remote files
Yes, using guile you can download the file to /tmp for example and then include that. Like this: #(remote-include http://www.whatnote.com/style.ly; /tmp/whatnote-style.ly) \include /tmp/whatnote-style.ly For implementing remote-include a call to wget could be enough: #(define remote-include (lambda (remote-file local-file) (system* wget remote-file local-file) ))) Perhaps wget needs other parametrization. Bert --- Original Message --- From: Valentin Villenave v.villen...@gmail.com To: Jonathan Kulp jonlancek...@gmail.com Sent: 09/01/02/, 23:25:39 Subject: Re: using \include for remote files 2009/1/2 Jonathan Kulp jonlancek...@gmail.com: It occurred to me today that it would be nice if Lilypond could use \include to include files that are hosted on a website, the way html pages use stylesheets. Something like this: \include http://www.websiteaddress.com/definitions.ly; As far as I know, a web browser actually needs to download the stylesheet before using it. So this would require to implement network transaction capabilities into LilyPond, which does not seem very useful at this point :-) (that being said, it should be easy to use a Python script or even a Guile module to retrieve the files). Cheers, Valentin ___ 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
Learning Manual TOC missing subsubsubsections
The subsubsubsections are not present in LM toc. Is this intentional? Thanks, Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Learning Manual TOC missing subsubsubsections
Yes, I'm talking about these headlines as in the NR they are included in the toc. Reinhold Kainhofer írta: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Am Montag, 29. Dezember 2008 01:01:14 schrieb Bertalan Fodor: The subsubsubsections are not present in LM toc. Which subsubsubsections are you talking about exactly? I'm only seeing subsubsections (e.g. 2.1.1 Compiling a file) and some headlines that are not section commands (e.g. Entering music and viewing output in that subusbsection), so they are intentionally not in the TOC. Is this intentional? If you are talking of the headlines like Entering music and viewing output, then yes. 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) iD8DBQFJWBkCTqjEwhXvPN0RAlTZAJ9jmPQQuqNLBa5ntwkvzIWd4vAoqACfYtla t8gftXXs3/orBcwMBZgte1o= =lcJr -END PGP SIGNATURE- ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
(lambda ( . rest))
Hi, I found this in lilypond-book-preamble.ly: (lambda ( . rest) Besides that I can't imagine what that wants to mean, the GUILE doc clearly says: --- syntax: *lambda* formals body |(|variable1| ... |variablen| . |variablen+1|)| There must be at least one argument before the period. It seems clear that GUILE accept that strange form. But not any of my Java-based parsers. What would you suggest to do with that? Thanks, Berti ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Not R5RS, but GUILE
Unfortunately +1 is neither an R5RS identifier. identifier: (letter|special_initial) subsequent* | + | - | ... special_initial: ! | $ | % | | * | / | : | | = | | ? | ^ | _ | ~ In general, a sequence of letters, digits, and “extended alphabetic characters” is an identifier when it begins with a character that cannot begin a representation of a number object. In addition, +, -, and ... are identifiers Han-Wen Nienhuys wrote: Can you also voice this concern on the guile devel list? I think the reason the function exists is that is slightly more efficient. Feel free to define a +1 function and change lily to use it. On Thu, Dec 18, 2008 at 11:21 AM, Bertalan Fodor (LilyPondTool) lilypondt...@organum.hu wrote: Hi, I found that many places you use the procedure 1+. Besides that how ridiculous I think is to have a function that spares a space (1+ instead of (+ 1, the real concern is that it doesn't conform to R5RS. R5RS doesn't allow identifiers to start with a number. I know that GUILE allows it (I wonder why). But my Scheme parser (Julie) is stricter then Guile in this sense, so it won't be able to parse LilyPond-supported SCM files. I want to parse them. Could you change the (1+ calls to (+ 1? It's just a question about your opinion. Bert ___ 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: why is Dutch the default language for note-entry?
No it, can't be. Think of Bb H in german etc. Graham Percival wrote: On Tue, Dec 16, 2008 at 02:48:43PM +0100, Jan Nieuwenhuizen wrote: Op dinsdag 16-12-2008 om 13:07 uur [tijdzone +0100], schreef Hans Aberg: You need a font, though, and perhaps a special key map, too. Now that's a fun idea. It even works! Could this be an independant language? I don't see why it's stuffed into ly/nederlands.ly (other than this being the default). Could it be ly/utf8.ly instead? Cheers, - Graham ___ 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: why is Dutch the default language for note-entry?
But then why not use a font like this: http://www.icogitate.com/~ergosum/fonts/musicfonts.htm Jan Nieuwenhuizen wrote: Op dinsdag 16-12-2008 om 15:58 uur [tijdzone +0100], schreef Hans Aberg: On 16 Dec 2008, at 14:48, Jan Nieuwenhuizen wrote: You might call for using Unicode: r16 g♯( a g♯ f♯♯ g♯ c♯ e d♯ c♯ d♯ c♯ b♯ c♯ e g♯) You need a font, though, and perhaps a special key map, too. Now that's a fun idea. It even works! Thank you. I think it increases readability, too. If you want readabilty, why not have ♯g( a ♯g ♯♯f etc? For typeability, ymmv though. Jan. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: why is Dutch the default language for note-entry?
I would have beaten the the world record of the 100m escaping out of the music school if I would have had to say double bémol sol. Nevertheless it is a matter of vocal cords, I still sing sol and not fa... Once a French conductor sang the melody a a gis a g fis g with the words la la sol la sol fa sol. It was very funny. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: LP's staff lines are thinner than Henle...
Years ago I made a 4800dpi film in a printshop. It was surprisingly different than a 600dpi laser-print. So to make a fair comparison one should print pages with the same professional technology and see. Bert Carl D. Sorensen wrote: On 12/14/08 11:45 PM, Mark Polesky markpole...@yahoo.com wrote: LM 1.1 Background - Engraving states: our staff lines... are also much thicker than lines in the computer edition. In both the HTML and PDF versions, LilyPond's staff lines are in fact the thinnest when compared. I've included a png to make this easier to see. In the HTML version, the distance from top to bottom staff line of the LP example was smaller than the other 2, but even when scaling the LP example to match the other 2 (as I've done here) the LP lines are still the thinnest. The PDF example is magnified about 300 times. Can someone explain this? - Mark The staff lines on your other examples have been broadened by anti-aliasing. The staff line on the LilyPond example have not been, because it's a vector drawing. So your comparision is not apt. I have not viewed the originals to make any judgement of them. Carl ___ 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: Wanting to do a GUI, looking for BNF, which FM should I be looking for?
1. You can't fully parse LilyPond without actually running LilyPond. At least you need a Scheme parser. 2. You should use the lexer.ll and parser.yy files for creating you own parser. Danalute wrote: Willing to download, unroll, and RTFM, just, dont know where to start, a clue or two would be appreciated. Does the LY doc package include a specification for the language? BNF or whatever? Kinda need something like that to hope of making a GUI for it. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Spanish Translation
You only need to - create a messages_es.properties file besides the messages.properties, and - create a LilyPondTool_es.props file containing the messages from the LilyPondTool.props file. - the LilyPondTool_es.props file shouldn't contain anything but localized messages - the localization files shouldn't contain non-ascii (not even latin1-extended) characters. Instead we must use the unicode character code in \u003b format. It can be solved by a simple searchreplace or there are tools for this. After doing this, the LilyPondTool_es.props file must be placed into the properties folder of jEdit along with other localization files. Actually jEdit can be localized this way: you just override some properties coming from other places - most plugins can be translated this way as they use this method for localization. For example if you look at Console plugin source, you can translate the messages from Console.props and put your .props file into the properties folder of jEdit. Unfortunately this method sucks but there is no better way. The message_es.properties files follows the normal way: it will be automatically loaded if JEdit/LilyPondTool is run on a machine with es locale set. Bert Francisco Vila wrote: Hello Bertalan, I'd like to translate jEdit + LilyPondTool into Spanish. You told me that there was a translatable resource file. Where is it? Would be possible to include the Spanish localization as standard and make it work automatically in Spanish environments? The same goes for jEdit, I don't know if you could help me on that. Thankyou ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Feature request: German chord names
I think in this way this is a bad practice and I wouldn't call it German tradition. The best traditional practice is to use small letter and the quality mark together: hm Bert The users would like to be able to make a minor chord print the chord name as a small letter, and a big letter for the major chord, e.g. C maj would be C and C min would be c. This has some tradition in German Lead sheet music. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Feature request: German chord names
and I wouldn't call it German tradition. So you mean it is wider spread? Yes, for example Hungarian note and chord names usually follows the German and I often saw this in various scores. The best traditional practice is to use small letter and the quality mark together: hm What about giving people the possibility to use both forms? If the hm-form would be adopted, it almost demands that there first be a h-form. Yes, you are right. I just wanted to point out that because in practice using C and c can be hard to read, it is better to use C and cm in Lead Sheets. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Why does LilyPond delete the PDF first?
LilypondTool works properly with JPedal under windows. As long as JPedal is not the active window, the pdf can be properly written. If JPedal is the active window, then you get a write error on the pdf. Yes, because LilyPondTool has control over JPedal, so it closes the PDF when you press the Compile with lilypond button. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Doc of 'style ?
As I know the stencil callback is unfortunately C code. So the valid styles are only present in the C sources. That's a drawback of the current documentation system. Bert Valentin Villenave wrote: An additional question: are the spanner styles documented anywhere? When I tried to answer Haipeng on -user, I browsed the Internals Reference but couldn't find anything else than: style (symbol): 'line This setting determines in what style a grob is typeset. Valid choices depend on the stencil callback reading this property. So I browsed the source files, trying to get a list of possible stencil callbacks; I found these in define-sencil-commands.scm: (map ly:register-stencil-expression '(beam bezier-sandwich blank bracket char circle dashed-line dashed-slur dot draw-line embedded-ps glyph-string named-glyph path polygon repeat-slash resetcolor round-filled-box setcolor text url-link utf-8-string white-dot white-text zigzag-line grob-cause no-origin placebox unknown delay-stencil-evaluation )) I can't say I have any idea of to use them. I looked in output-ps.scm, but that didn't really help. Can anyone help me to document it? I can't wait to see how a bezier-sandwich looks like! :) Cheers, Valentin ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel -- LilyPondTool is the editor for LilyPond files. See http://lilypondtool.organum.hu ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Julie: GUILE for Java
After I'm done with the new parser, I want to make a voting/survey among LPT users: what they want. Bert --- Original Message --- From: Valentin Villenave [EMAIL PROTECTED] To: Bertalan Fodor [EMAIL PROTECTED] Sent: 08/03/05/, 18:21:50 Subject: Re: Julie: GUILE for Java 2008/3/5, Bertalan Fodor [EMAIL PROTECTED]: Hi Bert, congrats for this project! Having once given other Scheme-java implementations a (superficial) try, I have to fully approve you -- these implementations are nowhere near GUILE-compatible. My goals are: - have bar checks work really as bar checks (using Duration objects etc.) Oh yes! We really do need those :) - have autocompletion in Scheme Looking forward to giving it a try... - perhaps some visual display of music written - I don't know how feasible is this without implementing all of LilyPond in Java I don't know what you're thinking about, but it sounds quite thrilling. Off-topic: I already told you about some possible interface improvements I believed in; I'm kind of a newbie at all that, but I keep learning everyday :) What about (as I once suggested) starting by making the JPedal window dockable into jEdit's perspective; this way users could have an immediate (and maybe nearly-real-time, for smallest scores) visual preview of what they're typing? We'll talk about that on lily4jedit mailinglist, but your visual display thing made me remember about that. Cheers, Valentin ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Julie: GUILE for Java
Hi, In the last 3 weeks I created the base for an R5RS Scheme interpreter written in Java, aimed at GUILE compatibility. It is quite basic yet, but I'm not very far from the point where I can start interpreting LilyPond input files as they are. Actually module support is what I have to implement until that. I hope you know what that means... syntax checking, autocompletion in Scheme parts, Wysiwym display etc. However, even to correctly parse LilyPond files I must implement LilyPond's exported interfaces, that is, Scheme procedures beginning with ly:, which are implemented as C++ functions. So definitely I won't be enough alone for this project to succeed. So if you are interested, or think that in the future at some time will be interested in helping/contributing, whatever, you can check the sources at http://www.sourceforge.net/projects/julie I think it would be good if I noticed you about it, even if you can't do much about this yet :-) Bert -- LilyPondTool is the editor for LilyPond files. See http://lilypondtool.organum.hu ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Julie: GUILE for Java
Han-Wen Nienhuys írta: 2008/3/4, Bertalan Fodor (LilyPondTool) [EMAIL PROTECTED]: In the last 3 weeks I created the base for an R5RS Scheme interpreter written in Java, aimed at GUILE compatibility. It is quite basic yet, but I'm not very far from the point where I can start interpreting LilyPond input files as they are. Actually module support is what I have to implement until that. Cool! Just as curiosity, why didn't you consider the alternate Java-schemes, like jscheme, kawa, sisc, etc? There are some reasons. - I found their architecture to be too complicated. I wanted a simple, clean one. - Their code base seem to be written in not Java style. - If I need some ideas I can get from them. - They have their own extensions which may collide with the guile stuff. - My motivation was stronger this way. Still, writing my own version may be a wrong idea. However, for extending it with guile constructs I still feel it easier, because of their complexity, legacy extensions I'd be afraid of making a change in the code would create unexplicable behaviour. It depends on how far you want to go. It is easy to extract signatures (names number of arguments) automatically. That's a good idea. That way I can generate stubs. Surely you don't want to reimplement all of LilyPond in Java? No I don't. My goals are: - have bar checks work really as bar checks (using Duration objects etc.) - have autocompletion in Scheme - perhaps some visual display of music written - I don't know how feasible is this without implementing all of LilyPond in Java Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Strange (buggy) Scheme assignment
Hi, in property-init.ly I found this: aikenHeads = \set shapeNoteStyles = ##(do re mi fa #f la ti) That seems to be a vector definition in Scheme: #(do re mi fa #f la ti) However, it is not a valid Scheme expression, at least according to its formal grammar and the online Scheme interpreter, http://sisc-scheme.org/sisc-online.php What is your opinion? Thanks, Bert -- LilyPondTool is the editor for LilyPond files. See http://lilypondtool.organum.hu ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Strange (buggy) Scheme assignment
Yes, it's a vector, but is it a standalone expression? The guile page says: Like lists, vectors have to be quoted: '#(a b c) = #(a b c) --- Original Message --- From: Nicolas Sceaux [EMAIL PROTECTED] To: Bertalan Fodor (LilyPondTool) [EMAIL PROTECTED] Sent: 08/01/23/, 20:04:06 Subject: Re: Strange (buggy) Scheme assignment Le 23 janv. 08 à 16:26, Bertalan Fodor (LilyPondTool) a écrit : Hi, in property-init.ly I found this: aikenHeads = \set shapeNoteStyles = ##(do re mi fa #f la ti) That seems to be a vector definition in Scheme: #(do re mi fa #f la ti) However, it is not a valid Scheme expression, at least according to its formal grammar and the online Scheme interpreter, http://sisc-scheme.org/sisc-online.php It's a valid guile scheme expression, according to: http://www.gnu.org/software/guile/docs/docs-1.8/guile-ref/Vector-Syntax.html ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Strange (buggy) Scheme assignment
Ok, thanks, should I create patches for these cases - there are some in the declarations? Anyway I wonder how guile could accept these. Bert --- Original Message --- From: Nicolas Sceaux [EMAIL PROTECTED] To: Bertalan Fodor [EMAIL PROTECTED] Sent: 08/01/23/, 21:45:25 Subject: Re: Strange (buggy) Scheme assignment Le 23 janv. 08 à 21:08, Bertalan Fodor a écrit : Yes, it's a vector, but is it a standalone expression? The guile page says: Like lists, vectors have to be quoted: '#(a b c) = #(a b c) Indeed, my mistake. The examples later on the guile documentation use quoted sharp-paren expressions. Vectors are not self evaluating according to R5RS 7.1.3: self-evaluating -- boolean | number | character | string So in LilyPond literal vectors should be quoted: aikenHeads = \set shapeNoteStyles = #'#(do re mi fa #f la ti) Nicolas ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Developer docs
Valentin Villenave wrote: Hi David, hi everybody. David's feature request has been officially added as http://code.google.com/p/lilypond/issues/detail?id=559 I'm both happy and sad to admit this request: I am happy to see that people like David care about making LilyPond an even better program, through such documented requests. And I'm sad because I have to warn you that, honestly, we deeply lack resources. ... simply developers. And I think developer documentation as well. 2 or 3 years ago I tried to implement something in the LilyPond codebase. Not to mention I have no idea how to debug such a source code, I just couldn't find my way through the smob, robust_anythings, Scheme-related C Macros, functions like scm_sloppy_assq, and so on. Because I've implemented a Java parser for LilyPond (and found that because of the great liberty of the format makes it actually impossible to check the grammar without actually interpreting everything), now I have a pretty clear understanding of the lexer and the parser. But with other parts of the code I found it very, very hard to read. Perhaps because I am a Java developer for almost 10 years and got used to javadocs everywhere. At least: shouldn't we use namespaces? To not mix lexer class (not even class, but yacc/flex code!) with engravers and common classes (like Moment)? Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Syntax highlighting in LilyPad?
Actually java need not be installed. You can zip together the whole editor distribution, and use it without any installing, but just unzipping. So really it would involve creating a folder structure: lilypondtool -- jedit (containing all necessary plugins in the jars directory) -- jre pdf reader you can also put some predefined properties into, to make everything work out of the box. the jre is also redistributable in this form according to the license. Actually it would be rather easy to create an installer (with nsis for example) that installs lilypond, jedit, java and external pdf reader, and sets the properties file of LilyPondTool to find everything out of the box. It's a pity I don't have time for it :-( Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Syntax highlighting in LilyPad?
You are always welcome to send patches, bug reports etc. on http://www.sourceforge.net/projects/lily4jedit. The silly mix can remain from the time when lilypond itself was a silly mix thanks to cygwin :-) However, I'd suggest packaging a lightweight gpl text editor with syntax highlighting capabilities packaged with lilypond. Bert Francisco Vila írta: El Thu, 20 de Sep de 2007, a las 08:54:25PM +0800, Valentin Villenave dijo: Hello, (...) Great! I'm very interested in see some advances in these developments, mainly for my win32-only students. Please keep us informed, thanks! IMO, a pity from jEdit is that preset paths and the like do not come configured for windows nor unix, but a silly mix of the two; at least in my short experience. We in Badajoz use Notepad++ but it doesn't yet look like a mature enough project. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: LilyPond parser for Canorus
How does JEdit and JLilyTool solve autocompletion for example? Autocompletion is very simple - only finds a regex at the cursor position, and then finds the possible choices only based on the Documentation. So if you move an engraver to an other context, the autocompletion will not find it. This is a place for enhancement. There is also a simple parser that is a rewrite of LilyPond's lexer and parser in ANTLR. The rewrite is not trivial, as LilyPond uses lex and bison, i.e. LALR parsing, while ANTLR is LL(k) Actually I think that if you want to create a complete LilyPond parser, you would rewrite LilyPond itself. Just think of that you need to parse all the Scheme code, just to find if a command is a markup command or not. Bert What I'd like to is to share the most code as possible for easier maintainence and for being up-to-date. What do you think? Shared visions welcome :) Regards. - Matevž Canorus development team http://www.canorus.org ___ 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: charge of lilypond
I propose (at least in windows) to leave a part of the program resident so that invocation are less painful. Unless it is being swapped out to the virtual memory. Office and OpenOffice do They are swapped out as well. And you gain nothing. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: charge of lilypond
Well, in the case of LilyPond it is sure, that we can achieve better performance if all the declaration, font and everything stuff is not loaded each time. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Windows Releases
LilyPond's bundled python is useless (unless something has changed in the past 6 months), so I don't see why it is still bundled. It is needed an perfectly good to run convert-ly. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Windows Releases
I don't think that lilypond path should be in the PATH. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Windows Releases
Of course it should, but probably not the current \bin\ folder Why? On Windows platforms people rarely use the PATH to run programs. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Windows Releases
Putting these into the path would also not help. - you can not run convert-ly.py - you must use python convert-ly.py - But if you do, you must say: python c:\program files\lilypond\usr\bin\convert-ly.py So you didn't gain much. Still I don't see it is useful. Perhaps we should look at the possibilities of packaging LilyPond with JEdit + Java + LilyPondTool. Actually Java license allows to distribute the runtime with your application, jEdit is GPL. Neither Java, nor jEdit needs anything written to the registry to work, they just can be zipped together. So we could make a directory structure like this: Program Files - LilyPond -- usr -- bin -- java --- bin javaw.exe -- jedit --- jars LilyPondTool.jar Console.jar ... And make a shortcut that runs: c:\Program Files\LilyPond\java\bin\javaw.exe -jar c:\Program Files\LilyPond\jedit\jedit.jar The download size would not be small: LilyPond 18MB jEdit 2MB jEdit plugins 15MB Java runtime 24MB That is 59MB. Bert Since midi2ly, lilypond-book and the other utility scripts are not available via any graphical interface. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Windows Releases
I was thinking a bit more. Installing and uninstalling LilyPond itself should remain separate from jEdit. So there should be one installer that separately installs the two. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Windows Releases
Don't talk nonsense! It works perfectly well to run commands like convert-ly -e myfile.ly from the command prompt. Wow, sorry. I never thought that. It seems that I must update my knowledge. Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: would like to participate
To understand what is going on I would like to start with the following task I have seen at the web site: * * * In addition, we are still looking for help with the following website tasks, * An overview of all editing environments available * * * Bertalan Fodor has offered to do this, although I'm not certain how far along he is -- he might be happy to let you do this instead. I've CC'd him on this email. I still have nothing :-( Bert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: valid html?
I think that's a bug in the validator :-) Bert Korneel írta: This little note, only to say that your current homepage does NOT validate through this URL: http://validator.w3.org/check?uri=referer Best wishes and please continue developping this wonderful software! Korneel ___ 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: proofreading tutorial
Ok, I'm happy to do this. But what should I write about emacs, vim etc? Should I write about configuration, or link to the manual? Bert So spend 30 minutes and create a general editor webpage for lilypond. If you omit emacs or vim you'll probably have a riot, but you only need one paragraph about each. Then go ahead an have beautiful screenshots and religious text pushing lilypondtool for the rest of the page. - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel