Skip to main content

Show Posts

This section allows you to view all Show Posts made by this member. Note that you can only see Show Posts made in areas you currently have access to.

Messages - Warren Porter

1
General Discussion / Re: Very long half note
I ask if there is a User tool, a Manage objects or a Performance style to achieve this.
You might want to visit nwc-scriptorium.org and select Custom Dynamics. As Flurmy mentioned, you can't have a percussive instrument (like a piano) selected--only an instrument requiring effort for the full duration of your (tied) notes would work, such as a voice (oohs, ahas), wind, brass, or bowed strings.

If changing the instrument doesn't work by itself, try to install the above tool.

Good luck!
3
User Tools / Repeated Measures
This tool allows the user to repeat a measure many times. After selecting the measure to be repeated, there will be a prompt for the total number of times that measure will be played. For example, if you answer 10 to the prompt, the measure will be repeated 9 times showing only bar lines, the repeat measure sign, and repetition number on every 4th bar.

Staff Bold is 0.5 the size of Staff Metrics and Boxmark2 under User1 is 1.375 that of Staff Metrics.

 wscript "'Browse can insert the path for you' \repMeas.js <PROMPT:Tot Times?=#>"
     Suggested path \Program Files (x86)\Noteworthy Software\Noteworthy Composer 2\Scripts\

Rename the attachment removing .txt before installing.

This was my sample file, but you will have to change the User1 font if it doesn't contain Boxmark2.
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Key|Signature:F#|Tonic:G
|TimeSig|Signature:5/4
|Note|Dur:8th|Pos:-4
|Note|Dur:4th|Pos:-2
|Note|Dur:8th|Pos:-4
|Note|Dur:4th|Pos:-2
|Note|Dur:4th|Pos:-7
|Note|Dur:4th|Pos:-5
|Bar
!NoteWorthyComposerClip-End

You may need to change lines 58 and/or 59 to use a different font or User font number.
Enjoy!
** Updated attachment 02/28/2024 **
5
User Tools / Re: Examine clipboard
This is the newest version--I also tested the Wscript.Echo statement
Code: [Select · Download]
WScript.StdOut.Write(WScript.StdIn.ReadAll());
WScript.Echo("Testing");   // This line may be taken out.
WScript.quit(99);
/*
WScript.StdErr.Write(WScript.StdIn.ReadAll());
WScript.quit(1);
 */
Same information, just in a different tab.

This might be helpful when working on scripts that change the staff (Return Code == zero).
7
User Tools / Examine clipboard
When working on a script for a NWC tool, it can be helpful to see what is being passed to the script, especially the Fake and Context lines. This reads the clipboard and copies it to StdErr where a return code of 1 will display it. I called it seeClip.js:
Code: [Select · Download]
WScript.StdErr.Write(WScript.StdIn.ReadAll());
WScript.quit(1);

Create the file in your usual Scripts folder (must end in .js). When installing it as a new script, browse for the name of it, then add "wscript " (note trailing space) to the beginning of the line. No prompts.

8
General Discussion / Re: Percusion
Where can I get the equivalences of the percussion notes between the scores that are available on the Internet and the Noteworthy percussion notes?
For example:
In a score downloaded from the internet, the note FA, which is the Bass Drum, is shown on the percussion staff.
but in Noteworthy the Bass Drum is an LA.


Thanks for the attention.

Pedro López from Caracas, Venezuela
10
General Discussion / Re: Repeated measures
This is what I got with Boxmark2 as User1 font with a size of 5/4 of the staff size. Would you want a count every 4 measures?
You can also use a MusicDings font for User1. Which font did you use to show the measure repeat sign?
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Bar|SysBreak:Y
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=First
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=End
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=First
|Note|Dur:8th,Staccato|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=End
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Up,Lyric=Never,Beam=First
|Note|Dur:16th|Pos:1|Opts:Stem=Up,Lyric=Never,Beam
|Note|Dur:16th|Pos:b2|Opts:Stem=Up,Lyric=Never,Beam=End
|Rest|Dur:16th
|Note|Dur:16th|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=First
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=End
|Bar
|Spacer|Width:100
|Spacer|Width:100
|Text|Text:"\]"|Font:User1|Pos:-1.5|Justify:Center
|Spacer|Width:100
|Spacer|Width:100
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:16th|Pos:1|Opts:Stem=Up,Lyric=Never,Beam|Visibility:Never
|Note|Dur:16th|Pos:b2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Rest|Dur:16th|Visibility:Never
|Note|Dur:16th|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Bar
|Spacer|Width:100
|Spacer|Width:100
|Text|Text:"\]"|Font:User1|Pos:-1.5|Justify:Center
|Spacer|Width:100
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:16th|Pos:1|Opts:Stem=Up,Lyric=Never,Beam|Visibility:Never
|Note|Dur:16th|Pos:b2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Rest|Dur:16th|Visibility:Never
|Note|Dur:16th|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Bar
|Spacer|Width:100
|Spacer|Width:100
|Text|Text:"4"|Font:StaffBold|Pos:7
|Text|Text:"\]"|Font:User1|Pos:-1.5|Justify:Center
|Spacer|Width:100
|Spacer|Width:100
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:16th|Pos:1|Opts:Stem=Up,Lyric=Never,Beam|Visibility:Never
|Note|Dur:16th|Pos:b2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Rest|Dur:16th|Visibility:Never
|Note|Dur:16th|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Bar
|Spacer|Width:100
|Spacer|Width:100
|Text|Text:"\]"|Font:User1|Pos:-1.5|Justify:Center
|Spacer|Width:100
|Spacer|Width:100
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:16th|Pos:1|Opts:Stem=Up,Lyric=Never,Beam|Visibility:Never
|Note|Dur:16th|Pos:b2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Rest|Dur:16th|Visibility:Never
|Note|Dur:16th|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Bar
|Spacer|Width:100
|Spacer|Width:100
|Text|Text:"\]"|Font:User1|Pos:-1.5|Justify:Center
|Spacer|Width:100
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:16th|Pos:1|Opts:Stem=Up,Lyric=Never,Beam|Visibility:Never
|Note|Dur:16th|Pos:b2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Rest|Dur:16th|Visibility:Never
|Note|Dur:16th|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Bar
|Spacer|Width:100
|Spacer|Width:100
|Text|Text:"\]"|Font:User1|Pos:-1.5|Justify:Center
|Spacer|Width:100
|Spacer|Width:100
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:16th|Pos:1|Opts:Stem=Up,Lyric=Never,Beam|Visibility:Never
|Note|Dur:16th|Pos:b2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Rest|Dur:16th|Visibility:Never
|Note|Dur:16th|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Bar
|Spacer|Width:100
|Spacer|Width:100
|Text|Text:"8"|Font:StaffBold|Pos:7
|Text|Text:"\]"|Font:User1|Pos:-1.5|Justify:Center
|Spacer|Width:100
|Spacer|Width:100
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:16th|Pos:1|Opts:Stem=Up,Lyric=Never,Beam|Visibility:Never
|Note|Dur:16th|Pos:b2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Rest|Dur:16th|Visibility:Never
|Note|Dur:16th|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Bar
|Spacer|Width:100
|Spacer|Width:100
|Text|Text:"\]"|Font:User1|Pos:-1.5|Justify:Center
|Spacer|Width:100
|Spacer|Width:100
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:16th|Pos:1|Opts:Stem=Up,Lyric=Never,Beam|Visibility:Never
|Note|Dur:16th|Pos:b2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Rest|Dur:16th|Visibility:Never
|Note|Dur:16th|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Bar
|Spacer|Width:100
|Spacer|Width:100
|Text|Text:"10"|Font:StaffBold|Pos:7
|Text|Text:"\]"|Font:User1|Pos:-1.5|Justify:Center
|Spacer|Width:100
|Spacer|Width:100
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:16th|Pos:1|Opts:Stem=Up,Lyric=Never,Beam|Visibility:Never
|Note|Dur:16th|Pos:b2|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Rest|Dur:16th|Visibility:Never
|Note|Dur:16th|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=End|Visibility:Never
|Bar
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=First
|Note|Dur:8th,Staccato|Pos:-2|Opts:Stem=Up,Lyric=Never,Beam=End
|Note|Dur:8th,Staccato|Pos:5|Opts:Stem=Down,Lyric=Never,Beam=First
|Note|Dur:8th,Staccato|Pos:4|Opts:Stem=Down,Lyric=Never,Beam=End
|Note|Dur:4th,Staccato|Pos:5
|Note|Dur:4th,Staccato|Pos:5
|Bar|Style:SectionClose|SysBreak:Y
!NoteWorthyComposerClip-End
11
User Tools / Re: Audit Bar Lines tool
Just a minor tweak in the code. If you run the script on a selected part of the staff, just before a bar line, the measure number may be off by 1. Lines containing contextOn are the only changes since the last version.

To see what this script sees, run it with Y on the prompt, then choose STDIN.
12
General Discussion / Re: Ridimensionamento Partitura
I wonder how useful multi-lingual prompts would be. A simple change would be possible where a script asks for Y or N. Instead of checking if a prompt is or isn't Y, it could check for prompt isn't or is N since "No" is the same in several languages. A prompt could ask for Yes, Oui, or Si without any changes to a script looking for a not No since all would work. More involved prompts might be beyond the scope of a translate web page that might not know about music idioms or how the language is used by native speakers.

For example, in mmr.js script looks for the literal "Undo", but the word "Yes" could easily be replaced.

Other thoughts?
14
General Discussion / Re: Ridimensionamento Partitura
Hi everyone.
I wrote a score completely about NWC
Now I have to go to print.
Do you know if there is a function that resizes the score?
In scores, especially the oldest ones, when an instrument does not play, it disappears from the score.
It then reappears later when it plays again.
If NWC has this function it would be a good thing to save paper and ink
Visit nwc-scriptorium.org/wp to download and install Multi Measure Rests (mmr.js) in the right column. It can handle collapsing staves for long rests automatically.
Ciao.
15
User Tools / Re: Audit Bar Lines tool
I think I can put this script to bed. The attachment in the top post is replaced, but needs this line after 104:
Code: [Select · Download]
               foundWhole = false; // Reset for next measure.
This is near the end of the loop that finds a bar line and gets ready for the next measure.
16
User Tools / Re: Audit Bar Lines tool
Good point! I think it can be corrected by adding the following after line 81:
Code: [Select · Download]
		if (durLen == 768 && lines[i].substr(0,5) == "|Rest" && lines[i-1].substr(0,4) == "|Bar" && lines[i+1].substr(0,4) == "|Bar") // Find only whole rest in bar?
durLen = targetMeasure; // Found | wh rest |

Am trying to implement multi-measure rests, but will have to tackle that next year.

** I replaced the script in the first post. Will check it out further after New Year's Day. MC & HNY **
19
User Tools / Re: Audit Bar Lines tool
This should fix that problem. sumNotes would be zero for an empty measure so I am checking it as well as Exclude from Bar Count before incrementing the bar number. Also postponed the zeroing of sumNotes for the next bar.

This replaces lines 92-94:
Code: [Select · Download]
		if (lines[i].indexOf("XBarCnt:Y") == -1 && sumNotes > 0)    // Change 3 since 1st replacement script 
barNum++;                                             // Change 3 since 1st replacement script
sumNotes=0;                                                 // Change 3 since 1st replacement script
20
User Tools / Re: Audit Bar Lines tool
Thank you for looking at it.
 I am changing line 86 to the following:
Code: [Select · Download]
		if (diff != 0 && sumNotes !=0) {    // Change 1 since 1st replacement script 
The variable sumNotes will be zero for an empty measure.

Also on line 43, I am changing the default value of num and denom to 4 each for a default 4/4 time signature.

When I ran the script with the above changes against each of your snippets, it did not find any errors.

On line 68, please change \n+ to \d+

To not count bars excluded from line count, these next three lines replace line 92:
Code: [Select · Download]
		sumNotes=0;                                 // Change 2 since 1st replacement script 
if (lines[i].indexOf("XBarCnt:Y") == -1)    // Change 2 since 1st replacement script
barNum++;                             // Change 2 since 1st replacement script
21
User Tools / Re: Audit Bar Lines tool
The comments in the tool say that it does not modify the staff, so I would think that changing color of the bar lines (or something like that) would be a significant design change.
Rick G pointed me in the right direction about a framework for JavaScript scripts. My scripts start near the bottom (line 103 in this script) with NWC giving the script the nwctxt version of the staff or selected part of it. In the calculate() function, the nwctxt is broken down into an array named lines which is usually modified in some way. The variables rc and errMsg are global so any function can read or modify them. If the Return Code is zero, lines will replace what was passed to the script while any other value else will pass the contents of errMsg to NWC where it will be displayed to the user.

I have had my share of projects where a seemingly trivial change turned into a major undertaking, but fortunately this wasn't one of them . . . . .yet.
22
General Discussion / Re: Audit Bar Lines
I replaced the script on my first post in User Tools. Please revisit my post 4 above to download an updated copy. This version has a prompt.

Revised 2024/01/22 Corrected problem w/measure number when selecting part of the staff.
23
User Tools / Re: Audit Bar Lines tool
I have replaced the attachment in the initial post. There is also a prompt--Please edit the end of the command line for this tool to end in "  <PROMPT:Summarize?:=|Y|N>" after you replace the original script.   It will follow "auditBar.js".
24
General Discussion / Re: Audit Bar Lines
On my installation the command line reads: "wscript Scripts\auditBar.js ". While installing (or Editing an install) it may help to browse and open the file, then insert "wscript " into the front of the command line.

My generic instructions in Scriptorium on the right side might also be helpful.

If I change the script to prompt for a list or a text comment when an error is found, the end of the command will need to be changed, but I will wait until I replace the script before giving the details.
25
General Discussion / Re: Audit Bar Lines
Can you post a link or instructions on how to install the tool? Is there an automated way, or do you manually copy the file to an nwc folder? Which one? You delete the .txt extension, but do you have to add a .php or .lua extension?
No, it ends in ".js". Lawrie's reply # 6 describes the installation very well.
26
User Tools / Re: Audit Bar Lines tool
There is an expression "I do my best proofreading right after I hit SEND".  I had a variable "foundError" maintained for that but forget to use it at the end. It also doesn't handle Common or Cut time yet. If it is in 9/8 time, should it report the difference in 8ths or dotted quarters?

It could report the result with a red text message that could be easily be deleted when that measure is corrected. This is in the new version.

Feedback welcome.

Put the following just before "return lines":
Code: [Select · Download]
  if (!foundError)
  errMsg="No errors found!";
28
User Tools / Audit Bar Lines tool
The Audit Bar Lines tool that NWC provides assumes the note lengths are correct and it will move the bar lines if necessary.
This tool assumes the bar lines are correct and will point out the measures that are short or long in beats defined by the most recent Time Signature.

After downloading this file, please remove the .txt from the end of the file name.

I'll submit it to Scriptorium in a few weeks after I can check feedback.

*** Attachment replaced 12/21/2023. ***
Latest changes: Does not count bar lines excluded from count or empty measures.
*** Attachment replaced 12/22/2023. ***
*** Attachment replaced 12/24/2023. ***
Multi measure rests, Whole rest by itself works for any time signature.
*** Attachment replaced 01/01/2024 ***
Better documentation--cleaned up potential bug.
*** Attachment replaced 01/22/2024 ***
Selecting part of staff just before a bar line could throw the measure count off.
*** Attachment replaced 01/30/2024 ***
29
General Discussion / Re: Development of Rubato User Tool
In spite of my problems with my algebra, coding errors, and trying to reuse old code, I finally got something with which to test.
Once unzipped, you can see the source if you open with a text editor (i.e., Notepad) or open with a browser and select "view source" (it's Cntl/U on Chrome).

To use this, open NWC at the same time as your browser. Select your rubato section and cut it to the clipboard (Cntl/X), paste it into the text area, and click "Submit". Select the textarea contents and copy it back to your NWC file. If you used the Alt/Tab shortcut to get to the webpage, your NWC cursor will be right where you left it.

The checkbox brings up my test data.

If you think you will need this tool, please test it. If there are any problems, I will need to have a copy of your input data as well as your notes on what it did or didn't do or how to improve it.  This version has a "seeded" random number generator so you may replicate previous tests.

I won't ask to put this on Scriptorium in either form until I can check it out further and get some feedback.

Enjoy!
30
General Discussion / Re: Audit Bar Lines
I have several tools with a function to determine the duration (in 768th notes) of anything with a Dur: attribute. Unless someone beats me to it, I'll give that function a shot. Right now, Rubato has me pulling my hair out.

You could create and copy a staff and then audit the new staff. Then look for the first place they don't match. Correct the problem then replace your new staff with the corrected staff. Repeat until no changes.
32
General Discussion / Re: single note on the songbook
  • Force stem up, then enter the quarter notes.
  • Force stem down, then Cntl/Enter the first half note over the first quarter note (like adding a note to a chord).
  • Enter 2nd half note.
  • Select the new chord (very first note), then semicolon (or slur icon).
  • While it is still selected, Cntl/E and change slur direction to downward.

HTH
Pacem

Edited: I may have misread your question. Were those layered staves with both singing the 2nd half note?
33
General Discussion / Re: Development of Rubato User Tool
My apologies to everyone. When I started working on this, I found it does not work on anything except the default of quarter note = nnn. I need to go into a deep think and outline how to fix this then improve it.
34
General Discussion / Re: Development of Rubato User Tool
When I can find the time, I plan to start with code to locate all the tempos in the selected staff to put their locations in a table, then run existing code two at a time. The percentage would have to stay the same for all sections.

Math.Random() returns a number between 0 and 1. In the commented out code, I took the sum of 20 random numbers--that method is easier to understand. A low sum or high sum can happen, but not often. When I was working on it, someone on another forum suggested the live code in there now, I'm sorry I didn't give him credit.

The way I use the tool is to fill the measures with whole rests, run the tool, then put notes in. A version to work only on bar lines might be another improvement. I would try it out on Zorba the Greek or Hall of the Mountain King.
35
General Discussion / Re: Development of Rubato User Tool
@all: I'm not sure what the Rubato tool is supposed to do, and what it actually does - anyone knows it (before someone delves into the code ...)?
I guess the code delver would be me.

The heart of the script is in lines 54-67, the playOne script--it returns a number from a gaussian distribution (bell shaped curve). Mostly the numbers it returns will be near 1; numbers higher or lower than 1 are less likely; and the further from 1 numbers are rare. The script prompts for a percentage with a default of 10. A small percentage creates a thin bell and most generated tempi will be near the base while a large percentage will create a wide bell with generated tempos all over the place.
For reference: Gaussian Distribution

There is a bug in line 119 after looking for !NoteWorthyComposerClip-End
Code: [Select · Download]
	{ EndProc = i - 1; break; } // Added break 2023/11/15
Please replace the existing line 119 with the above if it contains "EndProc = i - 1;".
That bug comes into play if there is only one tempo marking in the part of the staff passed to the script.

This was the file created, look for "|Visibility:Never".
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|TimeSig|Signature:4/4
|Text|Text:"use 5 in rubato"|Font:StaffItalic|Pos:-12.5
|Tempo|Tempo:120|Pos:9.5
|Tempo|Tempo:115|Pos:8|Visibility:Never
|TempoVariance|Style:Accelerando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Tempo|Tempo:121|Pos:8|Visibility:Never
|TempoVariance|Style:Ritardando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Tempo|Tempo:116|Pos:8|Visibility:Never
|TempoVariance|Style:Ritardando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Tempo|Tempo:106|Pos:8|Visibility:Never
|TempoVariance|Style:Accelerando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Tempo|Tempo:128|Pos:8|Visibility:Never
|Rest|Dur:Whole
|Bar
|Tempo|Tempo:128|Pos:8|Visibility:Never
|TempoVariance|Style:Ritardando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Tempo|Tempo:116|Pos:8|Visibility:Never
|TempoVariance|Style:Accelerando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Tempo|Tempo:117|Pos:8|Visibility:Never
|TempoVariance|Style:Accelerando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Tempo|Tempo:125|Pos:8|Visibility:Never
|TempoVariance|Style:Accelerando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Tempo|Tempo:126|Pos:8|Visibility:Never
|TempoVariance|Style:Ritardando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Text|Text:"use 50 in rubato"|Font:StaffItalic|Pos:-12.5
|Tempo|Tempo:120|Pos:9.5
|Tempo|Tempo:122|Pos:8|Visibility:Never
|TempoVariance|Style:Ritardando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Tempo|Tempo:93|Pos:8|Visibility:Never
|TempoVariance|Style:Ritardando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Tempo|Tempo:4|Pos:8|Visibility:Never
|TempoVariance|Style:Accelerando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Tempo|Tempo:218|Pos:8|Visibility:Never
|TempoVariance|Style:Ritardando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Tempo|Tempo:124|Pos:8|Visibility:Never
|TempoVariance|Style:Accelerando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Tempo|Tempo:210|Pos:8|Visibility:Never
|TempoVariance|Style:Ritardando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Tempo|Tempo:9|Pos:8|Visibility:Never
|TempoVariance|Style:Accelerando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Tempo|Tempo:188|Pos:8|Visibility:Never
|TempoVariance|Style:Ritardando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Tempo|Tempo:180|Pos:8|Visibility:Never
|TempoVariance|Style:Ritardando|Pos:-7|Visibility:Never
|Rest|Dur:Whole
|Bar
|Rest|Dur:Whole
!NoteWorthyComposerClip-End

I'll try to get this updated as soon as possible and Thanks In Advance to Rick.
36
General Discussion / Re: Development of Rubato User Tool
The tool doesn't have to have a trailing tempo indication. If the final tempo is missing, all generated tempos will be centered around the first (only) tempo. When a trailing tempo is supplied, the center tempo will increase or decrease as appropriate.

If you need a number of "anchor tempi" in a piece, I'll see what I can do.

Whatever this tool does, the results will be fixed in stone, i.e., if it generates a hidden quarter = 71 bpm, it will always have that value until you change it. Perhaps a rubato object? It would playback differently every time.

I don't have a website any more, but Richard recreated my NWC scripts: nwc-scriptorium.org/wp.
37
General Discussion / Re: Notes heard before play
You might be hearing hidden staves. Under "File" choose "Page Setup ..." or choose the open book icon. Under the "Contents" tab, hidden staves will not have an X in their checkbox. Check the empty boxes and click on OK.
HTH
43
General Discussion / Re: Discord channel
I think Discord could be a good idea, but the NWC Forum works well.  There's an old saying, "if it ain't broke, don't fix it."
On the other side, if it does break, what happens next? If NWC takes the forum offline, right now there is no plan B.

If there is NWC on Discord, I would register for it but would only occasionally use it unless I need a spare tire.
46
General Discussion / Re: How to make a song book
Remove the words in the chorus from all lyrics except for one verse. If the song starts with the chorus, replace the lyrics with "_ " for all but one verse.
HTH
48
General Discussion / Normalizing MIDI files
In most music, especially popular music, 32nd and 64th notes are extremally rare but are all to frequent in downloaded midi files. Is there any way to fix this?  My guess is they come when someone is playing to create a midi file and their timing isn't perfect (whose is?) or middle notes in a guitar chord for example.

These are some sample measures (treble clef, E major)
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Rest|Dur:Half,Dotted
|Chord|Dur:4th|Pos:-2,1
|Bar
|Chord|Dur:4th,Dotted|Pos:-1,1
|Chord|Dur:8th|Pos:-1^,1^
|Chord|Dur:4th|Pos:-1,1|Opts:Stem=Down
|Note|Dur:16th|Pos:0|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:2|Opts:Stem=Down,Beam
|Note|Dur:64th|Pos:n1|Opts:Stem=Down,Beam
|Note|Dur:32nd,Dotted|Pos:#1|Opts:Stem=Down,Beam=End
|Bar
|Chord|Dur:Half,Dotted|Pos:1,3
|Chord|Dur:8th|Pos:1,3|Opts:Stem=Down,Beam=First
|Chord|Dur:8th|Pos:1,3|Opts:Stem=Down,Beam=End
!NoteWorthyComposerClip-End


TIA
49
Tips & Tricks / Re: Slurs or ties direction
I have a user page Stem and Articulation Avoidance here that Rich is hosting on NWC Scriptorium. That and Layered Note Avoidance might help layered parts look better or keeping slurs from looking like a fish or a lens.