I'm looking for a Windows library that can draw musical notes on the screen in some way. I'm going to use it to write an app in C#, but a pure Win32-based solution is good enough. Does anybody know of any such library?

Edit: I'm going to update the notes in real-time, and they need not look incredibly fancy.

+2  A: 

Use MusicXML. There is C++ binding.

Rosegarden can export MusicXML to PDF or PS.


You can try to extract relevant code from Rosegarden, although it's very Qt-specific.

Eugene Morozov
+7  A: 
John Feminella
Looks nice, but it seems incredibly complex. I guess generating a C# wrapper around it would mean generating a description file, invoking lilypond, and then draw the results. If nothing better shows up, I might do this.
Try asking the lilypond-user mailing list. They can probably help you with more specific advice.
John Feminella
LilyPond is indeed well scriptable, but is definitely not real time (also it IS incredibly fancy :)).
+1  A: 

You can try that:

It's a simple library written in C# for displaying notes. It is limited to only one stave but it supports many voices on one stave. The input format is MusicXml but you can add notes programatically too.

Here is an article about PSAM Control Library on CodeProject:

Jacek Salamon