ABC import plugin

• Aug 10, 2022 - 17:29

I'm getting this error when I try to use the ABC import plug in:
File 'C:/Users/Chuck Boren III/AppData/Local/Temp/my_file.xml' is not a valid MusicXML file
How do I correct this error?

Attachment Size
my_file.xml 323 bytes


The old plugin stopped working due to a change in the server that hosts the converter. Go to Download / Plugins from this site and grab the new version of the plugin.

In reply to by jeetee

Yes I did. I don't actually know a lot about programming, but I have been able to do a little fixing and creating of MuseScore 2 plugins by copying the work of others. The 2.x version had an obvious defect in the line pointing to the menuPath, which I was able to fix with a little editing and renaming of the plugin itself, but even after fixing that, it still didn't work. I think the problem might be that the xml document created by the new webservice has a flaw.

import QtQuick 2.1
import QtQuick.Dialogs 1.0
import QtQuick.Controls 1.0
import MuseScore 1.0
import FileIO 1.0

MuseScore {
menuPath: "Plugins.ABC Import" <-- all I changed was this + the name of the plugin

See the 2nd screenshot in my original post, but the error message is
fatal error: line 1 column 0 premature end of document

In reply to by hoodsmom

Sorry, but I'm still confused about what you think the "obvious defect" is in the menuPath line? It seems perfectly fine to me?

So assuming you did run that version of the plugin, and it thus is using the correct webservice ( then a possible reason for getting a 500 is that you've crashed the underlying convertor. This for example can happen if your input was not considered a valid ABC file.
So please attach the ABC you're trying to convert here to this topic for inspection.

In reply to by jeetee

The first time I installed the plugin "as is," it didn't show up under the plugin menu - it showed up elsewhere on the menubar and it had a right pointing arrowhead and x after the name of the plugin. But now it's showing up properly "as is", although renaming it so as not to conflict with the built-in plugin seems like a good idea. Attached is the abc I just tried to convert (just cut and pasted a sample from I know for sure MuseScore connected to the new server bc I have a security program that requires me to give permission to unfamiliar connections and I could see the connection being made to the new server. This time I fished the xml document out of var/folders etc. and it's a 0-byte blank document. I have a pretty old computer - I assume I don't need a particular version of Python, do I?

In reply to by jeetee

OK, I have a working theory, but no solution.

* Testing with 2.3.2 PortableApp
* Logging the XMLHttpRequest response shows that it is empty
* There are no entries in the error.log of the server
* There are no entries in the access.log of the server
* We know the ABC is valid
* We know the server can convert it, as this works for 3.6.2

All of the above leads to the conclusion/assumption that the older versions simply can't send the request to the server. Add to this that, from what the internet seems to remember, Qt 5.4 (as used when building 2.3.2) did not bundle OpenSSL. I thus suspect the XMLHttpRequest object shipped with it is unable to set up an https connection according to todays required security levels.

If this is true, I might look into enabling plain http access to the server, if that'd be possible and allowed within my hosting plan (which I'm unsure about; there has been a recent push to https from hosting and browser vendors alike).

In reply to by Jojo-Schmitz

I'm betting on an older encryption level version. I've WireSharked both versions of MuseScore running the plugin and where MS3 sends the Application Data right after the Handshake is done (which ends with a "Change Cipher Spec" message from the server) MS2 instead sends a Reset/Abort as a reaction to the Change Cipher Spec message.

Let's see if I can get HTTP mode enabled on the server (currently it throws 301 redirects to the https variant) to remedy this.

In reply to by jeetee

Possible, if MuseScore 2 came with OpenSSL (which I still pretty sure to be the case, in its bin folder there is libeay32.dll and ssleay32.dll) then quite certainly with an older version (here OpenSSL 1.0.1j in 2.3.2 vs. 1.0.2n in 43.6.2).
Also unclears is whether the qml stuff properly interacts with OpenSSL

In reply to by jeetee

MS2 works now, great!
MS1 still fails though, but differently from before:

Content of the xml:

<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>500 Server Error</title>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Server Error</h1>
<h2>The server encountered an error and could not complete your request.<p>Please try again in 30 seconds.</h2>

Edit: worked on a subsequent attempt!

Do you still have an unanswered question? Please log in first to post your question.