ABC plugin not working on macOS 10.14 or later

• Apr 7, 2020 - 09:51
Reported version
3.4
Type
Plugins
Frequency
Few
Severity
S3 - Major
Reproducibility
Always
Status
closed
Regression
No
Workaround
Yes
Project

ABC input plugin is not working on 3.4.2.25137.

Since the latest update the ABC input plugin is not working. I have tried reloading the plugin and reinstalling Musescore, but neither has worked. I use ABC files from several sources, all of which have been working fine until this latest update. I know this happened back in 2018 but was resolved, but it seams to be back again.


Comments

This is one from Nigel Gatherer's site that I know works fine in previous ABC plugins

X:501
T:Soldier's Joy
S:Various
Z:Nigel Gatherer
M:4/4
L:1/8
K:D
FG | AFDF AFDF | A2 d2 d2 cB | AFDF AFDF | G2 E2 E2
FG | AFDF AFDF | A2 d2 d2 e2 | fafd egec | d2 d2 d2 :|
de | f2 f2 fagf | edcd efge | f2 f2 fagf | edcB A2
de | f2 f2 fagf | edcd efge | fafd egec | d2 d2 d2 :|]

jojo

I coped this from the wim.vree.org site and tried to use it in Musescore with the same result.

X:1
T:Praeludium et Fuga BWV 539
T:Praeludium
C: J.S. Bach
Q:1/4=120
M:4/4
L:1/8
K:Dm
%%score (1 2) 3
V:1
z4d4-|d2^c=Bc4|zD^FA=c4-
&xx2 A A4-|c2 BA G=FED
&A2 xx x xxx|^CDEF G4-
&x xxx z2E2-|G2[E2G2]F4
&E2 x6 |
E4-EA^GA|=B4-BBAB|^c4-cA=Bc|d^cde[d4f4]-|[d4f4-]ffed|c=BA^G ABcA|d8-|
d2d2c4|=B4-B4-|Bdc=Be4-|edc=BA4-|Ac=BAd4-|dfed=b4-|b2a^ga2e2|
f8-|ffed c=BA^G|A3=BTB3A|A4A4-|Ac=BAd2F2-|F2E2c4-|cedcf2A2-|
A2G2e4-|egfea2c2|=B4g4-|g4-g2f2-|f2f2e2d2|^c4z4|zA=B^cd4-|d2^c=Bc4|
zD^FAc4-|c2BA G=FED|^CDEFG4-|G2G2F4-|FE^G=B dfed|^c_BA=G FED^C|D3ETE3D|D8|]
V:2
[D4F4-A4-][F4A4]|[E4G4]-[E4G4]|
xD3-D4-|D4x4|^C4z2C2|A,4D4-|
DD=C=B,C4|D2=B,2E4-|[E4-A4]EA3-|A6A2|=B4z2^G,2|A,2=B,2E,2A,2|z2^F2^G2A2|
=B2B4A2-
&x2E6- | AA^G^FG4-
& E4- E4- | G2x6
& E2z2z2^G2 |
A4zGFE|D4zc=BA |x6[e2^g2]-
&^G4z2d2 |[e2g2]x4c2-
&c4z2A2- |cedc =BA^GA
&A2x2 x4 |
=B4z2D2|C2F2E2D2-|D2C2F4-|F4z2D2-|D2C2A4-|A4z2F2-|
F2E2c4-|c4z2A2-|A2G2zfed| x6d2
& ed^ceA4-|_B4-B4-
&A2A2G4-|B2z6
&G2AG AGFE|xA3-A4
& F4-F4|[E4G4]-[E4G4]|
x3A-A4-
&xD3-D4-|A2G2x4
&D4 x4|x6E2-
&x4z2C2|E2E2D4-|Dxx2x4|x2z2z2=G,2|F,2B,2A,4|[F,8A,8]|]
V:3 clef=bass
D,4-D,D,^C,D,|E,4-E,E,D,E,|^F,4-F,D,E,F,|G,^F,G,A,B,4-|B,4-B,B,A,G,|F,E,D,^C, D,E,F,G,|
A,2E,2A,4-|A,2^G,^F,G,4|zA,,^C,E,=G,4-
&xA,,3x4|G,2F,E, D,=C,=B,,A,,|^G,,A,,=B,,C,D,4-|D,2D,2C,4-|C,E,D,C, =B,,A,,^G,,^F,,|
^G,,A,,=B,,G,, A,,B,,C,D,|E,4-E,E,D,E,|C,4-C,C,D,E,|F,4-F,E,D,C,|=B,,4-=B,,B,,C,D,|E,4-E,D,C,=B,,|A,,^G,,A,,=B,, C,A,,B,,C,|
D,C,D,E, F,D,E,F,|^G,,2^G,2A,2=B,2
&x6 E,2|A,6^G,2
&F,2D,2E,4|A,4- x4
&A,,4A,A,=G,A,|=B,4-=B,B,A,B,|C2C,2zC=B,C|D4-DDCD|
E2E,2zEDE|F4-FFEF|GFED ED^C=B,|^C2A,2DD,E,F,|G,F,G,A, B,A,B,G,|A,G,A,=B, ^CA,B,C|D2D,2-D,D,^C,D,|E,4-E,E,D,E,|
^F,4-F,D,E,F,|G,^F,G,A,B,4-|B,4-B,B,A,G,|A,4-A,4
&F,E,D,^C, D,E,F,D,|z2=B,,2E,4-
&^G,,6G,,2 |E,2x4E,2
&A,,2^C,2D,2A,,2|D,6^C,2
&B,,2G,,2A,,4|D,8
&D,,8|]

Attachment Size
Screenshot 2020-04-07 at 11.16.48.png 133 KB

The plugin hasn't changed though. So it got to be the backend, and that is not under our control, as far as i can tell.
Edit: actually it is under our control, @Anatoly_os's to be exact.

Jojo. I took Nigel's Soldier's Joy ABC and put it through the Nicolas Froment's online ABC to MusicXml converter, which gave me the attached Xml file. I was able to open this file in MuseScore with no problem. Hope this might be of some help.

The online site also states that "Willem Vree's command-line abc2xml tool converts from abc to MusicXML files. It serves as the basis for Nicolas Froment's web-based abc to MusicXML converter"

Also from the online converter website it links back to the ABC plugin for Musescore which states : "The plugin requires Internet access since it calls the ABC2XML webservice to convert the submitted ABC code to MusicXML and then opens the MusicXML file in MuseScore"

Attachment Size
file.xml 26.46 KB

JoJo

I have been using the online website abc2xml, this morning, to take a variety of abc files and creating a file.xml, which I am then able to open in Musescore without any problems, which is effectively what the ABC plugin should do.

I am inclined to think that the failure of the ABC plugin is more to do with the new revision of MuseScore's handling of the ABC plugin, as previous to that revision I had been using the ABC plugin on a regularly basis and it was working fine.
I remember a couple of years back a similar problem, with a revision of Musescore which was resolved, but cannot remember just what that entailed but it did cure this problem.

Status active needs info

I can't reproduce then. As said, both ABC 'file', copy/pasted onto the ABC plugin work fine for me

Can you attach that 'invalid' xml file here?
What does 'Show details' show?
You're on a Mac? What version exactly?

In reply to by Jojo-Schmitz

Jojo

I am not sure what you are asking for? I have cut and pasted Soldier's Joy that I posted above into Musescore and still get the message see screenshot below, with "Show details" I then pasted the same file into the online abc2xml and generated the below file.xml. That file opened fine in MuseScore without any errors.

I am using Mac with OS Mojave version 10.14.6

Hope that helps

Attachment Size
file.xml 26.46 KB
Screenshot 2020-04-08 at 15.56.02.png 120.04 KB
Title ABC Input plugin not working on 3.4.2.25137 ABC Input plugin not working on 3.4.2.25137 (macOS 10.14.6)
Status needs info active

So the conversion worked, your file.xml is OK. Question is why the plugin gives that error message then, and only to you, but not to me?
Maybe it reads it too early, before it has been fully written to disk (hence that premature end of document in line 1, column 0, which indicates a 0 bytes filesize)?

Also why is it called my_file.xml in the dialog, but file.xml on your attachment, is it really the same file?

Status active needs info

Ah, no, I don't want the ABC that website generates (we know that this works), but the one MuseScore complains about, that "my_file.xml". Is it really 0 bytes in size?

That's the mscz MuseScore creates from the broken/empty xml (and of course that score is then blank), I need the xml. In the very moment you get that error message it should be exactly at the place that error message claims it to be. Actually it should be there permanently, the plugin does not delete it as far as I can tell (and it does not on Windows)

Workaround No Yes

JoJo
I have rolled back to OS High Sierra and the ABC Plugin is now working fine. If I understand correctly all versions of Mac OS after High Sierra does not run older software code, something to do with 32 byte v 64 byte coding I think . A lot of my older programs will not run on the newer OS.
As the plugin coding is not under the control of MuseScore then unless the code is updated, the only way is for anyone, with the newer Mac OS, to be able to input ABC into MuseScore is for them to use the online website abc2xml. Then then can convert the abc code into a xml file, which is downloaded to a folder in their MAC and they then can open this xml file in MuseScore.
Maybe need a note about this in the Mac download area to warn about this and give them the workaround.
For me I use this plugin a lot, so I will be sticking with High Sierra OS on my MAC as I prefer the convienance the plugin offers.

Title ABC Input plugin not working on 3.4.2.25137 (macOS 10.14.6) ABC Input plugin not working on 3.4.2 (macOS 10.14 or later)

Surely nor related to 32-bit vs. 64-bit, not in this case, as MuseScore is the same (and still works) and the plugin is basically a script that is just interpreted and executed by MuseScore.
The plugin code is very well under MuseScore's control, the website it calls too, as I found out meanwhile.
But I'm pretty sure neither is the real culprit for this failure, much more likely some new restriction in macOS, like stricter file permissions or firewall rules for communicating with a website outside of the standard Mac web browser.
But maybe MuseScore or the plugin code can get tweaked to work around this apparent macOS issue. As said earlier a developer with a Mac needs to have a look at this.

Title ABC Input plugin not working on 3.4.2 (macOS 10.14 or later) ABC plugin not working on macOS 10.14 or later

So 2 workarounds:

  1. Roll back to a macOS prior to 10.14
  2. Use the webservice directly

In reply to by Jojo-Schmitz

Jojo
I am not that technical but I do not that a lot of older programs will not work with newer OS and the warning that comes up is to contact the software provider, who needs to update their software. This was true for all Adobe software and for Audacity.

Yes agree with the 2 workarounds

Yes, it might have to do with that indeed. Not with the bitness though.
Maybe the plugin needs to get notarized too

Maybe it is sufficient to use "https" rather than "http" to contact that webservice?

Can you try the attached or modify your one to change http to https?

Attachment Size
abc_import.qml 4.56 KB
Workaround Yes No

OS: macOS 10.14, Arch.: x86_64, MuseScore version (64-bit): 3.4.2.25137, revision: 148e43f
and
OS: macOS 10.14, Arch.: x86_64, MuseScore version (64-bit): 3.5.0.26221, revision: 5f82263
"Macbook Pro 2013 Retina"
(additional test of a single character change in the QML code)

  • Can't reproduce the addressed issue by using the posted ABC information.

(please create a new user and try the same thing with the new created one.)

Workaround No Yes

OK, so at least in one case the change to https helps, in several other cases it isn't needed but doesn't harm either, and using https is the way to go anyway, so I guess we have a winner.

Edit: @Andrew47: I take it you mean that development build, that artifact, works, right?
Or do you mean the normal standard 3.4.2?

Can you please confirm whether the fix using https (either by using the modified plugin attach further up or by using the development build I linked to) helped in your case?

Status PR created fixed

Fixed in branch master, commit 4788f9747c

_fix #303495: ABC plugin not working on macOS 10.14 or later + collect_artifacts

by making it using https.
Switch to using https in some other places too._

Fix version
3.5.0