NoteWorthy Composer Forum

Forums => Tips & Tricks => Object Plugins => Topic started by: Mike Shawaluk on 2017-03-26 05:46 pm

Title: RepeatMark.ms (0.3) - DEPRECATED
Post by: Mike Shawaluk on 2017-03-26 05:46 pm
This object has been transferred to @hmmueller and is now being maintained in this thread. (https://forum.noteworthycomposer.com/?topic=9756.0)
Title: Re: RepeatMark.ms 0.3
Post by: David Palmquist on 2017-03-26 06:48 pm
Thank you, Mike.  This is  a very nice start.

Your narrative says
Quote
. The object only provides the marking; the necessary notation needs to be present in the score, either as hidden notes in the current staff, or regular notation in a separate hidden staff.
A couple of observations:

Do you see expanding the object to automate the process by highlighting all the notes and rests in the bar or two bars, changing to zero stem length, negative dot space, no leger lines and blank noteheads, and moving rests to some choosable vertical position?

I'm delighted with what you've done, it's so easy to use, but you know what they say, "Give somebody what he asks for, and he's sure to ask for more."

I should elaborate to say, this is a great tool as is, and I will be using it extensively today.  Further enhancements are nice to haves, rather than being deficiencies.

Many thanks.
Title: Re: RepeatMark.ms 0.3
Post by: Mike Shawaluk on 2017-03-26 07:36 pm
Hi David,

I was going to say some of the following when I posted the object, but I wanted to wait until someone had actually tried it out first. Thanks for being the first (acknowledged) guinea pig.

There is one thing you can do if you mark all of the items as Visibility: Never to prevent the measure from collapsing: insert a Spacer of the width you want the measure to be. Here's an example based on my original snippet:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|TimeSig|Signature:4/4
|Note|Dur:4th|Pos:-8
|Note|Dur:4th|Pos:-4
|Note|Dur:4th,DblDotted|Pos:-8
|Note|Dur:16th|Pos:-3
|Bar
|Note|Dur:Half|Pos:-4
|Note|Dur:Half|Pos:-8
|Bar
|User|RepeatMark.ms|Pos:1|Type:Double
|Spacer|Width:600
|Note|Dur:4th|Pos:-8|Visibility:Never
|Note|Dur:4th|Pos:-4|Visibility:Never
|Note|Dur:4th,DblDotted|Pos:-8|Visibility:Never
|Note|Dur:16th|Pos:-3|Visibility:Never
|Bar
|Spacer|Width:600
|Note|Dur:Half|Pos:-4|Visibility:Never
|Note|Dur:Half|Pos:-8|Visibility:Never
|Bar
|Note|Dur:4th|Pos:-8
|Note|Dur:4th|Pos:-4
|Note|Dur:Half|Pos:-8
|Bar
|User|RepeatMark.ms|Pos:1
|Spacer|Width:600
|Note|Dur:4th|Pos:-8|Visibility:Never
|Note|Dur:4th|Pos:-4|Visibility:Never
|Note|Dur:Half|Pos:-8|Visibility:Never
!NoteWorthyComposerClip-End

I've set the spacer width above to slightly less space than would be taken up by the notes if they were not hidden, which I think is what you would want to do anyway.

Actually, I was considering an option to have the object (optionally) reserve its own space via another parameter.  This would eliminate the need to manually add spacers wherever the object was placed.  Do you think the spacer idea makes sense?

I was also going to mention that spacers probably only needed if there is a single staff being notated, or when the repeat measures are in all system measures at the same time.

Thanks again for the comments, let me know if the above ideas make sense.
Title: Re: RepeatMark.ms 0.3
Post by: Mike Shawaluk on 2017-03-26 07:38 pm
I'm not sure how the object should treat repeated bars with rests, unless the rests are moved w-a-y off the staff.  You can't make the rest hidden for the same reason as hidden notes, and I don't know how to make a rest the equivalent of a headless zero-stem note without moving it way up or down.
Since they are invisible anyway, you could just insert a random stemless note of the desired duration, and mute it. :)
Title: Re: RepeatMark.ms 0.3
Post by: David Palmquist on 2017-03-26 08:01 pm

The extra blank, muted notehead note would work in lieu of a stratospheric rest.  Good idea.

I just noticed ties (and perhaps slurs) remain visible within a two bar repeated passage using the zero stem length method.  Not so with hidden note bars, so hidden notes (and spacers) are probably the best way to go.

Spacers work in the hidden note bars, and because these signs are often used to save space, hidden notes and spacers are probably better (and more reliable) than the blank notehead method.  To enhance ease of use, perhaps you could have the tool select all the contents of the affected bars except the bar lines, make them hidden, insert the symbol AND maybe a default number of spacers either side of it.  The default might then be changed in the second screen that comes up when implementing the object.

Can you add a small numeral 2 above the two bar repeat sign, and give the user the option of toggling it off, please? It's not required, but is often seen.
Title: Re: RepeatMark.ms 0.3
Post by: David Palmquist on 2017-03-26 08:32 pm
Further to
I was considering an option to have the object (optionally) reserve its own space via another parameter.  This would eliminate the need to manually add spacers wherever the object was placed.  Do you think the spacer idea makes sense?
I was also going to mention that spacers probably only needed if there is a single staff being notated, or when the repeat measures are in all system measures at the same time.

The optionally reserved space would be easier on the user than spaces. 
Spacers or reserved space would probably be needed regardless of how many systems are visible, because when you're writing a score, you'll probably print each part separately.

Title: Re: RepeatMark.ms 0.3
Post by: David Palmquist on 2017-03-26 08:37 pm
Another tweak might be an option to add a bracketed numeral above the single bar repeat sign.  Often a bar will be repeated many times, and it's customary to put (4), (8), even (12) above the 3rd, 7th and 11th consecutive signs. 

The user would have to select the option to show the bracketed numeral, and would select the numeral to use.

<<<edit - the numbers in parentheses are 4, 8 and 12 but the forum changed the 8 to a smiley face>>>

Title: Re: RepeatMark.ms 0.3
Post by: David Palmquist on 2017-03-26 08:49 pm
(off topic)
By the way, Mike, I think you gave us the courtesy accidental object, didn't you?   I've been using it a lot this weekend and it works wonderfully. Thank you.
Title: Re: RepeatMark.ms 0.3
Post by: Mike Shawaluk on 2017-03-26 08:50 pm
I made a tentative change to the object to support automatic "width" (to eliminate the need for spacers). That only works for a single measure repeat, since an object can only add space where it is placed. For a double measure repeat, you would still need to put a spacer in the second measure. :(

Given that, I don't know if it's worth the bother of including a parameter that can only work some of the time. I'll leave off the Reserved Width option for now.

Regarding the numbering options, those should be fairly easy to do, but given peoples' individual preferences, I should probably allow the font, size and vertical position to be choosable. Since I can't think of a reason anyone would ever put a 0 as the number, I will probably use that value as a "don't display" choice, and let people enter any number they like, up to, say, 100?
Title: Re: RepeatMark.ms 0.3
Post by: Mike Shawaluk on 2017-03-26 08:52 pm
(off topic)
By the way, Mike, I think you gave us the courtesy accidental object, didn't you?  I've been using it a lot this weekend and it works wonderfully. Thank you.
Actually, you should toss CourtesyAcc.ms in the trash bin, if that is what you are using. The latest beta of NWC 2.75a has real courtesy accidentals now! Check them out, they are much easier (and better looking) than the object version.
Title: Re: RepeatMark.ms 0.3
Post by: David Palmquist on 2017-03-26 09:34 pm
<<<I should probably move this to a different thread but I don't know how.>>>

Hm.  If I wasn't afraid to crash the program when removing the .ms, I'd do that but I'm not technically competent. 

I will use the embedded Courtesy Accidental now, though. Thanks for letting me know of it. 

The Courtesy Accidental explanation says
Quote
This command toggles a courtesy accidental indicator, which is applied to an existing or new accidental.
When applied to a selection, this command generally applies to selected notes that already include an accidental. An exception is made for single selected notes, which can be given a courtesy accidental by initiating this command, without first adding an accidental.
A courtesy accidental can also be applied to an individual note via its right click menu.
 
Comments:







Title: Re: RepeatMark.ms 0.3
Post by: Mike Shawaluk on 2017-03-26 09:58 pm
Comments:
  • Since the courtesy accidental icon is not automatically added to existing customized toolbars and the courtesy accidental does not appear to be part of the Note Properties dialogue, this explanation needs to tell users they have to use the icon, where to find it and how to add it.
Well, it is still a beta version; I'm sure once it is out of beta, the installer will give you the option of restoring the default toolbars. There is a Courtesy Accidental toolbar button available, which I've added using the Customize Toolbars function. Attached is a screen shot that shows the name of the button. You can see it in my toolbar, right next to double-flat.
  • I'm not so sure the c.a. can be applied to an individual note through its right click menu. 
    All I see are Cut, Copy, Paste, Clear, Repeat Last User Tool, User Tool..., Notes >, Filtered Properties and Properties.

    Selecting User Tool ... then displays a User Tool menu box, and none of the Groups appear to include the courtesy accidental function.

    Selecting Notes > gives 15 choices for the notes, from Beam to Stem Down.

    Selecting Properties just turns up the usual Note Properties menu.

    A small edit is needed to either remove the sentence or tell users how to get to the c.a. into the right mouse click context sensitive menu.
You missed the easiest one: just right click on an individual notehead, with nothing selected, and you'll see the Courtesy Accidental selection (remember, each notehead can have individual accidental settings).  It's also available under the top menu Notes > Accidentals, at the bottom of the list (the shortcut key is "(", so you can also enter them that way.)
Title: Re: RepeatMark.ms 0.3
Post by: David Palmquist on 2017-03-26 10:32 pm
Yes, I found and installed the ( ) icon before offering my suggestion to amend the Courtesy Accidental explanation. 

I do think the explanations need to be clear and complete, even at the Beta stage, so those of us who try to help by using the Beta versions have a fighting chance. 

Beta testers like me don't test all the enhancements when they are first announced.  We only get "into it" when we eventually have a use for a new feature, which may be weeks later.  Should we be in the Beta pool?  I think so, even late contributions should be helpful to the Noteworthy team.

That's my rant.  My suggestion is that Help and explanations should be user-friendly and clear at the Beta stage.

Right-clicking the noteHEAD works (thank you for telling me) but Help doesn't say that unless you can read the writer's mind.  It says applied to an individual note via its right click menu.  I think many users will highlight the note(s) then right click, getting what I described.

Title: Re: RepeatMark.ms 0.3
Post by: Mike Shawaluk on 2017-03-26 11:09 pm
The RepeatMark.ms object has been updated, with the following change:
Title: Re: RepeatMark.ms 0.3
Post by: David Palmquist on 2017-03-27 12:32 am
Elegant and works like a hot damn.  Thank you very much, Mike!
Title: Re: RepeatMark.ms 0.3
Post by: Flurmy on 2017-03-27 08:13 pm
My two cents: I don't like the stemless blank noteheads because you can't easily see them in the editor, so I prefer by far the solution that uses normal "hidden" notes.
Title: Re: RepeatMark.ms 0.3
Post by: David Palmquist on 2017-03-28 12:08 am
Today, I've been using the RepeatMark.ms a lot.

Since everything in the bar the sign goes in is hidden, it's hard to find the "handle" to adjust the RepeatMark.

For instance, when I've got several repeated measures, I may only want to number every fourth one.  To do that, I'd copy the first hidden bar with added spacers and the repeat mark as many times as I need, then edit the third, seventh, etc. symbol to add integers. If the handle is at the beginning of the bar, it's hard to select, and if it's in among the spacers, it's hard to select.  It would be nice to have a bigger handle to select.

Perhaps Mike, would you also consider adding yet another option, please?  It's a little hard to figure out how many spacers you want, and where to place them.  If the object included a user adjustable number of spacers right before and right after the repeat sign, it would be nice.  A default value might be 10 might be good, but there could be a better value, as long as there's something.

Title: Re: RepeatMark.ms 0.3
Post by: Mike Shawaluk on 2017-03-28 01:41 am
Today, I've been using the RepeatMark.ms a lot.

Since everything in the bar the sign goes in is hidden, it's hard to find the "handle" to adjust the RepeatMark.

For instance, when I've got several repeated measures, I may only want to number every fourth one.  To do that, I'd copy the first hidden bar with added spacers and the repeat mark as many times as I need, then edit the third, seventh, etc. symbol to add integers. If the handle is at the beginning of the bar, it's hard to select, and if it's in among the spacers, it's hard to select.  It would be nice to have a bigger handle to select.
First, you can increase the size of the object's anchor by going to Tools > Options, Editor tab and increasing Object Anchor Size. Increasing the value will make the object anchor wider, but not higher.

Another trick that might make it easier to select an object is to right click on its anchor symbol, and when you see the popup text with the object name, click on the name. It will select the object and go to its properties page, where you can adjust the label value (or any other settings).
Perhaps Mike, would you also consider adding yet another option, please?  It's a little hard to figure out how many spacers you want, and where to place them.  If the object included a user adjustable number of spacers right before and right after the repeat sign, it would be nice.  A default value might be 10 might be good, but there could be a better value, as long as there's something.
If you are talking about a user tool to assist in adding the object -- yes, that could be done. It could do something like the following: you would first select one or two measures of notes. If you selected one measure, it would insert a new empty measure after that measure, copy the notes into it, set as Visibility = Never, insert a copy of the single measure mark object along with a spacer. If you selected two measures worth of notes, it would do basically the same as above, except it would insert a double measure mark.  The tool could prompt for the number of copies of the measure to be added, and it could even number every nth measure.

As to where to insert the spacer: that's the nice part about the object approach. It doesn't matter where you put the spacer; it can be anywhere inside the measure. The repeat mark is automatically centered between the bar lines (or on the bar line, if it's a double measure mark) regardless of whether the spacer is at the start, middle or end of the measure, or if there is one spacer or multiple spacers in a measure.

I'll play around with an embedded user tool that does at least some of what I mentioned above, but I should tell you I'm still a bit of a novice when it comes to user tools (as compared to custom objects, which I feel more comfortable creating).  Thanks very much for the feedback and positive comments.
Title: Re: RepeatMark.ms 0.3
Post by: Mike Shawaluk on 2017-03-28 01:55 am
Something else I just thought of - currently, the "spin" function for this object (+ and - keys) is set to increase/decrease the label scale factor, to make the font larger/smaller. I could change it so + and - will increment/decrement the label number. That might make it easier to set the numbers.
Title: Re: RepeatMark.ms 0.3
Post by: Mike Shawaluk on 2017-03-28 12:53 pm
The RepeatMark.ms object has been updated, with the following changes:

Title: Re: RepeatMark.ms 0.3
Post by: David Palmquist on 2017-03-28 11:30 pm
Hi Mike I haven't tested the newest changes yet, but if this one

    ...
    • Inserting a new object will clone the parameter values from the nearest previous object in the current staff.
Cloning such things as the vertical position of the label or the amount of spacing is good, but I'm not sure if you also mean the label (the bracketed number above the sign) used in the previous numbered repeat symbol. 

I could have many repeated bars in a row, but I'd only want to number them so often, i.e. (4), (8), (12) etc.  I wouldn't want the (4) to show up in the next measure, which, if numbered, needs (5), nor in the later bar in the series where I only number, say, every 4th repeated bar.

I'm looking forward to trying the object again, but it will be a day or two before I can get to it.
Title: Re: RepeatMark.ms 0.3
Post by: Mike Shawaluk on 2017-03-28 11:51 pm
Cloning such things as the vertical position of the label or the amount of spacing is good, but I'm not sure if you also mean the label (the bracketed number above the sign) used in the previous numbered repeat symbol. 

I could have many repeated bars in a row, but I'd only want to number them so often, i.e. (4), ( 8 ), (12) etc.  I wouldn't want the (4) to show up in the next measure, which, if numbered, needs (5), nor in the later bar in the series where I only number, say, every 4th repeated bar.
An earlier version of the object had logic that would automatically increment the label number (from the prior instance) when you inserted a new object, but I realized from your "only show every nth label" use case, that that wouldn't be that useful, so I removed it. Since the object will probably not be inserted by itself right now for multiple instances (it will probably be copied along with the spacers and hidden notes) I would say your best bet is to copy the object and notes with the label set to 0 (hidden), then go back and number the ones you want later. Or, someone could create a user tool that automates this process.

If anyone else out there has tried out this new object and has feedback on this or other issues, I'd very much like to hear it. It's good to hear multiple opinions and use cases so I don't end up creating an object based only on one person's usage of it. If it needs more options to deal with these other usages, everyone will benefit.
Title: Re: RepeatMark.ms 0.3
Post by: David Palmquist on 2017-03-29 03:33 am
Sounds good, Mike.

I truly appreciate you making this object/tool - and so promptly as well. 

My band has a 352 bar arrangement of 20 tunes from 100 years ago but the parts are oversized second or third generation photocopies that have faded and are somewhat tattered, and we don't have a score.  So I thought I would make a score and printed parts on letter-sized paper.  As you can imagine, many parts (horn, trombone, tuba, etc.) use a lot of repeated bars so this object is really helpful.

Many thanks.

Title: Re: RepeatMark.ms (0.3)
Post by: hmmueller on 2018-05-21 04:23 pm
Hi Mike -

I have a number for suggestions for this object. They all follow essentially from attempts to write the examples in "Behind Bars" with it. Instead of writing too much text here, I have implemented some modifications and, using them, written the B.B. examples - all of this is attached. The main necessary feature is that the number 1 must appear above the notes defining the repeated segment.
Of course, one could create this label manually. However, to me this simply seems cumbersome - why not use the same object, but without a symbol? This seems quite logical to me.
The same effect (label, but no symbol because notes are visible) is necessary after a line break, according to one example in B.B.

I also have a vision how to use this object, which has triggered my to write a sketch of a user tool - which has actually helped me to write the B.B. examples quite quickly (at least the type "single" ones). Three aspects have driven its design:

What do you think about my usage ideas and my implementation sketch? (the Lua file has, for the moment, _ms.hmm as its "author", just to indicate that the code is not all your fault, but also not all my creation)

H.M.
Title: Re: RepeatMark.ms (0.3)
Post by: Mike Shawaluk on 2018-05-21 06:44 pm
When I first started creating user plugins, there weren't a lot of other people out there making them, so I managed to get my initials on many of the "standard" ones. I'm happy that you have come forward and are making a number of useful additions.

A number of plugins that I wrote were created because they were things I found myself wanting or needing, for the choral music files that I was creating for our church choir. Once I created them, I was happy to share them with other NWC users.  RepeatMark.ms is not one of these; that one was a somewhat recent addition, and was something I did mainly to see if it would fit the needs of people who create scores that require them.  I've never really needed a repeat mark (or simile mark, which I now understand is the better name for that notation) in the scores I create.

That said - I would be happy to relegate the RepeatMark code over to you, where you can evolve it as needed, since you have more knowledge as to how these marks are actually used. Feel free to start a new thread with your RepeatMark.hmm (or SimileMark.hmm) code, and I'll retire the version in this thread once you have done that.

Thanks,
Mike
Title: Re: RepeatMark.ms (0.3)
Post by: David Palmquist on 2018-05-21 10:32 pm
...The main necessary feature is that the number 1 must appear above the notes defining the repeated segment. Why?  The tool doesn't seem to increment the number in the repeat bars and I don't think I've ever seen the number 1 appearing above the repeated bar in professionally engraved charts..Of course, one could create this label manually. However, to me this simply seems cumbersome - why not use the same object, but without a symbol? This seems quite logical to me.  I'm not sure what you mean.The same effect (label, but no symbol because notes are visible) is necessary after a line break, according to one example in B.B. Yet in "Repeated bars and line break" you put the number in the visible bar that begins the second system../b]
  • First, I did not want to pop up two dialogs, therefore I put the flag that says whether the symbol should appear into the sign of the label; but maybe the alternative design, with a separate checkbox dialog with default "show symbol" does not need more key hits ... I have not counted them. 
      Agreed.  The fewer the clicks the better.  Getting to the label box in the dialogue window is a little awkward.
  • Second, for single staff printing, the user tool should add useful spacers.
      As it currently works, you need spacers before and after the symbol to make it sit inside the bar instead of over the next bar line.  You want the double bar repeat to sit on the bar line, so it's only the single repeat that needs to be tweaked.  How about changing the symbol from % to .....%..... (where ..... is a space set with the space bar), and using the Preserve Width setting?  The dialogue box could ask the user how many spaces to use..
  • Last, the tool should make all the notes and dynamics (and what else??) invisible when applied.
      In percussion parts, jazz bass and jazz solo charts, the single bar repeat is dictating the rhythm or the chords  but not necessarily dynamics, text, dynamic variations, or tempo variations.  For instance, I occasionally see hairpins in the last few bars of single bar repeats.  In such cases, the repeat sign is not "correctly" a repeat, since you want the player to do what the rest of the group is doing.  I think it would be enough to simply change the notes within each bar to invisible, rather than make everything else invisible too.
Other thoughts.
  • I'm not sure what you mean by "label" but I think that is what you're calling the little number you place over the simile symbol every bar or every nth bar.
  • RepeatMark.ms places brackets around the label:  (4), (6) etc.  That is preferable to the label currently generated by RepeatMark_ms.hmm.  Why?  I recently sight read a chart with many successive two-bar repeat signs, each of which had the required 2 over the symbol.  The chart also had small printed bar numbers above each bar line as well as labels showing the repeat iteration number.  Brackets around the label make it easier to differentiate from the other numbers.
  • Each repeat sign seems to need to be entered manually, with labels (if needed) set individually. The numbers in the label don't seem to increment automatically (maybe I missed it).  Automatic would be better, since suppressing the label with 0 or setting the label requires some awkward mouse movement in the popup window.
  • I wonder if the logic could work like the multibar rest sign?  Insert the tool in the bar after the one that is to be repeated, set the number of times it is to copy that bar, make the notes invisible and insert the sign, and give the user control over which repeat iterations get labelled.
  • Each simile bar may be labelled with a number if the user wishes, but it's more common to only see the label every 4 or 6 bars. Your tool allows the label to be suppressed, but the best way to invoke that is simply set it up in the first repeat bar and copy that entire bar as many times as desired, changing the ones you want to label.
  Overall, a very useful tool, please carry on developing.  My thanks to both Mike and you.[/list]
Title: Re: RepeatMark.ms (0.3)
Post by: hmmueller on 2018-05-22 10:26 am
... I would be happy to relegate the RepeatMark code over to you, where you can evolve it as needed, ...
Thanks,
Mike
Thanks back to you! - for the plugins + expertise I (& we) got from you - so yes, I'll take the code and try to build from there on. I'll open a new thread when I have the first result.

Re the name: I also thought to call it SimileMarks, but (a) B.B. does not call it that; it actually circumvents giving these symbols a name - I don't know why, but maybe: (b) "simile" is a too general name, because it is used for many other "repeated things" (like "continue with staccato" etc.). I stink I'll actually stick with your name - it's known, it's not wrong, also not w.r.t B.B. ...

H.M.
Title: Re: RepeatMark.ms (0.3)
Post by: hmmueller on 2018-05-22 11:39 am
A color-coded answer - I hope the items and responses are somewhat clear and legible ...
My original statements, ...
... David's remarks, ...
... and my answers (some explain how my current development code works, not the one attached above - I'll upload that version in the evening, i.e. about 5 hours from now ...).

  Overall, a very useful tool, please carry on developing. 
I'll try :)

Thank you for your extensive comments!!

H.M.



Title: Re: RepeatMark.ms (0.3)
Post by: hmmueller on 2018-05-22 08:00 pm
I have now uploaded my extended version of this object in the new thread RepeatMark.test (https://forum.noteworthycomposer.com/?topic=9756.0).

H.M.