Skip to content

Conversation

@kaixoo12
Copy link

@kaixoo12 kaixoo12 commented Dec 27, 2025

This is a conversation starter and a proposal of what detaching Muse framework from MuseScore can look like.

⚠ As implemented here, the current approach does NOT work. There are still some minor fixes WIP. This is only a PROPOSAL to gather feedback. If this change attracts interest from the MuseScore team, I will complete the PR myself.

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, cloud and midi. 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

  • I signed the CLA
  • The title of the PR describes the problem it addresses
  • Each commit's message describes its purpose and effects, and references the issue it resolves
  • If changes are extensive, there is a sequence of easily reviewable commits
  • The code in the PR follows the coding rules
  • There are no unnecessary changes
  • The code compiles and runs on my machine, preferably after each commit individually
  • I created a unit test or vtest to verify the changes I made (if applicable)

@kaixoo12 kaixoo12 force-pushed the detach-muse-framework branch from 6d08243 to 375d89b Compare December 27, 2025 12:45
@igorkorsukov
Copy link
Contributor

Thank you for your suggestion.
We're planning to split the framework into a separate repository. We'll do that soon.

@kaixoo12
Copy link
Author

kaixoo12 commented Jan 7, 2026

Good! Can I help?

@cbjeukendrup
Copy link
Member

Not really, we need to do it ourselves, and the timing has to be coordinated with both MuseScore's and Audacity's (release) planning.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants