tag:blogger.com,1999:blog-62924237807501021142023-11-16T11:37:37.836+01:00LilyPondToolUnknownnoreply@blogger.comBlogger12125tag:blogger.com,1999:blog-6292423780750102114.post-70121321360959351592012-09-24T14:47:00.002+02:002012-09-24T14:47:51.373+02:00LilyPondTool 2.14.9 release (last for the foreseeable)Dear LilyPond users,<br />
<br />
after a month of <a href="http://sourceforge.net/tracker/?func=detail&atid=625093&aid=3554870&group_id=588" target="_blank">struggling</a> with an official jEdit plugin repository release, I decided to release the last revision of the LilyPondTool plugin as a zip file.<br />
<br />
Download it <a href="https://sourceforge.net/projects/lily4jedit/files/latest/download">here</a>, and unzip to the jEdit settings folder ($HOME/.jedit or C:\Users\John Doe\.jedit etc. depending on your platform).<br />
<br />
And this release concludes the development of LilyPondTool - at least by me... I stopped using LilyPond and it makes no sense for me to develop LilyPondTool any more, as I don't have any projects that need LilyPond.<br />
<br />
I've switched to <a href="http://www.musescore.org/">MuseScore</a>, and I am very happy with that. If you are interested in my adventures there and my reasons to leave LilyPond, follow <a href="http://musescore.com/bertalan-fodor">my Musescore.com page</a> and/or <a href="http://bartruffle.blogspot.com/">my blog</a>.<br />
<br />
If you would like to take over the development of LilyPondTool, I am happy to give you the support you need, just contact me.<br />
<br />
I had a very good time in the LilyPond community, I hereby thank all the support for all my supporters, the users of LilyPondTool and everyone else.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6292423780750102114.post-30339661048253447192011-11-17T22:45:00.000+01:002011-11-17T22:45:45.474+01:00LilyPondTool prerelease availableThe long awaited 2.14 release of LilyPondTool is now available for download from<br />
https://sourceforge.net/projects/lily4jedit/files/latest/download?source=files<br />
<br />
Unzip to your jEdit settings directory (e.g. c:\documents and settings\YOU\.jedit)<br />
<br />
The most important new features are:<br />
- completely rewritten parser (best used with "Parse on keystroke" - See Plugins > Plugin Options > SideKick) (the new parser is created using flex and bison so very closely mirrors the actual lilypond parser)<br />
- instant compile - LilyPond will be called to compile your file in the background while you are working, and the PDF preview is updated automatically<br />
- compile on save<br />
- a lot of bugfixes<br />
<br />
This release should be available from jEdit plugin repository in 1-2 weeks - I'm waiting for bugreports until that :)<br />
<br />
Enjoy! <br />
<br />
BertUnknownnoreply@blogger.com8tag:blogger.com,1999:blog-6292423780750102114.post-44803323853882393142011-11-08T13:37:00.002+01:002011-11-08T13:37:55.013+01:00One feature leftJust a quick followup.<br />
I'm now working on an "Instant preview" feature which will make lilypond create the PDF in the background while you are working on the score.<br />
When that's finished, I release a new version of LilyPondTool.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6292423780750102114.post-12872985877842927932011-10-10T00:24:00.000+02:002011-10-10T00:24:14.699+02:00Good newsParser problem: solved. At least it seems to be. The Java output of Bison looks good, works well so far, and is much better in error reporting thatn cup. So I'm at full speed to migrate existing functionality to the new parser.Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-6292423780750102114.post-55872128586263946212011-10-07T09:06:00.000+02:002011-10-07T09:06:33.051+02:00Cup problemI again struggled 4 hours with a problem, actually parsing this correctly:<br />
\markup \huge { asdf }<br />
<br />
What you need to know about LilyPond parser, that \huge is interpreted in "markup" lexical state. A lexical state allows you to define a different language for parts of the source file. In LilyPond there is notes state, chords state etc. So "c4" input will mean a note in notes state, but a letter and a number in markup state.<br />
The parser achieves this by the following:<br />
\markup { pushMarkupState(); } \huge --> the huge should be interpreted as a markup command and not a normal escaped word (like an identifier)<br />
But CUP, the parser I use always looks ahead one token. So instead of:<br />
"\markup" MARKUPCOMMAND<br />
it parses<br />
"\markup" KEYWORD<br />
Because the action that pushes into the markup state executed after processing the lookahead token.<br />
<br />
That means I have to switch the parser implementation (again)... There is an experimental Java backend for Bison. It might work, we will see...Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6292423780750102114.post-66092355689643044002011-10-04T17:31:00.000+02:002011-10-04T17:31:39.923+02:00An important milestoneUsing the new CUP/JFlex based parser, which essentially means that LilyPondTool has exactly the same grammar as LilyPond, I was able to build LilyPondTool. This is very important, as now I'm ready to fine-tune the parser to fix all pending parsing issues and support all 2.14 constructs.<br />
The advantage of this rewrite is that I'll be able to accomodate to changes in the languages easily.Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-6292423780750102114.post-39602982025733836282011-08-19T12:24:00.000+02:002011-08-19T12:24:44.549+02:00Small delayI'm still struggling with the new parser. The good thing is that everything is on track. The bad thing is that I still need more time.<br />
But as the new parser will be closer to the real one, it will be more advanced too... It will catch more errors and create less false alarms. I'll keep you updated on the progress.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6292423780750102114.post-49225127127347088492011-08-10T08:51:00.001+02:002011-08-17T13:35:52.170+02:00Planned release dateAs my previous post might have been scaring, I decided to announce a planned release date.<br />
So for all of you who are waiting the release: I will probably publish the LilyPond 2.14 compatible version of LilyPondTool on 17 August 2011.<br />
<br />
UPDATE: due to some bugs in <a href="http://www2.cs.tum.edu/projects/cup/">CUP </a>, I've lost 2 days, so the plan is to publish on 19 August.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6292423780750102114.post-91343677504826670322011-08-10T08:45:00.001+02:002011-08-10T08:49:33.009+02:00Need to switch to CUP/LEXAfter hours of struggling yesterday I realised that I would gain a lot if I switch to the CUP/LEX version of the parser.<br />
<br />
So it seems I must start going on the way of having a more robust parser, but that will delay again the upgrade. I will keep you updated on the progress. It wouldn't be a full rewrite, I'm planning to keep as much from the current Antlr 2 code as it is possible, so I expect to finish that this week.<br />
<br />
But unfortunately I can develop only on my EEE Pc with a slow SSD while commuting to work (that means like 2 hours a day), and yesterday it took almost an hour just to download and install the latest java...Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6292423780750102114.post-17319048998432921272011-08-04T15:16:00.000+02:002011-08-04T15:16:12.534+02:00LilyPondTool 2.14 is under developmentI've started upgrading LilyPondTool to support LilyPond 2.14<br />
<br />
I'm not going to make major changes in the parser yet, I only update it to support the new<br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">\language "deutsch" </span><br />
construct. Actually my plan is to implement a more realistic LilyPond parser, using CUP and FLEX, but that needs very much time. So until that I keep the Antlr 2 version. (Using Antlr 3 one can not at all parse LilyPond because of its heavy use of lexer state switching.)<br />
<br />
Besides that I have several things to fix:<br />
<br />
<ul><li>upgrade to jEdit 4.4</li>
<li>reintroduce hyphenation</li>
<li>update the templates and the wizard to compile with LilyPond 2.14 and use the new \language construct</li>
<li>update LilyJHelp</li>
<li>update lilypond.xml mode (and merge that to the stable jEdit branch for easy access)</li>
<li>etc.</li>
</ul><div><br />
</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6292423780750102114.post-60533501254133033972011-01-14T17:49:00.000+01:002011-01-14T17:49:59.612+01:00ANN: New LilyPondTool version available for testingI deployed a new version (2.12.932) of LilyPondTool for testing.<br />
Just drop <a href="http://lilypondtool.organum.hu/LilyPondTool.jar">http://lilypondtool.organum.hu/LilyPondTool.jar</a> to your .jedit/jars directory (inside your home folder like c:\Documents and Settings\John\.jedit\jars).<br />
<br />
It still supports the latest stable LilyPond, 2.12, but as soon as LilyPond 2.14 stable is released I will release a new version of LilyPondTool (also in jEdit plugin repository).<br />
<br />
The most important new features of this LilyPondTool release are the following:<br />
<br />
<br />
- better context-sensitive completion<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKwetntB6T5g-beoov6Y4ckaULbUffp7Zl_6xxRapYk2WqJ9PiFOERQF7PQZBGJUUm4UZx5p-S69wCJAFOxmzE4p2ws-HYE23JFPqTVj6qHCQHh0y1yFGLbmFkTk8SIzwekMCGmgWGf28X/s1600/context-sensitive-completion.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKwetntB6T5g-beoov6Y4ckaULbUffp7Zl_6xxRapYk2WqJ9PiFOERQF7PQZBGJUUm4UZx5p-S69wCJAFOxmzE4p2ws-HYE23JFPqTVj6qHCQHh0y1yFGLbmFkTk8SIzwekMCGmgWGf28X/s1600/context-sensitive-completion.PNG" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div>- musicglyph preview<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyJSrCnQY5Z_OrajLB7jUKXNDu_Ms4-8P2WPbXrO5Tqsy27AMJJZaDvhWufda7xJCL625y5AM7HfhyphenhyphenoN930vgi9pF3ZaN6to5jENHAHwqxASVf0Iny2hIxXO84F2KyHQAZbiEnljFK0hmx/s1600/musicglyph-preview.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyJSrCnQY5Z_OrajLB7jUKXNDu_Ms4-8P2WPbXrO5Tqsy27AMJJZaDvhWufda7xJCL625y5AM7HfhyphenhyphenoN930vgi9pF3ZaN6to5jENHAHwqxASVf0Iny2hIxXO84F2KyHQAZbiEnljFK0hmx/s320/musicglyph-preview.PNG" style="cursor: move;" width="320" /></a><br />
- template manager with context sensitive completion and BeanShell, Velocity support<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6wvIZLo5aUmf0yswR0qpQrebZe6sYGKdbyZJgqCBt7LU9QLt3xjI1MMC8Kn4_nf3axyVaof9DlXYVEzwLtTBrg-386fVvC_GrZ8Yjudye_6FbFam_z0iphBpTJWnkEmlOWI-0r7HH9qcI/s1600/template-editor.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="204" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6wvIZLo5aUmf0yswR0qpQrebZe6sYGKdbyZJgqCBt7LU9QLt3xjI1MMC8Kn4_nf3axyVaof9DlXYVEzwLtTBrg-386fVvC_GrZ8Yjudye_6FbFam_z0iphBpTJWnkEmlOWI-0r7HH9qcI/s320/template-editor.PNG" width="320" /></a></div><br />
- preview in wizard<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqKRYbcy41KXpmnOYbVM-IcWiZb1Cf6zRxOZB-MMYBVbfclBTppP3UNK_2f76ZQYJj-AlpT601QVoC657-LYv0iBnWh0wlKcj8sSWLztTaACbLxlQ_pE0cT5qL6xcyFsmqBm-M5YuEJcoH/s1600/wizard-preview.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqKRYbcy41KXpmnOYbVM-IcWiZb1Cf6zRxOZB-MMYBVbfclBTppP3UNK_2f76ZQYJj-AlpT601QVoC657-LYv0iBnWh0wlKcj8sSWLztTaACbLxlQ_pE0cT5qL6xcyFsmqBm-M5YuEJcoH/s320/wizard-preview.PNG" width="320" /></a></div><br />
- customizable background for the PDF preview<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXUXsiVhKCuD5LCbdaGnwYPhwm1S2ZlXt23-BPNv5eq_gMeZtvj8NMMLdHemRE7q7RXev928mlat-VQc4RXDGh41zke6Lg0OgUK-kwq23REFI9ivBT9jxQ5Eai4Oh4a3MlFswuCLXvph26/s1600/pdf_backround.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXUXsiVhKCuD5LCbdaGnwYPhwm1S2ZlXt23-BPNv5eq_gMeZtvj8NMMLdHemRE7q7RXev928mlat-VQc4RXDGh41zke6Lg0OgUK-kwq23REFI9ivBT9jxQ5Eai4Oh4a3MlFswuCLXvph26/s1600/pdf_backround.PNG" /></a></div><br />
- help in context menu<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf39pPJUn7OkTgshcBpQTkpuWZK6cBiZaRLM6iMcx6UvB2QpoaXTyzniAesxHY-fXUeOMNJIY6cb6d2_eHAipfw3ChENzUe4foifDOrghvuQR7M2-Mr0hVTIRYW-XZ8rA8UdQv-yJu05Nt/s1600/context-menu-help.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf39pPJUn7OkTgshcBpQTkpuWZK6cBiZaRLM6iMcx6UvB2QpoaXTyzniAesxHY-fXUeOMNJIY6cb6d2_eHAipfw3ChENzUe4foifDOrghvuQR7M2-Mr0hVTIRYW-XZ8rA8UdQv-yJu05Nt/s320/context-menu-help.PNG" width="320" /></a></div><br />
- localization manager<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjezOAkDOa1JNXKt8re31j_OcgcxbXTkAcyc4KnnWAuZ5kA0XGHQSSQmuIaGSSqsSVYXmUign-RR4eoy7r2odhiX3CM9-6BeEo5I1d_22Kc8jcDy8xIkh9UnAlTfXGBdUR0_ASleNwA2zQC/s1600/localization-manager.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="134" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjezOAkDOa1JNXKt8re31j_OcgcxbXTkAcyc4KnnWAuZ5kA0XGHQSSQmuIaGSSqsSVYXmUign-RR4eoy7r2odhiX3CM9-6BeEo5I1d_22Kc8jcDy8xIkh9UnAlTfXGBdUR0_ASleNwA2zQC/s320/localization-manager.PNG" width="320" /></a></div><br />
- compile without savingUnknownnoreply@blogger.com15tag:blogger.com,1999:blog-6292423780750102114.post-44467222825503849982011-01-11T12:59:00.001+01:002011-01-11T12:59:35.005+01:00LilyPondTool homepage moved to blogFor easier access to news and better ad and support management, I moved LilyPondTool page here.Unknownnoreply@blogger.com2