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
Marc Sabatella 7bc8ccdef0 fix #295531: unable to enter successive sticking elements
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.
2019-10-10 22:04:41 -06:00
.github Create PR template 2019-09-17 14:12:14 +02:00
.tx Make tours translatable 2018-12-21 23:23:17 +01:00
.vscode add musescore-specific vscode editor settings for linux 2019-08-18 20:41:57 +01:00
aeolus follow up pr #4535: display patches in mixer in order of preset number rather than bank 2019-01-25 21:16:08 +00:00
assets remove the Unix executable attribute from the new assets 2019-08-29 17:40:12 +02:00
audiofile eliminate debug artifacts 2018-12-18 14:55:54 +01:00
awl fix #295121: crazy behaviour of the colorLabel 2019-10-02 14:56:54 +02:00
build Upload latest vtest metadata to vtest.musescore.org 2019-10-03 13:43:19 +02:00
bww2mxml remove RCS IDs from (almost) all files 2018-11-02 23:53:21 +01:00
crashreporter Improve the information sent by crash reporter 2019-04-11 19:12:44 +03:00
demos update demo 2019-04-19 11:22:13 +01:00
doc Fix #286707: add scores and Score.name back to plugin API 2019-06-20 13:48:27 +02:00
effects fix #284660: stepping of RMS spinner in SC4 compressor 2019-02-23 12:15:51 +01:00
fluid fix #291756 explicitly-signed char fluid pitchadj 2019-07-04 19:36:33 -04:00
fonts update to Campania font version 2.005 2019-08-27 08:57:44 -06:00
fonttools eliminate debug artifacts 2018-12-18 14:55:54 +01:00
libmscore fix #295531: unable to enter successive sticking elements 2019-10-10 22:04:41 -06:00
manual Remove the existing offline plugins documentation 2019-03-22 18:14:54 +02:00
midi This commit contains changes required for MuseScore to compile under MSVC with no warnings. 2018-08-03 09:15:42 +02:00
miditools Add single-note dynamics 2019-03-02 18:18:12 +00:00
mscore fix #295531: unable to enter successive sticking elements 2019-10-10 22:04:41 -06:00
mtest Merge pull request #5327 from MarcSabatella/294126-navigate-measure-elements 2019-10-02 15:29:18 +02:00
omr fix compiler error in importpdf 2019-02-18 08:47:21 -05:00
rdoc remove file artifacts from rdoc folder 2015-02-09 11:02:14 +01:00
share Merge pull request #5350 from Howard-C/contrabasses-pitch 2019-10-02 12:32:47 +02:00
synthesizer fix #282165: Mute voice produces note that doesn't stop when overlap present 2019-08-24 01:27:07 -04:00
test fix #11014 Ove import: import of chordnames is wrong 2016-08-01 18:35:41 +02:00
thirdparty fix compiler warnings on Mac 2019-07-12 10:53:42 +02:00
vtest Upload latest vtest metadata to vtest.musescore.org 2019-10-03 13:43:19 +02:00
zerberus fix MSVC/MinGW compiler warnings 2019-07-12 10:53:09 +02:00
.appveyor.yml update Qt on AppVeyor (Windows builds) to 5.12.5 2019-09-17 11:25:46 +02:00
.gitignore add musescore-specific vscode editor settings for linux 2019-08-18 20:41:57 +01:00
.gitmodules Add libcrashreporter-qt 2019-02-25 12:08:14 +03:00
.travis.yml Add new telegram webhook endpoint to travis-ci config 2019-09-04 17:12:16 +02:00
all.cpp remove RCS IDs from (almost) all files 2018-11-02 23:53:21 +01:00
all.h fix #278722: do not delete spanner segments but reuse them 2018-11-26 01:59:02 +02:00
CMakeLists.txt switch master to version 3.3 2019-07-09 12:22:59 +02:00
CMakeSettings.json Support 64-bit compilation 2018-08-23 10:48:56 +02:00
Compatibility enhanced 1.2 import 2012-08-23 12:28:27 +02:00
Doxyfile.plugins Update MuseScore version in plugin docs 2019-10-02 13:08:51 +02:00
LICENSE.GPL update year in the license 2019-01-15 11:21:08 +02:00
LICENSE.rtf update year in the license 2019-01-15 11:21:08 +02:00
Makefile switch master to version 3.3 2019-07-09 12:22:59 +02:00
Makefile.mingw switch master to version 3.3 2019-07-09 12:22:59 +02:00
Makefile.osx switch master to version 3.3 2019-07-09 12:22:59 +02:00
mscore3.txt Extend properties framework for score comparison related needs 2018-10-29 17:04:24 +02:00
msvc_build.bat fix msvc_build.bat script to work with 32-bit builds 2019-08-31 18:39:17 +02:00
README.md fix travis ci readme badge 2019-02-12 07:15:39 -08:00

MuseScore
Music notation and composition software

Travis CI Appveyor License: GPL v2

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.

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!