# ![MuseScore Studio](share/icons/musescore_logo_full.png) Music notation and composition software [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html) [![Coverage](https://s3.us-east-1.amazonaws.com/extensions.musescore.org/test/code_coverage/coverage_badge.svg?)](https://github.com/musescore/MuseScore/actions/workflows/check_unit_tests.yml) MuseScore Studio is an open source and free music notation software. For support, contribution, and bug reports visit MuseScore.org. Fork and make pull requests! ## Features - 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 - MEI import/export - MuseData import - MIDI input for note entry - Integrated sequencer and software synthesizer to play the score - Print or create PDF files ## More info - [MuseScore Studio Homepage](https://musescore.org) - [MuseScore Studio Git workflow instructions](https://musescore.org/en/developers-handbook/git-workflow) - [How to compile MuseScore Studio?](https://github.com/musescore/MuseScore/wiki/Set-up-developer-environment) ## License MuseScore Studio is licensed under GPL version 3.0. See [license file](https://github.com/musescore/MuseScore/blob/master/LICENSE.txt) in the same directory. ## Packages See [Code Structure on Wiki](https://github.com/musescore/MuseScore/wiki/CodeStructure) ## Building **Read the [Compilation section](https://github.com/musescore/MuseScore/wiki/Set-up-developer-environment) of the [MuseScore Wiki](https://github.com/musescore/MuseScore/wiki) for a complete build walkthrough and a list of dependencies.** ### Getting sources If using git to download repo of entire code history, type: git clone --recurse-submodules https://github.com/musescore/MuseScore.git cd MuseScore (The `--recurse-submodules` ensures that the [`muse_framework`](https://github.com/musescore/muse_framework) git submodule is checked out into the `muse/` subdirectory.) 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: tar xzf MuseScore-x.x.x.tar.gz cd MuseScore-x.x.x ### Release Build To compile MuseScore Studio for release, type: cmake -P build.cmake -DCMAKE_BUILD_TYPE=Release On MacOS, append `-G Ninja` in order to use the `ninja` build tool (which you may need to install), since this is required to compile Swift components. If something goes wrong, append the word "clean" to the above command to delete the build subdirectory: cmake -P build.cmake -DCMAKE_BUILD_TYPE=Release clean Then try running the first command again. ### Running To start MuseScore Studio, type: cmake -P build.cmake -DCMAKE_BUILD_TYPE=Release run Or run the compiled executable directly. ### Debug Build A debug version can be built and run by replacing `-DCMAKE_BUILD_TYPE=Release` with `-DCMAKE_BUILD_TYPE=Debug` in the above commands. If you omit the `-DCMAKE_BUILD_TYPE` option entirely then `RelWithDebInfo` is used by default, as it provides a useful compromise between Release and Debug. ### Testing See the [Unit tests section](https://github.com/musescore/MuseScore/wiki/Unit-tests) of the [MuseScore Studio Wiki](https://github.com/musescore/MuseScore/wiki) for instructions on how to run the test suite. ### 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`.