A developer’s notebook: Recent plug-ins, spring 2014


The “sight-impaired” plug-ins

Kevin Gibbs, a partially-sighted Sibelius user, had been working with the Avid development team on getting Sibelius 7.5 to work better with NVDA, a screen reader for sight-impaired users in Windows. He told me that they had no way for sight-impaired users to navigate to system objects like titles, rehearsal marks and special barlines, and wondered if a plug-in could be written to help with this. I ended up writing three plug-ins, which are available in a new “Sight-impaired” category on the download page.

Find System Objects

This was the first plug-in I wrote for this project. It displayed a list of all the categories of system objects in the score, and a second list of the objects of that category present in the score. The user could arrow down the list of categories (which the screen reader would read) until finding the desired category (such as system text). At this point the second list would fill with descriptions of the system text objects in the score, with the bar number, style and other information that would allow a user to choose a specific item. Choosing OK would cause the dialog to close, and Sibelius would select the chosen object and bring it onscreen.


Go To Staff

Kevin asked on the tech support forum if there was a way to navigate among the staves of a score with many staves. The Sibelius 7.5 Timeline does a nice job of that, but it was not accessible to the screen reader, and I offered to write another plug-in.

I realized that while it would be best to just be able to go up and down vertically without moving the score horizontally, a plug-in has no way to do that – it does not know what part of the score is currently onscreen. It can, however, tell where a selection starts and ends, and it can move to a specific bar. I set up a list of staves in the score and also added a bar number edit box, which defaulted to the first bar in the selection.

The user could choose a staff, and either accept the default bar number or type in a different number, and the plug-in would select the first note or rest in the bar when the user hit OK.


Thinking about how the Timeline has a great two-dimensional grid where you could just click in a staff/bar combination and Sibelius will go there, I realized that if you have two lists, a list of staves and another list of bar numbers, you could navigate to a staff/bar location in two clicks, which was almost as efficient as the Timeline. I showed this to Kevin, and he thought that the edit box would actually be easier for sight-impaired users. I agreed, but still liked the two-list version, so I named it Go To Staff and Bar and put it on the plug-in download page in the Navigation category, separate from the sight-impaired plug-ins.

Initial Key Signatures And Clefs

Kevin told me there was no way for a the initial key signatures and clefs on a score to be read by the screen reader, so I wrote a plug-in to display the key signature and clef at the start of each staff. I had only recently figured out how to display transposed key signatures (ManuScript only provides the untransposed signatures), so I was able to display whether the score was transposing or concert pitch, and whether all staves had the same key signature, to save a sight-impaired user having to look through every staff to find that out.

I wrote out the information to the plug-in trace window, but unfortunately, the screen reader could not read that, so I changed the plug-in to put the information into a list box (which could be read), and added a Trace button that could write the list to the trace window so a user could copy and paste it into Wordpad, or some other application accessible to the screen reader:

bz-6And these are things I did in the spring of 2014.

All of these plug-ins may be downloaded directly through Sibelius 7 or 7.5 at File > Plug-ins > Install Plug-ins. Users may also install these manually in Sibelius 6, 7 or 7.5 by visiting the appropriate plug-in download page for each plug-in and following the usual manual installation procedure, or by using the Install New Plug-in plug-in.


  1. Derek Williams

    Thank you Bob for staying with this, and for all the wonderful plugins you’ve developed over the years, many of which are featured in my ‘Sibelius Wizard’ control surface, downloadable from my website.

  2. Bill Holab

    I can honestly say that my workflow and daily life have been significantly improved by many of the plugins you’ve written Bob. I’m extremely grateful to have them, and I think we’re fortunate to have you working in this small corner of the universe.

  3. Robert Puff

    Bob – I’ve got at least a dozen Sibelius plugins in my toolbox which significantly improve my workflow on a daily basis, all which were written by you. Many thanks!

  4. Tim Parkin

    Likewise Bob, I also have a number of plug-ins which I use almost on a daily basis to increase productivity, the majority of which were created by you.

  5. Dave P-B

    Bob – I can’t imagine any scores of mine in the past few years which haven’t had at least one, but probably more, of your plug-ins applied somewhere. For me, they are part of the process. Thank you

  6. Derek Williams

    *copying from post to the plugin page:

    Swap Text Styles plugin:
    Just downloaded this to try it, but find that I cannot swap Staff to System text. I know this is mentioned in the blog, as well as in the preamble and in the plugin itself, but just wondering was this impossible to do, or just not considered likely to be needed?

    The present use I would have had for this is editing a score where the composer has placed identical Staff Text over every single staff, and i wanted to simply swap one of them to System Text, and then filter and delete all the duplicates.

  7. Bob Zawalich

    > i wanted to simply swap one of them to System Text, and then filter and delete all the duplicates.

    The way the plugin works is to exchange the “Text sty;e” properties of different text objects, and system text objects are not text objects; You can manually select the staff text and change the text style in the Inspector to be a system text style, but that will not make the text system text.

    Roman Molino Dunn sells a plugin called Convert Staff Text to System text which can do what you want, and it may well be worth purchasing. I suspect that it deletes the original staff object and creates a new system object with similar properties; at least that is what I would do if I were writing such a plugin.

    1. Derek Williams

      Thanks Bob!

Leave a Comment

Your email address will not be published. Required fields are marked *