Skip to content
Casper Jeukendrup edited this page Jan 27, 2023 · 4 revisions

Resources

Places

Internal data

Internal resources are in a binary file, for example icons

Alias IO Access User Access
QRC Read -
Platform Path
Windows :/ (or qrc:// as url)
MacOS :/ (or qrc:// as url)
Linux :/ (or qrc:// as url)

App install path

The default path for installing the program

Alias IO Access User Access
INSTALL Read Private
Platform Path
Windows
MacOS default for released versions is /Applications/, but can be anywhere
Linux for AppImage is like /tmp/.mount_MuseXXXXXX, creating on app run

App data path

Default resources of the program, for example default locale, soundfonts, templates and etc.

Alias IO Access User Access
APPDATA Read Private
Platform Path
Windows
MacOS $INSTALL/mscore/Contents/Resources
Linux $INSTALL/share/MuseScore[Version]

App config path

Path to the program settings file

Alias IO Access User Access
APPCONFIG ReadWrite Private
Platform Path
Windows
MacOS $HOME/Library/Preferences/
Linux $HOME/.config/MuseScore/

User app data

User resources of the program, for example installed locales, plugins, credentials and etc.

Alias IO Access User Access
USERAPPDATA ReadWrite Private
Platform Path
Windows %LOCALAPPDATA%\MuseScore\MuseScore[Version]
MacOS $HOME/Library/Application Support/MuseScore/MuseScore[Version]
Linux $HOME/.local/share/MuseScore/MuseScore[Version]/

User data

User resources, for example user scores, templates and etc.

Alias IO Access User Access
USERDATA ReadWrite Public
Platform Path
Windows
MacOS $HOME/Documents/MuseScore/
Linux $HOME/Documents/MuseScore/

Settings

The configuration file, which stores the program settings

Type Path Change path IO Access MI Sync
default - - - -
user $APPCONFIG/MuseScore[Version].ini no RW yes
user (macOS) $APPCONFIG/org.musescore.MuseScore[Version].plist no RW yes

Locales

Localization files

Type Path Change path IO Access MI Sync
default $APPDATA/locale/ no R no
user $USERAPPDATA/locale/ no RW yes

The locale files cannot be changed, but new ones can be downloaded and replace the current. And also the state file is stored there, it can change while the program is running.

Shortcuts

Shortcuts settings file and midi mapping

Type Path Change path Open Mode MI Sync
default $QRC/shortcuts.xml no R no
user $USERAPPDATA/shortcuts.xml ? RW yes

Midi mapping

Midi mapping settings file

Type Path Change path Open Mode MI Sync
default - - - -
user $USERAPPDATA/midi_mapping.xml ? RW yes

Workspaces

Workspaces settings file

Type Path Change path Open Mode MI Sync
default $APPDATA/workspaces/ no R no
user $USERAPPDATA/workspaces/ no RW yes

Extensions

Type Path Change path Open Mode MI Sync
default - - - -
user $USERAPPDATA/extensions/ ? RW yes

The files cannot be changed, but new ones can be downloaded and replace the current.

Plugins

Type Path Change path Open Mode MI Sync
default - - - -
user $USERAPPDATA/plugins/ ? RW yes

The files cannot be changed, but new ones can be downloaded and replace the current.

Instruments

Instruments settings file

Type Path Change path Open Mode MI Sync
default $APPDATA/instruments/instruments.xml no R no
default $APPDATA/instruments/orders.xml no R no
user ? ? ? ?

Styles

Styles settings files

Type Path Change path Open Mode MI Sync
default $APPDATA/styles/* no R no
user ? ? ? ?

SoundFonts

SoundFonts files

Type Path Change path Open Mode MI Sync
default $APPDATA/sound/ no R no
user ? yes R no

Templates

Templates files

Type Path Change path Open Mode MI Sync
default $APPDATA/templates/* no R no
user ? ? ? ?

Cloud token

Type Path Change path Open Mode MI Sync
user $USERAPPDATA/cred.dat no RW yes

Logs and dumps

Logs and dumps files

Type Path Change path Open Mode MI Sync
user $USERAPPDATA/logs/ no W no
user $USERAPPDATA/logs/dumps/ no W no

Testing

Translation

Compilation

  1. Set up developer environment
  2. Install Qt and Qt Creator
  3. Get MuseScore's source code
  4. Install dependencies
  5. Compile on the command line
  6. Compile in Qt Creator

Beyond compiling

  1. Find your way around the code
  2. Submit a Pull Request
  3. Fix the CI checks

Misc. development

Architecture general

Audio

Engraving

Extensions

Google Summer of Code

References

Clone this wiki locally