MuseScore/README.md

132 lines
5.1 KiB
Markdown
Raw Normal View History

2018-02-17 18:57:49 +01:00
![MuseScore](mscore/data/musescore_logo_full.png)
2017-10-20 02:29:39 +02:00
Music notation and composition software
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
* WYSIWYG design, notes are entered on a "virtual notepaper"
* TrueType font(s) for printing & display allows for high quality scaling to all sizes
2018-02-17 18:57:49 +01:00
* Easy & fast note entry
* Many editing functions
2013-09-30 10:14:15 +02:00
* MusicXML import/export
2018-02-17 18:57:49 +01:00
* MIDI (SMF) import/export
2013-09-30 10:14:15 +02:00
* MuseData import
2018-02-17 18:57:49 +01:00
* 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
* [MuseScore Homepage](https://musescore.org)
2017-04-21 10:01:28 +02:00
* [MuseScore Git workflow instructions](https://musescore.org/en/developers-handbook/git-workflow).
* [How to compile MuseScore?](https://musescore.org/en/developers-handbook/compilation)
2013-09-30 10:14:15 +02:00
## License
MuseScore is licensed under GPL version 2.0. See LICENSE.GPL in the same directory.
## Packages
* **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.
* **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
* **awl** Audio Widget Library, from the MusE project
* **build** Utility files for build
* **bww2mxml** Command line tool to convert BWW files to MusicXML. BWW parser is used by MuseScore to import BWW files.
* **demos** A few MuseScore files to demonstrate what can be done
* **fluid** Clone of [FluidSynth](https://sourceforge.net/projects/fluidsynth/), ported to C++ and customized
2013-09-30 10:14:15 +02:00
* **fonts** Contains fontforge source (sfd) + ttf/otf fonts. MuseScore includes the "Emmentaler" font from the Lilypond project.
2013-08-13 16:38:48 +02:00
* **libmscore** Data model of MuseScore
* **mscore** Main code for the MuseScore UI
* **msynth** Abstract interface to Fluid + Aeolus
* **mtest** Unit testing using QTest
* **omr** Optical music recognition
* **share** Files moved to /usr/share/... on install
* **test** Old tests. Should move to mtest
* **vtest** Visual tests. Compare reference images with current implementation
* **thirdparty** Contains projects which are included for convenience, usually to integrate them into the build system to make them available for all supported platforms.
* **thirdparty/rtf2html**
Used for capella import
* **thirdparty/dtl**
Used for the score comparison tool. [Diff Template Library](https://github.com/cubicdaiya/dtl)
* **thirdparty/ofqf**
OSC server interface. Based on [OSC for Qt4](http://www.arnoldarts.de/projects/ofqf/)
* **thirdparty/singleapp**
2017-04-21 10:01:28 +02:00
Clone from [Qt Single Application](https://github.com/qtproject/qt-solutions/tree/master/qtsingleapplication)
* **thirdparty/portmidi**
Clone from [PortMidi](https://sourceforge.net/projects/portmedia/)
* **thirdparty/beatroot**
It's a core part of BeatRoot Vamp Plugin by Simon Dixon and Chris Cannam,
used in MIDI import for beat detection. (https://code.soundsoftware.ac.uk/projects/beatroot-vamp/repository)
2013-09-30 10:14:15 +02:00
## Building
**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
### Getting sources
If using git to download repo of entire code history, type:
2013-12-31 10:52:04 +01:00
git clone https://github.com/musescore/MuseScore.git
cd MuseScore
2013-09-30 10:14:15 +02:00
2018-02-17 18:57:49 +01:00
Otherwise, you can just download the latest source release tarball from https://github.com/musescore/MuseScore/releases, and then from your download directory type:
2013-12-31 10:52:04 +01:00
tar xzf MuseScore-x.x.x.tar.gz
cd MuseScore-x.x.x
2013-09-30 10:14:15 +02:00
### Release Build
To compile MuseScore, type:
2013-09-30 10:14:15 +02:00
make release
2013-12-31 10:52:04 +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
### Running
To start MuseScore, type:
2013-09-30 10:14:15 +02: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.
### Installing
To install to default prefix using root user, type:
2013-09-30 10:14:15 +02:00
sudo make install
2013-09-30 10:14:15 +02: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
To run the debug version, type:
2013-09-30 10:14:15 +02:00
./build.debug/mscore/mscore
2013-09-30 10:14:15 +02:00
### Testing
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!