Plugins don't get Basic Things running

• Mar 24, 2019 - 13:23

After I solved my OpenGL problem I had a look into the plugins because I want to port my changetime plugin (Doubletime Halftime) to MuseScore 3.
I have 3.05 running on Windows 10 , 32 Bit.
Unfortunately I was not able to read neither the score name (always get the name 'score') nor could I read which scores are Open. It should be the array scores but this is unknown.
Same thing as in MuseScore 2. Variables not existing, not writeable or readable, not as the poor documentation tells.
Bhhh.
The MuseScore Plugins are also only partly converted to MuseScore 3. So this does not help as example.
Anyone knows how to read Score names?


Comments

Compared Musescore 2 and Musescore 3 plugin.
There are more methods and properties visible in Musescore 3 than in Musescore 2

BUT

One thing is not visible in Musescore 3: the # SCORES # array.

Still do not know why I do not get the name of curScore.
Suppose there is an override missing in the Score object.

In reply to by OEST

What kind of name are you looking for? There really isn't one thing I can think of that would obviously qualify. I mean, there is the filename (if the score happens to have been saved), there is the content of the text with "Title" style applied in a vertical frame at the beginning of the score (if there happens to be such text), and the is the value of the metatag "workTitle" in File / Score Properties (if the user happens to have specified this).

In reply to by OEST

I have done only a limited amount with them, indeed. But I am quite knowledgeable regarding the MsueScore internals upon which they are based. And what I said is absolutely true - there is no one thing that would count as the "name" of the score, internally. Just those three different things that may or may not be present and may or may not have the same value even if they are all present. So it doesn't surprise me there is no reliable value provided as the "name" of a score in the plugin framework. But it is possible one or more of those properties might be available individually if you look for it in the way I suggested.

In reply to by Marc Sabatella

may be… but for a plugin there is a method that delivers the name of the score.
And that worked in Musescore 2 and does not in Musescore 3.
From plugin point of view there is only a single name and it is what you read in the tab of the score.
curScore.name should deliver that but does not.
An object has properties. These properties can be read. If a property never changes I scarcely need it, except I want to have a constant like.... PI

Just run the plugin scorelist in the plugin editor.... of MuseScore 2
This will not work in MuseScore 3.05 because
a) the array scores is not visible to the plugin anymore (the only property that disappeared)
b) the property name of each score would anyhow only be "Score"

In reply to by Marc Sabatella

Sorry Marc to say this but Plugins is not a field you can help and especially not me because I know that better then you.
There are Bugs in the Plugin Implementation of MuseScore 3.
1. Array scores not visible
2. The property name of score object does not deliver correct values.
Anyhow reported these bugs but think the Developers know quite well otherwise it would have been simple to convert the scorelist plugin to MuseScore 3.
And .. I will report more.. that was just the result of a first glance into Plugins of MuseScore 3.

In reply to by OEST

OK, well, if you've looked for file name and verified it isn't there by that name, then indeed, my help ended up not being useful. It's true I am not an expert in this area.

It's also obviously true there are bugs and limitations in the 3.0 plugin framework, just as there were in 2.x. Do be sure to report any other issues you find so they can be addressed. The hope is that the plugin framework will be more rather than less useful than in 2.x (and indeed, in some ways this is already true, but as with anything new, there are some regressions as well)

In reply to by Marc Sabatella

When I worked as software developer (about 40 years ago) our intention was to deliver Software free from Bugs, but today I think the Philosophie has changed.
Software is thrown in the Market like a green banana. The users then of course complain and get update by update till the banana gets yellow but then it is already partly brown. Then we come up with a new green banana. This is what we called banana software.
If you had asked me, I would not have released MuseScore 3 as it is. You released it obviously knowing it is full of bugs. Moreover it is worse then the previous Version. Why not taking the time till you are convinced it is really a step forward?

In reply to by OEST

Not sure what kind of software you were developing, but today's software tends to be pretty big and complex. I would venture to say that no program the size of MuseScore has ever been delivered free from bugs. The reality is, it's more a matter of getting to a certain measurable level of quality. In today's world, it is much easier to deliver updates automatically in a timely fashion, and this too has changed things. Not sure how your banana analogy works, though. In what way is 3.0.5 not objectively better than 3.0.5? Where's the brown?

Anyhow, sure, we knew MuseScore 3.0 had bugs, just as we know MuseScore 2.3.2 had bugs, just as was the case for every release of MuseScore ever and indeed every piece of software I have ever known in my own 40 years in the business. Many of MuseScore 2.3.2's bugs were fixed in 3.0, but as with any update of this magnitude, some new ones were introduced as well. Which is why we work on making each update more yellow :-). And in any case, what's done is done, MuseScore 3 is making many thousands of people very happy, despite bugs that are continually being fixed. Thanks for reporting this one (your first, as far as I can tell?) - just keep reporting them and we'll keep fixing them, and millions more will continue to be happy!

In reply to by Marc Sabatella

If things worked in Version 2 and do not work in 3 that is a step back not forward, at least for my understanding.

I open a score I created in 2 and at once finde this and that problem. Is that progress in your eyes?

I do some simple tests in plugins that worked in 2 and do not work in 3, progress ?

Sorry I do not see a reason why I should use 3. I simply do not see the step forward beside the Version number.

In reply to by OEST

I don't see any other issue reports filed by you so I don't know what specific problems you might mean. In general, the incredible layout improvements in MuseScore 3 do mean that by definition, things look different by default. So scores that relied on details of the old algorithms might indeed seem to show problems until you update them. That's why we recommend keeping both versions around - 3.0 for new scores to take advantage of the improvements, 2.3.2 for scores that are relying on details of the old layout algorithms.

But make no mistake, the improvements are many and major. As I said, with any update as significant as this, the are bound to be a few regressions as well. So, again, please report any you find so they too can be fixed.

In reply to by OEST

If they are already reported and already prioritized (you see P0 or P1 or whatever) then indeed, probably not much value in adding the +1. But if you don't see an issue in the tracker at all, or it isn't prioritized, then probably it isn't known or slipped through the cracks, and reporting it definitely makes the difference.

In reply to by Marc Sabatella

I would very much like to have access to Filename property of a score, but it does not appear to be currently available (in 3.0.5.5992), along with other properties that were there in earlier versions (such as part names, as I mentioned in another thread).

I would also love to have plugin access to the mixer, but I gather that has never been implemented.

These and a few others would help me achieve my goal of streamlining the creation of practice tracks for choral scores. I currently create them manually through a number of steps that work okay, but would be really nice to automate.

In reply to by OEST

Thanks, but I don't see how this would help; what I'd like to automate is really a mixing task, not a score preparation task.

For example, to prepare a practice track for the soprano part of an SATB score, I'll increase the volume of the soprano part, decrease the volume of the A,T,B parts, and occasionally also pan the soprano to the left speaker and pan the remaining vocal parts to the right speaker. In some cases I also change the midi instrument assigned to the part. Finally, I export as mp3.

Here's an example of the "The Stars are with the Voyager" practice track for bass:
https://soundcloud.com/bclewis/the-stars-are-with-the-voyager-bass

In reply to by OEST

Absolutely, I never expected to see this functionality in MuseScore out of the box, but I was hoping the plugin architecture would allow me to implement it myself, considering the program already supports the knobs I want to automatically tweak.

In fact someone already did implement a similar plugin to what I want (though without the full mixer control support), but it doesn't work in the current version of MuseScore due to missing properties.

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