ABC import plugin
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 |
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 |
Do you still have an unanswered question? Please log in first to post your question.
Comments
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.
See #304539: ABC import fails
The current abc_import plugin qml file is entitled abc_import-jt.qml
This is the official link for the abc_import plugin
Somewhere on that page there's a link on the page that takes you here
The qml file can prove challenging to locate so I've attached the current version—which addresses the server issue you reported.
abc_import-jt.qml
In reply to The current abc_import… by scorster
You can find the latest abc_import plugin here on MuseScore.org
Jeetee also added an abc_export plugin here on MuseScore.org
And there's a long list of MuseScore plugins here.
scorster
Even after I fixed an issue with the name and menu path of the plugin for MuseScore 2, I am still getting an error message.
In reply to Even after I fixed an issue… by hoodsmom
What did you use as a basis for your modification?
If your plugin still in still using the non-working service, this error message is to be expected.
The version attached further up is for MuseScore 3
In reply to Even after I fixed an issue… by hoodsmom
Did you actually download the 2.x version from the plugin page linked above?
In reply to Did you actually download… 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 Yes I did. I don't actually… by hoodsmom
No, the
import MuseScore 1.0
is not the problemIn reply to Yes I did. I don't actually… 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 (musescore.jeetee.net) 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 Sorry, but I'm still… by jeetee
Change the name to avoid conflict with the version that comes with MuseScore?
In reply to Sorry, but I'm still… 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 abcnotation.com). 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 The first time I installed… by hoodsmom
You don't need Python at all when using that plugin
In reply to The first time I installed… by hoodsmom
I can confirm the issue, the (slightly modified) plugin for 2.x gives that error on
while the plugin for 3.x just works.
In reply to The first time I installed… by hoodsmom
The version for 1.x fails too
In reply to The first time I installed… by hoodsmom
I'll take a look at the 2.x (and possibly 1.x for Jojo) version in the coming week(s). Since I didn't write those, I assumed them to be correct when taking over the repository.
In reply to I'll take a look at the 2.x … by jeetee
OK, I have a working theory, but no solution.
Facts:
* 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 OK, I have a working theory,… by jeetee
And your server insists on https, even if asked for http (like the 2.x plugin does)?
Ah, wrong, it does indeed do an https connection.
But didn't the old 2.x plugin too?
In reply to And your server insists on… by Jojo-Schmitz
The server by default indeed enforces https; still not sure if this is the root cause, but definitely still a path to investigate.
In reply to The server by default indeed… by jeetee
True, a good path for further investigation
In reply to OK, I have a working theory,… by jeetee
ISTR that even 2.x comes with OpenSSL, i believe it was needed for Save Online
In reply to ISTR that even 2.x comes… 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 I'm betting on an older… 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 I'm betting on an older… by jeetee
And you did indeed change the pluging from http on appspot to https on your server, in https://github.com/jeetee/abc_import/commit/76eeb99d2d20a3d93b5f69e441e…
Not for the MuseScore 1 version, the .js file, though. Might explain the different error message?
There's apparently no OpenSSL part of 1.x anyway
In reply to And you did indeed change… by Jojo-Schmitz
Probably, where MS2 fails on the encryption and doesn't get a response (empty string is used in QML) MS1 does receive a 301 redirect.
In reply to Probably, where MS2 fails on… by jeetee
Ah, yes, of course, that'd explain it
In reply to Ah, yes, of course, that'd… by Jojo-Schmitz
Ok, I think I've got HTTP going for that folder on the server only, so MS1 and 2 should be able to work again.
For MS2 you'll need to download the just released update of the plugin from the project page: https://musescore.org/en/project/abc-import just paste this file over the existing one and restart MuseScore.
In reply to Ok, I think I've got HTTP… by jeetee
MS2 works now, great!
MS1 still fails though, but differently from before:
Content of the xml:
Edit: worked on a subsequent attempt!
In reply to MS2 works now, great! MS1… by Jojo-Schmitz
Apparently the content-type header was missing in your earlier attempt for some reason..
In reply to Apparently the content-type… by jeetee
Maybe some remnant from previous failed attempts, when your server didn't accept http requests. I think the MuseScore 1 version doesn't have that temp file fix, or does it?
In reply to Ok, I think I've got HTTP… by jeetee
Thanks so much for fixing the MS2 plugin and taking over the repository - and for renaming the plugin!