2019-10-15 18:02:38 +02:00
![MuseScore ](mscore/data/musescore_logo_full.png )
Music notation and composition software
2017-10-20 02:29:39 +02:00
2019-02-12 16:15:39 +01:00
[![Travis CI ](https://secure.travis-ci.org/musescore/MuseScore.svg?branch=master )](https://travis-ci.org/musescore/MuseScore)
2018-01-04 16:52:52 +01:00
[![Appveyor ](https://ci.appveyor.com/api/projects/status/bp3ww6v985i64ece/branch/master?svg=true )](https://ci.appveyor.com/project/MuseScore/musescore/branch/master)
2017-10-20 02:29:39 +02:00
[![License: GPL v2 ](https://img.shields.io/badge/License-GPL%20v2-blue.svg )](https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
2013-09-30 10:14:15 +02:00
2018-02-17 18:57:49 +01:00
MuseScore is an open source and free music notation software. For support, contribution, and bug reports visit MuseScore.org. Fork and make pull requests!
2016-09-29 10:08:30 +02:00
2013-09-30 10:14:15 +02:00
## Features
2019-12-19 16:03:34 +01:00
- WYSIWYG design, notes are entered on a "virtual notepaper"
- TrueType font(s) for printing & display allows for high quality scaling to all sizes
- Easy & fast note entry
- Many editing functions
- MusicXML import/export
- MIDI (SMF) import/export
- MuseData import
- MIDI input for note entry
- Integrated sequencer and software synthesizer to play the score
- Print or create pdf files
2013-09-30 10:14:15 +02:00
## More info
2019-12-19 16:03:34 +01:00
- [MuseScore Homepage ](https://musescore.org )
- [MuseScore Git workflow instructions ](https://musescore.org/en/developers-handbook/git-workflow )
- [How to compile MuseScore? ](https://musescore.org/en/developers-handbook/compilation )
2012-05-28 11:04:58 +02:00
2013-09-30 10:14:15 +02:00
## License
2019-10-08 05:39:22 +02:00
MuseScore is licensed under GPL version 2.0. See [LICENSE.GPL ](https://github.com/musescore/MuseScore/blob/master/LICENSE.GPL ) in the same directory.
2013-09-30 10:14:15 +02:00
## Packages
2019-12-19 16:03:34 +01:00
- **aeolus:** Clone of [Aeolus ](http://kokkinizita.linuxaudio.org/linuxaudio/aeolus/ ). Disabled by default in the stable releases. See http://dev-list.musescore.org/Aeolus-Organ-Synth-td7578364.html. Kept as an example of how to integrate with a complex synthesizer.
2012-05-28 11:04:58 +02:00
2019-12-19 16:03:34 +01:00
- **assets:** Graphical assets, use them if you need a MuseScore icon. For logo, color, etc., see https://musescore.org/en/about/logos-and-graphics.
2015-03-21 10:21:22 +01:00
2019-12-19 16:03:34 +01:00
- **awl:** Audio Widget Library, from the MusE project.
2012-05-28 11:04:58 +02:00
2019-12-19 16:03:34 +01:00
- **build:** Utility files for build.
2012-05-28 11:04:58 +02:00
2019-12-19 16:03:34 +01:00
- **bww2mxml:** Command line tool to convert BWW files to MusicXML. BWW parser is used by MuseScore to import BWW files.
2012-05-28 11:04:58 +02:00
2019-12-19 16:03:34 +01:00
- **demos:** A few MuseScore files to demonstrate what can be done.
2012-06-04 21:06:12 +02:00
2019-12-19 16:03:34 +01:00
- **fluid:** Clone of [FluidSynth@sourceforge ](https://sourceforge.net/projects/fluidsynth ), ported to C++ and customized. Code now at [fluidsynth@github ](https://github.com/FluidSynth/fluidsynth ).
2012-05-28 11:04:58 +02:00
2019-12-19 16:03:34 +01:00
- **fonts:** Contains fontforge source (sfd) + ttf/otf fonts. MuseScore includes the "Emmentaler" font from the Lilypond project.
2012-05-28 11:04:58 +02:00
2019-12-19 16:03:34 +01:00
- **libmscore:** Data model of MuseScore.
2012-05-28 11:04:58 +02:00
2019-12-19 16:03:34 +01:00
- **mscore:** Main code for the MuseScore UI.
2012-06-04 21:06:12 +02:00
2019-12-19 16:03:34 +01:00
- **msynth:** Abstract interface to Fluid + Aeolus.
2012-05-28 11:04:58 +02:00
2019-12-19 16:03:34 +01:00
- **mtest:** Unit testing using QTest.
2012-05-28 11:04:58 +02:00
2019-12-19 16:03:34 +01:00
- **omr:** Optical music recognition.
2012-05-28 11:04:58 +02:00
2019-12-19 16:03:34 +01:00
- **share:** Files moved to /usr/share/... on install.
2012-05-28 11:04:58 +02:00
2019-12-19 16:03:34 +01:00
- **test:** Old tests. Should move to mtest.
2012-05-28 11:04:58 +02:00
2019-12-19 16:03:34 +01:00
- **vtest:** Visual tests. Compare reference images with current implementation.
2013-09-28 11:19:51 +02:00
2019-12-19 16:03:34 +01:00
- **thirdparty:** Contains projects which are included for convenience, usually to integrate them into the build system to make them available for all supported platforms.
2012-05-28 11:04:58 +02:00
2019-12-19 16:03:34 +01:00
- **thirdparty/rtf2html:**
Used for capella import. Clone from [rtf2html@sourceforge ](https://sourceforge.net/projects/rtf2html ), code now at [rtf2html@github ](https://github.com/lvu/rtf2html ).
2012-05-28 11:04:58 +02:00
2019-12-19 16:03:34 +01:00
- **thirdparty/dtl:**
Used for the score comparison tool. [Diff Template Library ](https://github.com/cubicdaiya/dtl ).
2012-05-28 11:04:58 +02:00
2019-12-19 16:03:34 +01:00
- **thirdparty/ofqf:**
OSC server interface. Based on [OSC for Qt4 ](http://www.arnoldarts.de/projects/ofqf/ ), code now at [ofq@github ](https://github.com/kampfschlaefer/ofq ).
2012-05-28 11:04:58 +02:00
2019-12-19 16:03:34 +01:00
- **thirdparty/singleapp:**
Clone from [Qt Single Application ](https://github.com/qtproject/qt-solutions/tree/master/qtsingleapplication ).
2012-05-28 11:04:58 +02:00
2019-12-19 16:03:34 +01:00
- **thirdparty/portmidi:**
Clone from [PortMidi ](https://sourceforge.net/projects/portmedia/ ).
2016-04-21 14:10:03 +02:00
2019-12-19 16:03:34 +01:00
- **thirdparty/beatroot:**
It's a core part of [BeatRoot Vamp Plugin ](https://code.soundsoftware.ac.uk/projects/beatroot-vamp/repository ) by Simon Dixon and Chris Cannam, used in MIDI import for beat detection.
2013-09-30 10:14:15 +02:00
2020-10-10 18:46:02 +02:00
- **thirdparty/qt-google-analytics:**
Clone from [qt-google-analytics ](https://github.com/HSAnet/qt-google-analytics ).
2013-09-30 10:14:15 +02:00
2016-03-19 15:00:28 +01:00
## Building
2017-04-15 03:32:08 +02:00
**Read the developer handbook for a [complete build walkthrough ](https://musescore.org/en/developers-handbook/compilation ) and a list of dependencies.**
2013-09-30 10:14:15 +02:00
2016-03-19 15:00:28 +01:00
### Getting sources
If using git to download repo of entire code history, type:
2013-12-31 10:52:04 +01:00
2016-03-19 15:00:28 +01:00
git clone https://github.com/musescore/MuseScore.git
cd MuseScore
2013-09-30 10:14:15 +02:00
2019-12-19 16:03:34 +01:00
Otherwise, you can just download the latest source release tarball from the [Releases page ](https://github.com/musescore/MuseScore/releases ), and then from your download directory type:
2013-12-31 10:52:04 +01:00
2016-03-19 15:00:28 +01:00
tar xzf MuseScore-x.x.x.tar.gz
cd MuseScore-x.x.x
2013-09-30 10:14:15 +02:00
2016-03-19 15:00:28 +01:00
### Release Build
To compile MuseScore, type:
2013-09-30 10:14:15 +02:00
2016-03-19 15:00:28 +01:00
make release
2013-12-31 10:52:04 +01:00
2016-03-19 15:00:28 +01:00
If something goes wrong, then remove the whole build subdirectory with `make clean` and start new with `make release` .
2013-09-30 10:14:15 +02:00
2016-03-19 15:00:28 +01:00
### Running
To start MuseScore, type:
2013-09-30 10:14:15 +02:00
2016-03-19 15:00:28 +01:00
./build.release/mscore/mscore
2018-02-17 18:57:49 +01:00
The Start Center window will appear on every invocation until you disable that setting via the "Preferences" dialog.
2016-03-19 15:00:28 +01:00
2016-04-21 14:10:03 +02:00
### Installing
2016-03-19 15:00:28 +01:00
To install to default prefix using root user, type:
2013-09-30 10:14:15 +02:00
2016-03-19 15:00:28 +01:00
sudo make install
2013-09-30 10:14:15 +02:00
2016-03-19 15:00:28 +01:00
### Debug Build
A debug version can be built by doing `make debug` instead of `make release` .
2013-09-30 10:14:15 +02:00
2016-03-19 15:00:28 +01:00
To run the debug version, type:
2013-09-30 10:14:15 +02:00
2016-03-19 15:00:28 +01:00
./build.debug/mscore/mscore
2013-09-30 10:14:15 +02:00
2016-03-19 15:00:28 +01:00
### Testing
2018-12-08 19:44:34 +01:00
See [mtest/README.md ](/mtest/README.md ) or [the developer handbook ](https://musescore.org/handbook/developers-handbook/finding-your-way-around/automated-tests ) for instructions on how to run the test suite.
2019-02-12 16:15:39 +01:00
The new [script testing facility ](https://musescore.org/node/278278 ) is also available to create your own automated tests. Please try it out!
2020-05-29 00:52:22 +02:00
### Code Formatting
Run `./hooks/install.sh` to install a pre-commit hook that will format your staged files. Requires that you install `uncrustify` .
If you have problems, please report them. To uninstall, run `./hooks/uninstall.sh` .