Progress bar during load

• Jun 9, 2012 - 22:54
Reported version
3.0
Type
Functional
Severity
S5 - Suggestion
Status
active
Project

1. Goto here .
2. 'Download'.
3. Choose 'MusicXML'.
4. Open MusicXML.

Result: Takes longer to open than a shorter score.

Discussion: Can there be a progress bar?

Using MuseScore 2.0 Nightly Build (0988848) - Mac 10.7.4.


Comments

This request is very valid, as normal user interface standards suggest a progress bar for any operation that takes longer than a few seconds. Loading complicated MusicXML files can easily take a lot longer.

The practical issue here is that most of the MusicXML import time (something like 80%) is in XML schema validation (which I'd rather not disable, as it still catches many file errors). Unfortunately, the GUI toolkit used to build MuseScore (Qt) does enable us to do schema validation (using QXmlSchemaValidator), but does not provide any way of displaying progress.

Practically this means we can:
- remove / disable MusicXML schema validation
- submit a request and wait for a Qt version that does allow progress reporting while validating
- customize (this part of) Qt specifically for MuseScore
- switch to a different XML validator that does allow progress reporting while validating

Neither of these alternatives easily leads to a solution. Furthermore, I am not aware of any available open source C++ toolkit that provides XML schema validation with progress reporting (and I spent several days searching).

Reported version 2.1 3.0

I second this feature request. Not just for MusicXML, but for all types that can be imported (including midi and mscz)

Regarding MusicXML schema validation time, how about to first have a message: "Verifying MusicXML schema..." that gets appended with "Done", so at least user knows what is going on (even though can't report progress on that). Then can have a progress bar for each stage of MuseScore processing that we can quantitatively report progress.

I second the use of a separate thread. Additionally, if user opens multiple scores at the same time (sometimes I drag and drop multiple midi files or multiple scores from my file manager into MuseScore), then it would be great if each could be processed in its own thread (maybe max of nCPUs threads).

Tags View Changes

Even opening big mscz files leads to hangs. It is very noticeable in Debug mode. I would add the progress bar after 2 seconds of loading to not bother users with blinking widgets if opening is fast enough.