I am glad that Noteworthy 2.5 supports shape notes, as I often need them for certain groups. But the approach seems rather klunky (assuming I am understanding it correctly), having to select a note-head for each note entered. I would like an automated or semi-automated means of specifying the shape based on the key and staff position. From looking at .ncwtxt files, it appears that the shape is indicated by a suffix (a-h) on the position parameter, so presumably it wouldn't be too difficult to post-process a normal "round-note" score and convert to shape notes based on key and staff position (not difficult for someone else, I mean!). Does anyone know of an easier approach to using shape notes within Noteworthy? I also use another notation program that has automated support for shape notes, but I prefer using Noteworthy when possible. Thanks.
Shape Notes (nwsw) is included in NoteWorthy Composer 2 User Tools (http://ntworthy.com/nwc2/usertools/) for this purpose.
Great! Thank you!
Ctl+Z does NOT work on anything which has been created by the user tool for Shape Notes,
therefore:
I would love to have a "Shape Notes_UNDO" user tool available, in case the Shape notes should've been applied to another staff or selection.
Like this? Installation instructions are on lines 11-15 of the following:
/*
unShape.js by Warren Porter
Un-shape Tool
This tool will remove the shape attribute
This tool can operate on ONLY a selected part of a staff, or, if nothing has been selected, the entire staff.
To install:
1) Save this file with the name unShape.js on your computer and remember its location.
2) Start NWC and press Alt/F8. Pick new
3) After choosing a name and group, browse for this file and click "Open".
4) Insert "wscript " at the beginning of the command.
5) Clip text should be selected and check no options.
*/
rc=0, errMsg="";
function doProcess(clip) {
var displ=0, upDispl=0;
var result = new Array();
var lines = clip.split("\r\n");
for (i = 1; i < lines.length; i++) { // Main processing loop
if (/Fake/.test(lines[i]))
lines[i] = "#";
else {
result = lines[i].match(/(\|Note.*Pos:)([n#bvx]?)(-?\d+)([a-h])(\^?)(.*)$/) // 1. Note thru Pos 2. Accidental 3. Position 4. Shape 5. Ties 6. To end of line
if (result != null) {
lines[i] = result[1] + result[2] + result[3] + result[5] + result[6] }
} } // End main loop
return lines;
}
var myLines;
myLines=doProcess(WScript.StdIn.ReadAll()).join("\r\n");
if (rc == 0)
WScript.StdOut.Write(myLines);
else
WScript.StdErr.Write(errMsg);
WScript.quit(rc);
It works on
notes only--no chords, restchords, etc.
Perhaps a simple command line for global_mod?
If you follow the instructions in the comments of nwsw_ShapeNotes.php and set 'Input Type: Clip Text' and
unset 'Options: Returns File Text', the tool will operate on the selection. Its actions can be undone with the Undo Command (http://ntworthy.com/nwc2/help/MNU_EDITUNDO.htm).
The Undo Command cannot be used after
any tool that uses 'Options: Returns File Text' if the tool modifies the song. That is why NWC will prompt to save the file before it applies the changes.
Thanks to both Warren and Rick.
Haymo