Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a conversation starter and a proposal of what detaching Muse framework from MuseScore can look like.
To reviewers
Don't be scared by the large amount of changes. That is due to the removal of the
framework/folder, which is contained in a single commit. The actual changes are in the second commit.The motivation
Muse framework is a very flexible UI framework that is currently used by MuseScore and Audacity but that has a lot of potential for a lot more applications, for instance my own Advanced Effects application.
Currently the Framework is developed alongside MuseScore's source code. That was a fine approach as a start. However, as more applications like Audacity adopt the framework, it makes it harder to use and maintain.
Current approach
The current approach is to keep a mirror at framework_temp repository. However, that approach requires extra time and prevents Audacity developers from contributing to the Framework.
When an Audacity dev needs a change to be done in the Framework, he has to first fork MuseScore and get the change done there, then he needs to wait before the new Framework version is updated at the mirror.
Proposed approach
Maintain Framework separately in another repository. This framework is less-Musescore specific and perhaps a little bit more inconvenient to MuseScore developers used to the current approach.
In turn, you get an extremely high-quality and versatile framework that can be used by thousands of creative open-source applications.
You can see the Muse framework mirror I maintain and how I adapted it. I also wrote a tutorial application that uses the framework. I am more focused on Advanced Effects, you can also check that to see how I implemented the Framework.
This version of the framework has been stripped of its MuseScore-specific modules like
audio,vst,musesampler,cloudandmidi. These will have to be moved to the MuseScore source. If Audacity or more applications can use them, maybe they could be turned into a separate library too!Links
Compliance