Plugin Manager for MuseScore
Hi everyone,
I'm undergraduate at university of Moratuwa, Sri Lanka in the department of Computer Science and Engineering. I was assigned to implement a Plugin Manager for MuseScore.
The features that I expected to implement are,
App-store like Plugin Manager for MuseScore that provide graphical user interface to
Search for a plugin which is listed in the plugin manger interface,
Browse for existing plugins of MuseScore online,
View existing plugins and discover, (un-)install, (auto-) update plugins.
A web service that provides the MuseScore admins with interfaces to
Manage MuseScore plugins by adding new plugins, adding updates for plugins and removing obsolete plugins,
Notify users about new plugins and updates.
This is my first time developing a project in C++ and Qt and as I’m completely a beginner to this, I need all the help that I can get from the MuseScore community to successfully complete my project.
At this point, Can I know the people who attempted to implement Plugin Manager before. As well can I contact the person who developed the existing plugin manager for MuseScore.
I expect that you all help me through my project.
Thank you.
Gangani Chamika.
Comments
Start on https://musescore.org/en/development, got to https://musescore.org/en/handbook/developers-handbook and build MuseScore from source yourself
Whenever you get stuck, try the developers' irc channel (but not that most are in CET timezone)
Hi Gangani,
Challenging project to say the least and good you are reaching out to the community.
As the one in charge for the musescore.org website, I can tell you that the MuseScore site is built with Drupal 8.4 so if you plan to work out a web service, simply use this Drupal version as well as the contrib modules to your disposal. I can assist you on this matter.
Consider allowing a user to add links to non-musescore-managed plugins. Many plugins are hosted on github, which has a releases API that can be used. That way, the plugin creator can publish updates simply by correctly tagging it on github.
Refer to the apt sources way of working to better understand my angle.
Basically the Plugin Manager would have a list of "repositories" to check for plugins. A fresh installation should include the MuseScore repository (not unlike the list now available at https://musescore.org/plugins). A user would then be free to add additional sources (such as https://github.com/jeetee/MuseScore_TempoChanges/releases/latest ).
When working on the MuseScore service, allow admins to change the owner of a plugin project. A good example is the current HalfTime/DoubleTime plugins, of which the "official" ones are broken and improved versions currently live in an attachment in an issue. The original owner of the plugin seems to no longer be around, leading to users repeatedly asking/reporting that bug.
Simply pointing the link in the musescore repository to the repository of the new owner could make this an easier fix.
[EDIT] See also the very short project description in the ideas for last year's GSoC: https://musescore.org/en/developers-handbook/google-summer-code/ideas-2…
In reply to Consider allowing a user to… by jeetee
Good you are bringing this back toy attention again Jeetee. What we can do this year is extend the plugin content type on this site with deeper GitHub integration, so that the latest tag as well as the development version are made available for download directly from MuseScore.org. Also we can turn plugin pages into wiki-pages so they can become editable by everyone (with track changes obviously). Something on the to-do list.
The existing code that you might draw on is in https://github.com/musescore/MuseScore/blob/master/mscore/pluginManager… and https://github.com/musescore/MuseScore/blob/master/mscore/resourceManag….