Slow loading and hang on open
I run my computer via a wifi internet connection to network interface with wired ATT network. It is quite fast to load and if I click on a *.mscz file it takes about three seconds for the score to open. I took my computer to my daughter's house and they have same network provider. When I tried to open Musescore, it would not open for several tries and clicking on an *.mscz file was futile. Eventually it imporved but slow connection. Is there anything in the load that forces a network call of some kind that needs to time out before the program opens.
Comments
Upon startup, MuseScore tries to locate a (default) printer in order to set the page size for printing. Printers that are unavailable, or on a network, can slow things.
In reply to Upon startup, MuseScore… by Jm6stringer
That appears to be an issue because when at a location where I have not printer available that would explain it. I thought Ihad at least a pdf printer setup. Would that work. Also is there a setting on Musescore to ignore the printer search until needed.
In reply to That appears to be an issue… by msokol
The issue is with which your default printer is (in your OS settings). So, just change the default to the PDF.
The default printer is used to determine your preferred page size. MuseScore 4 will use a different method for that, so this issue will go away soon.
In reply to The issue is with which your… by Marc Sabatella
Not really an issue since I rarely work anywhere but home. Since I have your attention can you inform me as to whether the user interface for mouse activity on WIndows systems follows the Windows API protocols. Can't get some emulated mouse click code to work in a scripting application active on an open score even though mouse cursor positioning does work.
In reply to Not really an issue since I… by msokol
I don't have any insight into the details of input processing, but of course, MuseScore is open source, so you're welcome to poke around for yourself. And also, ask question on the Discord channel for development, which is the place the developers are most likely to see it. Although they are understandably pretty busy right now and might not respond until after 4.0 releases in a couple of weeks or so!
In reply to Not really an issue since I… by msokol
Mouse input is received via the Qt libraries, but I assume they use pretty much the standard windows API for their windows implementation, yes.
In reply to Mouse input is received via… by jeetee
One thing that might be relevant is whether the operating in question uses mouse down, mouse up, or "click" events. I know they can potentially be handled differently, and MuseScore might use different events in different contexts. I don't know more than that :-)
In reply to One thing that might be… by Marc Sabatella
If you hold the mouse button down on the playback arror nothing happens until the release so it is up action that is detected. In the emulation there is no click so you do a mouse down followed by a mouse up to simulate the click. I realized that QT application was used by looking at code as you suggested and as others have noted so the issue is what their library of code actually does to intercept mouse activity. Would have thought however it would be WIN32 complient. Thankf for the suggestions.
In reply to Mouse input is received via… by jeetee
One would think so but no. Physically using the mouse the playback arrow responds to the button release or up action as evidenced by holding down the left button and observing that nothing happens until the release. An emulation of a click is done with a down command followed by an up command so WIN32 does issue an up but alas it does not work in my script (VBA in Excel..) althout the cursor positioning commands work.
In reply to One would think so but no. … by msokol
I see no reason why the WIN32 SendInput (assuming you are using SendInput with a MOUSEINPUT payload) down and up events would not be processed as a click. SendInput should place those events directly into the driver stream of messages; so on a level way below Qt detection.
I'm going into guessland now, but perhaps both events are sent too fast? Many drivers contain debounce logic so they don't send signal interference as a real signal. If you simply send a down and up too fast in succession, perhaps the spike gets filtered out?
As a test, you could try sending the down event; then wait a seconds (you should see the button becoming pressed if this works out) and only then send the up event.
In reply to I see no reason why the… by jeetee
I tried a two second wait between the down and the up the other day and that didn't work either. Do not think the script would allow a wait time shorter than 1 second. There are some parameters in my calling funcion all of which are 0 and I do not know what they do and may have some meaning regarding timing. Need to investicate on the VBA side but have not found the correct documentation.