Skip to main content
Topic: Object plugins and "multi-spin"  (Read 4502 times) previous topic - next topic

Object plugins and "multi-spin"

Hello all,

Recently, I have updated several of my object plugins to allow modification of multiple parameters using custom menus in conjunction with the + and - "spin" keys. While I announced the changes in the Object Plugins board, I did not go into much detail in those posts, so I thought I would provide a brief description here of what I am calling "multi-spin".

First, I should probably describe what the Spin function is for a custom object, for those who are unfamiliar. When an object is selected in the score, it can optionally respond to the user pressing the + or - keys. If this feature is active for the object, these keystrokes will increase or decrease one of the object's settings, such as the Span parameter.

A while ago, I had the idea of allowing this Spin function to modify several different parameters, rather than a single parameter. I do this by using a custom menu selection to choose the parameter to be "spun" with the + and - keys. When an object has a custom menu, it is accessed either by right-clicking on the object's marker icon, or by selecting the object and pressing the "J" key. The latter method is required for multi-spin to work, since the object needs to be highlighted in order for the + and - keys to work. From the menu, the user can select a "spin target" to identify the parameter to be adjusted with the + and - keys. This allows the user to interactively "tweak" multiple parameters for an object, seeing the changes on-screen after each keypress. For certain objects, including Hairpin, Slur and SlurCubic, I temporarily add anchor boxes to provide a visual cue to the user during the adjust process. (These boxes only appear during editing, and are removed by pressing the F9 key when editing is complete.) In a few cases (specifically, for the slur objects) I have also provided a way to adjust multiple parameters with each + or - keypress.

The best way to learn how the multi-spin interface works is to insert an object and play with it. For each multi-spin object, the custom menu has a section labeled "Choose Spin Target:" which identifies which parameters can be adjusted via the spin keys. Select the desired parameter in the menu, and with the object selected, use the + and - keys to adjust it, observing the results in the edit window. Once you have adjusted one parameter, press J to redisplay the menu and choose another parameter to adjust. (You can do this with the mouse, but I think the keyboard works better for this.)

As of this writing, the following objects have some form of multi-spin support:

Slur.ms
SlurCubic.ms
Hairpin.ms
Brace.ms
GuitarChord.ms

I am interested in hearing feedback from users of these objects, to find out if they find this feature useful or helpful, or if they might have suggestions for improving on this. I will probably add this functionality to my other objects, especially those with numerous numeric parameters.

Thanks,
Mike