MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
Go to file
+merlan #flirora 1d8fbff540 Add support for additional tools
This adds the following:

* A `compile_commands` target for the ninja_build.sh script.
  This generates a `compile_commands.json` file, which is used
  by tools such as clangd, in a new target directory called
  `build.tooldata`. Unity builds must be disabled for the database
  to be complete; see [this Discord comment by Casper Jeukendrup](https://discord.com/channels/818804595450445834/939880479887327302/1001483416753143818)
  for more info.
* Additionally, a configuration file for clangd has been created
  to tell it to find the file in the `build.tooldata` directory.
* Add a one-line change to the workspace settings for VSCode,
  telling it where to find the Uncrustify config.
2023-07-24 11:30:22 +03:00
.github [ci] fixed vtest compare exit code on CI 2023-07-17 11:19:36 +03:00
.tx Update transifex domain 2023-05-05 23:43:55 +02:00
.vscode Add support for additional tools 2023-07-24 11:30:22 +03:00
build added vtest as gtest 2023-07-12 22:07:55 +03:00
demos updated tests and templates mscx files 2021-12-16 11:46:22 +03:00
doc Update transifex domain 2023-05-05 23:43:55 +02:00
fonts Revert "X and <> symbols changed for tabs" 2023-07-18 14:06:21 +02:00
hooks Uncrustify: Faster pre-commit hook to fix code style 2023-04-10 12:52:37 +01:00
sandbox removed config.h 2023-02-14 15:51:40 +02:00
share Run lupdate 2023-07-23 12:03:19 +00:00
src fix #18715: don't consider linked spanners as overlapping 2023-07-21 16:54:19 +03:00
test Spelling (#11566) 2022-05-15 16:35:32 +02:00
thirdparty Fix gcc compiler warning 2023-06-22 13:35:21 +03:00
tools Add 2 Couperin ornaments 2023-05-11 02:16:04 +02:00
vtest Merge pull request #18438 from mike-spa/fixTrillCueNoteBugs 2023-07-20 15:03:15 +03:00
.clangd Add support for additional tools 2023-07-24 11:30:22 +03:00
.git-blame-ignore-revs Update .git-blame-ignore-revs 2021-04-19 22:29:45 +02:00
.gitattributes ONE BUILD SCRIPT TO RULE THEM ALL! 2021-03-05 12:30:31 +02:00
.gitignore Add support for additional tools 2023-07-24 11:30:22 +03:00
CMakeLists.txt Enable to not bundle qt qml files in installation 2023-07-17 16:46:59 +03:00
CMakeSettings.json renamed some cmake project options 2023-02-14 15:51:40 +02:00
CONTRIBUTING.md fix #124416: Add Contributing.md 2021-05-13 16:18:43 +01:00
Compatibility enhanced 1.2 import 2012-08-23 12:28:27 +02:00
Doxyfile.plugins Spelling (#11566) 2022-05-15 16:35:32 +02:00
LICENSE.GPL Updating copyright to 2023 2023-01-05 19:20:47 +01:00
README.md Adjust README Testing section 2023-06-22 12:27:46 +02:00
SetupConfigure.cmake Ignore unstable(alfa/beta/rc) versions for stable releases 2023-06-29 14:12:48 +03:00
build.cmake renamed some cmake project options 2023-02-14 15:51:40 +02:00
mscore3.txt Spelling (#11566) 2022-05-15 16:35:32 +02:00
msvc_build.bat removed config.h 2023-02-14 15:51:40 +02:00
ninja_build.bat added Windows CI build with ninja 2021-01-12 16:53:03 +02:00
ninja_build.sh Add support for additional tools 2023-07-24 11:30:22 +03:00
version.cmake master is now 4.2.0 2023-06-21 18:12:57 +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 Compilation section of the 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 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 the Unit tests section of the 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.