Plug ins

• Sep 5, 2008 - 21:07

Hi, I'm a new Muse Score user in the UK. I think the software has huge potential and I absolutely adore the way the arrow keys move notes chromatically-very time-saving. I'm also impressed by Muse Score's ability to as PDF or XML. Out of sheer curiosity, I timed how quickly Muse Score loaded ready for use. An amazing 2 seconds. ( A certain commercially available programme takes 27 seconds ! and good as that program is, it still can't save as PDF and will cost an extra 129 USD to save XML's.)
In view of the item on the menu bar 'plug-ins', I got to thinking about what plug ins would be useful? Anybody like to offer ideas? What about a plug in for checking parallel 5ths/octaves ? -Sibelius has one. Or a very useful 'parts from score' printer ?


Comments

The MuseScore plugin framework which is based on QTscript, is very young. Technically, very young means that the binding with the internals musescore objects still need to be started. So, only the framework is in place with some very basic binding.

Of course, any ideas are welcome. It might push the development of the plugin framework.

I would definitely love a working Plugins framework. I think there are a lot of musicians out there who have enough programming skills for scripting, but not enough skill/time for core development, and a lot of great features could be implemented in a useful way as plugins.

In fact, if the plugin framework plus documentation would be ready, I'd start writing plugins right now.

So here's my vote: get the plugin-framework going!

In reply to by KRL_

Currently MuseScore implements QTscript for the plugin framework. Canorus however, a sister music notation project also developed on QT, has an interesting plugin framework on board: https://canorus.berlios.de/wiki/index.php/PPA
Suppose both (MuseScore & Canorus) would use the same framework, perhaps it might become easier to share plugins. As But, I'm not a QT developer, I might be to optimistic about this.

In reply to by Thomas

As Canorus and MuseScore don't have the same inner model to describe scores, it's unlikely that the same code can run on both. But, we can indeed imagine that UI parts of plugins can be reused if the same technology is used.
As you said Musescore currently embeds a QTscript framework but for the moment the inner musical model is not exposed to the plugin developper.

In reply to by [DELETED] 5

As I understand it, a good QTScript can be easily ported from one software to another - at least when they are complex enough that it actually makes sense to port them (scripts that mostly deal with program-related issues, such as emulating a certain UI-feel probably would be harder to port than to rewrite from scratch).
I would like to write arranging-scripts; the most simple version would just expand a piano-score to a given set of instruments using certain rules, the most advanced version would write out complete sections with only the melody and the chord symbols. I have the musical background to figure out the rules to do that in a meaningful way, and I also have the programming skills to bring them to a scripting language - but I would need the script-implementation and a basic reference. I am currently getting into Qt, but it might take a while until I'm ready to start doing core-dev, so I'd be very happy if somebody would do the scripting implementation.
The core of these scripts would be easily portable to any QTScriptable typesetting software, but mscore is the only one that I feel is good enough to develop for.

As a packager of musescore for Arch Linux I was notified that there
are file conflicts between the Arch Linux package for
qtscriptgenerator, which is required by by a popular application like
amarok. That means if I follow the easiest approch and add a conflict,
users would have to decide if they want to use musescore or amarok.

The conflicting files are:

/usr/lib/qt/plugins/script/libqtscript_core.so
/usr/lib/qt/plugins/script/libqtscript_gui.so
/usr/lib/qt/plugins/script/libqtscript_network.so
/usr/lib/qt/plugins/script/libqtscript_uitools.so
/usr/lib/qt/plugins/script/libqtscript_xml.so

Is there a better way to handle this? For instance

1. Can I simply remove these files and let musescore depend on
qtscriptgenerator?

2. Can I easily change the build process in a way that the files are
stored under a different name?

3. Other suggestions?

In reply to by haawda

Hi Haawda,

Thanks for posting this. We should however post this in a new forum topic bc it might not get noticed by the right people as a comment. Could you do that? In the meantime, I'll bring this to the attention of lasconic who has developing this part of the plugin framework.

Do you still have an unanswered question? Please log in first to post your question.