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 - Randy Williams

151
General Discussion / Re: Is it possible to make note spacing proportional to their duration?
In case you don't already know about it, you should perhaps be using the "Extra Note Spacing" property of notes and chords.  If you want, you can use an existing generalized search/modify user tool (or an easier-to-use specific user tool that could be written quickly) to automatically add some extra note spacing to all whole/half/quarter notes say, in proportion to their duration.  For extra spacing at the very end of a measure, a text object with spaces in it can be added.
152
General Discussion / Re: question on accidentals
I had no idea that particular "find" category existed!  It does appear to obsolete my user tool, except that I could trivially run my user tool on every staff in any set of files, when doing so with the find would be extremely tedious.  :-)
153
General Discussion / Re: display suggestion
This is weird.  My "hover" works fine in Wordpad and Excel and Outlook and IE.  So I wondered if it would work in NWC Viewer, and it does!  I guess I need to try uninstalling and reinstalling NWC.  Perhaps something got screwed up by all the beta incrementing I was doing?

By the way, to try to be clear (since I don't know all the right terminology), when I move the cursor over a button,  the button "raises" (becomes "highlighted") but no text help box appears.  The box seems to appear very quickly after highlighting, but there may be a timer involved between the 2 events, and that timer is "broken" somehow?
154
General Discussion / Re: question on accidentals
Quote
Well, as far as I know NWC works only under windows. To run under Linux NWC needs wine that must behave as if a true "windows" OS is running...
You are forgetting that my "runUserTool" script is run totally outside of NWC.  There is no reason that the script (and hence the user tool it is running) cannot run under UNIX/Linux, operating on the NWC files.  Granted, currently, the "NWC2TXT/TXT2NWC" programs I am using right now (I need to convert to "nwc-conv", once I figure out "7z") are probably only supported under Windows (and perhaps they will only ever be such, as they invoke the NWC executable in some manner I believe).  But the script (like all user tools) is designed to run on (text) NWCTXT files, not on (binary) NWC files - there is no reason this can't be done using PHP on UNIX/Linux.

Quote
Not a good idea in many cases. By the way: the "tmp" environment variable is a good alternative.
I was apparently not clear here - by "my temp directory path variable" I was referring only to the PHP variable "$tempdir" in my script.  If you set my PHP variable to an empty string, I believe this will trigger the tempnam function to look for an alternative, using whatever environment details are relevant to the operating system.

I would be happy to make all sorts of enhancements, but right now, I am my only customer.  :-)
155
General Discussion / Re: question on accidentals
Hi Flurmy - It's good to have one person at least interested in my wrapper script.  :-)

Quote
I understand that runUserTool.php is more or less work in progress, ...
Not "more or less", but completely!  It is a concept I threw together to automate running my "find ambiguous" user tool on all staffs, in all my (and NWC's) song files.  I generalized it to any user tool, in case I (or anyone else) found it helpful elsewhere.  I believe that NWC is probably working to productize such a concept, and render my script obsolete at some point.

Quote
you made wide use of absolute paths. This is a little problem for a programming-aware user, but it's anyway inconvenient.
Actually, the script only contains 3 absolute paths total, and they are specifically placed as the first 3 lines of the script so they can be easily found, and they are all in simple variables so they can be easily edited.

Quote
I suggest retrieving the temp directory path from the %TEMP% environment variable.
Actually, I believe (but haven't tested yet) that my temp directory path variable can be set to an empty string, and the PHP tempnam function (which I took care to make use of) will make proper use of any applicable environment variable(s).  Note that you should not assume the script is running under Windows, as it may be running under UNIX/Linux.

Quote
Much better: retrieve the NWC path from the registry...
I was definitely planning on looking into how to retrieve the path for set_include_path.

Quote
I see you don't use the PHP interpreter installed by NWC.
Actually, I do make use of NWC's PHP.  I'd just copied it from it's install directory to c:\PHP, to make it less typing to run manually from the command line.  I agree that I should go back to the original directory, now that I don't have to type it every time.

Quote
Please consider also adding a few comments on how to call runUserTool.php, that is, which parameters are expect
ed and needed.
I purposely did not want anyone running it, unless they were capable of looking at the script and understanding it.  It's just a concept, and is not productized.  The script simply wants the first parameter to be the user tool path to run, and the remaining parameter(s) are file(s) to act on.
156
General Discussion / Re: question on accidentals
A good example of where this can bite you is in the 1812 sample file.  Look at the Oboes staff (although the Clarinets in B has the exact same problem) in measure 137.  Whoever entered this file innocently combined the 2 Oboe parts into a single staff in NWC - they are split out in the real music.  Looking at the original first Oboe part, it was clear that its F was natural.  Merge in the second Oboe part, and suddenly NWC plays that F as a sharp!  The accidentals from one voice can easily influence another voice, when it was not intended.

Other examples of extra accidentals needed to correct the playback by NWC:
  • 1812 - Clarinets in B.  In measure 125 (4th beat), a low G needs a natural.
  • Moonlite - Treble Clef.  In measure 187 (3rd and 4th beats), a high B and E needs a natural and a high C and F needs a sharp.
  • Meistersinger - Horns III IV in F.  In measure 161 (3rd beat), a low D needs a natural.
  • Griegpiano - Right Hand.  In measure 40 (3rd and 4th beats), 2 low A's need sharps and a high A needs a natural.  In measure 138 (3rd and 4th beats), a low F needs a double-sharp and the second high F needs a sharp.

A user tool is attached to find any ambiguities in the active staff.
157
General Discussion / Re: display suggestion
I turned on the label panel (not sure I want to have to leave it on though), and I turned on the labels, but nothing comes up when I "hover" over any of them?!  In fact, now that I think about it, NWC used to tell me what many of the buttons would do, whenever I hovered over them, but I haven't seen that for some time now.  Do I have some sort of option for that turned off?
158
User Tools / Re: Important change to NWC2ClipItem interface
Everyone else seems to be having no trouble with this, but I'm still struggling with it!  It turns out that you should add the second parameter as true if and only if you are making use of a NWC2PlayContext object.

  • If you are not making use of a NWC2PlayContext object, you must not add the second parameter (or you can add it as false if you want to).  Otherwise, your script will process objects that occured earlier in the measure of the selected object(s), even though they were not selected!  [NWC now seems to provide as "context" all of the notes in a measure prior to the selection start.]
  • If you are making use of a NWC2PlayContext object, you must add the second parameter as true.  Otherwise, your script will not process context information to correctly set your clef, key, bar, etc, when the selection is a partial staff.  In this case, you must also make sure that your script does not process the remapped fake objects, other than using them to update the context!  Otherwise, your script will operate on objects that were not selected (but were earlier in the same measure of the selection).  A template:
Code: [Select · Download]
foreach ($clip->Items as $item) {
$o = new NWC2ClipItem($item, true);

if ($o->IsContextInfo()) {
$pc->UpdateContext($o);
continue;
}

<your script processing here>

$pc->UpdateContext($o);
}

I think NWSW has updated all of its user tools accordingly.  And perhaps I am the only other user to make use of play-context objects so far?!
159
General Discussion / Re: display suggestion
Reincarnating an old thread...

It looks like the status bar has everything you all asked for, except for the key signature.  The best way I've found to get this (assuming it's not trivial to scroll back and find the last key change), is to select an object in the vicinity (I find a measure bar works best) and run the "Variable Dump" user tool.  The key signature is listed via a "fake" object.

Anyone know of anything better?  Is this still listed in a wish list somewhere, to get this in the status bar?
160
General Discussion / Re: question on accidentals
Quote
See the following excerpt from Alfreds Essential Dictionary of Music Notation:

Lawrie, thanks for the more definitive proof of the issue here, as Wikipedia is not necessarily a great reference.  :-)  Alfreds is agreeing that the second F in its example should not be natural from the accidental an octave away.  The sharp is only a courtesy, and not a requirement.

I have written a user tool to detect when NWC is playing music that is different from what is written.  I have also written a PHP script (to be run outside of NWC at a command prompt) which can apply a user tool to *all* the staffs in *all* the songs specified on the command line (wildcarding supported).  Both are preliminary, and the wrapper script in particular should be used with great care.  Both worked great for me to prove that my on previous handbell example measure was the only (current) occurance in all my handbell music, and to find *many* potential problems with the sample files (more on these later).

Here's another aspect to this.  Not only should a measure bar cancel all running accidentals, but I believe a clef change should do so as well!  Take this clip:

Quote
!NoteWorthyComposerClip(2.0,Single)
|Clef|Type:Treble
|TimeSig|Signature:4/4
|Note|Dur:4th|Pos:#-3
|Note|Dur:4th|Pos:-3
|Note|Dur:4th|Pos:4
|Clef|Type:Bass
|Note|Dur:4th|Pos:2
!NoteWorthyComposerClip-End

NWC thinks that all of these F's are sharped!
161
General Discussion / Re: question on accidentals
[note: haven't read the replies posted while I typed this]

Thanks for the help guys, but I just don't think you're getting my point!

Yes, there are all kinds of workarounds to take away the ambiguity and make the intent more clear.  But am I supposed to be constantly on the alert for plain notes an octave (or more) away from an accidental when I'm entering music?!  It's not the workarounds that are so bad - it's the detecting when they're needed!

Take a look at the "moonlite" sample, which I entered a long time ago exactly as my sheet music had it printed.  Andrew Purdam subsequently cloned the staffs, leaving my original alone as the visible "display" staffs1 and creating his copy as the hidden "audio" staffs.  He enhanced the audio staffs for better playback, including apparently detecting when NWC was playing back the music incorrectly!  In measure 187 for example, compare the 2 "treble" staffs.  Aside from the NWC audit removing the (technically) unnecessary sharp on the 4th note, Andrew had to add several other accidentals to compensate for NWC's improper algorithm:
  • The 12th and 17th notes needed naturals, to cancel supposed sharps earlier.
  • The 14th and 19th notes needed sharps, to cancel supposed double-sharps earlier.

Would any reasonable person have detected the need to deviate from the printed copy when entering this music into NWC?!  Is any musician good enough to remember the set of accidentals of record on a per note name basis, and apply this set across all octaves, in real time?!  I think it's hard enough carrying it forward on just the same horizontal position!

Note also measure 147 in moonlite.  I erred upon entry and forgot to transcribe a sharp to the high B.  It unfortunately sounded correct on NWC, due to the B# spanning octaves, so I never caught my error until now.

1Unfortunately, Andrew "cleaned up" my visual staffs, with what he thought were improvements, and/or corrections of faults in my data entry.  However, now the visual staffs deviate from my printed copy due to the changes.  I definitely appreciate the intent Andrew, while I'm privately disappointed at the result!  :-)
162
General Discussion / Re: question on accidentals
Yes, but a courtesy accidental (a "text" accidental symbol in parentheses) won't help NWC play the right note here!  Perhaps the printer of this piece should have put a courtesy accidental in this case, but even if they did, I'd have to know to change it to a real accidental when entering into NWC.
163
General Discussion / Re: question on accidentals
Force Accidentals merely explicitly adds the flat that NWC2 implicitly thought was there.  Audit Accidentals then leaves the flat there.  While the Force/Audit pair made the offending flat show itself, it still does not correct the music to how it should sound, and it is difficult to spot where any extra accidental appears via this process so that it can be manually corrected.  I will write a script to look through all my NWC files and hunt for such anomalies in any staff.
164
General Discussion / Re: question on accidentals
I just found on Wikipedia that:

Quote
Accidentals do not affect the same note of a different octave, unless indicated by a key signature.

When I first found this issue, I was thinking only that NWC2PlayContext had a bug.  But I just confirmed that NWC2 has it throughout.  Here is the actual measure of existing handbell music I found this in:

Quote
!NoteWorthyComposerClip(2.0,Single)
|Clef|Type:Treble
|Key|Signature:Bb
|TimeSig|Signature:4/4
|Chord|Dur:4th|Pos:b-4,-2,0,4|Opts:Stem=Up
|Chord|Dur:4th|Pos:-5,-2,0,4|Opts:Stem=Up,XNoteSpace=1
|Chord|Dur:4th|Pos:-5,-3,-2,0,2,4,5|Opts:Stem=Down,XNoteSpace=1
|Chord|Dur:4th|Pos:n-4,-2,0,1,3,5,8|Opts:Stem=Down
!NoteWorthyComposerClip-End

The high E in the 4th beat is played back by NWC2 as an Eb, despite no prior accidental for that particular note, and despite the low E in the same chord having a natural specified.

Yes, the workaround is to put a natural on the high E, but it is not there in the published copy, and I now don't know how many other similar situations need this workaround in my other files.
165
General Discussion / question on accidentals
An accidental implicitly applies to any of the same note later in that measure, but technically speaking, is it supposed to apply to notes an octave away from that note?!  Take this example:

Code: [Select · Download]
!NoteWorthyComposerClip(2.0,Single)
|Clef|Type:Treble
|TimeSig|Signature:4/4
|Note|Dur:4th|Pos:-3
|Note|Dur:4th|Pos:#-3
|Chord|Dur:4th|Pos:-3,4
|Chord|Dur:4th|Pos:n-3,4
!NoteWorthyComposerClip-End

Is the high F on the 3rd beat sharped, as the low F still is?  If so, is it still sharped on the 4th beat, or does the natural below cancel it?  If you run the Note Names user tool, it has its opinion on these questions, and I'd just like to make sure it's correct!
166
General Discussion / Re: Cut and paste from user tool window?
Well I'm an idiot.  I'm so used to using Cut/Paste only from a menu obtained by right-clicking, that I forgot all about trying a keyboard shortcut.  I wonder why NWC can't bring up the right-click menu for that window?  Anyway, thanks a bunch - it helps me a lot.
169
General Discussion / Cut and paste from user tool window?
Is there a way to cut and paste the output of a user tool (e.g. Statistics)?  I can select the text in the window, but I don't seem to be able to cut it into the clipboard.  I have my own scripts that run outside of NWC getting input from an NWCTXT file, and I can redirect the output into a file, but I was hoping to quickly grab an existing user tool's output.
170
General Discussion / Re: Opening Midi with NWC
Milton - that's all good feedback, but unfortunately, I think my suggestion of trying different import options was a red herring in this case.  It appears that the MIDI file was technically corrupt in some minor way, and no matter the import options, NWC would complain about it, without even trying to use the options to convert the data.
171
General Discussion / Re: Note Conflict [as notehead shape]
Some additional observations:

- The above ignores the special case of 2 whole notes at the same position, which is always split out, even if the notehead styles and colors are the same.  This is presumably the standard due to the lack of any stems to indicate otherwise that there are 2 notes there.

- If a quarter note or shorter is combined with another quarter note or shorter of different duration, with both at the same position, in theory, they could be overlaid just as if they were the same duration, since the stems tell the entire story of what notes are there.  I assume there is a standard that dictates only same-duration notes be overlaid.

- Because a whole note is enlarged to the right side, it will not be perfectly side-by-side when combined with a non-whole note at the same position.  Depending on whether the whole note is "stem up" (appearing first) or "stem down" (appearing second), the two notes either overlap a bit or have a small space between them.
172
General Discussion / Re: Note Conflict [as notehead shape]
I'm guessing you're comparing these to the cases where 2 notes with the same position but different durations are in a chord - in those cases NWC splits out the notes side-by-side instead of overlaying them.  And you're thinking that NWC should similarly split out 2 notes with the same position and the same duration but different notehead styles and/or colors?  Of course, you could always split them out yourself, using layering where one note (typically the stem down one) would have an extra note space.  But perhaps it would be nicer if NWC split such mismatched notes by default, and forced layering to be used instead when overlaid mismatched notes were desired (which seems far rarer to me).
173
General Discussion / Re: Opening Midi with NWC
In addition to posting a file or two, you might in the meantime play with the import options (Tools menu, Options selection, Import tab), in particular, the note and rest resolutions.  If your note resolution is at a sixty-fourth note for example, and your midi file is not perfect (i.e. is human-generated rather than computer-generated), you can get all kinds of strangeness in the import.  You might also turn off "detect compound time" if you don't need it.  Nevertheless, the import should never outright fail, no matter what the input file is.  But the import options may help work around this problem for now.  Sorry if they don't help any.
174
General Discussion / Re: New version of fontsettings.nwc
Quote
You might as well cut 1-31. Windows is never going to show anything useful, even if it is defined in the font.

Good to know!  Done.  I didn't like having to screen chars 0 (null), 10 (LF), and 13 (CR) out of the 0..255 range anyway.  It's simpler for the script to just do all within 32..255.

175
General Discussion / New version of fontsettings.nwc
There is a file called fontsettings.nwc available on the scriptorium, courtesy of David Palmquist.  The file allows you to see what all ASCII characters look like for all fonts loaded.  I have automated generation of this file, and enhanced it to include extended ASCII characters (and control characters).  You can edit the file, set up any fonts you want, and view or print the results for reference.  Comments on impoving it further are welcome.  Apologies to those not interested in such a file.

Randy
176
General Discussion / Re: Just installed NWC 2.1 & wish list
Thanks Warren and Richard,

The trick was to double-click on a NWC file in Windows Explorer (i.e. not in Internet Explorer, no pun intended).  In IE, it would not give me the chance to choose an app from a list, let alone establish a permanent association.  In WE, I could choose NWC2 for the "nwc" extension, and make it permanent.  Then double-click on nwc file in WE, or in IE (i.e. this forum), spawns NWC2 for me now.  I already had the viewer installed, so it was good to avoid uninstall/reinstall of either NWC2 or NWC2 Viewer for this!

I am still sorting through which font is best for implementing a double-whole note.  Again, is a NWC file "portable" regardless of user font chosen?  Can someone without the non-standard font installed still view an NWC file created with that font installed, or will they have to install it too?  I am writing a user tool to find and "repair" double-whole note emulations, and I want to use the best solution for double-whole note display.

Randy
177
General Discussion / Re: Just installed NWC 2.1 & wish list
Quote
Perhaps the easiest thing to try at first is to uninstall any version that does NOT say NoteWorthy Composer 2.

Well it was easy to find and uninstall the NWC 1.7 that I had lying around, but now the "nwc" file extension has gone from being associated with NWC 1.7 to being associated with nothing!  Anyone know how to get it associated with my NWC 2.1?  If an uninstall/reinstall of NWC 2.1 is really necessary, will I lose any data in doing so?
178
General Discussion / Re: Just installed NWC 2.1 & wish list
Quote
set Visibility Never on the note that the tie starts from...  Or both.

That's the easy part.  But hiding the "real" first whole note put me in the world of needing a font to add back a "fake" text whole note for display purposes.  I've resisted figuring out how to install and use new fonts, but perhaps I should learn.  Is there a whole note in standard NWCV15 or NWC2STDA?  Or do I really have to install a new font?  Perhaps instead of adding simple vertical bars before and after a whole note (real or fake), I should look into font "nwslur" (I think that's what it was) that I found in searching the forum is puported to have a real breve symbol.  Does making use of a non-standard font cause a NWC file to become non-portable, that is, will someone else have to install the font too in order to see it properly?  Forgive my font ignorance please.
179
General Discussion / Re: Just installed NWC 2.1 & wish list
Randy

That shouldn't make any difference. Version 2.x  will read and play any older version files without problem.

That's what I thought too, but I got this error when trying to load it!

This is a version '1.75' file, which is from a newer version of this application. It cannot be loaded using this application version.


Upon further inspection, I see now that instead of using my active 2.1 NWC session, the forum browser spawned a new 1.7 NWC session!  Anyone know what "registry" entry (or similar such nonsense :-) I need to fix (and how) to update this?
I don't even remember installing 1.7 on this computer!
180
General Discussion / Re: Just installed NWC 2.1 & wish list
Rick and Lawrie,

I never would have guessed that a tied note would continue to play through a rest that was inserted between the tied notes!  I guess this reminds me now of the old "stuck note" problem, where a tied note can play endlessly, searching for a companion note to put it out of its (and our) misery.  :-)

Having solved what I thought was the tougher problem, is there an equally easy solution to when the two tied whole notes are *not*  tied on into a third note?  I see now this is where being able to hide a tie (or having it automatically hide when its receiver is hidden) would be helpful.

Jim,

Quote
Another suggestion for you is to just throw out the double bass line.  It just doubles the cello line.

Well, it doubles it sometimes, but not others.  And even when it doubles, it jumps octaves sometimes, although this might be a range problem with the double bass, rather than a specific effect wanted by the composer?  The doubling will probably fall out anyway when I go to handbells, since we have only 4 octaves worth, but I still wanted it in the original anyway.

By the way, I couldn't see your NWC file, as it is in the old 1.75 format, and I only have 2.1 (and 2.0) installed now.  :-)

Randy
181
General Discussion / Re: Just installed NWC 2.1 & wish list
Hi Jim,

I too took a recent interest in Adagio For Strings - I was arranging it for handbells myself.  My first step was to enter the original score into NWC, before transposing out the alto clef and merging all 7 parts into a single treble/bass pair.  The attached is as far as I got on the original before getting distracted by other things.

Lawrie,

How can one get a tie from a "text" double whole note to a following quarter note, as in measures 1 and 2 of the Violin I part, even if one did want to use layers to split out the audio and visual aspects of the piece?

Randy
182
General Discussion / Re: Playing NoteWorthy Tunes on a Modern Church Organ
I could provide a script for you that would make that change in all of your files with a single command if you want it.  I'm heading out of town now, but I could get it to you on Monday if it would help you.  I can only imagine otherwise you having to load over a thousand songs one at a time to make the change?!
183
General Discussion / Re: Playing NoteWorthy Tunes on a Modern Church Organ
Quote
Apart from the Tamarians (having just watched the episode "Darmok") - maybe the babelfish would be better from Hitchhikers ?

Excellent episode!  But the Tamarians "spoke" English too!  It just didn't make much sense (at first anyway), much like talk from politicians.  :-)  Did you notice the debut acting performance of Ashley Judd in that episode?!

I still prefer the unobtrusive universal translator over putting a creature in my ear.  :-)

I apologize for the fault in the subtitles.  Those responsible have been sacked.  Back on topic...
185
General Discussion / Re: getting to the expression placement properties box
Building on Lawrie's comments, in case you need more details:
- To get at the properties for any object (rest, note, chord, rest-chord, bar, clef, keysig, timesig, etc), highlight it and either key ctrl-e or right click and select properties.
- To highlight an object (or objects, to edit multiple ones in bulk), click and hold on one side of it and drag to the other, or click on one side and shift cursor to the other.
- If your last page has very little on it, the best thing to do is to reduce the left and/or right margins.  Go into page setup (e.g. from the file menu) and click on the margins tab.  Even reducing a left or right margin by 0.01 inch can do it for you!
- If there's too much on the last page, you generally have to try reducing the font size by one point (or increase it some and just fill up that last page).
- If your change overshoots, and your very last line no longer reaches the edge of page, try this trick.  Add a bar at the very end of your first staff, edit its properties and make it a "Section Close" with "Force System Break" on.  Then in Staff Properties for that staff, under the General tab, change the Ending Bar to "Open (hidden)".  This is far superior to using the "Extend last system" option in page setup.

I apologize for all of this you already knew.
186
User Tools / Re: Imported triplets
Quote
The problem is the name "$this" clashing with the new libraries.

Brian may be using an old version of PHP - I think NWC used to use version 3 or so.  He may not see this problem with "$this" until he upgrades to the version 5 PHP that the latest NWC now uses.

Brian, if you upgrade to PHP 5 [and I think it's reasonable to expect all users of your script to upgrade], within function isValidGroup, I think you could just use in_array in place of the last foreach loop, since PHP supports arrays as the "needle" as of version 4.2:
     return in_array($lengthSet, $validLengthGroup);

You could perhaps similarly avoid a foreach loop in function note_length, using array_intersect_key:
     return array_shift(array_intersect_key($tickLength, $opts["Dur"]));

Other miscellaneous comments:
- The "if ($TripletQ) array_push..." could probably be simply "$TripletQ[] = $o;"
- Your 2 array_search's didn't work because you have the 2 parameters reversed: some functions are needle/haystack, and others are haystack/needle :-(
- Your first "continue 2" could probably simply be a "break"? - your last "continue" could be removed?
187
User Tools / Re: Important change to NWC2ClipItem interface
Note that the "variable dump for developers" user tool was updated to do the remap fakes.  So if you dump a clip, the fake items will look good, but if you run your script on the same clip, it will get fed fake items that are not like what the dump showed you.  Your tool may well ignore these malformed fake items, but the update-play-context will also ignore them.
189
User Tools / Important change to NWC2ClipItem interface
I may be the only one who missed this, but thought I'd share just in case...

There is a new parameter now for NWC2ClipItem:
   function NWC2ClipItem($itemtext,$remapFakes=false)

You may have tools (like I do) that still call NWC2ClipItem without a second parameter.  This defaults it to false, and causes a strange behaviour, that took me a while to track down.  I usually use my user tools on an entire staff, and hence there are no "fake" items, and it still works.  But I just tried to run one on a partial clip, and it wouldn't work.

Without the "remapFakes", the fake objects are not processed by NWC2PlayContext.  In my case, the clef defaulted to treble, even though the clip was bass clef, and a fake object indicated so.  Adding a second parameter of true for NWC2ClipItem fixed my problem.  Not sure why you'd ever want to disable the "fake mapping", such that perhaps the default should have been true?  Perhaps there was a fear of breaking legacy kludges that worked around the absence of the much cleaner fake items.
190
General Discussion / Re: Is the Accent volume adjustable somewhere?
Quote
For split chords, the velocity of any notes in the secondary voice is unchanged.

Hi Rick,

I've been characterizing which duration attributes are valid when, and you've just confirmed for me why I can't get an Accent (or a Tenuto or a Staccato) on the "Dur2" half of a chord.  Interestingly, you can get these attributes on a rest, and on the "Dur" half of a restchord!  Not sure why these are allowed, as they obviously do not change playback, nor are they displayed.  But NWC2 maintains them anyway.

I wish NWC2 would support Accent/Tenuto/Staccato for "Dur2" of a chord, for playback and for display (like it does for "Dur2" of a restchord).  Perhaps it could limit playback support to when Dur = Dur2, for simplicity, even as it fully implemented them for display.

One other oddity: the Slur attribute cannot be applied to the "Dur2" of a chord.  Any idea if this means only the primary notes are slurred?

Randy

191
General Discussion / Re: Playing NoteWorthy Tunes on a Modern Church Organ
I have used NWC to play my digital piano.  I've connected directly to it from computer to piano with a MIDI cable (I had a special "Y" adapter that split out a game port on a music card into joystick and MIDI cables).  More recently I just use a 3.5" floppy (my piano is too old for USB :-) to transport MIDI files from NWC to piano.  The floppy (or memory stick or whatever) has the benefit of no cables to run and get in the way, and you can just pull up a song on the organ/piano without having to go to the computer (one can look like they're doing all the playing if one wants :-).  It's not hard at all to "export" NWC files to MIDI files, putting them directly on a floppy/stick or copying them there later.  I just don't know of any way to do "bulk" exporting of a batch of NWC files to corresponding MIDI files, so it could be quite tedious for over 1000 files.  Playback on your organ is dependent of the particular organ - an instruction manual would be quite helpful if you have it.  I hope the organists' union doesn't get wind of what you're doing.  :-)
192
User Tools / Re: adp_GlobalMod.php and accidentals
You may want to use the NWC2NotePitchPos class from obj_NWC2NotePitchPos.inc to deconstruct and reconstruct your "pos", for future compatibility and for better readability of your script:

Code: [Select · Download]
if ($o->GetObjType() == "Note" && ($t =& $o->GetTaggedOpt("Pos"))) {
        // parse the pos option string
        $npp = new NWC2NotePitchPos($t);

        while ($npp->Position > 13)
                $npp->Position -= 7;

        while ($npp->Position < -6)
                $npp->Position += 7;

        $t = $npp->ReconstructClipText();
}
Of course, this script would not move notes within a chord or restchord, but it is the rare flautist that can play more than one note at a time (I once saw James Galway do it in concert :-).

Edit:  James Galway had an interesting comment on "flutist" vs "flautist" - see "flautist" in Wikipedia.  :-)
193
General Discussion / Re: Is there a way to change the instrument of all the staves at once
It's possible MusicJohn meant "visibly-lower staff/track" to not necessarily be one physically lower in the staff stack, but one that is logically lower in the eye of the composer.  For example, the "shortening" note might be in a totally hidden staff, or it might be among individually hidden notes.  Or it might be in a sparse or otherwise uninteresting staff that is often scrolled vertically on by to get to more meaty staves, where the longer note may be.  But I agree that the "priority" of the staff stack should be totally irrelevant to playback.

The original comment by MusicJohn actually was helpful to me in the reverse sense!  I use NWC to enter a lot of handbell music, which often has so much complexity that I've been forced to layer upwards of 4 treble clefs and 3 bass clefs.  Heretofore, I've always used a separate MIDI channel for each staff (the default).  But a not uncommon occurance in handbell music is to have a shorter note overlay a longer note of the same pitch - it's up to the ringer of that particular bell to "break off" from the longer note and switch to the shorter note.  So I realize now that I should assign all treble staves to one MIDI channel and all bass staves to another (or all staves to a single channel, but more likely to run into polyphony limitations?) to get more "realistic" playback.  And note that handbell music conventions dictate that all notes above middle C be put in the treble clef and all notes middle C or lower be put in the bass clef, so a note in one clef can never overlay a note in the other clef.  [An interesting quirk for the C#5/Db5 bell ringer is that this bell can occur either as C# in the bass clef or as Db in the treble clef!] [And I do mean C#5/Db5 here, even though middle C is C4 - handbells ring an octave higher than they are written, and are labeled for what they ring.]
194
General Discussion / Re: Optional Text Expression Overlays Tempo on Preview
With regard to small details, one should never believe that what they see right away in the print preview is what will come out in the printout.  I've found that if you click 3 times in succession on an area to get to maximum zoom, details can change slightly with each click, but the last click seems to be quite true to what will print out.
195
User Tools / Re: adp_GlobalMod.php and accidentals
It would help if you could post the command line you're trying.

Are you perhaps using "Pos=-7" instead of "Pos-=7"?  The first sets the pos to -7 (absolute assignment) and the second subtracts 7 from the existing pos (relative assignment).

Edit:  Sorry - after (belatedly) looking at the script, I see now the following comment in it:
Code: [Select · Download]
Known issues: altering positions might not work with accidentals.

I'll look at the code more and see if there's any workaround.
196
General Discussion / Re: Forte-piano dynamic variance
Randy, I don't object to your personal preference for sfp, ...
I'm sorry, Bill, but I apparently have been misrepresenting my position all along here.  My personal preference has always been for "fp", not for "sfp".  I do not ever use "sfp", except when duplicating the (rare) sheet music that uses it.  I have never said that "fp" is wrong, and I thought I'd agreed that "fp" is standard.  I only used the "laymen" term for the name "forte piano", not for the symbol "fp", and only to imply that most would consider "sforzando piano" to be the more "technically correct" name.  (After all, "forte piano" I think was the original name of the [later-abbreviated] piano, as it was revolutionary at the time to be able to play load or soft at the performer's discretion, which the prevailing harpsichords did not permit.)  At no point did I intend to call into question (or even differ from) any authority, including your own.

My sole point was that I expected NWC to find the name "sforzando piano" and the symbol "sfp" to be more in line with previous NWC precedent.  I'm sorry for whatever I said that implied otherwise to you.

Edit:  Just looked it up.  The "fortepiano" did indeed follow the harpsichord, but some later innovations were needed before it became the "pianoforte", which itself is what we now know of as the "piano".
197
General Discussion / Re: Is there a way to change the instrument of all the staves at once
Your need cannot be fulfilled.
Er, actually it can be, it just probably is not worth it for this simple application.  I have written PHP scripts which operate concurrently on all staves of a given song.  Currently however, NWC does not allow such a script to run from within the NWC environment.  I have to manually run the script from a Windows command line, specifying the NWC file(s) to operate on.  But such a script not only has all staves available to it, it has the staff properties for each one, and it has the song information as well.  There is virtually no limit to what such a script can do - it is just not convenient for casual users to use.  I believe NWC is looking into a way to possibly integrate such a script into the NWC environment, so it might one day be as convenient as a user tool.
198
General Discussion / Re: Forte-piano dynamic variance
Rick - I'm assuming you switch to "text" dynamics in order to add leading (or trailing) spaces to tweak the location of a left (or right) justified (at next note/bar) string.  I don't resort to this often for dynamics, but I use it constanly to build up long trills using the boxmarks font.  Your use of a grace note to help simulate a sforzando piano is quite ingenious to me - it gets the accent I'd wanted in a way that can be hidden from printout.  It does not allow full control of the "falloff" period as an MPC would, but perhaps some number of grace notes could be tied together to get more falloff?  At any rate, a script could find all text (or future dynamic variance) sforzando pianos and add whatever was eventually deemed best for audio simulation, but there does not appear to be any interest in this aspect (beyond our purely theoretical discussions).  :-)
199
General Discussion / Re: Forte-piano dynamic variance
Randy, I'm not sure what you have against the use of "fortepiano" (fp). It's regularly used - my Harvard Dictionary of Music lists it among the "commonest" dynamic markings. The others on that list are pp, p, mp, mf, f, ff, cresc, decresc, dim, and sf (which the HDM calls "sforzato" rather than "sforzando"; I understand that both spellings are correct, though Maurizio may enlighten us differently). Not an sfp in the bunch. Not to say composers don't use it, but it appears to be less common than just fp.
Hi Bill.  I think I need to get more in the habit of prefacing my opinions with an "IMHO"!  I am well aware of the common use in music of the "fortepiano" (fp) for sforzando piano.  I saw it often in my trombone parts in high school, the Purdue marching band, the Durham Community Band, and my Canadian Brass-style quintet.  I also saw on occasion the plain old "sforzando" abbreviated as "sf".  But NWC has set a precendent that needs to be followed (IMHO) - there is already a "sforzando" (and note that the alternate spelling of "sforzato" was not used) and it is represented by "sfz" (and note that the alternate [and perhaps primary] spelling of "sf" was not used, nor was "fz").  IMHO, to build on this precendent mandates that any "sforzando piano" (and note that this again avoids "sforzato", and builds on the existing "sforzando", and avoids the laymen-ish "fortepiano" [and its associated appearance of being 2 dynamics instead of 1 dynamic variance]) be represented by "sfp" (although "sfzp" might be more complete, it is not an accepted alternate, as "sfp" is).

This is not about what I want - it is simply about what (I think) fits in best with what is already there in NWC.  For example, I think most times I see a "rit." in music, it stands for a ritardando (with "ritenuto" spelled out, if it is ever used).  But NWC, and rightly so I think, has chosen "ritard." for ritardando and reserved "rit." for ritenuto.  Sometimes I hide the dynamic variance of "ritard." and add a text for "rit.", when I really want my printouts to identically match the original.  You and I can do something similar to change "sfp" to "fp".  :-)  IMHO, one has the best chance of getting an enhancement by making sure it is the most natural extension of what is already there.  It's not personal!
200
General Discussion / Re: Forte-piano dynamic variance
I would love to see all the sfz, fffp,  ffpp, sffz, symbols, etc. made easy to enter as if they were a dynamic or a dynamic variance, rather than having to spell them out in text, but my only reason for requesting fp or any other similar marking is for the visual side of things.
Again, I can see "sfp" added as "sforzando piano", but all those other symbols don't really have good musical names, so they don't fit into the current paradigm of dynamic variance entry for NWC.