7bc8ccdef0
Resolves: https://musescore.org/en/node/295531 In an earlier fix for a crash entering fingering with custom text style, I introduced a change to how the textTab() function ("fingering mode") works, so instead of creating a new text element with the same text style as the previous element (which could conceivably be a user style), we create one with the same text style as the *default* text style for that element, and then change the text style later if needed. This fails for sticking because it had no default text style. So this change simply adds one, by overriding Sticking::propertyDefault(). The same previous bug fix also broke expression text a little, because this is actually a staff text, and this process of first creating an element with the default text style and then changing it ends up missing the placement property. So you get an object with expression text style but palcement above. I fix that by special-casing this combination - one of the few places where we create a pseudo element type that is really just a different text style. We formerly did this for system text, but it's a first class element now. Also, RNA is just a different text style on chord symbol, but that goes through a totally different code path, which works correctly already. |
||
---|---|---|
.github | ||
.tx | ||
.vscode | ||
aeolus | ||
assets | ||
audiofile | ||
awl | ||
build | ||
bww2mxml | ||
crashreporter | ||
demos | ||
doc | ||
effects | ||
fluid | ||
fonts | ||
fonttools | ||
libmscore | ||
manual | ||
midi | ||
miditools | ||
mscore | ||
mtest | ||
omr | ||
rdoc | ||
share | ||
synthesizer | ||
test | ||
thirdparty | ||
vtest | ||
zerberus | ||
.appveyor.yml | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
all.cpp | ||
all.h | ||
CMakeLists.txt | ||
CMakeSettings.json | ||
Compatibility | ||
Doxyfile.plugins | ||
LICENSE.GPL | ||
LICENSE.rtf | ||
Makefile | ||
Makefile.mingw | ||
Makefile.osx | ||
mscore3.txt | ||
msvc_build.bat | ||
README.md |
Music notation and composition software
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 2.0. See LICENSE.GPL in the same directory.
Packages
-
aeolus Clone of 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
-
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, ported to C++ and customized
-
fonts Contains fontforge source (sfd) + ttf/otf fonts. MuseScore includes the "Emmentaler" font from the Lilypond project.
-
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
-
thirdparty/ofqf OSC server interface. Based on OSC for Qt4
-
thirdparty/singleapp Clone from Qt Single Application
-
thirdparty/portmidi Clone from PortMidi
-
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)
-
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 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, type:
make release
If something goes wrong, then remove the whole build subdirectory with make clean
and start new with make release
.
Running
To start MuseScore, type:
./build.release/mscore/mscore
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:
sudo make install
Debug Build
A debug version can be built by doing make debug
instead of make release
.
To run the debug version, type:
./build.debug/mscore/mscore
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!