New plug-in: Dot Undot Rhythm

Tips

Just when you may have thought that the extent of Sibelius plug-in wizardry had been reached, along comes Bob Zawalich to wow us again with a new plug-in: Dot Undot Rhythm. It instantly turns pairs of notes of equal duration into a pair of notes where the first one is dotted and the duration of the second note is divided in half — the “Dot” part of the plug-in. If the notes are a dotted pair already, it will make the notes the same duration — the “Undot” part.

Sound like a mouthful? Plainly put, it instantly converts straight rhythms to dotted ones, and vice versa. Let’s visualize it. Select the following passage:

undot

Run Dot Undot Rhythm to get this result:

dot

Realize that you didn’t want to dot the half notes? Simply select only that portion:

undot-2

And run the plug-in again:

undot-3

There is no dialog. Just make a selection and run the plug-in. It will skip any bars that contain tuplets, grace notes, quarter-tones or double tremolos. As is the case with any plug-in, it will not work on cross-staff beamed notes, because plug-ins can neither detect nor create cross-staff beamed notes.

In a recent post on the Sibelius chat page announcing the plug-in, Bob said that he “saw an amazing demo from Daniel Spreadbury for his new notation program from Steinberg.” Daniel recently tweeted a preview of the capability of the in-development product to “easily take a a straight rhythm and make it dotted: just select the notes, hit dot. Done!”

Of course, if you tried that in Sibelius, you’d probably be unhappy with the results. Bob said that “doing such a transformation [manually] in Sibelius is a royal pain.”

Bob said:

I had previously considered writing a plugin to make it easier to make dotted rhythms but it would be very hard to write, and I figured you would have to select the pair of notes to change and it would not be all that much better than doing what you had to do by hand to make a dotted pair (turn the 2nd note into half its duration, type R, dot the first note). But here he was just selecting a bunch of notes and hitting one key, and boom everything was dotted.

For a notation geek, this sort of thing is stunning.

So I figured that if he can do that, there must be a way that it can be done, so I set out to see how to do that. I discovered a way to determine if a given note was a possible first note for a dotted pair, and then everything became possible, sort of. ManuScript, the plug-in language, has no mechanism for changing the duration of a note. You have to rather intricately gather properties of both the chord and all its notes, then delete the original notes and add in new ones. I realized that my Divide Durations plug-in did something like that, and I was able to tweak it a bit so it would do what I needed it to do.

Bob later included the relevant code from Divide Durations (which ships with Sibelius 7 and higher) into Dot Undot Rhythm in order to make the new plug-in self-contained.

Bob further said:

Tell me this is not poetry. Tell me you could do the same thing in Lilypond with 4 obscure lines of code. I don’t care. This is a beautiful thing. Consider doing this by hand.

I asked Daniel for permission to publish this plug-in, since it was totally his idea. As was the Bravura font that Finale and MuseScore now use, and which we in Sibelius can access through Philip Rothman’s Norfolk fonts. He agreed that once he makes an idea public it is fair game and he would not hate me if I published it. So here it is.

Go ahead and select a bunch of notes in a passage (box) selection and let it rip. Within its limitations it is a thing of beauty.

And oh, yeah, you should check out Daniel’s Making Notes blog that discusses the new Steinberg project. It will be incredible. This plug-in is dedicated to Daniel. Great idea, Daniel! Thanks!

Indeed, thanks, Daniel, and Bob! It is poetry. Perhaps someone will set the text of the ManuScript code to music one day…

Until then, Dot Undot Rhythm may be downloaded directly through Sibelius 7 and higher at File > Plug-ins > Install Plug-ins > Notes and Rests. Users may also install it manually in Sibelius 6 or higher by visiting the plug-in download page and following the usual manual installation procedure, or by using the Install New Plug-in plug-in.

Comments

  1. Derek Williams

    Great asset! However, when I tried to Share this article by clicking the Share icon, I got an error as below:
    “App Not Set Up: This app is still in development mode, and you don’t have access to it. Switch to a registered test user or ask an app admin for permissions.”

    For now, I will copy and paste the URL while this is being sorted out.

    1. Philip Rothman

      Thanks, Derek. I think that’s an issue on the Facebook side of things, unfortunately. Hopefully they’ll sort it out.

  2. Bernie Cossentino

    Thanks for posting Philip,

    and thank you Bob! :)

    @Bob, would it be easy to write a companion plugin to invert the process (so that the dotted rhythm appears on the second note instead of the first)?

    1. Bernie Cossentino

      Ah, nevermind. I can just retrograde the rhythm afterwards :)

      1. Bernie Cossentino

        …However, I just realized that, at present, the plugin will not undot a retrograded rhythm.

  3. Hans Nel

    Very nice Bob! Not too difficult plugIn to code mathematically (for you at least) but a very useful one.

    I know I will be using it a lot. Thanks Daniel, you’re a star…as usual!

  4. Kenneth Gaw

    Thanks Bob.

    This is a really useful piece of work.

  5. Rex Thomas

    Love it!!

    Thanks, Bob. And thanks for posting, Phillip.

  6. Bob Zawalich

    Thanks for this writeup,Philip!

    This plugin was difficult to write, even after figuring out the secret of how to determine where the note pairs were, because ManuScript has no support for changing the durations or locations of notes, so one has to gather up all the properties of the NoteRest object and of all its notes, then delete the original NoteRests and add the new ones in a the right place.

    The plugin figures out which notes are suitable, due to their position in a bar, to be the first note of a pair. It then looks to see if the following note in the same voice is suitable, by its duration, to be the other half of a pair.

    If the first note is undotted, the second note must be the same duration to be treated as a pair. If the first note is dotted, then the second must be 1/3 the duration of the dotted note to be a pair.

    You will note I skip tuplets; they are possible to handle but extremely tedious for the general case of nested tuplets.

    If I do not have a pair of notes I can process, I skip them. This is why the retrograde pair will not work; it does not follow the pairing rules.

    It would be possible to add a number of different options, including Scotch snaps, but it would not be easy, and it would surely be multiple days of work, and require either multiple plugins or some user interface work. I am not likely to do more with this plugin, but the idea is out there, and anyone who wants to figure out how to write a plugin to implement it should have the tools to do so.

  7. Bob Zawalich

    And just to be precise: if you run the plugin on a score with cross-staff-beamed notes, if will convert the rhythms appropriately, but the affected notes will no longer be cross-staff-beamed.

    You can rebeam them later manually, but it is probably best not to use this plugin if you know the score has these kinds of notes.

    I would warn you or avoid these notes if I could, but these properties are invisible to plugins.

  8. David

    This plug-in is useless without a time machine to take me back to all the times I needed it. :) Great job Bob!

  9. Mat

    Wow! I’ve been waiting for this for ages!! Thank you so much!!!!!

  10. Bob Zawalich

    Just thought I would mention…
    If you run the plugin with no selection, a dialog will come up that provides and Options button. If you choose Options you will find one that will create Scotch snaps.

    If I were using both options a lot I might use Copy Plugin to make a copy of Dot Undot Rhythms and set one to be “normal” and the other to use Scotch snaps.

  11. Bob Zawalich

    Also: the plugin will make a dotted or undotted pair out of any single selected note at any rhythmic position in a bar.

    With a larger passage selection, the plugin will only dot/undot note pairs that start on an even division of the beat.

Leave a Comment

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