Skip to main content

Messages

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

Messages - Warren Porter

352
General Discussion / Trailing slurred grace notes
With bowed instruments, slurs are usually used to indicate notes played with the bow moving in the same direction.  Near the end of a phrase there may be a grace note or two trailing an ordinary note, but the bow won't change direction until the last note.  Is there any workaround to produce the image on the attachment?  I can't stop the slur.
354
General Discussion / Re: Subtitle
I would like to have the option of printing the part on every page.  Outside of the first page is this "Violin I", "Violin II", "Oboe", etc?
356
General Discussion / Re: Decidedly off topic: The Great Gatsby
It's funny 'bout the 3 'bones - I was the ONLY bone in the part I was in - and we didn't actually play, it was all miming to whatever we had in our heads - the dancing was to some techno stuff to give them rhythm - I believe the score hadn't been written when I did my bit...

The part I was in was the first party at Gatsby's home - I also did a bit of blue screen and running around as a guest at the second party...  can't wait till this Thursday and I can see it myself - I really hope I made it into the final cut.
Saw it again: You could be seen!  My wife very much enjoyed it with me--she was out of town the first time I saw it.
357
General Discussion / Re: Losing a toolbar
Another way to look at or change toolbars is to right click in an unused part of the toolbar area.

Sometimes it's possible to make changes at the batch level using a text editor on nwctxt data, especially if your editor supports (and you know how to use) "regular expressions".  For example:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.5,Single)
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0!1
|Note|Dur:4th|Pos:0!1
|Note|Dur:4th|Pos:0!1
!NoteWorthyComposerClip-End
the first note is black (default) and the others are red.  To change all them to default, just remove the "!0".

To use an editor on a part of a NWC file:
  • Save the file.
  • Create a "good" object (i.e., note or rest) in front of those you need to change.
  • Cut your model and the things you need to change to the clipboard.
  • Start your editor (if necessary) and paste the clipboard into the workspace.
  • Make your changes with that editor's "search and replace" function.
  • Remove your model object if need be.
  • Select everything in the editor and cut it back to the clipboard.
  • Return to NWC (Alt/Tab).  Doing it this way won't change the cursor position.
  • Paste it back into NWC (CntlV).
358
General Discussion / Re: Layering
Now, my question is this:  When you write the notes on two or more staves, and then layer them, is there away to actually "combine" the notes in the layered staff?  What I mean is, to make it appear that there is only one stem for the two notes layered together.  If there is no such way, how can I input multiple voices on one staff?  As I've mentioned before, I'm a rather new and somewhat timid user of Noteworthy, and don't spend enough time on it to really learn all the ins and outs.  I do not not have in means of input to the software other than manual, using the keyboard at the bottom of the screen.

To enter a chord, do Cntl/Enter to add notes after the first one.  For example:  To enter a C major chord, find a C spot on the staff with the cursor and press Enter.  Then Up Arrow twice and Cntl/Enter for the E and repeat for the G.  This assumes no key signature is in place.

If you want to enter parts on different staves, this earlier thread might be helpful.
359
General Discussion / Re: Decidedly off topic: The Great Gatsby
I just saw it a few minutes ago and stayed for all the credits.   A lot of the music was done by the Bryan Ferry Band, is this the group you played in?

I tried to find you and saw as many as three 'bones in the scene at one time, but I can't honestly say I recognized you.  A band (BF?) was playing for Jay Gatsby's parties but after showing the whole thing for not more than a second (prob less), they zoomed in to the main characters.  When they were showing the whole scene, the trombones were a little left of center.

The credits mentioned Australia a number of times and also New South Wales.

Definitely something to tell the grandkids about!
363
General Discussion / Indenting the staff.
This may be related to an earlier thread.  Usually the first staff on a part for one instrument will be indented without supplying the staff name for a new section or new movement.  If more than one staff is being displayed in a system, nothing is done to where the staff starts even though the staff walks over any bracket or brace.  Instead of doing a staff gap, displaying the staff names would also do the "indent", but that wasn't done to any except for the first movement in the collection I'm currently going through (see the scan0001.pdf).

Try doing a print preview on the attached NWC file.

TIA

364
General Discussion / Re: Easier Shape Note Entry?
I would love to have a "Shape Notes_UNDO" user tool available, in case the Shape notes should've been applied to another staff or selection.
Like this?  Installation instructions are on lines 11-15 of the following:
Code: [Select · Download]
/*
 unShape.js  by Warren Porter


                                  Un-shape Tool
 This tool will remove the shape attribute

 This tool can operate on ONLY a selected part of a staff, or, if nothing has been selected, the entire staff.

 To install:
 1) Save this file with the name unShape.js on your computer and remember its location.
 2) Start NWC and press Alt/F8.  Pick new
 3) After choosing a name and group, browse for this file and click "Open".
 4) Insert "wscript " at the beginning of the command.
 5) Clip text should be selected and check no options.
 */

rc=0, errMsg="";

function doProcess(clip) {
var displ=0, upDispl=0;
var result = new Array();
var lines = clip.split("\r\n");
  for (i = 1; i < lines.length; i++) {           // Main processing loop
  if (/Fake/.test(lines[i]))
    lines[i] = "#";
  else {
    result = lines[i].match(/(\|Note.*Pos:)([n#bvx]?)(-?\d+)([a-h])(\^?)(.*)$/) // 1. Note thru Pos 2. Accidental 3. Position 4. Shape 5. Ties 6. To end of line
if (result != null) {
  lines[i] = result[1] + result[2] + result[3] + result[5] + result[6] }
   } }    // End main loop
  return lines;
}

var myLines;
myLines=doProcess(WScript.StdIn.ReadAll()).join("\r\n");

if (rc == 0)
  WScript.StdOut.Write(myLines);
else
  WScript.StdErr.Write(errMsg);
WScript.quit(rc);
It works on notes only--no chords, restchords, etc.
366
General Discussion / Re: Need Assistance
No need to apologize.  When I saw the Admin provided the same information I did (except the MusikDingsSans font is already installed--no need to chase down Boxmark2), I took it down--it wasn't anything you did.  Adding an example of what the Arpeggiate tool does was the only thing left to add.

When someone is preparing a response to a topic and someone else responds before the response is ready, there will be a suggestion that the response be reviewed before posting;  in this case that feature came in handy.
367
General Discussion / Re: Need Assistance
The only thing to add is an example of what the Arpeggiate tool can do for you:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.5,Single)
|Clef|Type:Treble
|Text|Text:"Am7"|Font:StaffBold|Pos:10
|Note|Dur:16th,Grace|Pos:-8^|Opts:Stem=Up,Beam=First
|Note|Dur:16th,Grace|Pos:-4^|Opts:Stem=Up,Beam
|Note|Dur:16th,Grace|Pos:-2^|Opts:Stem=Up,Beam
|Note|Dur:16th,Grace|Pos:1^|Opts:Stem=Up,Beam=End
|Chord|Dur:Half|Pos:-8,-4,-2,1,3
!NoteWorthyComposerClip-End
368
General Discussion / Re: installing user tool
Start NWC and open a file.  Enter Alt/F8 and choose New.  Assign it to a group, give it a name, then choose Browse.  Find the file you just downloaded (hopefully the name ends in .php) and click OK.  At this point the line should start with php\php.exe, a space, and the address of your new tool.  Adding the prompts comes next.  Going back to http://nwc-scriptorium.org/nwc2scripts_kbsc_clef_change.html, note the "Usage" and copy to the end of the line the part that starts with

"/clef= ......... Octave Down|>" 

Paste that onto the end of the Command line (note the space before "/clef).  Click on OK and the script should be ready to roll.

HTH
370
General Discussion / Re: searching for succession of notes
I must study your macro to try to understand how it works.
Thanks again for your help.

You're welcome.  That script was a modification of an existing script framework and has a number of variables that could be safely deleted.  I think the only ones it really needs are i, lines, and lineLength3 within the calculate function.  If it finds a specific pattern of durations on three consecutive notes/rests/chords, it replaces them on clipboard/nwctxt data like this:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.5,Single)
|Rest|Dur:16th,Dotted
|Note|Dur:16th,Dotted|Pos:-2|Opts:Stem=Up,Beam=First
|Note|Dur:16th|Pos:-1|Opts:Stem=Up,Beam=End
|Note|Dur:16th,Dotted|Pos:0|Opts:Stem=Down,Beam=First
|Note|Dur:16th,Dotted|Pos:2|Opts:Stem=Down,Beam
|Note|Dur:16th|Pos:1|Opts:Stem=Down,Beam=End
|Note|Dur:16th,Dotted|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:16th,Dotted|Pos:3|Opts:Stem=Down,Beam
|Note|Dur:16th|Pos:2|Opts:Stem=Down,Beam=End
!NoteWorthyComposerClip-End
371
General Discussion / Re: searching for succession of notes
This is a quick tool to fix midi triplets.  First save the file on your computer (remember the location).  Open NWC with the file you want to convert and do Alt/F8.  Choose New and pick a group and a name for it.  Browse for the file you saved.  In the command line insert "wscript " at the beginning of the line (note trailing space after wscript).  Now you can select Run.
Code: [Select · Download]
/* Midi triplet conversion by Warren Porter "MidiTriplets.js"
   After downloading this file, when setting it up in NWC User Tools create this command line:
  
   wscript "'Browse can insert the path for you' \MidiTriplets.js"
  
   This can convert "midi triplets" (16th, dotted; 16th, dotted; 16th) into a set of 8th, triplets
 */
var rc=0, errMsg=""
function calculate(clip) {
  var i, j=0, dsi;
  var lines = new Array(), result = new Array(), mt=0, measureTab = new Array, beatletCount=0, targetMeasure = 768;
  var thisDur, thisNote, durSplit;
  lines = clip.split("\r\n");
  var lineLength3 = lines.length - 3;
  for (i=0; i < lineLength3; i++) {  
    if (/Dur:16th,Dotted/.test(lines[i]) && !/Dur2/.test(lines[i]) && /Dur:16th,Dotted/.test(lines[i+1]) && !/Dur2/.test(lines[i+1]) &&
      !/Dur2/.test(lines[i+2]) && /Dur:16th/.test(lines[i+2]) && !/Dotted/.test(lines[i+2])) {
  lines[i] = lines[i].replace("Dur:16th,Dotted","Dur:8th,Triplet=First");
  lines[i+1]= lines[i+1].replace("Dur:16th,Dotted","Dur:8th,Triplet");
  lines[i+2]=lines[i+2].replace("Dur:16th","Dur:8th,Triplet=End");
  i+=2; }
  }  //End main processing loop  
  return lines;
}

var myLines=calculate(WScript.StdIn.ReadAll()).join("\r\n")
 
if (rc == 0)
  WScript.StdOut.Write(myLines);
else
  WScript.StdErr.Write(errMsg);
WScript.quit(rc);
 
372
General Discussion / Re: workaround sport
I was recently working on a transcription of a piece (Corelli 2nd, mvt. 2) where there were three sections of 9/8 while everything else was 3/4.  My original tests were on converting Jesu Joy, but this piece was more involved and I've had to make a few changes.

Now, whole rests are left alone but the time signature must be correct.  When a whole rest is used in 3/4 time, it doesn't need an extra 1/2 rest to make it work in 9/8.  My other change was to maintain slurs in created hidden rests so the muted/displayed staff would show the slurs correctly.

If anyone want to use this page (see link in earlier post) or soon to be tool, you might want to list the ranges in measure numbers and run them from back to front and bottom to top so the measure numbers will display correctly for the parts you haven't worked on yet.  Also, be ready to insert new (hidden) time signatures where the triplets come on and go off.
373
General Discussion / Re: I need help with Pitch-bends
There's no easy way to implement a workaround for this as whatever method is used would still require pasting into two hidden staves.  Also, one of the hidden staves would have to be filled with rests when a slide isn't going on.
375
Tips & Tricks / Re: Notating Pentuplets
There is a "quick and dirty" way to notate pentuplets if appearance is not a factor.  For the first two notes, increase the tempo by a factor of 5/4.  Tripletize the last three notes and change the tempo to 2/3 of the new 5/4 tempo.  After the end to the pentuplets (triplets), reset to the original tempo.  The downside is an unwanted triplet bracket, but the upside is no new notes or rests need to be added to other (non-pentuplet) staves.

Results should be exact if the original tempo is a multiple of 12.

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.5,Single)
|Clef|Type:Treble
|TimeSig|Signature:6/4
|Dynamic|Style:ff|Pos:-8
|Tempo|Tempo:84|Pos:7
|Note|Dur:4th|Pos:1
|Note|Dur:4th|Pos:1
|Tempo|Tempo:105|Pos:7|Visibility:Never
|Note|Dur:16th,Accent|Pos:1|Opts:Stem=Down,Beam=First
|Dynamic|Style:p|Pos:-8
|Note|Dur:16th|Pos:1|Opts:Stem=Down,Beam
|Text|Text:"5"|Font:StaffItalic|Pos:-12
|Tempo|Tempo:70|Pos:12|Visibility:Never
|Note|Dur:16th,Triplet=First|Pos:1|Opts:Stem=Down,Beam
|Note|Dur:16th,Triplet|Pos:1|Opts:Stem=Down,Beam
|Note|Dur:16th,Triplet=End|Pos:1|Opts:Stem=Down,Beam=End
|Tempo|Tempo:84|Pos:7|Visibility:Never
|Dynamic|Style:ff|Pos:-8
|Note|Dur:4th,Accent|Pos:1
|Note|Dur:4th|Pos:1
|Note|Dur:4th|Pos:1
!NoteWorthyComposerClip-End
378
General Discussion / Re: Octave Up
I have converted this to a user tool.  The new note will be an octave up or octave down depending upon the prompt.  See code for installation instructions. Modified to ignore "Fake" input when the selection starts in the middle of a measure.
Code: [Select · Download]
/*
 doOctave.js  by Warren Porter

 <PROMPT:Dir?:=|Up|Down>
                                  Octave Tool
 This tool will convert a note to an octave chord, replicating accidentals and tie status.  The new note will be higher or lower
 than the original note depending on the prompt.

 This tool can operate on ONLY a selected part of a staff, or, if nothing has been selected, the entire staff.

 To install:
 1) Save this file with the name doOctave.js on your computer and remember its location.
 2) Start NWC and press Alt/F8.  Pick new
 3) After choosing a name and group, browse for this file and click "Open".
 4) Insert "wscript " at the beginning of the command and " <PROMPT:Dir?:=|Up|Down>" at the end.
 5) Clip text should be selected and check no options.
 */

rc=0, errMsg="";

function doUp(clip) {
var displ=0, upDispl=0;
var result = new Array();
var lines = clip.split("\r\n");
  for (i = 1; i < lines.length; i++) {           // Main processing loop
  if (/Fake/.test(lines[i]))
    lines[i] = "#";
  else {
    result = lines[i].match(/(\|Note.*Pos:)([n#bvx]?)(-?\d+)(\^?)(.*)$/) // 1. Note thru Pos 2. Accidental 3. Position 4. Ties 5. To end of line
if (result != null) {
  var note_lit = result[1];
  var acc_lit = result[2]
  displ = parseInt(result[3]);
  var a_tie = result[4]
  var eol = result[5]
  note_lit = note_lit.replace("Note","Chord")
  upDispl = displ + 7;
  lines[i] = note_lit + acc_lit + displ + a_tie + "," + acc_lit + upDispl + a_tie + eol; }
   } }    // End main loop
  return lines;
}
function doDown(clip) {
var displ=0, dnDispl=0;
var result = new Array();
var lines = clip.split("\r\n");
  for (i = 1; i < lines.length; i++) {           // Main processing loop
  if (/Fake/.test(lines[i]))
    lines[i] = "#";
  else {
    result = lines[i].match(/(\|Note.*Pos:)([n#bvx]?)(-?\d+)(\^?)(.*)$/) // 1. Note thru Pos 2. Accidental 3. Position 4. Ties 5. To end of line
if (result != null) {
  var note_lit = result[1];
  var acc_lit = result[2]
  displ = parseInt(result[3]);
  var a_tie = result[4]
  var eol = result[5]
  note_lit = note_lit.replace("Note","Chord")
  dnDispl = displ - 7;
  lines[i] = note_lit + acc_lit + dnDispl + a_tie + "," + acc_lit + displ + a_tie + eol; }
   }  }   // End main loop
  return lines;
}

var myLines;
  if (WScript.Arguments.length != 1) {
    errMsg="NO Prompt read.";
rc=1; }
  else {
    if (WScript.Arguments.Item(0).slice(0,2) == "Up")
  myLines=doUp(WScript.StdIn.ReadAll()).join("\r\n");
else
  myLines=doDown(WScript.StdIn.ReadAll()).join("\r\n"); }

if (rc == 0)
  WScript.StdOut.Write(myLines);
else
  WScript.StdErr.Write(errMsg);
WScript.quit(rc);
379
General Discussion / Re: Saving a file as *.nwctxt in order to import into NWC
I now think the problem is the original conversion program. I have to click through error messages to get code, on all three browsers I have tried it on (IE, Firefox and Opera), which say something like  'unable to process length: 1 last 1 char|' "
I suspect it has to do with the maximum line length someone has set up in the conversion, and I don't know enough about the syntax of nwctxt files to know what to do about it..

I have been following the "abcusers" group on yahoo and am waiting until the next set of standards are hashed out before changing it (unless it is a simple fix to a bug).  In the meantime, characters the script can't interpret are inserted into a blue text message below the staff.  As legal (or the stuff I can implement thus far) constructs are found and processed, they are removed from the front end of a long string.  The script looks for anything implemented and, if it finds it somewhere other than at the front end of the string, that location is saved.  If some other construct is found closer to the front, the saved location is replaced.  If it's an error, the script will know how many characters to put in the error message and to skip before processing again.  Note what happens when an e is replaced with joker in the following:
Code: [Select · Download]
X:1
T:Speed the Plough
M:4/4
C:Trad.
Q: "Allegro" 1/4=132
K:G
|:GABc de(dB)|de(dB) djoker(dB)|c2ec B2(dB)|c2A2 A2(BA)|
  GABc de(dB)|de(dB) de(dB)|c2(ec) B2(dB)|(A2F2) G4:|
|:g2(gf) gdBd|g2f2 (e2d2)|c2ec B2dB|c2A2iii (A2df)|
  g2(gf) g2(Bd)|g2f2 (e2d2)|c2ec B2dB|A2F2 G4:|
The measure with the error is:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.5,Single)
|Note|Dur:8th|Pos:2|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:3|Opts:Stem=Down,Beam
|Note|Dur:8th,Slur|Pos:2|Opts:Stem=Down,Beam
|Note|Dur:8th|Pos:0|Opts:Stem=Down,Beam=End
|Note|Dur:8th|Pos:2|Opts:Stem=Down,Beam=First
|Text|Text:"jok"|Font:StaffBold|Pos:-8|Wide:Y|Color:3
|Note|Dur:8th|Pos:3|Opts:Stem=Down,Beam
|Text|Text:"r"|Font:StaffBold|Pos:-8|Wide:Y|Color:3
|Note|Dur:8th,Slur|Pos:2|Opts:Stem=Down,Beam
|Note|Dur:8th|Pos:0|Opts:Stem=Down,Beam=End
!NoteWorthyComposerClip-End

The error message should help you find the problem (it's the first thing in the string) and tell you how long it is (last line) unless there are more than three errors.

Send me a copy of the file you are trying to read via PM and I'll see what I can do.
380
General Discussion / Re: Saving a file as *.nwctxt in order to import into NWC
I am trying to convert abc files into NWC. Using a link I am not allowed to post here.

It converts abc into something that it says is the .nwctxt code, which I should save with that extension. Except that in Windows 7 I can find no way to save it with that extension. Not in Open Office, not in Wordpad. Anybody know how it is done?

Just wondering if it is the link mentioned in the first post in this thread.  Try going into Notepad, pasting it in, then do Save As ....  Near the bottom there will be a drop down under "Save as type" with a default of "Text Documents (*.txt)".  Change that to "All Files (*.*)".  You should have no problem changing it to name.nwctxt.

That site also mentions
Quote
A desktop shortcut can avoid the need to copy the output to a NWCTXT file is here. After Cntl/C, clicking the shortcut will start the Viewer or Composer with your converted file.

I used it hundreds of times when developing that site and often use it now to create nwc files from text selected in these forums.
381
General Discussion / Re: Saving a file as *.nwctxt in order to import into NWC
When I look in the help file under 'import' it says only that it will import 'mid' files. There's nothing in the help file about .nwctxt at all.
You don't "import" .nwctxt files, you just read/open them.  When you select "Open", you will see folders, .nwc, and .nwctxt files.

I am not familiar with the Opera browser, but have no problem with save as from Firefox.
383
General Discussion / Re: False acciaccatura
I recently had 16th triplets with the violin rolling on three strings.  When one of these sets included a fingered A on the D string as well as an open A string, I layered the 2nd note with a stem in the other direction.  Not wanting to show the 3 more than once, I had to send one of the hidden rests to the boondocks.
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.5,Single)
|Note|Dur:16th,Triplet=First,Slur|Pos:-5|Opts:Stem=Up,Beam=First
|Note|Dur:16th,Triplet,Slur|Pos:-1|Opts:Stem=Up,Beam
|Note|Dur:16th,Triplet=End|Pos:4|Opts:Stem=Up,Beam
|Note|Dur:16th,Triplet=First,Slur|Pos:4|Opts:Stem=Up,Beam
|Note|Dur:16th,Triplet,Slur|Pos:-1|Opts:Stem=Up,Beam
|Note|Dur:16th,Triplet=End|Pos:-5|Opts:Stem=Up,Beam=End
|Text|Text:"4"|Font:PageText|Pos:-8|Placement:AtNextNote
|Note|Dur:16th,Triplet=First,Slur|Pos:-5|Opts:Stem=Up,Beam=First
|Note|Dur:16th,Triplet,Slur|Pos:-3|Opts:Stem=Up,Beam
|Note|Dur:16th,Triplet=End|Pos:0|Opts:Stem=Up,Beam
|Note|Dur:16th,Triplet=First,Slur|Pos:0|Opts:Stem=Up,Beam
|Note|Dur:16th,Triplet,Slur|Pos:-3|Opts:Stem=Up,Beam
|Note|Dur:16th,Triplet=End|Pos:-5|Opts:Stem=Up,Beam=End
|Note|Dur:16th,Triplet=First,Slur|Pos:-6|Opts:Stem=Up,Beam=First
|Note|Dur:16th,Triplet,Slur|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:16th,Triplet=End|Pos:0|Opts:Stem=Up,Beam
|Note|Dur:16th,Triplet=First,Slur|Pos:0|Opts:Stem=Up,Beam
|Note|Dur:16th,Triplet,Slur|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:16th,Triplet=End|Pos:-6|Opts:Stem=Up,Beam=End
|Text|Text:"3"|Font:PageText|Pos:13|Placement:AtNextNote
|Note|Dur:16th,Triplet=First,Slur|Pos:-6|Opts:Stem=Up,Beam=First
|Text|Text:"4"|Font:PageText|Pos:13|Placement:AtNextNote
|Rest|Dur:16th,Triplet,Slur|Visibility:Never
|Text|Text:"O"|Font:PageText|Pos:13|Placement:AtNextNote
|Note|Dur:16th,Triplet=End,Staccato|Pos:-1|Opts:Stem=Up,Beam
|Note|Dur:16th,Triplet=First,Staccato,Slur|Pos:-1|Opts:Stem=Up,Beam
|Rest|Dur:16th,Triplet,Slur|Opts:VertOffset=-1|Visibility:Never
|Note|Dur:16th,Triplet=End|Pos:-6|Opts:Stem=Up,Beam=End
!NoteWorthyComposerClip-End
And on the layered staff:
Code: [Select · Download]
!NoteWorthyComposerClip(2.5,Single)
|Rest|Dur:Half,Dotted|Visibility:Never
|Rest|Dur:16th,Triplet=First|Opts:Stem=Down,VertOffset=-180|Visibility:Never
|Note|Dur:16th,Triplet|Pos:-1|Opts:Stem=Down
|Rest|Dur:16th,Triplet=End|Opts:Stem=Down|Visibility:Never
|Rest|Dur:16th,Triplet=First|Opts:Stem=Down,VertOffset=-180|Visibility:Never
|Note|Dur:16th,Triplet|Pos:-1|Opts:Stem=Down
|Rest|Dur:16th,Triplet=End|Opts:Stem=Down|Visibility:Never
!NoteWorthyComposerClip-End
384
General Discussion / Re: NWC and Aria Player
It looks like you just need to create some new template files.  Create (a) new file(s) from scratch, specifying your midi options and nothing but a clef for each staff, then copy this to the file folder Template.  You will be able to refer to it the next time you create a file.

BTW, delete any .bak file you might find in the Template directory as it causes NWC to hang.  It will be corrected soon, but it is a bug now--happened to me less than a month ago.
386
General Discussion / Printing on big paper
I would like to create a PDF with the dimensions of 13" by 10"  (33cm x 25cm).  When doing a print setup from the NWC side, what device/option do I choose?

TIA
388
General Discussion / Re: Exporting Question
Is this just for your self or for other members of your section/choir?  Have you tried the Viewer/Player?  It's free and users can mute staves at will.

Also the VanBasco midi/karaoke player can also mute and/or highlight parts but it can't show the staff, much less show the notes being played/sung.

Try to avoid muting staves on an export to midi.  Since users can mute parts while learning it, they can also hear what the whole thing sound like when they like.
390
General Discussion / Re: MMR for coupled staves
By the way: nothing so strange. If you do that on a violin and piano sonata with a piano solo intro, NWC already works exacly as I described.
The problem is when the intro is for violin solo and piano tacet! (That is: when, like in my case, the instrument that tacet is a "grand staff" instrument)

If a one staff instrument starts unaccompanied, I would like for the piece to start with violin and piano (and other instruments if necessary) on the first system to show what instruments are used, even though the piano is resting.  For the rest of the intro, only the violin would be on each system.  When the piano comes in, there might be a few measures rest (or not) at the beginning of that system.

I'm not sure what you need to see.  Can you attach an image?
392
General Discussion / Re: MMR for coupled staves
The MMRs are designed to be used with collapsable staves.  Often the first system of an instrumental will show all parts but after that parts in an MMR will disappear from a system.

Have you tried the Multi Measure Tool?  It creates and cancels the collapse as needed but only looks at real whole rests right now.

Does this work for you?

2013-02-10 0630
393
General Discussion / Re: uncomplete staff view in an orchestral score
May I request a modified tool which would prompt for a width?
Reason for this request: I've used widths of 0.5 to 0.9 to gently nudge some measures to where I want them.
This was one of my last webpages before I started to learn how to make tools--it creates the same spacing NWC does by default then allows the user to grow or shrink them.  Please check this thread.
395
User Tools / Re: Resting Staff
Thanks for checking it out.  I've added some checking for MMRs in this script so these should pass through now.  Have replaced the code in the first post so after "End duration loop" I am passing through several more objects and allowing notes before and after them to be replaced with same duration rests.

When a staff has an MMR along with consecutive bars of whole rests, it might be helpful to undo the MMRs and then do them over so new rest measures can be included in what had been the previous MMR.  I may need to add more prompts or options to the MMR tool to control visibility when they are layered--changing the MMR in your sample to "Always" or "Top Staff" seemed to fix the problem ... for now.
396
User Tools / Re: Resting Staff
For this tool I focus on a layered staff for one instrument.  To create a tempo staff, clefs and keys should be removed from the staff while texts, tempos and tempo variences should maintained with appropriate rests on either side of them if need be.  I'll save that for a separate tool

Generated rests are hidden in this version.

The attached test file shows what happens if there aren't as many beats in a measure as their are supposed to be.  In the second unfilled measure, the middle beamed notes need to have their durations doubled.  Also, in 3/4 time, a whole rest and dotted half rest are treated the same.

The first post reflects the above changes.
397
User Tools / Re: rg_Quarters.php - NWC Play Time report for each staff
I took the final barline, half rest, and the low/soft 32nd note out and all staves matched with your tool.
Code: [Select · Download]
     1068.25	Standard   Treble Clef
     1068.25 Standard   Bass Clef
     1068.25 Hidden     _Treble Clef
     1068.25 Hidden     _Bass Clef
 0.844 seconds.

You might want to try taking everything out except for the cadenza and see what your tool shows.  The cadenza has extra long measures.
398
User Tools / Re: Resting Staff
I think I may have beaten you to this one ;-)
https://forum.noteworthycomposer.com/?topic=7918.0 reply #7
But I can't find my original post:-(
Probably have--I haven't been writing tools for very long--will take a look at it.

Concerning the other thread: I had thought this tool would be helpful for a creating tempo or conductor staff to layer into everyone's part one at a time, but for that it needs to discard clefs and keys.  I'll consider a version to ignore those on request after adding a prompt.

David P caught the note instead of rest on the 3rd bullet of my original post.
399
User Tools / Resting Staff
This tool should come in handy when you decide, after many time signature, key signature, and/or clef changes that it will be necessary to layer the staff you are working on.
  • Create your new staff.
  • Copy the original staff to the new one.
  • Run this tool: "Resting Staff".  The new staff will have all notes, chords, and rests replaced with whole notes rests! except for pickups.
  • Replace appropriate measures when necessary to layer parts from the original staff.
  • Be sure the instrument and dynamic level match the original staff.
  • Run the MMR tool with the "LayerHide" option.
This tool also helps edits bar lines.  Any measure with too many or few beats will be replaced with rests with the same duration instead of a whole rest.

To install, save this code on your computer with a name of restStaff.js and note its location.
While NWC has a file opened, enter Alt/F8 for User Tools.  Select New and choose a group and a name.
Click Browse and find the file you just saved and click Open.
Insert "wscript " (note trailing space) in the beginning of the Command line.
Click OK and it is ready to run.  There are no prompts.

This will change your staff to rests.  Before using, save your file and duplicate the staff on which you will be using it.
Code: [Select · Download]
/* Notes to Rests by Warren Porter "restStaff.js"
   After downloading this file, when setting it up in NWC User Tools create this command line:

   wscript "'Browse can insert the path for you' \restStaff.js"

   This can help create a new staff when one is needed for layering.  First, copy an entire staff to the clipboard, create a new staff,
   then cut the clipboard to the new staff.  Run this command on that new staff.  Clefs, time signatures, and key signatures will be
   left alone on the new staff, but all notes, chords, and restchords will be replaced by rests.  Bars with "full measures" (the norm,
   it has as many beats as the time signature dictates) will be replaced with whole rests, a measure with more or fewer (like a pickup)
   will be replaced with rests of the same durations (and order if necessary) or the original notes, rests, chords, or restchords.

   The new staff may then be used for layered notes for the original staff.  It can be run through the MMR tool with the "LayerHide"
   option so unneeded parts won't display.
  
   This is not suited to creating a "tempo" or "conductor" staff.  To create a tempo staff which could be layered into all other parts
   to print parts, the clef or keys should not be copied while tempos or tempo variences should be.
 */

var rc=0, errMsg=""
function getNoteLength(notelet) {  // Returns duration of note , whole = 768
var NoteLengths = { "16th":48, "32nd":24, "4th":192, "64th":12, "8th":96, "Half":384, "Whole":768 }
parts = notelet.split(",");
var  noteLength= -1;
noteLength = NoteLengths[parts[0]];
var noteLength = ( NoteLengths[parts[0]] === undefined ) ? -1 : NoteLengths[parts[0]];
  if (noteLength == -1)
    return -1;

  for (var i = 1; i < parts.length; i++) {
    if (parts[i].substr(0,9) == "DblDotted") {
  noteLength = noteLength * 7 / 4; }
else
      if (parts[i].substr(0,6) == "Dotted") {
    noteLength = noteLength * 3 / 2; }
  else
    if (parts[i].substr(0,7) == "Triplet") {
      noteLength = noteLength * 2 / 3; } }
  return noteLength;
}
function calculate(clip) {
  var i, j=0, dsi;
  var lines = new Array(), result = new Array(), nlines = new Array, mt=0, measureTab = new Array, beatletCount=0, targetMeasure = 768;
  var thisDur, thisNote, durSplit;
  lines = clip.split("\r\n");
  for (i=0; i < lines.length; i++) {
if (lines[i].slice(1,5) == "Text" || lines[i].slice(1,14) == "TempoVariance")
  continue;
    if (lines[i].slice(1,5) == "Fake" || lines[i].slice(1,8) == "Context" ) {  // For these items, pass them thru and ignore them.
  nlines[j++] = lines[i]; continue; }
if (lines[i].slice(1,8) == "TimeSig") {
  if (beatletCount == targetMeasure)  // Measure exactly full
    nlines[j++] = "|Rest|Dur:Whole|Visibility:Never";  // Insert whole rest
  else {
    for (mt = 0; mt < measureTab.length; mt++)
  nlines[j++] = "|Rest|Dur:" + measureTab[mt] + "|Visibility:Never";}
  beatletCount = 0, measureTab.length = 0; mt=0;
  result = lines[i].match(/ture:(\d+)\/(\d+)/);  // Read the time signature
  if (result == null)  //In case it is C or cut time
    targetMeasure = 768;
  else
    targetMeasure = 768 * result[1] / result[2];    // Calculate length of measure  
  nlines[j++] = lines[i]; continue; }  
if (/Grace/.test(lines[i]))
  continue;
result = lines[i].match(/Dur:([^\|\r\n]+)/)   // Looking for anything with a duration
if (result != null) {  // Duration loop
  thisDur = result[1];
  thisNote = getNoteLength(thisDur);
  if (thisNote == -1) {
    errMsg += "Invalid duration of " + lines[i] + "\r\n";
rc=1;
continue; }
  durSplit = thisDur.split(",");
  for (dsi=1; dsi < durSplit.length; dsi++)
    if (!(durSplit[dsi].substr(0,9) == "DblDotted" || durSplit[dsi].substr(0,6) == "Dotted" || durSplit[dsi].substr(0,7) == "Triplet")) {
  durSplit.length = dsi; break; }
  measureTab[mt++] = durSplit.join(",");
  if (lines[i].slice(1,15) == "Rest|Dur:Whole")  //So existing whole rest in , e.g., 3/4 time won't be treated as having 4 beats.
    thisNote = targetMeasure;
  beatletCount += thisNote;
  continue; }   // End duration loop
if (lines[i].slice(1,4) == "Bar" || lines[i].slice(1,5) == "Flow" || lines[i].slice(1,7) == "Ending"  || lines[i].slice(0,1) == "!"||
      lines[i].slice(1,13) == "RestMultiBar" || lines[i].slice(1,9) == "Boundary" || lines[i].slice(1,11) == "Instrument" ||
  lines[i].slice(1,4) == "MPC" || lines[i].slice(1,5) == "Clef" || lines[i].slice(1,4) == "Key" ) {  //Bar loop, flow, & spec. endings
  if (beatletCount == targetMeasure)  // Measure exactly full
    nlines[j++] = "|Rest|Dur:Whole|Visibility:Never";  // Insert whole rest
  else {
    for (mt = 0; mt < measureTab.length; mt++)
  nlines[j++] = "|Rest|Dur:" + measureTab[mt] + "|Visibility:Never";}
  beatletCount = 0, measureTab.length = 0; mt=0;  // Get set up for next measure
  if (lines[i].slice(1,6) != "Tempo")
    nlines[j++] = lines[i]; }  //End bar loop
  }  //End main processing loop
  return nlines;
}

var myLines=calculate(WScript.StdIn.ReadAll()).join("\r\n");
if (rc == 0)
  WScript.StdOut.Write(myLines);
else
  WScript.StdErr.Write(errMsg);
WScript.quit(rc);

Modified to include special endings and flow control the same as bar lines.
Allow whole rest in non 4/4 (2/2) time to assume the value of time signature then in effect.
Hides generated rests.  Will not copy tempos or tempo variences.
Passes through MMRs, Boundarys, MPC, and Instrument changes.
400
General Discussion / Re: alteration in parentheses
Lawrie created several fonts (the Purdy fonts) for use with NWC.  He included symbols for courtesy accidentals that include the sharp, flat or natural signs.  You enter the courtesy accidental as text where you want them.  Vertical placement might be tricky, but you can get close enough in most cases. One drawback is that if you transpose the staff, the text needs to be moved manually, and if you have lots of these text entries, it's tedious.
This is a way to put courtesy accidentals above or below the note and uses the font NWC already has installed, using Rick's example:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.5,Single)
|Clef|Type:Treble
|Key|Signature:Bb,Eb,Ab|Tonic:C
|Note|Dur:32nd|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:32nd|Pos:2|Opts:Stem=Down,Beam
|Note|Dur:32nd|Pos:1|Opts:Stem=Down,Beam=End
|Bar
|Note|Dur:Half|Pos:n0
|Rest|Dur:4th
|Bar
|Note|Dur:8th|Pos:n3|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:5|Opts:Stem=Down,Beam=End
|Note|Dur:8th|Pos:5|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:3|Opts:Stem=Down,Beam=End
|Text|Text:"f"|Font:StaffSymbols|Pos:6|Placement:AtNextNote
|Note|Dur:16th|Pos:0|Opts:Stem=Down,Beam=First
|Note|Dur:16th|Pos:5|Opts:Stem=Down,Beam
|Note|Dur:16th|Pos:3|Opts:Stem=Down,Beam
|Note|Dur:16th|Pos:0|Opts:Stem=Down,Beam=End
!NoteWorthyComposerClip-End