MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
Find a file
RomanPudashkin c7050ad6b3
Merge pull request #14972 from iwoithe/remove-unused-code-main-wasm
Remove unused Component.onCompleted
2022-12-20 12:54:45 +02:00
.github Issue templates: add link to Muse Hub issue tracker 2022-12-18 04:26:26 +01:00
.tx Add the "instruments" resource to .tx/config 2022-07-30 03:56:19 +02:00
.vscode
build Fixed S3 configs 2022-11-18 19:40:02 +02:00
demos
doc
fonts Fix #13761: Implement Lyrics Properties in Inspector 2022-10-17 11:24:53 +05:30
hooks
mtest
rdoc
sandbox [engraving] restructured engraving fonts 2022-07-26 09:48:58 +02:00
share Add ability to skip certain instruments in update_instruments_xml.py 2022-12-15 00:12:37 +00:00
src Merge pull request #14972 from iwoithe/remove-unused-code-main-wasm 2022-12-20 12:54:45 +02:00
test
thirdparty cmake - intinsics fixes, only compile SSE source with SSE flags on non-windows when target use runtime check. For windows we only use /arch flag when target is presumed to support SSE to avoid AVX function pollution. 2022-10-17 20:47:48 +01:00
tools Updating build script for lrelease 2022-10-12 14:46:34 +02:00
vtest Merge pull request #14086 from mike-spa/invisibleChordBugFix 2022-12-15 10:07:04 +02:00
.git-blame-ignore-revs
.gitattributes
.gitignore Updated git ignore file 2022-10-06 10:01:58 +01:00
build.cmake
CMakeLists.txt added run lrelase option to cmake project 2022-10-24 22:12:15 +03:00
CMakeSettings.json
Compatibility
config.cmake Fixed generating build number 2022-11-01 14:53:02 +02:00
CONTRIBUTING.md
Doxyfile.plugins
LICENSE.GPL
LICENSE.rtf
mscore3.txt
msvc_build.bat
ninja_build.bat
ninja_build.sh added run lrelase option to cmake project 2022-10-24 22:12:15 +03:00
README.md

MuseScore

Music notation and composition software

License: GPL v3

MuseScore 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
  • MuseData import
  • MIDI input for note entry
  • Integrated sequencer and software synthesizer to play the score
  • Print or create pdf files

More info

License

MuseScore is licensed under GPL version 3.0. See LICENSE.GPL in the same directory.

Packages

See Code Structure on Wiki

Building

Read the developer handbook 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 https://github.com/musescore/MuseScore.git
cd MuseScore

Otherwise, you can just download the latest source release tarball from the Releases page, 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 for release, type:

cmake -P build.cmake -DCMAKE_BUILD_TYPE=Release

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, 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 mtest/README.md or the developer handbook for instructions on how to run the test suite.

The new script testing facility is also available to create your own automated tests. Please try it out!

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.