# Lomse: A free open source library for rendering music scores

[![Build and Test](https://github.com/lenmus/lomse/actions/workflows/build-PR.yml/badge.svg)](https://github.com/lenmus/lomse/actions/workflows/build-PR.yml)
[![Appveyor](https://ci.appveyor.com/api/projects/status/m0sbs3tkwvnih9bl/branch/master?svg=true)](https://ci.appveyor.com/project/cecilios/lomse-aai68/branch/master)
[![Coverity Scan](https://img.shields.io/coverity/scan/16694.svg)](https://scan.coverity.com/projects/lenmus-lomse)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://lenmus.github.io/lomse/page-library-license.html)


Lomse objective is provide software developers with a library to add capabilities to any program for rendering, editing and playing back music scores. It is written in C++ and it is free open source and platform independent. Lomse stands for *LenMus Open Music Score Edition Library*.



## License
Lomse is distributed under the MIT license, a permissive open source license to allow Lomse to be used in any projects, whether open source or proprietary. This license is a GPL compatible license, so you can use Lomse in GPL licensed projects.

For details, see file [LICENSE](LICENSE).



## Features

* Platform independent.
* Can be safely used in commercial closed source projects.
* MusicXML import / export.
* [LDP](https://lenmus.github.io/ldp/) import / export.
* Rendering in two formats: as SVG (text stream) and as images on provided memory (bitmap, window buffer, etc.).
* Rendition of full documents (paragraphs, tables, lists, scores, images, etc.). Limited support.
* Support for score playback, by generating *MIDI events* in real time
* Support for visual tracking effects (i.e. moving cursor) during playback in sync. with MIDI events or with external player.
* Support for music scores edition.
* Music rendition is based on fonts compliant with the Standard Music Font Layout (SMuFL) [specification](https://www.smufl.org/).


## Installation and documentation:
- [Installation](https://github.com/lenmus/lomse/wiki/Installation)
- [API Documentation](https://lenmus.github.io/lomse/)
- [Lomse Wiki](https://github.com/lenmus/lomse/wiki)
- [Tutorials](https://github.com/lenmus/lomse/tree/master/examples/tutorials)


## Contributing

If you would like to contribute or to join this project, you are welcome. The project has no commercial aim and all contributions are welcomed!

By contributing to the Lomse repository through pull-request, comment,
or otherwise, the contributor releases their content to the
license and copyright terms as described in the [LICENSE](LICENSE).
Each contributor holds copyright over their contributions to Lomse.

Read [Contributing](CONTRIBUTING.md) for information about how to contribute.



## Help, bug reports and feedback

Feel free to ask any question or to send feedback and suggestions for improvements. Go to the Lomse [issues page](https://github.com/lenmus/lomse/issues) and create a new issue.

Thanks a lot for helping make Lomse better!


