LilyPond news

Post a message

Replying to:

The LilyPond Report #12

Monday 16 June 2008 by Valentin Villenave

Welcome to this twelfth issue of the LilyPond Report!

This week, we’ll talk command line on Windows, LilyPond development releases, MusicXML import, and friendliness vs usefulness; we’ll also present (yet) another PostScript snippet, and a mysterious disease... the LilyPnod syndrome! As always, you can post your comments at the bottom of the page, or even register and contribute to the LilyPond Report’s next issues.

 This Week’s Desultory Editorial

Greetings,
This week, an old mail from Heikki Johannes Junes, and a patch I proposed made me want to write a short tutorial about something many Windows-users are not familiar with: the command line.

Click here to read the full tutorial.

For a couple of decades, the use of graphical interfaces have made computing a pleasant experience, and we all are familiar with such concepts as mouse pointer, windows, menus and icons. However, text-based interfaces are far from obsolete, and even the best software in the world is actually a command-line program.

If you’re running a GNU/Linux, a Mac OS or a BSD operating system, you should easily find a terminal emulator application; this is because all these systems are based on some common concepts.

If you’re running an MS-Windows system, it is more difficult. You can either browse the Start menu > Accessories folder and look for some "command" application, or you can simply go Start menu > Run and type "cmd" (a shortcut for "command").

PNG - 11.6 kb

(Yes, everything is in French on my computer; but the commands are the same.)

Here it is: the big, scary, black window with white letters.

PNG - 28.8 kb

As you can see, it looks much better on GNU/Linux, by the way:

Under GNU/Linux, the Terminal emulator allows you to launch any program you want (actually, it even allows you to launch many more programs than you could ever launch using only menus). On Windows, it only works with very specific programs, such as ftp, or... or lilypond, of course.

But first, we have to learn how to browse our folders and files. You basicalle need to know only two commands:

cd (meaning "Change Directory") allows you to move into your folders and subfolders;

dir (on GNU/Linux, it’s ls, meaning "list") allows you to see what’s in your folder.

Let’s assume I have a LilyPond file somewhere. Is it in "My Documents"?

PNG - 41.6 kb
cd "My Documents"
dir

(Since there is a space in the folder’s name, you have to enclose it with double quotes.)

Obviously, this folder is empty. Is it in "My Music"?

PNG - 44.2 kb
cd "My Music"
dir

We have two folders here: "lilypond_scores" and "best_scores". Let’s move to lilypond_scores, but since the name is a bit long, we’ll just type the first letters ("ly", for instance), and then hit the "TAB" key. The full name should appear: this is a very convenient feature called autocompletion, that can avoid you many typing mistakes.

PNG - 31.1 kb
cd lilypond_scores
dir

Okay, it’s not the good one. To move back to the parent directory, we’ll type two dots. Then, instead of cding into the "best_scores" folder then typing dir, we’ll directly type dir, followed by the folder’s name (we give the folder’s name as an argument to the dir command).

PNG - 34.7 kb
cd ..
dir best_scores

Hum, nothing there. Oh, I remember! A few days ago, I created a movie_themes folder in "My videos"; the LilyPond file I’m looking for has to be there. Let’s use one single command to go up to "My documents", open the "My videos" folder, and finally open the "movie_themes" subfolder:

PNG - 38.4 kb
cd "..\My Videos\movie_themes\"
dir

Here we are  [1]. Let’s launch lilypond, wit a bunch of options. I do not want to get a .ps file, and I want the output to be in png format.

lilypond -ddelete-intermediate-files -fpng "the Great Theme.ly"

Voilà! Granted, it’s much easier to just double-click on a file, but that would prevent us from using all these nice options. Besides, as we’ll see below, some functions such as convert-ly or musicxml2ly are only available from the command-line.

To learn more about everything one can do with the command-line on *nix systems, you may want to read this excellent tutorial by Ladislav Bodnar.

Have fun!

 News from the Free World

If you happen to have a SourceForge account, and haven’t yet taken part in the 2008 Community Choice Awards, you only have a few days left to vote for LilyPond as "Best project" (you can use the button at the bottom of this page).

In the news, you may have already heard about the Firefox Download Day which is about to start within a few hours as I’m writing these lines. Already more than 1 million persons have pledged now; all you have to do is give a mail address and download Firefox 3 the day it’s released, making it the most downloaded software in 24 hours.

Download Day - English

As I’ve already written, I kind of dislike this third version of Firefox. However, when it comes to such events, it’s all about the let’s-show-them instinct, and personal tastes don’t matter so much. Let’s show them! Let’s show the whole world how much we like Free Software, and let’s demonstrate our freedom of choice, our power as citizens of the Free World!

Speaking of power, one last piece of news for this week: World’s fastest supercomputer runs Linux. The IBM Roadrunner can run at 1.7 petaflops; it’s built with the same AMD Opteron processors you could find in your computer, and the same IBM cores you can find in Playstations 3. It perform nuclear-weapons-stuff calculations... and it runs Red Hat Linux.

 What’s up with LilyPond?

Another week, another Development Release (this is how Linus Torvalds announces every kernel release on the Linux Kernel Mailing List). Last week we’ve seen that the LilyPond developers are getting ready for a stable release; the latest 2.11.49 version is clearly a new step in this direction.

As I told you some weeks ago, I lack convenient statistics to make my point, but there’s been an obvious change in the development rhythm for the last couple of months. More bugs have been fixed in this timeline than in the previous months, and the software itself seems more and more stable.

I could notice two "waves" of bugfixes in the last two months:

  • sixteen issues were labeled as "fixed" for 2.11.46 (whereas only one was fixed for 2.11.44, and five for 2.11.45); this is mainly due to Han-Wen’s bug-fixing-marathon on May the 1st, and to the fact that .46 was released nearly a month after .45;
  • six issues were labeled as "fixed" for the latest 2.11.49, including some severe ones such as Issue 535 and Issue 60 (whereas only one was fixed for 2.11.47, and three for 2.11.48).

 The LilyPond Feature of the Week

A mail from Jonathan Kulp on our mailing list gave me the idea of this week’s feature:

I decided to try musicxml2ly, and I have to say WOW!!

[...] I took two Finale files, one simple and one fairly complicated and long, and exported them as musicXML files, then ran the musicxml2ly command on them and finally ran them in lilypond, and I can’t believe how well it worked. Major props to the developers for this!!

[...] This is an amazing improvement over what I tried before. THANKS!!! This is going to save me countless hours of work if I want to convert my many, many Finale files to lilypond. Awesome!

What Jonathan is referring to is the musicxml2ly Python script that comes bundled with LilyPond. As far as I can see, this script was originally written in 2004 by Han-Wen, and greatly improved in the last several months by Reinhold Kainhofer.

MusicXML is a XML-based interchange format for music notation. Though its licence is open and its specification freely available, it is mainly produced through commercial plugins, such as Dolet for Finale and Sibelius.

Recordare, the company behind MusicXML, provides an example of MusiXML file. I happily downloaded it to test the musicxml2ly script.

Here is a simple how-to for Windows users...

The file has been saved on the desktop ("Bureau", in French).

Launching the Command line (Start menu > Run > type "cmd" > OK).

Let’s move to the Desktop...

Let’s call the musicxml2ly script, and tell it which file to process.

Here is another way to do it, more complex (you’ll probably prefer the above one):

  • call the Python interpreter (python),
  • tell it which script it has to launch (musicxml2ly),
  • and which xml file it has to process (elite.xml).

OK! Let’s check the Desktop: a new LilyPond file has appeared...

Oh, while we’re at it, let’s run LilyPond too:

Now we can compare the original output, produced with Finale 2005:

And the LilyPond output, much much nicer (though the tempo indication is printed twice, which is easily corrected):

Native MusicXML import that works great? We have it. Any questions?

 The Snippet of the Week

You may have noticed that I love to embed PostScript drawings in LilyPond files; just a few hours ago, Stefan Thomas gave me a new opportunity to play with it:

Dear Lilypond-users, is there a possibility to integrate symbols for percussion-beaters and sticks in a lilypond-file?

PNG - 2.6 kb

Well, here’s the result of my (ugly and hairy) PostScript code (looks pretty cool though):
Percussion beaters

I think I’ll never get tired of this feature... :)

 The Quote of the Week

LilyPond is famous for it’s extremely active mailing lists, especially the lilypond-user mailing list. Are these lists overcrowded? If you want to keep up with all the discussions, read all the mails, this can indeed take you quite a lot of time.

This week’s quote is a dialog between Trevor Daniels and Graham Percival, the two guys in charge of the Grand Documentation Project.

GrahamThe whole point of GDP is to reduce the burden of doc maintenance. I expect that maintaing the [documentation sources] will be about 2 hours per month (not counting reading email), and the snippet maintenance to be 1 hour per month (again, not counting email).

Trevor — [Reading emails:] This actually takes up most of my available time at the moment. I’ve seriously thought of unsubscribing from -user, but then I’d quickly lose touch, so it’s not really an option.

GrahamSpeaking from personal experience, I vigourously remind myself that answering questions helps one person a lot, whereas working on the docs helps a lot of people a moderate amount. _ [...] Yes, it’s not a friendly attitude to take, but I’d rather be helpful instead of friendly.

I’d like to have an opinion on that, but I don’t really know what to say. I have mixed feelings: on one hand I do understand, from a rational point of view, what Graham and Trevor are talking about; on the other hand helping people, meeting people, knowing people is what I like in the LilyPond community.

That being said, when you’ve been around for as much time as Graham has, you understandably tend to get tired.

I guess I’ve never really been the "big picture" kind of guy — and therefore, we need both kinds of thinking: people who actually see the big picture, build a towering structure (rock-solid code, reliable documentation, etc.) and people who don’t know anything about anything but just feel enthusiastic :-)

 The Syndrome of the Week

How tired is Graham? Actually, he might ver well be more tired than any of us: in an attempt to study his condition based on scientific observations, I searched the -user and the -devel list and discovered...

The LilyPnod syndrome!

What’s the LilyPnod syndrome? It’s when you’re getting so tired of writing the word "LilyPond", that youcan’t spell it right anymore:

  • April 22. 2007: When you run lilypnod-book you should see something...
  • November 09. 2007: The LSR->lilypnod docs link has the potential to simplify the Doc Editor’s job...
  • March 3. 2008: otherwise lilypnod-book will never find foo.tex...
  • March 4. 2008: since John’s familiar with lilypnod-book, I figured it was worth mentioning...
  • April 24. 2008: the automatic paper formatting stuff that lilypnod-book does for our manuals...
  • May 23. 2008: all lilypnod commands that accepts pieces of text inside "" also accept \markup...

Graham Percival seems to be the only person affected so far (I didn’t found any single mail that wasn’t from him. Plus, the syndrome seems to be progressing: though he’s been around for six or seven years, the first symptoms appeared in 2007, and it’s been getting worse lately.

If you ever find yourself writing "lilypnod" in a mail... please get some rest!

And this concludes the twelfth issue of The LilyPond Report.

Cheers,
Valentin Villenave


Replying to:

finale / lilypond xml comparison

23 June 200803:29
Sorry for this message, but I find quite funny that for once I will say something positive about finale! I spent so many bad words about finale and good ones about lilypond, but I have to say that (excluding the beauty of the font), in this case the finale example looks much better, if this is about what comes out from the software without tweaks. The crossing stem at bar 2 (second beat, left hand), the stem direction and rest position in the following bars (probably a voice issue) need some tweaks in the lilypond version. I know FInale (until 2005 version) really well, I used it for (...)


Any message or comment?
  • (To create paragraphs, you simply leave blank lines.)

Hypertext link (optional)

(If your message refers to an article published on the web or to a page providing further information, please enter the title of the page and its URL below).

Add a document
Who are you? (optional)

Home page | Contact | Site Map | | Site statistics | Visitors : 182170

Follow-up of the site's activity en    ?

Site created with SPIP 2.1.12 + AHUNTSIC

Creative Commons License