MuseScore default saving location is very confusing under Windows Vista

• Apr 19, 2009 - 21:07
Type
Functional
Severity
S4 - Minor
Status
closed
Project

Windows Vista Ultimate 32bit, MuseScore 0.9.4, revision 1753
when saving under Vista, the default location is
C:\Program Files\MuseScore 0.9\

As this is not allowed under Vista's new security policies, the files are actually stored in
C:\Users\Your Name\AppData\Local\VirtualStore\Program Files\MuseScore 0.9

This causes real confusion for normal users.
MuseScore should use the normal Windows API to ask the operating system where "My Documents" is located (similar to $HOME in UNIX), and have this as the default location to save files.


Comments

This a known issue. From what I understand Windows does not actually have an API for accessing the "My Documents" folder and since MuseScore is used in many languages and on many different types of systems it is not simply a matter of saving a simple path location.

As a workaround you can set your own default location. From the Edit menu choose Preferences. Click the folder icon next to "Working Directory" and choose the folder you want MuseScore to use by default.

Windows has several APIs to learn where "My documents" is located, and there are even portable ways to find this out.
Just google for QT and my documents and you will find code such as:

QSettings settings(QSettings::UserScope, "Microsoft", "Windows");
settings.beginGroup("CurrentVersion/Explorer/Shell Folders");
return settings.value("Personal").toString();

You can write portable code that will detect the OS, if linux, then ask KDE / Gnome where "Documents" is located, if Windows then ask the Win32 API (SHGetKnownFolderPath for example, but there are a few others), or use QT (or any other API) to access the registry and read the value straight off where it is stored.

Status (old) active fixed

Rev. 1758 now uses a qt function to determine the "DocumentsLocation" for a user as default path for loading/saving scores. This function is supposed to find the right place for all platforms.