The Score extension needs quite some refactoring.
Here are the current issues:
- the extension is called Score, and seems to have been designed to support multiple notations (Score:45). Arguably it does support lilypond and ABC, where the latter is just converted to the former first.
- the one class solution (Score) is getting out of control, 1177 lines already.
- the dependency on wgUseImageMagick config (ScoreHooks:20-24) is probably not needed anymore after this patch.
- there are no tests.
- separate the actual rendering of images/audios of different notation languages from other concerns like checking for existing generated files and generating final html (whether on success or failure).
- add some tests (probably unit tests are enough, but having one end-to-end test per supported notation might also be a good idea to check that lilypond and abc2ly do not break due to versioning?)