351
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
353
General Discussion / Re: importing midi triplets successfully in NWC 2.5
354
General Discussion / Re: Subtitle
355
General Discussion / Re: Decidedly off topic: The Great Gatsby
At first I thought the first 'bone player at the first party might have been me, but I didn't have a red hat and I didn't see a beard on that chap - oh well... my 15 minutes seems to be about 1/8th of a second instead - didn't even make the credits, though none of the extras did so I guess I can't kick.
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.
357
General Discussion / Re: Losing a toolbar
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)the first note is black (default) and the others are red. To change all them to default, just remove the "!0".
|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
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 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!
360
General Discussion / Re: Wrong sounds in an orchestral score??
361
General Discussion / Re: Indenting the staff.
Have you tried this?
I'll be checking the margins before starting.
362
General Discussion / Re: Indenting the staff.
363
General Discussion / Indenting the staff.
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.
Code: [Select · Download]
/*It works on notes only--no chords, restchords, etc.
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);
365
User Tools / Re: Multi Measure Rest tool
I have to say that I love this tool so far.
366
General Discussion / Re: Need Assistance
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
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
"/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
369
General Discussion / Re: NoteWorthy Player 1.75 and SB X-Fi Synth And Vista
Wow!
But it plays midi as-is or like NWC does after importing it? (You know: triplets, pan, bendings...)
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
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
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
374
General Discussion / Re: Play a chord one note at a time
375
Tips & Tricks / Re: Notating Pentuplets
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
376
General Discussion / Re: Adjustment of lyrics to the score
I used to achieve the same effect using the right amount of underscores and spaces in the Lyrics. But this is by far easier and neater.
377
General Discussion / Re: Adjustment of lyrics to the score
However I downloaded a nwc piece and I wanted to correct in some places where for instance I wanted a syllable to go with a number of notes instead of one.
Highlight a note (or consective notes) where you don't want lyrics. Press Cntl/E. Under Notes, look for "Lyric Syllable" on the right side near the center. Choose "Never" and press OK.
HTH
378
General Discussion / Re: Octave Up
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:1The measure with the error is:
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:|
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.
I am not familiar with the Opera browser, but have no problem with save as from Firefox.
382
General Discussion / Re: False acciaccatura
I'd just do this:
383
General Discussion / Re: False acciaccatura
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.5,Single)And on the layered staff:
|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
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
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.
385
General Discussion / Re: Printing on big paper
386
General Discussion / Printing on big paper
TIA
387
General Discussion / Re: Firefox confuses NWC with a font called nwc2stda.fft
388
General Discussion / Re: Exporting Question
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.
389
General Discussion / Re: MMR for coupled staves
Just in case, here attached you can find an example of what I want.
If you take my attachment from an earlier post and delete the boundary collapse commands, it looks like you'll have what you need.
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?
391
General Discussion / Re: How a Bach canon works (nothing to do with NWC, but musically interesting)
392
General Discussion / Re: MMR for coupled staves
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.
394
General Discussion / Re: How a Bach canon works (nothing to do with NWC, but musically interesting)
395
User Tools / Re: Resting Staff
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
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
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:-(
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
- 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
notesrests! 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.
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.
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