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 563cd5d76d fix #273256, fix #273266: special characters dialog fixes
A number of small issues prevent the special characters dialog
from working properly, especially for chord symbols.
Drag and drop only works with some symbols because FSYMBOL was missing
in the switch statements in dragdrop.cpp.
Text elements can handle drop of FSYMBOL (which is why double-click works),
but they weren't getting to chance during drag&drop.
Fix was just adding those case statements.

For Harmony objects, we also needed to add the handlers
in acceptDrop() and drop() (the latter just passing through to TextBase).
However, accidentals require special handling in Harmony::endEdit() in order to parse.
Code was added recently to do this, but it didn't actually work
(I suspect it did when written, but things changed between then and when it was merged).
I rearranged the code in in Harmony::endEdit() a bit - and added comments to explain.
Basically, setHarmony() needs to be called *after* the back-substitution
(replacing flat with "b", sharp with "#"),
but the back-substitution needs to happen after TextBase::endEdit() finalizes the text
(actually, if it were possible to substitute before, that would be better,
but do to the way the undo records are munged in TextBase::endEdit(),
it seemed to dangerous to even try).
Bottom line: I do the TextBase::endEdit(), then the back-substitution,
then the setHarmony().
I needed to be sure to trigger a layout, which required a startCmd/endCmd pair
(since TextBase::endEdit() already called endCmd).
2019-10-24 12:24:45 -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 stop pushing strings to Transifex 2019-10-22 18:54:06 +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 fix #295675: support RNA without root 2019-10-24 12:24:45 -06:00
fonttools eliminate debug artifacts 2018-12-18 14:55:54 +01:00
libmscore fix #273256, fix #273266: special characters dialog fixes 2019-10-24 12:24:45 -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 #273256, fix #273266: special characters dialog fixes 2019-10-24 12:24:45 -06:00
mtest fix #295957 Pedal continueText not saved 2019-10-23 08:12:19 +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 Add source tag value for the palettes 2019-10-19 11:42:16 +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 fix #279964: bend font not connected to style 2019-10-08 13:45:29 -06: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 fix clang warnings 2019-10-14 19:01: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 revert unnecessary changes in #5375 2019-10-16 00:02:38 +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!