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

251
General Discussion / Re: Triplets and Duplets?
I needed to upload some *.js functions to let it work (note duration in 768th notes).  The link is Tuplets.htm

For duplets (assuming 6/8), the hidden & played staff would have dotted eighth notes while the visible & muted staff would have eighth notes followed by hidden 16th rests with a literal "2" (italicized) above or below the beam.
253
General Discussion / Re: Clef transposition
To go from a G to an F staff, do the Ctrl+Shift+Up 12 times like Rick suggested.  If one of the staves has an octave shift, subtract or add 7 as well.  For example to move an octave down treble staff (like a tenor part) to a true bass staff, move all notes up 5 times.

I think there is a user tool to handle these and all other possible staves (Middle C on the 3rd or 4th line or 3rd space)--I'm not able to look it up now.
258
General Discussion / Re: Trustworthy
Attached is what I've been getting. The only difference between the suggested link and what a mouseover on my frequently visited bar shows is a trailing slash (/).
259
General Discussion / Re: Trustworthy
Just converted to Windows 10.  Firefox won't let me in directly, I have to choose forum from the main website.  Also had certificate problem.
260
Object Plugins / Re: Slur.ms (1.6)
In creating a "muted, displayed" staff, I had a trilled half-note slured into a pair of graced 16ths that did not slur into the following measure.  The tool did exactly what was needed.  :)
264
General Discussion / Re: Relative speed changes?
I need to work on lua myself.  JavaScript works for user tools but it isn't as 'programmer friendly' as other languages in NWC.  Right now the tool will take your tempo factor, the inverse of that factor, or just "give me the current and requested duration of your song and I'll figure out the factor".  It might be a problem selecting which factor to select.

It's straightforward to change a tempo indication, but changing an MPC:Tempo was the hassle and a half, IIRC.
266
General Discussion / Re: StaffLabel
Try printing staff labels on All Systems, but (via F2), give each staff an abbreviation like H 2 that will be used after the first time.  On the first page "Harp 3" would be shown but it would be "H 3" on every system after that.
268
General Discussion / Re: NWC - the big picture?
It is true there are many user tools, it can be a problem for a new user to become familiar with them: when to use and how.  Also, in choral music, it is far from intuitive (much less built in) how to use four staves in the fugue and just two staves in the chorale.  E.g.: two staves for the Alto part and avoiding slur, tie, note, and accidental collisions when layering.  Tuples over 3 still require work arounds.
270
General Discussion / Re: Loss of website
I think the plug was finally pulled on the 1st of the month.  "home.comcast" turned into "xfinity??" followed by ~wporter..." but then nothing was found.  This far I have registered a webpage name but haven't followed through on getting a host for it.
272
General Discussion / Object plugins
Is there a primer for using object plugins?  How to install, when to use, how to change options, and (assuming someone knows lua), what steps are needed to modify or create a new one.

TIA
274
General Discussion / Loss of website
Comcast is shutting down all hobby websites including mine around Oct 10.  wporter211/realsite/nwc.htm If you regularly / occasionally use it, download the pages or scripts you need soon.  If you use a web page, when you download it change its name to .hta instead of .htm or .htlm.  The "avoidance" pages would be extremely difficult to turn into scripts most of the rest already have.

If you use anything on it, what is is?
275
General Discussion / Re: Notation of violin harmonics - layering?
I visited that website and read the midi file into NWC.  You might want to try patch 92  for the harmonics at measure 24.  Of course that staff would have to be hidden while the harmonics you display would be muted.  If you want to try other patches for the harmonics, you can get the Patch Test from Scriptorium Files.
276
General Discussion / Re: Request for a grace note tool
Thank you, gentlemen!  I already have functions in JavaScript that can convert the nwctxt Dur (like Dur:16th,Dotted) to the equivalent number of 768th notes and back if need be, but messing with the last note of the previous bar could get tricky.

Flurmy, that observation of 32nd notes for grace makes sense.  Thanks.
277
General Discussion / Request for a grace note tool
In the attached snippet (711a), the grace notes take time from the quarter note in the 2nd beat, sounding like the measure in the middle staff (although the grace notes sound faster in the top staff), but what I would like is the bottom staff.

As an experiment I put the three measures on the same staff, exported to midi, and imported them back (711b).  The 16th grace notes had turned into 32nds. How does this work?

If anyone has or is working on a tool that can change the top staff to the bottom, please let me know before I try to tackle this.

TIA
284
General Discussion / Re: The awkwardness of polyphony
When the layers are collapsed, the redundant rests and superimposed clefs are simply unacceptable.
You can hide the redundant rests and clefs.  Select them, Cntl/E, and visibility tab.

One additional item to consider when layering is the Boundary Change command, specifically the "Start a collapsible section" and "Cancel/forbid collapse" options. This can be used as an alternative to marking rests/clefs as hidden, so that they won't show through the layers.
Mike's suggestion can be quite useful for vocal scores.  One idea might be to use two scores each for alto and tenor parts.  The layered part can be used for the chorale while the unlayered part would be used for the fugue.

Edited change: quote Mike
285
General Discussion / Re: The awkwardness of polyphony
It is still necessary to put the parts on different staves, but these pages (run them while NWC2 is open) can move ties and slurs out of the way when played concurrently or move notes and accidentals so they won't be on top of each other.
  • Save file
  • Cut the problem measures to clipboard
  • Paste in webpage
  • Repeat with same measures in other staff
  • Click Submit
  • Copy them back via the clipboard
The shortcut alt/tab can swap between them w/o moving the cursor.
spacepart.htm
288
General Discussion / Re: Making Ritarando Work
If you want to hide the "unnecessary" tempo marking, you can hide it by selecting it, Cntl/E and clicking on the "Visibility" tab.  An alternative is to have it on a hidden staff while the visible (but muted) staff doesn't have it.
291
General Discussion / Re: Transpositions and selecting staves
Is there a way to select say, a bar of a staff and transpose that bar only without doing copy and paste ---> transpose staff?  I can't figure it out.
You can create a new staff, copy or cut the part you want to transpose to it (also copy in the current key signature), do your transposition on the new staff, force accidentals, and copy it back to where you need it.  The new staff can be deleted when you are through with transpositions.
293
General Discussion / Re: "A New NWC 3?"
For me NWC is just a little harder to use.  I used to have the dynamics all separated on a toolbar and it was one stop shopping when I needed one.  With the current version, all dynamics are done after picking a generic dynamic, then choosing from a drop down.

I don't mind jumping through some extra hoops to get an unusual feature, especially one with a lot of options (mpc for example), but for routine dynamics?!?!?
294
User Tools / Re: Change Clef
I wasn't using the latest version.  You might want to consider editing earlier posts to remove pervious versions.  Anytime someone visits your thread, they can only get the L & G version (latest and greatest) when you remove and replace attachments or use some other method.
295
User Tools / Re: Change Clef
Just tried it out.  This is what went in:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.51,Single)
|Note|Dur:16th|Pos:0|Opts:Stem=Up,Beam=First
|Note|Dur:16th|Pos:1|Opts:Stem=Up,Beam
|Note|Dur:16th|Pos:2|Opts:Stem=Up,Beam
|Note|Dur:16th|Pos:5|Opts:Stem=Up,Beam=End
|Note|Dur:16th|Pos:-1|Opts:Stem=Up,Beam=First
|Note|Dur:16th|Pos:0|Opts:Stem=Up,Beam
|Note|Dur:16th|Pos:1|Opts:Stem=Up,Beam
|Note|Dur:16th|Pos:4|Opts:Stem=Up,Beam=End
|Chord|Dur:8th|Pos:-2,1,#3|Opts:Stem=Up|Dur2:8th|Pos2:-9,-6,#-4
|Rest|Dur:8th|Opts:Stem=Down
|Chord|Dur:8th,Accent|Pos:-13,-6|Opts:Stem=Down|Dur2:8th|Pos2:1,8
|Rest|Dur:8th,Accent|Opts:Stem=Up
!NoteWorthyComposerClip-End

And what came out:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.51,Single)
|Note|Dur:16th|Pos:-12|Opts:Stem=Up,Beam=First
|Note|Dur:16th|Pos:-11|Opts:Stem=Up,Beam
|Note|Dur:16th|Pos:-10|Opts:Stem=Up,Beam
|Note|Dur:16th|Pos:-7|Opts:Stem=Up,Beam=End
|Note|Dur:16th|Pos:-13|Opts:Stem=Up,Beam=First
|Note|Dur:16th|Pos:-12|Opts:Stem=Up,Beam
|Note|Dur:16th|Pos:-11|Opts:Stem=Up,Beam
|Note|Dur:16th|Pos:-8|Opts:Stem=Up,Beam=End
|Text|Text:"\}Chord\}Dur:8th\}Pos: ..."|Font:StaffBold|Pos:8|Wide:Y
|Rest|Dur:8th|Opts:Stem=Down
|Chord|Dur:8th,Accent|Pos:-25,-18|Opts:Stem=Down|Dur2:8th|Pos2:-11,-4
|Rest|Dur:8th,Accent|Opts:Stem=Up
!NoteWorthyComposerClip-End

Thanks for submitting it, it looks useful.  Any plans to add other clefs?
I haven't studied your code, but it seems other clefs could be added easily.  Each one has an offset from middle C so the difference between clef offsets plus or minus any octave shift would give the Pos: change for all other objects.
296
User Tools / Re: hmm_ShowRanges.php: A small new tool for checking and visualizing note ranges
I have written a small tool that helps to visualize notes on a system that are outside a given range.

I'd like to post a link to its description and download area here - however, I get a message that I cannot post links here ... so if someone is interested, please leave me a PN (and if anyone could tell me how to "upgrade" my membership so that I can post links, that would be nice).
When posting or replying to a message, there should be a # on the bottom row of icons, 3rd from the right.  Try copying your tool to the clipboard, click on the # and paste it into the {code}{/code} brackets [].

HTH
297
User Tools / Re: Dynamics, Velocity and Volume
That's doing pretty close to what my latest user tool does.  If you don't want it to do the whole staff, just select the part you want it to change first.  I start with the default velocities but they can be changed with the 2nd prompt or permanently by modifying the prompt in the script.
298
User Tools / Tool to add (or undo) velocity and volume to a dynamic
When a note requires constant effort (moving bow, column of air) to produce, it's volume can change with a cresc., decres., or hairpins, but velocity and volume must be specified on each dynamic.  Save the following under the name "dynamic.js".  Installation instructions are shown on the first four lines.
Code: [Select · Download]
/* Dynamic Velocity by Warren Porter "dynamic.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' \dynamic.js"  <PROMPT:DYN?:=|Yes|Undo> <PROMPT:Dynamics:=*127,108,92,75,60,45,30,10>
    */
 //  Substitutions: Wscript.Arguments <-> parms
 //                 Item(n)            <-> [n]
 
var rc=0, errMsg="";
function calculate(clip) {
  var dyn_table = [ "fff", "ff", "f", "mf", "mp", "p", "pp", "ppp" ]
  var dyn_vol1 = new Array();
  var i, j, OutText = "", relPos=0, absPos=0, goSwitch=false, dynSuffix;
  var lines = new Array(), result = new Array();
  // lines = clip.split("\n");  // As webpage
   lines = clip.split("\r\n");
  if (WScript.Arguments.length != 2) {
    errMsg="Needs option to override velocity or undo it as well as default dynamic levels";
rc=1;
return lines; }
  if (WScript.Arguments.Item(0) == "Undo") {
   for (j = 0; j < lines.length; j++) {
    if (lines[j].slice(1,8) == "Dynamic")
  lines[j]=lines[j].replace(/\|Opts[^\|]*\|/,"|"); }
   return lines;
   }
  // First, break down the 2nd parm
  dyn_vol1 = WScript.Arguments.Item(1).split(",");
  if (dyn_vol1.length != 8 ) {
    errMsg="I need eight dynamic levels, the 2nd prompt was " + WScript.Arguments.Item(1);
rc=1;
return lines; }

  for (j = 0; j < lines.length; j++) { // Main processing loop
    var str = lines[j];
    result = str.match(/\|Dynamic\|Style:(mf|mp|[fp]{1,3})\|Pos:/)
if (result == null)
  continue;

    switch (result[1]) {
  case "fff":
    i=0; break;
  case "ff":
    i=1; break;
  case "f":
    i=2; break;
  case "mf":
    i=3; break;
  case "mp":
    i=4; break;
  case "ppp":
    i=7; break;
  case "pp":
    i=6; break;
  case "p":
    i=5; break;
  default: errMsg="switch failed on " + result[1]; rc=1; return lines;  }
    var newstr="|Dynamic|Style:" + dyn_table[i] + "|Opts:Velocity=127,Volume=" + dyn_vol1[i] + "|Pos:"
    str = str.replace(result[0],newstr);
lines[j] = str;
}  // end of lines[j] 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);
299
User Tools / Re: Template files for developing JavaScript User Tools
This is not quite a "template" but shows how I now create a Javascript user tool.  Starting with something like rubato.html I have access to more detailed error messages and debugging tools when working out the problems.  I'm showing it here just as a comparison with the .js version.  Once done, many things are already in place to convert it to a user tool.

Thanks to Rick G for pointing me in the right direction.
300
User Tools / Re: Template files for developing JavaScript User Tools
After studying a user tool I downloaded a while ago (mmr.js from Warren Porter), I wanted to try to write a tool myself. So I downloaded a Java Script Editor and started to experiment.

Thank you.  And I have to thank Rick G for getting me off the ground.  Probably the most useful thing I discovered was a way to covert a web page to a js tool with minimal changes to the working part of the script.  Browsers have a variety of consoles and debugging tools to quickly identify and fix problems before sharing them with the world.