Skip to main content
Topic: Arpeggio settings in NWC2.75a (Read 4474 times) previous topic - next topic

Arpeggio settings in NWC2.75a

Is there a way to save changes to the arpeggio rate setting in the "Add Objects" menu in NWC 2.75a?  I know how to change it for each time I need it but it always reverts to the standard setting.  Any help would be greatly appreciated.  Thanks, Joel.

Re: Arpeggio settings in NWC2.75a

Reply #1
Hey Joel,
firstly, welcome to the forum.

Now, a user object is not actually part of NWC, but an add-on that is accessible from within NWC.  Thus, AFAIK, NWC can't store changes for the object.

The easiest way to "remember" settings would be to have an arpeggio object configured how you want, then just copy that object to the each location that requires those particular settings.

I believe a permanent change would require editing the object code itself.  Mike Shawaluk, the objects author, can probably shed more light.
I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.

Re: Arpeggio settings in NWC2.75a

Reply #2
I understand your problem because I had the same need.
I selected the whole staff, then I used "filtered properties" with "User object" and then I changed all the arpeggio rates at once.

Re: Arpeggio settings in NWC2.75a

Reply #3
When I saw the original request, I had started to compose a response, which described a way to change the default value by editing the object's code. While this would have worked, it would have caused a potential incompatibility with previously created scores, as well as sharing scores with others. I won't go into details, but it has to do with how the object's parameters are stored in NWCTXT.

The above replies by @Flurmy and @Lawrie Pardy are both correct approaches. Additionally, it occurs to me that I could make an update to Arpeggio.ms so that new instances added with "Insert object" would inherit the settings of the arpeggio which precedes it on the current staff. I do this for a number of other objects I have written, and it's a relatively simple change. The feature is not present in Arpeggio.ms mainly because that was one of my earlier objects, and I got the idea to inherit settings later on. So the more I think about it, I should probably make this change, and not only to Arpeggio.ms but to the other objects which don't have this feature yet. So, I will make this change to Arpeggio.ms soon (probably later today).

All of that said, there is a third approach which doesn't require any code changes (although I will still make this code change shortly).  You can create a custom selector for an arpeggio, and set each of the parameters in the selector to whatever values you choose. When you insert an arpeggio from that selector, it will have the parameters you want.  However, creating selectors is a kind of an art, and I don't think the process is described in the NWC documentation. (Although I'm sure there are forum posts out there which tell you how to do it.)

Re: Arpeggio settings in NWC2.75a

Reply #4
Off topic: Mike, could you please add a tool to the trill plugin?
I always forget to mute the trilling note.

Re: Arpeggio settings in NWC2.75a

Reply #5
In a word: thanks!  :)

Re: Arpeggio settings in NWC2.75a

Reply #6
You're very welcome - I enjoy making these changes. I am still trying to give back for all of the benefit I've received from NWC over the years.

And with that I have a request for assistance.  While I was working on the changes to Arpeggio.ms and Trill.ms, it occurred to me that there was a key difference between the embedded "Toggle" user tool and the "Insert Object..." functionality.  Specifically, while doing "Insert Object..." will clone the parameters from an earlier instance of the object on the staff, the user tool doesn't do that - it inserts an object with a fixed set of parameters. I asked myself whether it would be possible to clone parameter values from the user tool, and after a bit of experimentation, I think the answer is "yes". Now, I don't know how many people use the "Toggle" tool, given that there are fancier "arpeggiate" tools out there (one by @NoteWorthy Online, one by @Flurmy) but if there is interest, I could share the improved embedded user tool that clones/inherits settings the same as "Insert object" does.  The thing is, my user tool knowledge is a bit spare, especially using the new Lua methods, and I wouldn't want to update the existing version and break things for every NWC user out there. I can upload a "test" version, but it might work best for the user to do some temporary renaming so that the object has the "right" name (otherwise it won't inherit parameters correctly).

So if anyone is interested in beta testing my changes, please contact me directly via "Send message".

Mike

 

Re: Arpeggio settings in NWC2.75a

Reply #7
Mike, there is something I'm missing.

You're talking about a user tool, even if embedded in a plugin.
A user tool is only applied once while editing and leaves no traces of itself in the score. I mean: what you do with a user tool can also be done by hand; you can never say for sure it was done with a user tool.
A plugin instead is quite different: it stays in the score and it's executed/evaluated every time.

If you change a user tool, this will never affect the old scores.
At most, you force a user to change his habits or, worst of the worst, do not use it..

What I got wrong?

Re: Arpeggio settings in NWC2.75a

Reply #8
... I wouldn't want to update the existing version and break things for every NWC user out there. I can upload a "test" version, but it might work best for the user to do some temporary renaming so that the object has the "right" name (otherwise it won't inherit parameters correctly).

Flurmy's answer probably makes my suggestion here redundant, but if not, why not create the revised user tool as an edited copy of the existing one, with a slightly different name?  Users could choose which one they want to use.


Re: Arpeggio settings in NWC2.75a

Reply #9
Mike, there is something I'm missing.
...
What I got wrong?
I probably wasn't very clear, so let me try again.

Let's assume there are users of NWC who are currently using the "Arpeggio.ms: Toggle" user tool, This user tool hasn't changed for quite a while, and we'll also assume it behaves correctly for those users. Now, I can update Arpeggio.ms such that the core plugin behavior does not change at all, but the user tool behaves very differently. It might also have unintended bugs, so that a user who executes "Toggle" does not get what they expected. It's even possible that a bug in the user tool could garble the notes in the score, when the tool is run. This would obviously upset someone, if they did not save their score before they ran the tool. (I don't remember whether "Undo" will work after a user tool is run, but that's a separate issue).  My point is that if people are getting acceptable behavior from "Toggle" today, and I make a change to the tool to add new features, and it stops working correctly, that would be a bad thing.  Hence it would be nice to find a few users who would be willing to test the change before I make it official.

In a subsequent reply, David brings up a valid point: why not just release a "test" version of the object with a slightly different name? That could work, but then the testers wouldn't be able to test the cloning function on arpeggios in existing scores; they would need to create sample scores, insert an ArpeggioTest.ms in that score with some parameters, and then run the "Toggle" tool on some later chord, to confirm that it clones the parameters. The embedded user tool copies parameters from a previous arpeggio object in the score of the same type as the plugin that contains the tool. Maybe this isn't a big deal to testers.

To me, the bigger question is: is this potential new feature in the user tool something that people would want or need? If the answer is no, then it's probably not worth releasing it for testing.

Re: Arpeggio settings in NWC2.75a

Reply #10
Well, my answer is: yes.
And I'm available as beta tester.

I don't see such a big problem to change that little bit in the user tool.
Of course, there can always be everywhere a bug that messes things up, but it's a risk that most of us can afford.
As I wrote: "at most, you force a user to change his habits or, worst of the worst, do not use it."

And: yes, the undo works with the user tools too.  :)
When it doesn't work, you are asked to save the score before proceeding,

Re: Arpeggio settings in NWC2.75a

Reply #11
So, after all this discussion about beta versions, I realized something: it's possible for a user object to have multiple embedded tools available.  Thus, I can preserve the original "Toggle" tool, and create a "(Test) Toggle" tool besides, with the new behavior. People can run the one they wish, and can provide feedback on their results. Once I know that the new version works well, I can update the object by removing the "old" version and rename the "(Test)" from the new version (since they basically do the same thing).

And I just did my own "undo" tests, confirming what you said. It even supports multiple undo levels (which after thinking about it, it only makes sense that this should work fine).

Look for an update soon.

Re: Arpeggio settings in NWC2.75a

Reply #12
Quote
And I just did my own "undo" tests, confirming what you said. It even supports multiple undo levels (which after thinking about it, it only makes sense that this should work fine).


If you have to change to input type 'File Text' in your 'Test Toggle' tool,  instead of 'Clip Text', the undo won't do anymore.
Always look on the bright side of life!

Re: Arpeggio settings in NWC2.75a

Reply #13
Quote
it's possible for a user object to have multiple embedded tools available
Yuk! Nice to know.