Lomse features

Lomse is a C++ library for rendering, editing and playing back music scores. It is permisive free open source (BSD 2-clause license) and platform independent. Features:

  • Renderization of full documents (paragraphs, tables, lists, scores, images, etc.) writen in LDP format.
  • Renderization of music scores writen in MusicXML format.
  • Edition of scores. Export as MusicXML or LDP
  • Edition of full documents. Export as LDP
  • Support for play back of scores, by generating "midi events" in real time
  • Support for play back visual effects (i.e. moving cursor) in sync. with midi events
  • Compliant with the Standard Music Font Layout (SMuFL) specification: Music renderization is based on SMuFL compliant fonts

Please be aware that Lomse is a work in progress, not having yet reached version 1.0. This means that the above mentioned features are not fully developed. They are operative but with limitations. In particular, support for music scores is limited, as described in next section. You are welcome to join this non-commercial project.

Summary of currently supported music notation

See regression tests for images of rendered documents.

a) Music symbols

  • All notes and rests, from longa to 256th, both included.
  • accidentals: flat, sharp, natural, double flat and double sharp.
  • chords, cross-staff chords
  • beams, cross-staff beams, auto-beaming
  • all clefs: percussion, G2, G1, F4, F3, C1, C2, C3, C4. All them with 8ve and 15ve up and down.
  • clefs in cue size
  • staves of different sizes in the same score (i.e. cue staves)
  • normal noteheads (whole, white, black) but not other shapes (squared, diamond, cross, etc.)
  • all barlines
  • standard time signatures
  • fermatas
  • ties
  • simple tuplets (but not nested tuples)
  • metronome marks

b) Other symbols

  • graphic lines, with different start/end styles: arrow, circle, diamond, square
  • attached texts

c) Automatic layout

  • multi-metric music
  • scores without time signature
  • page breaks and system breaks automatically computed
  • forced system breaks

Not yet supported

All other and, in particular:

  • braces/brakes for grouping instruments/systems
  • slurs
  • figured bass notations
  • grace/clue notes
  • parenthesis enclosing accidentals
  • lyrics
  • repetition signs (i.e. da capo, to coda, etc.)
  • compound time signatures (i.e. 3/4 + 6/8)
  • dynamics signs (wedges)
  • expression marks (i.e. stacato)
  • instrument dependent marks (i.e. piano pedal)

Last updated: 2015/12/02