Skip to main content

Topics

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

Topics - Rick G.

1
User Tools / Tools to get a staff and paste a staff to a song
The attached User Tool: rg_getStaff.vbs will get the current staff and return it to the STDOUT window as a report.
From there, a user can select it and copy it to the Clipboard. The staff can then be pasted as a New File, to an editor, or added to a song with The User Tool: rg_pasteStaff.vbs

If the script is placed in the Scripts folder (remove .txt), the command is:
Code: [Select · Download]
CScript //nologo Scripts\rg_getStaff.vbs
Input Type is: File text


The attached User Tool: rg_pasteStaff.vbs will paste a staff from the Clipboard.
The Clipboard must contain at least one line that begins with:
Code: (nwc) [Select · Download]
|AddStaff
The staff (or staves) are inserted above the current staff.
StaffProperties, a StaffInstrument, Lyrics, and staff objects are supported.

If the script is placed in the Scripts folder (remove .txt), the command is:
Code: [Select · Download]
CScript //nologo Scripts\rg_pasteStaff.vbs
Input Type is: File text
Required Option is: Returns File Text
3
User Tools / User Tool for Master Tuning
NWC 2.75+ is required.
Code: (Lua) [Select · Download]
-- rg_MasterTune.lua ver 1.0 <http://nwsw.net/-f9239>
-- This NWC user tool can be used to set the Master Tuning.
-- Playing the Song it creates alters the Master Tuning.
-- The change affects all windows for the current NWC session.
-- Options: Returns File Text [x], Prompts for User Input [x]

local msg = 'Enter new tuning in semitones'
local opt = nwcut.prompt(msg, '#[-12,12]', 0)
if opt then
local userObj = '|User|MIDIParm.nw|LSB:2|DataMSB:' .. opt + 64
for _, channel in ipairs{1,2,3,4,5,6,7,8,9,11,12,13,14,15,16} do
nwcut.writeline('|AddStaff')
nwcut.writeline('|StaffProperties|Channel:' .. channel)
nwcut.writeline(userObj)
end
end
See: MIDI Non-Registered (and Registered) Parameters for some idea of why this works :)
4
Object Plugins / Markup.rg
Markup.rg is a User plugin for text markup that is attached to a single point in a score.
It is not designed for positioning text between two or more items.

To install, save the Lua attachment as:
Code: [Select · Download]
%ProgramData%\Noteworthy Software\nwc2\UserPlugins\Markup.rg.nwcuser.Lua
5
Tips & Tricks / Selector speed keys work on selections
If you have a selection, the icons for these selectors are disabled (grayed out).
Quote from: http://www.noteworthysoftware.com/nwc2/help/HELP_ONKEYBOARD.htm
B,b   Adds a styled standard bar line at the insertion point ('b' uses a selector)
C,c   Adds a bass or treble clef ('c' uses a selector)
D,d   Adds dynamics such as ppp or mf ('d' opens a selector)
E,e   Adds tempo variances, such as fermata and accel. ('e' opens a selector)
F,f   Adds flow direction symbols such as To Coda
G,g   Adds a time signature designation ('g' opens a selector)
K,k   Adds a key signature ('k' opens a selector)
U,u   Adds sustain pedal symbols ('u' opens a selector)
Clicking on them does nothing. Pressing the speed key opens the selector.

If an item is chosen this way, the item replaces the selection.

If nothing in the selection can be changed by the selector, these selector icons are disabled.
Quote from: http://www.noteworthysoftware.com/nwc2/help/HELP_ONKEYBOARD.htm
Q,q Opens the notehead selector
W,w   Opens the note duration selector
Clicking on them does nothing. Pressing the speed key opens the selector.

Bug or feature, you decide. Undo is your friend.
6
User Tools / Fake Key item not provided to User Tool
With this clip:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.51,Single)
|Key|Signature:Bb|Tonic:F
|Note|Dur:Whole|Pos:0
|Bar
|Key|Signature:F#|Tonic:G
|Note|Dur:Whole|Pos:0
!NoteWorthyComposerClip-End
if measure 2 selected, the context provided to a User Tool is:
Quote from: STDIN (snippet)
|Context|Bar:1
IMO, it should be:
Quote
|Fake|Key|Signature:Bb|Tonic:F
|Context|Bar:1
If a Tool inserts item(s) before the bar, it may matter very much what the Key is.
The PHP library function: NWC2PlayContext() will make bad assumptions about the Key and subtle bugs may result.
7
User Tools / bug in obj_NWC2NotePitchPos.inc
Applies to github version labeled: nwsw on Mar 30, 2013 NWC 2.51 Beta 1
Quote from: line 53
static $ClefCenterTones = array("Treble"=>34,"Bass"=>22,"Alto"=>28,"Tenor"=>26,"Drum"=>22);
I would suggest:
Quote
static $ClefCenterTones = array("Treble"=>34,"Bass"=>22,"Alto"=>28,"Tenor"=>26,"Percussion"=>22);
8
User Tools / Using Global Modification (adp) with NWC 2.75
NWC 2.75 allows floating point numbers in many places not allowed in prior versions.
If you attempt to modify these with the version of adp_GlobalMod.php supplied with Version 2.51 of NoteWorthy Composer 2 User Tools, it will convert the floats to integers.

There is an easy fix. Back up your copy of adp_GlobalMod.php. Load adp_GlobalMod.php into a Text processor (e.g. NotePad), search for:
Quote
round
and delete it. It appears only once.
9
Instrument Trees / Installing the standard Instrument Trees

Instrument trees can get lost. This may help in getting them back.

The standard files that ship with NoteWorthy Composer as of version 2.51 are:
Quote
04/25/2004  06:44 AM             6,438 Classic.nwcitree
04/25/2004  06:43 AM             2,642 Default.nwcitree
04/25/2004  06:44 AM             2,642 General Midi.nwcitree
They have not changed since version 2.0, so any back-ups of these files should work.

Step 1: Find the above files and move them to a dedicated folder.
Step 2: Tell the NoteWorthy Composer program where they are:
The location of your Instrument Tree files is controlled by the setting of Tools, Options, Folders, Instrument Trees.

If you can't find any copies of the files, contact support@noteworthysoftware.com as outlined in: NoteWorthy Composer - Support and Help

The download from the topic: General Midi.nwcitree may be of use if the standard files cannot be found.
10
Tips & Tricks / Text centered on RestChords
When Text is centered on a RestChord, it is centered on the width of the rest, even if hidden.
The start and end of slurs appear to ignore both the notehead and rest width.
Code: (nwc) [Select · Download]
!NoteWorthyComposer(2.51)
|PgSetup|StaffSize:22|Zoom:5|DurationPadding:N
|AddStaff|Name:"Staff"
|StaffProperties|EndingBar:Open (hidden)|WithNextStaff:Layer|Color:Highlight 2
|Text|Text:"\}"|Font:StaffSymbols|Pos:6|Justify:Center|Placement:AtNextNote
|Note|Dur:Half,Slur|Pos:0
|Text|Text:"\}"|Font:StaffSymbols|Pos:6|Justify:Center|Placement:AtNextNote
|Note|Dur:4th,Slur|Pos:0
|Text|Text:"\}"|Font:StaffSymbols|Pos:6|Justify:Center|Placement:AtNextNote
|Note|Dur:8th,Slur|Pos:0
|Text|Text:"\}"|Font:StaffSymbols|Pos:6|Justify:Center|Placement:AtNextNote
|Note|Dur:16th,Slur|Pos:0
|Text|Text:"\}"|Font:StaffSymbols|Pos:6|Justify:Center|Placement:AtNextNote
|Note|Dur:32nd|Pos:0
|Text|Text:"\}"|Font:StaffSymbols|Pos:6|Justify:Center|Placement:AtNextNote
|Note|Dur:64th|Pos:0
|AddStaff|Name:"Staff-1"
|StaffProperties|EndingBar:Open (hidden)|BoundaryTop:10|BoundaryBottom:10
|StaffProperties|Channel:2
|Text|Text:"\}"|Font:StaffSymbols|Pos:6|Justify:Center|Placement:AtNextNote
|RestChord|Dur:Half,Slur|Opts:Stem=Up,HideRest|Dur2:Half,Slur|Pos2:0
|Text|Text:"\}"|Font:StaffSymbols|Pos:6|Justify:Center|Placement:AtNextNote
|RestChord|Dur:4th,Slur|Opts:Stem=Up,HideRest|Dur2:4th,Slur|Pos2:0
|Text|Text:"\}"|Font:StaffSymbols|Pos:6|Justify:Center|Placement:AtNextNote
|RestChord|Dur:8th,Slur|Opts:Stem=Up,HideRest|Dur2:8th,Slur|Pos2:0
|Text|Text:"\}"|Font:StaffSymbols|Pos:6|Justify:Center|Placement:AtNextNote
|RestChord|Dur:16th,Slur|Opts:Stem=Up,HideRest|Dur2:16th,Slur|Pos2:0
|Text|Text:"\}"|Font:StaffSymbols|Pos:6|Justify:Center|Placement:AtNextNote
|RestChord|Dur:32nd|Opts:Stem=Up,HideRest|Dur2:32nd|Pos2:0
|Text|Text:"\}"|Font:StaffSymbols|Pos:6|Justify:Center|Placement:AtNextNote
|RestChord|Dur:64th|Opts:Stem=Up,HideRest|Dur2:64th|Pos2:0
!NoteWorthyComposer-End
11
User Tools / rg_pasteDurations.php - User Tool to replace selected durations
The attached User Tool will replace the durations in the current selection with durations found in the Clipboard. Durations found in the Clipboard are put into a circular queue and assigned as needed to the selection.
Required 'User Tool Description'->Options are:
  • Long Task Handling

See: How do I create a command to insert a specific set of notes? for one possible use for this tool.

As usual, comments and suggestions are welcome.
12
User Tools / rg_replaceSong.php - User Tool to replace current Song
The attached User Tool will replace the current song with the contents of a file or the Clipboard.
Required 'User Tool Description'->Options are:
  • Returns File Text
  • Prompts for User Input

When invoked, the tool will prompt for a Song File. If a file is selected, the tool will load the contents of the file, converting a binary file to nwctxt if needed. If no file is selected, the tool will load the text contents of the Clipboard. In either case, the result is checked for a valid NWC Clip or File header.

If a valid header is found, the contents is returned to NWC as the tool's STDOUT.

Nothing earthshaking here, but this may become the foundation of a tool that can merge selected contents with the current song.
As usual, comments and suggestions are welcome.
13
Avant-garde / Guitar Tablature
As a followup to recent discussion in guitar tablature notation, I thought I'd push NWC a bit to see how well it could handle a song. Results attached.

This could be improved with some changes to NWC2STDA and a custom lyric font. The custom lyric font would be scaled to System Metrics and allow tighter note spacing. Together, they might put NWC ahead of other notation programs. AFAIK, no one else offers a note chase of this quality.

IMO, NWC would be improved if it learned how to display repeat barlines and TimeSigs on a 6-line staff.
Also, a default of the percussion Clef to a TAB "Clef" on a 6-line staff might be useful.

For printing, Color 4 might be better set to "white". Or not...

The source for the piece is a common result of an image search for tablature.
14
User Tools / rg_ForceAccidentals.php - Force Accidentals on a selection
Quite easy. Figuring out how easy took several hours.
Code: (php) [Select · Download]
<?php
# rg_ForceAccidentals.php ver 1.0
# Ref: http://my.noteworthysoftware.com/?topic=8445.0
require_once ('lib/nwc2clips.inc');
$clip = new NWC2Clip(); // Input Type: Clip Text
echo $clip->GetClipHeader(), PHP_EOL; // Returns Clip Text
$PlayContext = new NWC2PlayContext();
foreach ($clip->Items as $item) {
  $o = new NWC2ClipItemWithPitchPos($item, true);
  foreach (array('Pos', 'Pos2') as $pos_tag)
    foreach ($o->PitchPos[$pos_tag] as $npp)
      $npp->Accidental = $PlayContext->GetNotePitchAccidental($npp);
  $PlayContext->UpdateContext($o);
  $o->ReconstructPosOpts();
  echo $o->ReconstructClipText(), PHP_EOL;
}
echo NWC2_ENDCLIP, PHP_EOL;
?>
Comments and criticisms welcome.
15
User Tools / Problem with obj_NWC2PlayContext.inc (5,258 byte version)
around line 94:
Code: (php) [Select · Download]
<?php
if (isset($o->Opts["Stem"]) && ($o->Opts["Stem"] == "Up")) $notes = array_merge($notes2,$notes);
else $notes = array_merge($notes,$notes2);
?>
Currently: isset($o->Opts["Stem"]) will be false for any input from NWC.

Perhaps the test should be:
  if (isset($o->Opts['Opts']) and $o->Opts['Opts']['Stem'] == 'Up') ...

The target fixes for NWC 2.51 have been pushed to github:
Commit on github
Which moved the code to around line 104 where it remains unchanged. Perhaps the merge order no longer matters.
16
User Tools / Moving the cursor and/or selection
IMO, if a User Tool returns File Text containing a Editor object, NWC should update the cursor/selection accordingly. If the only object returned is an Editor object, NWC should not clear its Undo buffer and prompt to save the file.

This would allow a User Tool to become a custom search tool.
17
User Tools / rg_Quarters.php - NWC Play Time report for each staff
This tool replaces the tempo in the nwctxt sent to it and uses nwc-conv.exe to report how many quarter note beats are in each staff. The tool requires Input Type: File Text

A report is produced. The tool does not alter the song.

For example, the result of running the tool on the sample file: moonlite.nwc
Quote from: rg_Quarters
     1068.25   Standard   Treble Clef
     1068.25   Standard   Bass Clef
     1068.25   Hidden     _Treble Clef
     1070.50   Hidden     _Bass Clef
 0.459 seconds.
would lead me to ask:
  • Why the extra 16th note?
  • Why is the last staff longer?
I would not consider my work done until I had answers. There is a cadenza at 188. The last staff seems to solve a problem that NWC fixed many years ago. My current sample says it was last modified in June 2001. YMMV

I also find the tool useful for checking changes to flows. Flows, endings and decorated barlines interact in non-obvious ways.

Due to NWC imposed limits on tempo and the precision of the INFO returned by nwc-conv, the tool cannot be made 100% accurate. It may miss a 64th.

Comments and questions welcome. There is some code in the tool for using nwc-conv.exe that may save someone a few hours of studying PHP's proc_open function :)
18
User Tools / rg_lyricCopy.vbs - User Tool for Moving Lyrics
When used on a staff with lyrics, the lyrics will be copied to the Clipboard.
When used on a staff without lyrics, the lyrics in the Clipboard will be added to the staff.

Download to your scripts folder. Use the attached graphic as a guide to naming and setup.
19
User Tools / rg_CloneStaff.php - an enhanced AddStaff
This works like New Staff except that the staff is created immediately below the selected staff and inherits all its attributes. Any notation in the selection is added to the staff. Select nothing to create an empty staff. Any lyrics present are added regardless of the selection.

The tool requires:
  • Input Type: File Text
  • Options: Returns File Text

Like all User Tools that return File Text, NWC will prompt you to save your work. This should not be necessary as the tool's action can be undone by deleting the staff it creates.
20
Tips & Tricks / Braces using Windows Symbol font {}
The Symbol font is installed on Windows by default and should be available to all. It contains useful glyphs for creating braces in custom heights which are useful in some music notation.
Code: (nwc) [Select · Download]
!NoteWorthyComposer(2.0)
|Font|Style:User1|Typeface:"Symbol"|CharSet:2
|AddStaff|Name:"Staff"
|StaffProperties|EndingBar:Open (hidden)
|Text|Text:"ì"|Font:User1|Pos:-8|Placement:AtNextNote
|Text|Text:"í"|Font:User1|Pos:-11|Placement:AtNextNote
|Text|Text:"î"|Font:User1|Pos:-14|Placement:AtNextNote
|Note|Dur:4th|Pos:-1
|Text|Text:"ü"|Font:User1|Pos:-8|Placement:AtNextNote
|Text|Text:"ý"|Font:User1|Pos:-11|Placement:AtNextNote
|Text|Text:"þ"|Font:User1|Pos:-14|Placement:AtNextNote
|Note|Dur:4th|Pos:-1
|Text|Text:"ì"|Font:User1|Pos:-8|Placement:AtNextNote
|Text|Text:"ï"|Font:User1|Pos:-11|Placement:AtNextNote
|Text|Text:"í"|Font:User1|Pos:-14|Placement:AtNextNote
|Text|Text:"ï"|Font:User1|Pos:-17|Placement:AtNextNote
|Text|Text:"î"|Font:User1|Pos:-20|Placement:AtNextNote
|Note|Dur:4th|Pos:-1
|Text|Text:"ü"|Font:User1|Pos:-8|Placement:AtNextNote
|Text|Text:"ï"|Font:User1|Pos:-11|Placement:AtNextNote
|Text|Text:"ý"|Font:User1|Pos:-14|Placement:AtNextNote
|Text|Text:"ï"|Font:User1|Pos:-17|Placement:AtNextNote
|Text|Text:"þ"|Font:User1|Pos:-20|Placement:AtNextNote
|Note|Dur:4th|Pos:-1
!NoteWorthyComposer-End
21
Tips & Tricks / Using color and visibility with Spacer and Boundary objects
The Spacer Command and Boundary Change Command introduced in NWC 2.5 have these properties:
  • the color is not seen in Print Preview or Viewer Mode
  • a visibility option that causes the object to be hidden, disables the object.

This allows for some interesting uses for these properties.
Various colors can be set to clarify the purpose of the object. I use Color:1 (red) for spacers with a zero width. This distinguishes them from the other small spacers. I use Color:3 (blue) for spacers that only matter in the editor.
If I am using the same width spacer to generally "spread out" a song, I assign it a color. This makes it easy to find with the Filtered Properties Command should I wish to change the overall spacing.

Boundary objects are often used to collapse staves when they contribute nothing to a score (French scoring) and to adjust the spacing between staves. When printing an individual part, they usually need to be disabled. By assigning a color to those Boundary objects, I can selectively disable them with the 'Global Modification (adp)', User Tool Command

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.5,Single)
|Boundary|Style:NewSize|Upper:8|Lower:8|Color:1
|Boundary|Style:Gap|Width:200
!NoteWorthyComposerClip-End

To disable the effect of red Boundary objects, run: Global Modification (adp)
Quote from: contents of prompt
Boundary,Color==1 Visibility=Never

To reset them to default visibility, run: Global Modification (adp)
Quote from: contents of prompt
Boundary,Color==1 Visibility=
22
General Discussion / Viewer 2.5.4 "Open in NWC version 2" not working
I removed NWC 2.5.5 Beta 2 and installed the NWC 2.5.5 update from 2.5.4
Ctrl+2 from the Viewer for both *.nwc and *.nwctxt fails with an Information popup:
Quote
The Windows Shell reports that the file could not be opened using the "Open with NWC version 2" verb.

NWC 2 may not be completely installed on your system.

I seem to have lost "Open with NWC version 2" some time ago. IIRC it was removed by a Microsoft "Fix-it Center" option to reset file associations.

Removing the Viewer and reinstalling it does not fix the problem.

I'm fairly sure that I can create the shell verb needed to fix this, but I  was surprised that the the fix was not automatic.

IMO, "Open with NWC version 2" is an awkward name for a verb.

Environment: Win XP, NWC 2.5.5 installed. NWC 1.75 is not installed.
23
General Discussion / Better range and granularity needed in nwctxt
IMO, NoteWorthy would be improved if it allowed more range and granularity in its numeric operations.
Many quantities are stored as bytes which made sense in 1994 when the typical environment was Windows 3.x  In the current millennium, 32bit integers are processed as quickly as bytes; memory and persistent storage have increased exponentially. In many areas, it makes little sense to continue with byte sized numbers.

NWC 2.5 has set the stage for the future. The new Boundary and Spacer objects resolve to the nearest hundredth of a note width:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.5,Single)
|Spacer|Width:100
|Boundary|Style:Gap|Width:200
!NoteWorthyComposerClip-End
In the UI (User Interface), the spinboxes allow for 2 digits after a fixed decimal point.
Moving forward, I think that all the values for x that appear in the following code after a colon or equals sign ought to be replaced by x * 100
Spinboxes for these items should allow for 2 digits after a fixed decimal point.
Code: (nwc) [Select · Download]
!NoteWorthyComposer(2.5)
|StaffProperties|BoundaryTop:12|BoundaryBottom:12
|Lyrics|Offset:2
|Note|Opts:StemLength=7,XAccSpace=1,XNoteSpace=1
|Rest|Opts:VertOffset=1
|Chord|Pos:|Opts:Stem=Down,StemLength=7,XAccSpace=1,XNoteSpace=1|Pos2:
|RestChord|Opts:Stem=Down,StemLength=7,XAccSpace=1,XNoteSpace=1,VertOffset=2|Pos2:
|Boundary|Style:NewSize|Upper:8|Lower:8
|Dynamic|Style:mp|Pos:1
|DynamicVariance|Style:Crescendo|Pos:2
|Flow|Style:Coda|Pos:1
|PerformanceStyle|Style:Tenuto|Pos:1
|Ending|BracketHeight:5|VertOffset:1
|SustainPedal|Pos:1
|Tempo|Tempo:120|Pos:1
|TempoVariance|Style:Caesura|Pos:2
|Text|Text:"x"|Pos:1
|Instrument|Pos:1
|MPC|Controller:pan|Pt1:1|Pos:1,0
!NoteWorthyComposer-End
(In the above, "Style:" should be interpreted as any supported style. For some reason, nwctxt requires a valid style where the Style tag is allowed)

Once this groundwork is laid, NoteWorthy would have the data it needs to resolve MIDI (playback) quantities, and EMF (screen, printer) coordinates, to the full granularity allowed by the MIDI and EMF specifications. Support could be added at a leisurely pace without the need for changes to the file layout.

These items ought to be changed to allow negative quantities:
  • Spacer Width
  • Extra Accidental Spacing

I don't see why the full signed 32bit range in nwctxt should not be allowed. The nwctxt parser could simply use the closest allowed value when converting to NWC's binary format.
24
General Discussion / Mouse Wheel scrolling defaults
In Edit and View modes, if the content fits vertically in the window, NWC scrolls horizontally.
There are times when I would prefer to force horizontal scolling even when the content is too tall. I would suggest that if Scroll Lock is on, NWC would always scroll horizontally.

If mouse wheel scrolling is ever supported in Print Preview*, I would suggest that the same apply there.

I would have no objection if the default directions were reversed. I usually want to scroll horizontally in Edit/View and vertically in Print Preview, but that might be confusing as a default.

* I use an external mouse hook program to enable the wheel in Print Preview. The defaults are the same as in Edit/View.
25
General Discussion / Verse counter problem
A simple hymn:
Code: (nwc) [Select · Download]
!NoteWorthyComposer(2.5)
|AddStaff|Name:"Staff"
|StaffProperties|EndingBar:Open (hidden)|BoundaryBottom:20
|Lyric1|Text:"1. A-men 1. a a\r\n"
|Lyric2|Text:"2. b b 2. b b\r\n"
|Lyric3|Text:"3. c c 3. A-men\r\n"
|Note|Dur:4th|Pos:0
|Bar|Style:LocalRepeatClose|Repeat:3|Visibility:Never
|Bar|Style:Double
|Note|Dur:Half|Pos:0
|Note|Dur:Half|Pos:0
|Bar|Style:SectionClose
|Boundary|Style:Gap|Width:500|SystemConnections:N
|Bar|Style:LocalRepeatOpen|Visibility:Never
|Note|Dur:4th|Pos:0
|Bar|Style:LocalRepeatClose|Repeat:3|Visibility:Never
|Bar|Style:MasterRepeatOpen|Visibility:Never
|Ending|Endings:1,2|Visibility:Never
|Bar|Style:MasterRepeatClose|Visibility:Never
|Bar|Style:Double
|Note|Dur:Half|Pos:0
|Note|Dur:Half|Pos:0
|Bar|Style:SectionClose
!NoteWorthyComposer-End
 0.202 rg_ZenTxt v1.0
 
NWC highlights the Amen in the first verse. No major publisher puts it there.
To get NWC to highlight the Amen in the third verse requires a kludge. IMO, it shouldn't.
26
User Tools / rg_ShowCursor.vbs - User Tool
It is fairly easy to lose track of where the cursor is. This little User Tool will find it without moving it or altering any selection that might exist.

NWC 2.5+ is required.

Download the attachment to your Scripts folder and remove ".txt" From the end of the file name.
Command is: CScript //nologo Scripts\rg_ShowCursor.vbs
Select Input Type: File Text
Leave all Options unchecked.

As usual, comments are welcome. If reporting a bug, please include your Windows version and any error message.
27
General Discussion / Accidental spacing (possible improvements)
A couple of chords from a published work:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.0,Single)
|Key|Signature:Bb,Eb,Ab
|Chord|Dur:4th|Pos:n0,2,n5,n7
|Chord|Dur:4th|Pos:n1,3,b5,6,n8
!NoteWorthyComposerClip-End
I understand why NWC puts as much space as it does between note and the nearest column of accidentals. There are leger lines to consider and since they may exist on a layered staff, NWC must always allow for them. I do not understand the spacing of the leftmost columns(s). Leger lines will never be a consideration. IMO, NWC would be improved if the leftmost column(s) were more tightly spaced.

NWC 2.5 allows text to replace these accidentals. Tedious, but a major improvement for printing. Playback suffers, since text is not highlighted during the note chase. Having some, but not all, accidentals highlight is most confusing, especially when using the standalone viewer. IMO, some thought should be given to note chase highlighting. My thoughts are:
  • an option on the visibilty tab to 'Highlight on playback'
  • an automatic highlighting of certain characters from the system font (noteheads, accidentals, articulations, augmentation dots, flags)
  • highlight anything placed 'At Next Note/Bar' that is not placed before a bar.

The attachment shows how G. Schirmer handled the chords.
29
Tips & Tricks / Using NWC's Viewer with unsupported songs
Attempting to open a song file NWC's Viewer may fail with the message: "File uses new format."

This may mean that a current download of the Viewer is needed. The most up to date viewer can be found in the Public Address Forum. It may also mean that no Viewer (yet) exists for this version of the song file.

An alternative is to save the song as type: 'NWC Text File' (nwctxt). Often, the Viewer will be able to load the nwctxt file. Some files may not display properly.

Details
A file with the extension: 'nwc' contains version information that usually increments with each change to its binary file format. The nwctxt file version is rarely updated. This allows the viewer to open nwctxt files using more relaxed standards.
31
General Discussion / NWC Viewer - Song Version, Font and MIDI Information
The Viewer, currently NWC Viewer 2.5 Beta 3, is often a potential purchaser's first introduction to NoteWorthy Composer.
It has been noted in Extra fonts in the NWC installation pack?, that when used with the Scriptorium, the experience is somewhat wanting.

My purpose here explore how the Viewer might inform the user as to why the song performs the way it does and provide information that would enable the user to improve the Viewer's rendering of the song.

IMO, the Viewer would be improved if it would display:

1) the song's NWC version and a range of years indicating when that version was the current version. If the user sees that the song was produced by 10 year old software, he might be more forgiving of the quality of the display.

2) a font substitution report. As has been noted, inappropriate font substitution can result in a hideous display. The report might consist of the font name, including bold/italic attributes, the font name substituted and a count of the times this substitution occured in rendering the complete song. This would assist the user in assessing the severity of the degradation and suggest a path to improving the display.

3) the song's MIDI device mapping. This might suggest a path to improving playback.

My thought would be to change the Info popup into a tabbed control with tabs for 'Info', 'Version', 'Fonts' and MIDI.

I welcome comments, but try to stick to the subject of "the information that the Viewer provides and how the Viewer should present that information." Otherwise, please start a New Topic.
32
General Discussion / Early note termination during playback
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.0,Single)
|Instrument|Name:"Flute"|Patch:73|Pos:9
|RestChord|Dur:8th|Opts:Stem=Down|Dur2:4th|Pos2:0
|Note|Dur:8th|Pos:0^|Opts:Stem=Down
|Note|Dur:4th|Pos:0^|Opts:Stem=Down
|Note|Dur:Half|Pos:0
|Bar
|Note|Dur:8th,Tenuto|Pos:0|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:0^|Opts:Stem=Down,Beam=End
|Note|Dur:4th|Pos:0^|Opts:Stem=Down
|Note|Dur:Half|Pos:0
!NoteWorthyComposerClip-End
If a musician plays first measure, it will sound like the second measure on most instruments, and more like the second than NoteWorthy's playback of the first on nearly all instruments.

IMO, NoteWorthy's playback would be improved if, before scheduling a 'note on' for a MIDI channel, it removed any pending 'note offs' for that note number in the MIDI channel. (note off = note on with velocity zero).
33
General Discussion / As Staff Signature. Does it do anything useful?
On a single staff, 'As Staff Signature' seems to act like 'Best Fit Forward'

For multiple staves, I have been unable to find a use for 'As Staff Signature'.
Can anyone attach a song file that uses 'As Staff Signature' to do someting useful that can't be done with one of the other placement options?

My thinking here is that it has been made obsolete and can safely be dropped from future versions.
34
General Discussion / System break on hidden barline
IMO, NWC would be improved if it did not break the system on a hidden barline unless it has SysBreak:Y set.

This would simplify the many workarounds for multi-measure rests.
It would also fix the problem of displaying a proper key change.

Another useful property of a hidden barline would be if it would allow a lyric to pass through it.
35
User Tools / Pause aware MIDI conversion - rg_toMIDI.php
The attached NWC 2.5+ User Tool will export MIDI files that sound like NWC playback even if the song file contains Fermata, Breath Mark, and/or Caesura pauses.

NWC 2.5 (currently beta) is available to registered users <here>.
The tool requires the 2.5 User Tool Starter Kit available <here>.

The tool requires installation of these 2 packages from http://www.midiox.com/

Installation
Save the attachment to your User Tool scripts folder as: rg_toMIDI.php
Open a song into NWC 2.5.

Press ALT+F8, click on 'New...'
For 'Name:', I simply called it 'to MIDI'
Click on 'Browse...' and open rg_toMIDI.php from the list.
Add ' -v' to the end. It should look something like:
Quote
php\php.exe Scripts\rg_toMIDI.php -v
Under 'Input Type', select 'File Text'
Under 'Options', check 'Prompts for User Input'.

Use
  • It is best to start with a small file. These will typically convert in less than a second.
  • Conversion of moonlite.nwc takes about 2 seconds. If you add a pause to 1812.nwc, conversion will take about 6 seconds.
  • If you remove ' -v' (VERBOSE mode) from the command, the closing screen will not appear unless there is an error.

Comments welcome. I am unable to test this on anything but XP Pro and am eager to read that it will work on other Windows versions.

Note: the tool creates some temporary files. If the tool errs, these may not be deleted. If this happens, remove them manually.

2011May31 edit: update to version 1.1
2012Jan08 edit: update toolkit link
36
General Discussion / Opening Whole Measure Rest Position Fix
When a staff begins with a Whole Measure Rest, NWC doesn't center it correctly in Print Preview.
The fix is to insert a Visibility:Never bar line after the time signature.

The fix is shown for the Viola staff in the attachment.
A bar line can be added on each staff, but is only needed on those starting with a Whole Measure Rest.
38
General Discussion / Blank Space Notehead proposal (augmentation dots)
IMO, when the Blank Space Notehead is selected, the augmentation dots should appear as grey in the Editor and not appear in the Viewer or Print Preview, and no space for augmentation dots should be reserved in Viewer or Print Preview.

When the Blank Space Notehead is in use, chances are good that the user is adding a notehead as text and it would be a simple matter to add any augmentation dots needed as text.

This change would aid in fixing those few cases where NWC misplaces augmentation dots. It would also aid in those songs that are visibly in simple meter but are being scored in compound meter. Duplets would also benefit from this change.
39
General Discussion / RestChord spacing with hidden rest
I understand the spacing of the first measure but IMO, the notes in the second measure should be evenly spaced. The rests are hidden, and their hidden augumention dots should not affect spacing.
Quote
!NoteWorthyComposerClip(2.0,Single)
|RestChord|Dur:8th,DblDotted|Opts:Stem=Up|Dur2:4th|Pos2:0
|RestChord|Dur:8th,Dotted|Opts:Stem=Up|Dur2:4th|Pos2:0
|RestChord|Dur:8th|Opts:Stem=Up|Dur2:4th|Pos2:0
|Note|Dur:4th|Pos:0
|Bar|Style:Double
|RestChord|Dur:8th,DblDotted|Opts:Stem=Up,HideRest|Dur2:4th|Pos2:0
|RestChord|Dur:8th,Dotted|Opts:Stem=Up,HideRest|Dur2:4th|Pos2:0
|RestChord|Dur:8th|Opts:Stem=Up,HideRest|Dur2:4th|Pos2:0
|Note|Dur:4th|Pos:0
|Bar|Style:Double
!NoteWorthyComposerClip-End
40
User Tools / Bug: ObjTypeHasPitchPos() in obj_NWC2NotePitchPos.inc
If you run this:
Code: [Select · Download]
<?php
require_once("lib/nwc2clips.inc");
$clip = new NWC2Clip();
foreach ($clip->Items as $item) {
$o = new NWC2ClipItemWithPitchPos($item);
$type = $o->ObjType;
echo $type.'->'.$o->ObjTypeHasPitchPos($type).PHP_EOL;
}
exit(NWC2RC_REPORT);
?>
true is reported for Rest objects. Rest objects do not have PitchPos.
41
General Discussion / Flow bug
IMO, this:
Quote
!NoteWorthyComposerClip(2.0,Single)
|Clef|Type:Treble
|TimeSig|Signature:2/4
|Note|Dur:Half|Pos:-1
|Bar
|Ending|Endings:1
|Note|Dur:Half|Pos:0
|Bar|Style:MasterRepeatClose
|Ending|Endings:2
|Note|Dur:Half|Pos:1
|Ending|Endings:7
|Bar|Style:SectionClose
|Ending|Endings:2
|Note|Dur:Half|Pos:2
|Bar|Style:MasterRepeatClose
!NoteWorthyComposerClip-End
is a bug.
The Section Close stops NWC from executing the second Master Repeat Close.
But NWC should not "see" the Section Close until repeat 7, which of course never happens.

If you change the Section Close to a Single or Double, the song flows as I would expect.
42
General Discussion / Note Alignment in Print Preview
The attachment aligns perfectly in Editor and View mode but fails in Print Preview.
Yes, I know there is a bar line missing. I have been living with the restriction that barlines must align where there is a system break, but surely NWC ought to handle a missing barline in the middle of a line better than this.
43
General Discussion / Bug: RestChord restricts Beam Direction
Unbeam this clip:
Quote
!NoteWorthyComposerClip(2.0,Single)
|Note|Dur:8th|Pos:-1|Opts:Stem=Up,Beam=First
|RestChord|Dur:8th|Opts:Stem=Down|Dur2:4th|Pos2:0|Color:1
|Note|Dur:8th|Pos:-1|Opts:Stem=Up,Beam=End
!NoteWorthyComposerClip-End
Now try to beam it. Beam goes under the notes and cannot be changed.
To get back to the original, you must cut the RestChord, beam the eighths and paste the RestChord back in.

I would rather see this bug left unfixed if fixing it means forbidding this construct. I'm reporting it since it took quite a while to figure out what was causing the problem in a much more complex phrase.
45
General Discussion / Beam slant anomaly in printer drivers
I'm used to small variations when changing print drivers, but this seems to be something different.
In the attachment, notice the difference in the slant of the beam. In the editor, the slant looks like the one on the left.
I can only assume that either the HP driver is a bit wonky or that NWC is not fully appreciating its device context.
46
General Discussion / Clef visibility - a proposed change
There are two classes of clefs in NWC. One is the Clef object, the other is the systemic Clef that NWC inserts at the beginning of each line. IMO, the current visibility rules that NWC uses are not optimal.

The visibilty of the systemic Clef ought to be determined by the visibilty of the first Clef object on the staff. The visibilty of subsequent Clef object inserted by the user should apply to that object only.

Those doing marching band cards, where systemic Clef are often omitted to save space, could simply use:
Quote
!NoteWorthyComposerClip(2.0,Single)
|Clef|Type:Treble|Visibility:Never
|Clef|Type:Treble
!NoteWorthyComposerClip-End
For the much more common situation where the author wants to change Clefs but not want to display a full sized clef with the horizontal space that NWC clefs require, could use:
Quote from: nwctxt
!NoteWorthyComposer(2.0)
|Font|Style:User 1|Typeface:"NWC2STDA"|Size:16|CharSet:2
|AddStaff|Name:"Staff"
|Clef|Type:Treble
|Note|Dur:Whole|Pos:-6|Opts:Stem=Up
|Text|Text:"     "|Font:PageSmallText|Pos:7|Wide:Y|Justify:Center|Placement:AtNextNote
|Clef|Type:Bass|Visibility:Never
|Text|Text:"b    "|Font:User1|Pos:0|Justify:Center|Placement:AtNextNote
|Bar
|Note|Dur:Whole|Pos:2|Opts:Stem=Up
|Bar|SysBreak:Y
|Clef|Type:Bass|Color:1
|Note|Dur:Whole|Pos:2|Opts:Stem=Up
!NoteWorthyComposer-End
without the need to force SysBreaks and insert the visible Clef (here shown in Color 1).

This change would look better in the viewer and be easier to maintain across margin and paper size variations.
47
User Tools / STDIN problem with nwc-conv.exe, version 2.1b
This problem has been fixed for nwc-conv.exe version 2.1c
I have removed some non-germane threads.

I can't get nwc-conv.exe to accept STDIN when I Exec it from script.

Caution: if you run the code below, break out of it ASAP with CTRL+C.
Otherwise, it will create a huge file in your temp folder (and eventually fill your disk).

Quote from: test.vbs
strCommand = "sort.exe /+2 /R"
With CreateObject("WScript.Shell").Exec(strCommand)
   .StdIn.WriteLine "!NoteWorthyComposer(2.0)"
   .StdIn.WriteLine "|Rest|Dur:Whole"
   .StdIn.WriteLine "!NoteWorthyComposer-End"
   .Stdin.Close
   WScript.Echo .StdOut.ReadAll
End With

strCommand = "nwc-conv.exe NWCTXT INFO"
With CreateObject("WScript.Shell").Exec(strCommand)
   .StdIn.WriteLine "!NoteWorthyComposer(2.0)"
   .StdIn.WriteLine "|Rest|Dur:Whole"
   .StdIn.WriteLine "!NoteWorthyComposer-End"
   .Stdin.Close
   WScript.Echo .StdOut.ReadAll
End With   
If I run the above with CScript, the "sort" works, but it hangs with "nwc-conv", requiring CTRL+C to exit.
Similar results with WScript.
Since sort.exe works, I conclude that there must be a problem with nwc-conv.exe
I'm using WinXP Pro and Windows Script Host Version 5.7
Any help would be appreciated. If someone could get it to work with PHP, that would be helpful.
48
User Tools / Audit selection - rg_AuditBarLines.vbs
This Tool captures the results from NWC's Audit Bar Lines and confines any changes to the User Tool selection.
If you don't like the results, just click Undo.

Download the attachment to your Scripts folder and remove ".txt" From the end of the file name.
Command is: WScript Scripts\rg_AuditBarLines.vbs

As usual, comments are welcome. If reporting a bug, please include your Windows version and any error message.


NWC's Audit Bar Lines function has some side effects:
The act of auditing bar lines triggers first a force of accidentals, then after the bar audit, an accidental audit.
The act of auditing bar lines will also move text and grace notes that appear just prior a bar to after the bar.
This tool confines these possibly undesireable changes to the selection, allowing the tool to be used without re-verifing the entire staff.

The tool imposes one restriction on the user selection: A non-grace Rest/Note/Chord/RestChord must appear in the selection and must be ahead of the first barline selected. An "unsupported selection" error will result if the selection violates this rule.
49
General Discussion / Forum Profiles
If you include your birthday in your Forum Information Profile, you will want to look at your profile on your birthday.
50
User Tools / A better Audit Enharmonic Spelling? - rg_ReSpell.vbs
A little User Tool that may give you better results than the Audit Enharmonic Spelling Command.
It ignores any selection, transposes the entire staff -2 semitones, audits the enharmonic spelling, and then transposes the staff +2 semitones.
For reasons I don't fully understand, this often results in a better spelling. YMMV

If you don't like the results, click on Undo 3 times.

Download the attachment to your Scripts folder and remove ".txt" From the end of the file name.
Command is: WScript Scripts\rg_ReSpell.vbs

As usual, comments are welcome. If reporting a bug, please include your Windows version and any error message.