Note: This html file exists inside the header of the QwikType php source file. Please refer to the installation section below for further details
back to main

QWIKTYPE HELP CONTENTS
======================
1. INTRODUCTION TO QWIKTYPE FOR NWC2
2. QWIKTYPE FOR NWC2 COMMAND SYNTAX WALLCHART
3. QWIKTYPE FOR NWC2 INSTRUMENT CODE WALLCHART
4. INTRODUCTION TO QTHARMONYHELPER
5. QTHARMONYHELPER COMMAND SYNTAX WALLCHART

---------------------------------------------------------------------------

                 1. INTRODUCTION TO QWIKTYPE FOR NWC2
                 ====================================

WHAT IS QWIKTYPE FOR NWC2?
==========================
QwikType is a PHP User Tool script for NoteWorthy Compose 2.5 or above. Its sole
purpose is to make inputting of music notation in NWC2 faster. It is a User Tool 
script that runs within NWC2.5 or above, off the Tools->User Tool main menu option. 
It allows the user to input musical notation in text format via the text expression 
box. When this script is run, if the text conforms to QwikType syntax (prefixed by 
the backslash '\'), it is converted into musical entities such as notes, volumes, 
velocities, or a series of notes, volumes or velocities.  There are 3
different methods of inputting notation using QwikType, the direct-to-staff method,
the first-line of text file method, and the numbered measure method. There are also
other useful features included in this version of QwikType, such as quick nwctxt
new file creation, and the QTHarmonyHelper.

MUSIC INPUTTING METHODS
=======================

The Direct-to-Staff Method:
---------------------------
This method is suitable for the music writer or composer, who needs to be at all
times on the NWC2 staff. Through entering commands as text expressions on the staff 
and then running them using the script, the user can apply a batch of music notation 
commands such as insertions of notes, instrument change, volumes, tempos, rests, 
barlines, texts etc, instead of making these insertions individually.

The First-Line-of-File Method:
------------------------------
This method is suitable for the music transcriber of pre-composed music. Musical 
notation commands can in a plain text file. In order to run the first valid line in 
the file, the user simply enters a file run command as a text expression, and then 
runs the script.

The Numbered-Measure-File Method:
---------------------------------
This method is suitable for the music transcriber of a large pre-composed musical 
work. Music notation commands are entered measure by measure in a plain text file. 
Commands in a measure can be run individually, or a range of measures can be specified.

OTHER FEATURES
==============

Quick NWCTxt File Creation:
---------------------------
Using a single qwiktype command, an entire new musical score in nwctxt can be created.
The score will contain the detailed information for the instruments specified, as
well all the staves with the relevant instrument patch and clef.

QTHarmonyHelper:
----------------
Please refer to the QTHarmonyHelper help section at this bottom of this guide.


INSTALLATION
============
The following are required prior to installing QwikType.php:

1) NoteWorthy Composer 2.5 or above
2) Microsoft Visual C++ 2008 Redistributable Setup (vcredist_x86.exe) installed
on Windows XP or above
3) NWC2 User Tools installed on Windows XP or above (requires the above two 
pre-installed)  

To install QwikType.php inside your NWC2:

1) Download the latest version of qwiktype.zip from 
https://www.noteworthysoftware.com/forum/?topic=8312
The latest version of this HTML helpfile is embedded inside the header of the 
qwiktype.php which is the only file in qwiktype.zip.
2) Create a folder called "C:\qwiktype". 
3) Uncompress the qwiktype php file from the zipfile, and copy it to C:\qwiktype.
4) Startup NWC2, and select Tools->User Tool from the main menu, or press Alt+F8. 
Click the "New" button, and then the "Browse" button. Browse to C:\qwiktype, and 
select the qwiktype php file. Then click the "Open" button. Then click "Ok", and 
then click "Run".
5) After running it for the first time in an NWC2 session, the same script can be 
re-run by pressing Alt+Ctrl+F8, without having to access the User Tool dialog box.


GETTING STARTED
===============
The following example shows how to input the first melodic phrase of the hymn 
"Amazing Grace" using the qwiktype.php User Tool script:
1) Create a new blank score in NWC2, by press Ctrl+N and then selecting 
"<Blank Score>".

2) Type "x" to open the text dialog. In the Expression box, type the following string,
ensuring there is no space to the left of the first backslash:
\tc  \T9  \3/4  \ivln  \kA  \|
Note: The following command does the same, but adds additional violin information:
\new, vln, v1, \T9 \3/4 \kA \|

3) Press "Enter". This inserts a text expression with the line of characters from the
above text.  Press the right arrow to move the cursor off the text.

4) Press Alt+F8 to bring up the User Tool dialog, and then select "qwiktype" and 
then click the "Run" button. The script converts the line just typed, into the 
following 8 entities: a treble clef, a quarter-note=90 tempo mark, a 3/4 time 
signature, the A major key-signature, and a barline.
Explanation: 
E.1) The backslash symbol represents a qwiktype command prefix. This tells the 
script to process the text and insert the specified NWC2 entities.
E.2) \tc inserts a treble clef. \bc, \ac, \tnc, and \pc insert respectively a bass 
clef, alto clef, tenor clef, and percussion clef.
E.3) \T informs the script that this is the start of a series of comma-separated 
tempo commands that may contain one or more tempo values. In this case there is only 
one value. \T9 inserts a tempo mark where quarter-note equals 90. Note that the value
of the tempo is given in units of ten.
E.4) \3/4 inserts a time signature. \23/8 would insert a time signature of 23/8.
E.5) \ivln inserts a violin instrument change. \igrnp would insert a grand piano 
instrument change. Please refer to the instrument change code wallchart below for a 
full list of instrument codes.
E.6) \kA inserts an A major key signature. \ka would insert an A minor key signature, 
and \kAl would insert an A-flat major key signature. Upper-case is used for major 
key, and lower-case is used for minor key. Note that "l" is used instead of "b" to 
represent the flat symbol.
E.7) \| inserts a single bar line

4) Press the right arrow to move the cursor to the right of the last barline that has 
just been inserted. Then press 'x' to enter the following text:
\n _q, e4I,|, a4q!;, c#5i;{,b4;r,a},|, c#5q!;, b4I,|, a4q!;, f#I,|, e4q.!

5) Press "Enter". This inserts a text with the line of characters you just typed. 
Press the right arrow to move the cursor off the text.

6) Press Alt+Ctrl+F8 to rerun qwiktype.php. It converts the text to a the first 
10 notes of the hymn, including accents, slurs, triplets, staccato's and barlines. 
Explanation: "\n" informs the script that this is the start of a command containing 
a series of one or more comma-separated NRBVT (note, rest, barline, volume and tempo) 
entities. In this case, this command contains 14 comma-separated entities: 
1) "_q" = rest ("_") of half-note ("q" minim)  duration
2) "e4I" = E in the 4th octave of quarter-note ("I" crotchet) duration
3) "|" = single barline
4) "a4q!;" = A in 4th octave, half-note ("q") with accent ("!") and slur (";")
5) "c#5i;{" = C-sharp in 5th octave, eighth-note ("i" quaver) duration, slurred(";"),
   that is also the first in a triplet ("{")
6) "b4;r" = B in 4th octave, slurred (";"), inner note of triplet ("r"). Its 
   unspecified duration defaults to the previous specified, which is eighth-note.
7) "a}" = A, last note of triplet ("}"). Its unspecified duration and octave
   default to last specified values, i.e. eighth-note and 4th octave
8) "|" = single barline
9) "c#5q!;" = C-sharp in 5th octave, half-note ("q"), accented ("!") and slurred (";")
10) "b4I" = B in 4th octave, quarter-note ("I" crotchet)
11) "a4q!;" = A in 4th octave, half-note, accented
12) "f#I" = F#, quarter-note, its unspecified octave defaults to last specified value
13) "|" = single barline
14) "e4q.!" = E in 4th octave, dotted half-note, accented
Note 1) Spaces may be used freely between commands to format text so that it is easy 
to read, as long as it does not occur to the left of the first command backslash. 
A space does not have any meaning in qwiktype. Similarly brackets "()" may be used 
for the same purpose.
Note 2) There are 2 ways of entering a single barline: as a standalone barline 
command, e.g. "\|" or inside an NBRVT (note, barline, rest, volume, tempo) command, 
e.g. "\n 4c, |, e". Standonly command "\|t" inserts a transparent barline
Note 3) A note inside an NBRVT command consists of 8 parts, all of which are optional. 
If the octave number, or note duration are omitted, these default to the last 
specified value. These 8 parts are defined by the following regular expression:
   "/([abcdefg_X0-9nl\#]*)([oqIiuhm]{0,1})([!\{\}r\^\.:;\/%&~\>\<\=]*)".
    "([\|\*TPUZ]{0,1})(\+{0,1})". 
    "([abcdefg_X0-9nl\#]*)([oqIiuhm]{0,1})([!\{\}r\^\.:;\/%&~\>\<\=]*)/"
These parts are: 
1) The note definition in letter (a to g), octave number (X=-1 then 0 to 9), and any 
accidental (n=natural, l=flat, #=sharp). Multiple notes may be added here to build a 
chord.
2) The note(s) duration ("o"=whole-note(semibreve), "q"=half-note(minim), "I"=
quarter-note(crotchet),"i"=8th(quaver),"u"=16th(semiquaver) "h"=32nd(demisemiquaver), 
and "m"=64th(hemidemisemiquaver). 
3) The note attribute ("!"=accent, "{"=start of triplet, "r"=a triplet note, "}"=
end of triplet, "^"=marcato when used with an accented note, "."=dotted duration, 
":"=double-dotted duration, ";"=slurred note,  "/"=tied note, "%"=staccatissimo note, 
"&"=staccato note, "~"=tenuto note, ">"=crescendo note, "<"=diminuendo note, 
"="=grace note. 
4) The non-note entity ("|"=barline, "*"=volume, "T"=tempo, "P"=pedal down, "U"=pedal
up, "Z"=sforzandp/rinforzando)
5) The different-duration same-chord second-chord marker (a "+" sign)
6) The same-chord second-chord note definition(s)
7) The same-chord second-chord note(s) duration
8) The same-chord second-chord note attribute(s)

7) Place the cursor to the left of the first note. Enter the text
"\/1,  2, 4,3,2,  4,3,  4,2,  1". Press the right arrow to move the cursor off
the text. Then press Alt+Ctrl+F8 to rerun the script.  It places fingering numbers
above each note.
Explanation: "\/" represents the command to insert a text at the fingering position
above each note. Comma is used as the text separator. Blank or space between
comma's instruct the script to skip the note in the series.

8) Place the cursor to the left of the first note. Enter the text 
"\*4a,6a,5f,4f,3a,6a,4a,6a,4a,5a". Press the right arrow to move the cursor off
the text. Then press Alt+Ctrl+F8 to rerun the script.  It places dynamic marks before 
each note.
Explanation: "\*" represents the command to insert a volume, or a sequence of volumes. 
The volume values are specified in hexadecimal, from "00" to "7f" (127 in decimal). 
Each volume value is separated by a comma.

9) Press F5 to play. The playback is full of expression because it contains 
slurs and marcato marks, and every note is slightly a different volume from the next.

INSERTING ENTITIES FROM FILE USING FIRST LINE METHOD
====================================================
Using this method musical notation can be inputted from a textfile in C:\qwiktype.
The script reads and runs the first line that starts with the greater-than sign ">" 
in the 1st character position.

1) Keeping the above "Amazing Grace" NWC2 file output, open a blank Notepad file.

2) Enter the following text inside Notepad, making sure there is no space to the 
left of the greater than sign ">": If you are reading this in the script header
you will need to change > to the greater-than character.
>\bc \T9 \3/4 \icllo \kA \| \n _q, e3I, |, aq.;, |, fq.;, |, dq., |, c#q.

3) Save the file as "C:\qwiktype\amazgrcllo.txt".

4) In NWC2, press Ctrl+A to create a new blank staff.

5) Press 'x' to insert the text "\famazgrcllo", then press Enter. 

6) Press Ctrl+Alt+F8 to rerun the qwiktype. The script populates the new staff with 
the bass clef, quarter-note=90 tempo mark, 3/4 time signature, a cello instrument 
change, the A major key signature, and the 5 notes of the bass line that include 
slurs, and dotted time values.
Explanation: "\f" represents the command to read from a file. The file needs to be
a plain text file in the "C:\qwiktype" folder, with the suffix ".txt". The suffix
needs to be omitted in the "\f" command. Therefore "\famazgrcllo" represents the
command to read the first line beginning with ">" in C:\qwiktype\amazgrcllo.txt.

7) In C:\qwiktype\amazgrcllo.txt, move the line from step 2) down 1 row, and type in 
the following line in the top row. (Changing > to the greater than sign if you
are reading this from the script header):
>\* 2a, 3a, 3f, , 2a

8) Save the textfile. In NWC2, press 'Home' and then 'x' to insert the text 
"\famazgrcllo" at the start of the staff, then press Enter.

9) Press Ctrl+Alt+F8 to rerun the qwiktype. The script inserts volume entities
before the notes. Note that if there is a blank value in a volume command sequence,
it skips the note.

10) Press F5 to play. 


INSERTING ENTITIES FROM FILE USING NUMBERED MEASURE (BAR) METHOD
================================================================
This series of steps shows you how to input musical notation from a textfile, using
the "numbered measure" method, in which the user specifies the measure number to
be created from a command entered in the text expression. 

1) In NWC2, press Ctrl+N to create a new file. Then select "&lgt;Blank Score>".

2) Enter the following text (by pressing 'x'): 
\mamazgr,new,vln,vln,\T9\3/4

3) Press Enter to insert the above text, then press Alt+F8 to select the qwiktype 
User Tool php script located in C:\qwiktype. Then click on the "Run" button.

4) Notice the script has inserted 4 new entities: a treble clef, a quarter-note=90
tempo mark, a 3/4 time signature, and a violin instrument change. Now open the
folder C:\qwiktype. The script has also created a file called amazgr.txt. Open
the file. You will notice that the script has pre-populated the file with the
following lines:
TITLE:
vln000[\{vln} \tc \ivln \T9\3/4] <-Definitions Measure
vln001[ ]
vln002[ ]
vln003[ ]
(... etc more lines below)
Explanation: 
E.1) The text command to run a numbered measure method file command is "\m",
followed by the filename without the ".txt" suffix. For example "\mmyfile" refers
to "C:\qwiktype\myfile.txt".
E.2) The comma "," after "\mamazgr" is the NMM (numbered measure method) file command 
parameter separator. The first parameter "new" instructs the script to create a new 
file called "amazgr.txt" in "C:\qwiktype" folder. 
E.3) The next parameter "vln" instructs the script to insert a violin instrument patch.
E.4) The next parameter "v" instructs the script to create measure (bar) 0, and 
empty measures (bars) 1 to 20 in the file "C:\qwiktype\amazgr.txt" for a staff
codenamed "vln". It is recommended that this codename be kept short for minimum effort 
of keyboard input.
E.5) The next parameter "\T9\3/4" instructs the script to populate measure
(bar) number 0 with the command series "\t9\3/4", and also run this
command series in the script to insert these entities in the current staff.
E.4) In the file itself, each line begins with the staff codename, followed by the 
measure (bar) number, and then the measure (bar) contents enclosed inside square 
brackets. Therefore the line "v000[\{v} \tc\T9\3/4\ivln]" translates to staff 
codename "v", measure number 0, measure contents "\tc \ivln \T9\3/4".

5) Now "edit C:\qwiktype\amazgr.txt" so that measures 1 to 5 become:
vln001[\n _q, *4a, e4I]
vln002[\n *5a, a4q!;, *4a, c#5i;{, *3a, b4;r, *2a, a} ]
vln003[\n *4f, c#5q!;, *4a,  b4I ]
vln004[\n *3f, a4q!;,  *3a, f#I]
vln005[\n *4a, e4q.!]
Note 1: Unlike in the previous walkthru examples, there are no bar lines, because 
these are inserted automatically by the script. To insert decorated barlines, or
flow directions, the user will need to insert these from within NWC2.
Note 2: Note duration and octave number within a NBRVT series default to the 
last specified value within the same series.

6) Save the file.

7) Press Alt+TAB to NWC2, and press 'x' to insert the line below as text expression:
\mamazgr,vln,1

8) Press Enter to insert the text, then press the right arrow to move the cursor off 
the text.  Then press Ctrl+Alt+F8 to rerun the script. The script executes the 
command for measure no. 1 of the vln staff, inserting on the staff a half-note rest, 
a "4a" hexadecimal value volume entity, and a quarter-note 4th octave E.
Explanation: For the numbered-measure file insertion method, the run command
syntax is \m<file-without-suffix>,<staff-code>,<measure-number>

9) Press the right arrow to move the cursor off the last barline. Then press 'x'
to enter the following text:
\mamazgr,vln,2,5

10) Press Enter to insert the text, then press the right arrow to move the cursor off 
the text.  Then press Ctrl+Alt+F8 to rerun the script. The script executes the 
command for measures no. 2 to 5 of the vln staff.
Explanation: For the numbered-measure file insertion method, the run command
syntax is \m<file>,<staff-code>,<start-measure>,<end-measure>

11) Press Alt+TAB to return to amazgr.txt. Insert the following 6 lines into the file,
in any position, and in any order:
cll000[\bc\t9\3/4\icllo ]
cll001[\n _q, *3a, e3I]
cll002[\n *4a, a3q.;]
cll003[\n *3a, f#3q.;]
cll004[\n *3a, d3q.;]
cll005[\n *3a, c#3q.]

12) Save the file.

13) Press Alt+TAB to return to NWC2. Press Alt+A to insert a new staff. In the new
staff press 'x' to insert the text:
\mamazgr, cll, 0, 5

14) Press Enter to insert the text, and then the right arrow to move the cursor off 
the text.  Then press Ctrl+Alt+F8 to rerun the script. The script executes the 
command for measures no. 0 to 5 of the staff codenamed "cll".
Explanation: For the numbered-measure file insertion method, the run command
syntax is \m<file>,<staff-code>,<start-measure>,<end-measure>

15) Press F5 to play. 


CREATING A NEW POP SONG NWCTXT SCORE
====================================
This walkthru shows you how to create a new nwctxt file for a pop song, with all the
correct staves, instrument information, and patches, using just a single command.
In this example, the user wants to create a new pop song score, with staves for
1 jazz guitar, 1 electric bass guitar, a drum kit, a soprano lead vocal, and 
an SATB backing singers. This example creates a new nwctxt using the direct-to-staff 
method, but it can also be achieved using the file method.

1) Create a new blank score in NWC2, by press Ctrl+N and then selecting 
"<Blank Score>".

2) Type 'x' and enter the following text expression:
"\newf,popsong1,s,s,a,tr,b,gjz,gelb,drmb,tomloflr,tomhi,hihtop,cycrsh1,cyri1"
Explanation: 
"\newf" = command to create a new nwctxt score
"popsong1" = name of file C:\qwiktype\popsong1.nwctxt
"s,s,a,tr,b" = option to insert 5 staves for soprano, soprano, alto, tenor and bass
"gjz,gelb" = option to insert 2 staves for jazz guitar and electric bass guitar
"drmb,tomloflr,tomhi,hihtop,cycrsh1,cyri1" = option to insert 6 staves for each of 
the instruments within the drumkit, which in this instance are: bass drum, 
low floor tom, high tom, open high hat, crash cymbal 1, and ride cymbal 1.

3) After inserting the above text expression, run the QwikType User Tool script.

4) Press OK at the "C:\qwiktype\popsong1.nwctxt" created successfully prompt

5) Open C:\qwiktype\popsong1.nwctxt inside NWC2. It should display a score with
all the parts for your pop-song, with details (including pitch range) for each part.

Note: "\newfpopsongsampler" creates a new pop song sampler nwctxt file. Similarly, 
"\newfclsorchsampler", "\newferoorchsampler", "\newflroorchsampler", 
"\newfmodorchsampler" create respective a classical, early romantic, late romantic,
and modern orchestra sampler file. To sound correctly, staves need to be deleted
so that there are no more than 16 non-channel 10 stave, and that each stave
must have a separate midi channel. If you need to add more than 16 non-channel 10
parts, please ensure that staffs with the same midi channel number are played by 
same sounding instruments.

---------------------------------------------------------------------------

                 2. QWIKTYPE FOR NWC2 COMMAND SYNTAX WALLCHART
                 =============================================
[]=optional parms; <>=required parms; |=option delimiter; ...=repetition

1) CLEF: \<tc|bc>
* Options: tc=treble clef; bc=bass clef; ac=alto; tnc=tenor clef; pc=percussion clef
* Example: "\tc" inserts a treble clef

2) TIME SIGNATURE: \<number>/<number>
* Example: "\6/8" inserts a time signature for 6 8th-notes(quavers) in a bar

3) TEMPO SERIES: \T<number-in-tens>[,number-in-tens...]
* Example: "\T12" inserts tempo mark a quarter-note(crotchet)=120 beats per minute
* Example of tempo series applied to 5 consequtive notes: "\T 12, 10, , , 9"

4) INSTRUMENT CHANGE: \i<instrument-code>
* Note: Please refer to the instrument code wallchart below
* Example: "\ibssn" inserts an instrument change to a bassoon

5) NOTE-BARLINE-REST-VOLUME-TEMPO SERIES:
\n [  [[a-g[nl#][x0-9]]..] [oqIiuhm] [!{r}.:;/%&+<>=]
      [|*tPUz] [+]
      [[a-g[nl#][x0-9]]..] [oqIiuhm] [!{r}.:;/%&+<>=]
   ][, ...] ]
* Note: A NRBVT series may contain 1 or more note-barline-rest-volume-tempo entities 
separated by a comma. Each entity entity has 8 optional parts as explained below. 
If an entity is blank, e.g. a comma follows a comma, the current entity defaults to 
the same values as the preceding entity. A note without an octave number or duration
defaults to the last specified value:
1st Part: 1st Note/Chord Note(s): "a-g" notes of the octave in lower-case; "N"=natural;
"l"=flat; "#"=sharp; x=octave -1; 0=octave 0; 9=octave 9, etc.
2ns Part: 1st Note/Chord Duration: "o"=whole-note(semibreve); "q"=half-note(minim); 
"I"=quarter-note(crotchet); "i"=8th-note(quaver); "u"=16th-note(semiquaver);
"h"=32nd-note(demisemiquaver); "m"=64th-note(hemidemisemiquaver)
3rd Part: 1st Note/Chord Attribute: "!"=accent; "{"=first triplet; "r"=inner triplet;
"}"=last triplet; "^"=marcato; "."=dotted duration; ":"=double-dotted duration; 
";"=slur; "/"=tie; "%"=staccatissimo; "&"=staccato; "~"=tenuto; ">"=diminuendo; 
"<"=crescendo; "="=grace-note
4th Part: Non-notes: "|"=barline; "*"=volume; "T"=tempo; "P"=pedal down; "U"=pedal up;
"Z"=sforzando/rinforzando
5th Part: 2nd Note/Chord Marker: "+"=indicates 2nd different-duration note/chord
6th Part: 2nd Note/Chord Note(s): "a-g" notes of the octave in lower-case; "N"=natural;
"l"=flat; "#"=sharp; x=octave -1; 0=octave 0; 9=octave 9, etc.
7th Part: 2nd Note/Chord Duration: "o"=whole-note(semibreve); "q"=half-note(minim); 
"I"=quarter-note(crotchet); "i"=8th-note(quaver); "u"=16th-note(semiquaver);
"h"=32nd-note(demisemiquaver); "m"=64th-note(hemidemisemiquaver)
8th Part: 2nd Note/Chord Attribute: "!"=accent; "["=first triplet; "r"=inner triplet;
"]"=last triplet; "^"=marcato; "."=dotted duration; ":"=double-dotted duration; 
";"=slur; "/"=tie; "%"=staccatissimo; "&"=staccato; "~"=tenuto; ">"=diminuendo; 
"<"=crescendo; "="=grace-note
* Example of semi-tied chords: "\n c4eq/+gc5 , c4egc5q" inserts two half-note chords, 
with notes C4-E4-G4-C5. C4 and E4 are tied, but G4 and C5 are played twice.
* Example with rest and barlines: "\n _q, e3I, |, aq.;, |, fq.;, |, dq., |, c#q."
* Example of a chord with multiple time values: "\n g4d5go+b5d6q."

6) VOLUME SERIES: \*lt;hex-number>[,hex-number...]
* Note: The volume values are specified in hexadecimal, from "00" to "7f" (127
 in decimal). Each volume value is separated by a comma.
* Example: "\* 2a, 3a, 3f, , 2a" - note that this example requires 5 notes following
the text expression, otherwise nothing is inserted.

7) TEXT: \{[:/]<text|deleteall>}
* Example 1: "\{underneath}" - inserts "underneath" just below the staff
* Example 2: "\{:down below}" - inserts ":down below" below the staff
* Example 3: "\{/high above}" - inserts "/high above" below the staff
* Example 4: "\{:deleteall}" - deletes all text below the staff starting with ":"
* Example 5: "\{/deleteall}" - deletes all text above the staff starting with "/"

8) READING A FIRST-LINE-METHOD COMMAND FROM A FILE: \f<file-name>
* Note: The file needs to be located at C:\qwiktype, and must be in plain text format
containing the ".txt" suffix in the filename. This suffix is omitted from the command.
* Examplpe: "\famazgrcllo" reads and executes the first line with the greater-than 
">" sign in C:\qwiktype\amazgrcllo.txt

9) KEY SIGNATURE: \k&lgtA-Ga-g>[l#]
* Note: Uppercase letter specifies major key, lowercase specifies minor key.
* Example: "\kAl" inserts A-flat major
* Example: "\kbl" inserts B-flat minor

10) STANDALONE BARLINE: \|[t]
* Example 1: "\|" inserts a single barline
* Example 2: "\|t" inserts a transparent barline

11) PLAYBACK OPTION: \p
* Example: "\n c4fa, ceg \p" plays back the 2 chords in the 4th octave.

12) READ COMMAND FROM FILE (FIRST LINE METHOD): \f^lt;file-name>
* Example: "\famazgr" reads and runs the first line in C:\qwiktype\amazgr.txt
beginning with the greater-than sign ">" in the 1st character position.

13) READ COMMAND FROM FILE (NUMBERED MEASURE METHOD): 
\m<file><,new<,staff-header-commands>
              |staff-code-name<,start-measure[,end-measure]>>
*Example: "\mamazgr,new,vln,vln,\tc \t9 \3/4 \ivln" creates a new file in 
C:\qwiktype\amazgr.txt, with commands for measure 0 prepopulated, blank
measures 1 to 20, and populates the staff header within NWC2.
*Example: "\mamazgr,vln,1" runs the commands from measure 1 in C:\qwiktype\amazgr.txt
*Example: "\mamazgr,vln,2,5" runs commands from measure 2 to 5 in amazgr.txt

14) SUSTAIN PEDAL DOWN="\P" & PEDAP UP="\U"

15) STYLE SERIES: \s [|*TPUZ][!{r}^.:;/%&~<>=][0-9] [,...]
* Note: a style may be applied to a series of notes. Each style entity has 3 optional
parts:
1st Part: non-note entity: "|"=barline; "*"=volume; "T"=tempo; "P"=pedal down; 
"U"=pedal down; "Z"=sforzando/rinforzando
2nd Part: note attribute: "!"=accent; "{"=first in triplet; "r"=inner triplet note;
"}"=last in triplet; "."=dotted duration; ":"=double-dotted duration; ";"=slur;
"/"=tie; "%"=staccatissimo; "&"=staccato; "~"=tenuto; "<"=cresc; ">"=dim
3rd Part: value: numerical value used for volume and tempo style entities
* Example: "\s !, !, !, , , ^" applies accents to the following 3 notes, and a marcato
to the 6th note.

16) NEW STAVE: \new <,instrument-code><,staff name><,commands>
* Example: "\new,fl,Flute,\4/4\t10\kAl", inserts a flute instrument change, flute
instrument information, the text "Flute", the default staff clef for flute (treble),
as well as the user specified 4/4 time signature, quarter-note=100, and A-flat major
key signature in a blank new staff.

17) ADD TEXT SERIES ABOVE STAVE: \/[text] [,...]
* Note this adds series of text above a staff.
* Example: "\/ 1, 2, 3, , 4" adds the numbers 1 to 3 above the next 3 notes, and 4
above the 5th note.

18) CREATE NEW NWCTXT FILE: \newf,<filename-without-suffix>,[instr-codes],...
* Example: "\newf,popsong1,s,s,a,tr,b,gjz,gelb,drmb,tomloflr,tomhi,hihtop,cycrsh1"

19) CREATE SAMPLER NWCTXT FILE:
"\newfpopsongsampler" - creates a new pop song sampler nwctxt file
"\newfclsorchsampler" - creates a classical orchestra sampler nwctxt file
"\newferoorchsampler" - creates an early romantic orchestra sampler nwctxt file
"\newflroorchsampler" - creates a late romantic orchestra sampler nwctxt file
"\newfmodorchsampler" - creates a modern orchestra sampler nwctxt file
* Note: To sound correctly, staves need to be deleted so that are no more than
16 non-midi staves, and that each of these staves must be assigned a separate
midi channel number. If you need to add more than 16 parts, please ensure that staffs
with the same midi channel are played by same sounding instruments.

20) HELP: \h
* Example: "\h" or "\help"

NOTE:
1) Space and brackets may be used freely to format the commands for easy-reading.

FAQ:
1) Q: When running the script, the text item disappears, and nothing is inserted.
   A: This is usually caused by the text being selected. Press the right arrow to move 
the cursor off the text entity, and Ctrl+Z to undo the change. Then re-run the script.

2) Q: How does one insert an entity without running the script for the entire staff?
   A: Select the command text expression, and run the script with this selection. When
nothing is selected, the script is applied to the entire staff.

3) Q: The "Command took too long" message appears before the script completes
   A: In the User Tools edit dialog, select "Long Task Handling"

---------------------------------------------------------------------------

		 3. QWIKTYPE FOR NWC2 INSTRUMENT CODE WALLCHART
		 ==============================================
PLUCKED STRING:
instrument-name           /code     /bottm/top  /clef/s2n /patch/info
harp                      /hrp      /b0   /g#7  /tc  /0   /46   /
banjo                     /bnj      /c4   /el6  /tc  /0   /105  /
classical guitar          /g        /e3   /d6   /tc  /0   /24   /
steel guitar              /gstl     /e3   /d6   /tc  /0   /25   /
jazz guitar               /gjz      /e3   /d6   /tc  /0   /26   /
eletric guitar            /gel      /e3   /d6   /tc  /0   /27   /
muted guitar              /gmt      /e3   /d6   /tc  /0   /28   /
jazz bass guitar          /gjzb     /e2   /g4   /bc  /0   /26   /
eletric bass guitar       /gelb     /e2   /g4   /bc  /0   /27   /
muted bass guitar         /gmtb     /e2   /g4   /bc  /0   /28   /
acoustic bass guitar      /gb       /e2   /g4   /tc  /0   /32   /

BOWED STRING:
violins                   /v        /g3   /c7   /tc  /0   /49   /
violas                    /va       /c3   /f6   /tc  /0   /49   /
cellos                    /c        /c2   /f5   /bc  /0   /49   /
doublebasses              /db       /e1   /g4   /bc  /12  /49   /
violin                    /vln      /g3   /c7   /tc  /0   /40   /
viola                     /vla      /c3   /f6   /tc  /0   /41   /
cello                     /cllo     /c2   /f5   /bc  /0   /42   /
doublebass                /dbs      /e1   /f4   /bc  /0   /43   /

VOICE:
soprano                   /s        /c4   /a5   /tc  /0   /53   /
alto                      /a        /f3   /d5   /tc  /0   /53   /
tenor                     /tr       /c3   /a4   /bc  /0   /53   /
baritone                  /br       /a2   /g4   /bc  /0   /53   /
bass                      /b        /d2   /d4   /bc  /0   /53   /

KEYBOARD:
harpsichord               /hrps     /g1   /g6   /tc  /0   /6    /est
celeste                   /ce       /c4   /c8   /tc  /-12 /8    /
piano                     /p        /a0   /c8   /bc  /0   /0    /
organ manual              /o        /c2   /c7   /bc  /0   /19   /
organ pedal               /op       /c2   /f4   /bc  /0   /19   /
reed organ manual         /or       /c2   /c7   /bc  /0   /20   /
reed organ pedal          /orp      /c2   /f4   /bc  /0   /20   /
accordion                 /ac       /c3   /c6   /tc  /0   /21   /est
tango accordion           /actgo    /c3   /c6   /tc  /0   /23   /est
clavinet                  /clav     /c1   /c7   /tc  /0   /7    /est
hammond organ             /ham      /c1   /c7   /tc  /0   /16   /est
percussive organ          /perc     /c1   /c7   /tc  /0   /17   /est
rock organ                /rkor     /c1   /c7   /tc  /0   /18   /est

WOODWIND:
garklein recorder         /rg       /c6   /d8   /tc  /-24 /74   /
sopranino recorder        /rsi      /f5   /g7   /tc  /-12 /74   /
descant (soprano) recorder/r        /c5   /d7   /tc  /0   /74   /
treble (alto) recorder    /ra       /f4   /g6   /tc  /0   /74   /norm
tenor recorder            /rt       /c4   /d6   /tc  /0   /74   /
bass recorder             /rb       /f3   /g5   /tc  /12  /74   /
great bass recorder       /rgb      /c3   /d5   /tc  /12  /74   /
contrabass recorder       /rcb      /f2   /g4   /bc  /0   /74   /
subcontrabass recorder    /rscb     /c2   /d4   /bc  /0   /74   /
subsubcontrabass recorder /rsscb    /f1   /g3   /bc  /12  /74   /
piccolo                   /pc       /d5   /c8   /tc  /-12 /72   /
flute                     /fl       /c4   /c7   /tc  /0   /73   /
alto flute                /fla      /g3   /g6   /tc  /5   /73   /
bass flute                /flb      /c3   /c6   /tc  /12  /73   /
oboe                      /ob       /bl3  /g6   /tc  /0   /68   /
cor anglais               /ca       /a2   /d5   /tc  /7   /69   /
piccolo clarinet Ab       /clp      /c4   /al7  /tc  /-8  /71   /rare
sopranino clarinet Eb     /clsi     /g3   /el7  /tc  /-3  /71   /rare
soprano clarinet C        /clsc     /e3   /c7   /tc  /0   /71   /
clarinet Bb               /cl       /d3   /bl6  /tc  /2   /71   /norm
soprano clarinet A        /clsa     /c#3  /a6   /bc  /3   /71   /
soprano clarinet G        /clsg     /b2   /g6   /bc  /5   /71   /
alto clarinet Eb          /cla      /f#2  /bl5  /bc  /9   /71   /
bass clarinet Bb          /clb      /d2   /f5   /bc  /14  /71   /
contrabass clarinet Bb    /clcb     /d1   /g3   /bc  /26  /71   /
sopranino sax Eb          /xsi      /c#4  /al6  /tc  /-3  /64   /BB
soprano sax Bb            /x        /al3  /el6  /tc  /-2  /64   /BB
alto sax Eb               /xa       /c#3  /al5  /tc  /9   /65   /BB
tenor sax Bb              /xt       /al2  /el5  /tc  /14  /66   /BB
baritone sax Eb           /xbr      /c#2  /al4  /tc  /21  /67   /BB
bass sax Bb               /xb       /al1  /el4  /tc  /26  /67   /BB
contrabass sax Eb         /xcb      /c#1  /al3  /tc  /33  /67   /BB
subcontrabass sax Bb      /xscb     /al0  /el3  /tc  /38  /67   /BB
soprano sax C             /xc       /bl3  /f6   /tc  /0   /64   /orch
alto sax F                /xaf      /el3  /bl5  /tc  /7   /65   /orch
C melody sax              /xmc      /bl2  /f5   /tc  /12  /66   /orch
sopranissimo sax          /xssi     /al4  /c#7  /tc  /-10 /64   /v.rare
tubax Eb                  /tbx      /c#1  /al3  /tc  /33  /67   /BB,v.rare
bassoon                   /bs       /bl1  /e5   /bc  /0   /70   /
contrabassoon             /bsc      /bl0  /a3   /bc  /12  /70   /

BRASS:
french horn Bb            /hbl      /bl2  /bl5  /tc  /2   /60   /BB
french horn F             /h        /f2   /f5   /tc  /7   /60   /
tenor horn Eb             /ht       /a2   /el5  /tc  /9   /60   /BB
baritone horn Bb          /hbr      /f1   /f5   /tc  /0   /60   /NT
mellophone F              /ml       /f2   /f5   /tc  /7   /60   /
trumpet F                 /tf       /b3   /f6   /tc  /-5  /56   /rare
trumpet Eb                /tel      /a3   /el6  /tc  /-3  /56   /rare
trumpet D                 /td       /g#3  /d6   /tc  /-2  /56   /
trumpet C                 /tc       /f#3  /c6   /tc  /0   /56   /
trumpet Bb                /t        /e3   /bl5  /tc  /2   /56   /norm
trumpet A                 /ta       /el3  /a5   /tc  /3   /56   /
soprano cornet Eb         /cns      /a3   /c6   /tc  /-3  /56   /
cornet Bb                 /cn       /e3   /bl5  /tc  /2   /56   /norm
piccolo trombone Bb       /tbp      /e4   /f7   /tc  /0   /57   /NT,v.rare
sopranino trombone Eb     /tbsi     /a3   /el6  /bc  /0   /57   /NT,v.rare
soprano trombone Bb       /tbs      /e3   /bl5  /bc  /0   /57   /NT
alto trombone Eb          /tba      /a2   /bl5  /bc  /0   /57   /NT
tenor trombone Bb         /tbt      /e2   /d5   /bc  /0   /57   /NT
bass trombone G           /tbbg     /c#2  /d5   /bc  /0   /57   /NT
bass trombone F           /tbbf     /b1   /c5   /bc  /0   /57   /NT
bass trombone Eb          /tbbel    /a1   /bl4  /bc  /0   /57   /NT
contrabass trombone F     /tbcb     /e1   /e4   /bc  /0   /57   /NT
tenor 9ft tuba Bb         /tut      /f1   /bl4  /bc  /0   /58   /mdrn NT
12ft tuba F               /tu       /d1   /g4   /bc  /0   /58   /mdrn NT,norm
14ft tuba Eb              /tuel     /d1   /f4   /bc  /0   /58   /mdrn NT
16ft tuba CC              /tucc     /d1   /d4   /bc  /0   /58   /mdrn NT
18ft tuba BBb             /tubb     /d1   /bl3  /bc  /0   /58   /mdrn NT

PITCHED PERCUSSION:
music box                 /box      /g1   /g6   /tc  /0   /10   /est
timpani                   /tp       /c2   /c4   /tc  /0   /47   /
glockenspiel              /gl       /f5   /c8   /tc  /0   /9    /
soprano xylophone         /xys      /c5   /a6   /tc  /-12 /13   /
alto xylophone            /xya      /c4   /a5   /tc  /0   /13   /
bass xylophone            /xyb      /c3   /a4   /tc  /12  /13   /
vibraphone                /vb       /f3   /f6   /tc  /0   /11   /
chimes (tubular bells)    /ch       /c4   /f5   /tc  /0   /14   /
4-octave marimba          /m4       /c3   /c6   /tc  /0   /12   /
4.3-octave marimba        /m43      /a2   /c6   /tc  /0   /12   /
4.5-octave marimba        /m45      /f2   /c6   /tc  /0   /12   /
4.6-octave marimba        /m46      /e2   /c6   /tc  /0   /12   /
5-octave marimba          /m5       /c2   /c6   /tc  /0   /12   /

UNPITCHED PERCUSSION:
acoustic bass drum        /drmbac   /b1   /b1   /bc  /15  /0    /mch10
bass drum                 /drmb     /c2   /c2   /bc  /14  /0    /mch10
side stick                /sstk     /c#2  /c#2  /bc  /13  /0    /mch10
acoustic snare            /snrac    /d2   /d2   /bc  /12  /0    /mch10
hand clap                 /hclp     /el2  /el2  /bc  /11  /0    /mch10
electric snare            /snrel    /e2   /e2   /bc  /10  /0    /mch10
low floor tom             /tomloflr /f2   /f2   /bc  /9   /0    /mch10
closed high hat           /hihtcl   /f#2  /f#2  /bc  /8   /0    /mch10
high floor tom            /tomhiflr /g2   /g2   /bc  /7   /0    /mch10
pedal high hat            /hihtpd   /al2  /al2  /bc  /6   /0    /mch10
low tom                   /tomlo    /a2   /a2   /bc  /5   /0    /mch10
open high hat             /hihtop   /bl2  /bl2  /bc  /4   /0    /mch10
low mid tom               /tommilo  /b2   /b2   /bc  /3   /0    /mch10
high mid tom              /tommihi  /c3   /c3   /bc  /2   /0    /mch10
crash cymbal 1            /cycrsh1  /c#3  /c#3  /bc  /1   /0    /mch10
high tom                  /tomhi    /d3   /d3   /bc  /0   /0    /mch10
ride cymbal 1             /cyri1    /el3  /el3  /bc  /-1  /0    /mch10
chinese cymbal            /cychi    /e3   /e3   /bc  /-2  /0    /mch10
ride bell                 /bellri   /f3   /f3   /bc  /-3  /0    /mch10
tambourine                /tamb     /f#3  /f#3  /bc  /-4  /0    /mch10
splash cymbal             /cysplsh  /g3   /g3   /bc  /-5  /0    /mch10
cowbell                   /bellcw   /al3  /al3  /bc  /-6  /0    /mch10
crash cymbal 2            /cycrsh2  /a3   /a3   /bc  /-7  /0    /mch10
vibraslap                 /vbrslp   /bl3  /bl3  /bc  /-8  /0    /mch10
ride cymbal 2             /cyri2    /b3   /b3   /tc  /12  /0    /mch10
high bongo                /bohi     /c4   /c4   /tc  /11  /0    /mch10
low bongo                 /bolo     /c#4  /c#4  /tc  /10  /0    /mch10
mute high conga           /cohimt   /d4   /d4   /tc  /9   /0    /mch10
open high conga           /cohiop   /el4  /el4  /tc  /8   /0    /mch10
low conga                 /colo     /e4   /e4   /tc  /7   /0    /mch10
high timbale              /timhi    /f4   /f4   /tc  /6   /0    /mch10
low timbale               /timlo    /f#4  /f#4  /tc  /5   /0    /mch10
high agogo                /agghi    /g4   /g4   /tc  /4   /0    /mch10
low agogo                 /agglo    /al4  /al4  /tc  /3   /0    /mch10
cabasa                    /cabs     /a4   /a4   /tc  /2   /0    /mch10
maracas                   /mars     /bl4  /bl4  /tc  /1   /0    /mch10
short whistle             /whis     /b4   /b4   /tc  /0   /0    /mch10
long whistle              /whil     /c5   /c5   /tc  /-1  /0    /mch10
short guiro               /guis     /c#5  /c#5  /tc  /-2  /0    /mch10
long guiro                /guil     /d5   /d5   /tc  /-3  /0    /mch10
claves                    /clvs     /el5  /el5  /tc  /-4  /0    /mch10
high wood block           /wdbhi    /e5   /e5   /tc  /-5  /0    /mch10
low wood block            /wdblo    /f5   /f5   /tc  /-6  /0    /mch10
mute cuica                /cuimt    /f#5  /f#5  /tc  /-7  /0    /mch10
open cuica                /cuiop    /g5   /g5   /tc  /-8  /0    /mch10
mute triangle             /trimt    /al5  /al5  /tc  /-9  /0    /mch10
open triangle             /triop    /a5   /a5   /tc  /-10 /0    /mch10

OTHER MIDI PATCHES:
bright piano              /brip     /c2   /c6   /tc  /0   /1    /EST
electric piano            /elep     /c2   /c6   /tc  /0   /2    /EST
honky-tonk                /hnkp     /c2   /c6   /tc  /0   /3    /EST
rhodes piano              /rhdp     /c2   /c6   /tc  /0   /4    /EST
chorused piano            /chrp     /c2   /c6   /tc  /0   /5    /EST
dulcimer                  /dul      /c2   /c6   /tc  /0   /15   /EST
church organ              /corg     /c2   /c6   /tc  /0   /19   /EST
reed organ                /rorg     /c2   /c6   /tc  /0   /20   /EST
accordion                 /acor     /c2   /c6   /tc  /0   /21   /EST
harmonica                 /har      /c2   /c6   /tc  /0   /22   /EST
tango accordion           /tang     /c2   /c6   /tc  /0   /23   /EST
overdriven                /ovrg     /c2   /c6   /tc  /0   /29   /EST
distortion                /disg     /c2   /c6   /tc  /0   /30   /EST
harmonics                 /harg     /c2   /c6   /tc  /0   /31   /EST
acoustic                  /acsg     /c2   /c6   /tc  /0   /32   /EST
finger electric           /fgeg     /c2   /c6   /tc  /0   /33   /EST
pick-electric             /pkeg     /c2   /c6   /tc  /0   /34   /EST
fretless                  /flsg     /c2   /c6   /tc  /0   /35   /EST
slap 1                    /slp1     /c2   /c6   /tc  /0   /36   /EST
slap 2                    /slp2     /c2   /c6   /tc  /0   /37   /EST
synth bass 1              /syb1     /c2   /c6   /tc  /0   /38   /EST
synth bass 2              /syb2     /c2   /c6   /tc  /0   /39   /EST
tremolo                   /trem     /c2   /c6   /tc  /0   /44   /EST
pizzicato                 /piz      /c2   /c6   /tc  /0   /45   /EST
string ens 1              /str1     /c2   /c6   /tc  /0   /48   /EST
string ens 2              /str2     /c2   /c6   /tc  /0   /49   /EST
synth strings 1           /sst1     /c2   /c6   /tc  /0   /50   /EST
synth strings 2           /sst2     /c2   /c6   /tc  /0   /51   /EST
choir aahs                /ah       /c2   /c6   /tc  /0   /52   /EST
choir oohs                /oh       /c2   /c6   /tc  /0   /53   /EST
synth voice               /svce     /c2   /c6   /tc  /0   /54   /EST
orchestral hit            /ohit     /c2   /c6   /tc  /0   /55   /EST
muted trumpet             /tmt      /c2   /c6   /tc  /0   /59   /EST
brass section             /brss     /c2   /c6   /tc  /0   /61   /EST
synth brass 1             /sybr1    /c2   /c6   /tc  /0   /62   /EST
synth brass 2             /sybr2    /c2   /c6   /tc  /0   /63   /EST
pan flute                 /pan      /c2   /c6   /tc  /0   /75   /EST
bottle blow               /bot      /c2   /c6   /tc  /0   /76   /EST
shakuhachi                /shak     /c2   /c6   /tc  /0   /77   /EST
whistle                   /whs      /c2   /c6   /tc  /0   /78   /EST
ocarina                   /ocar     /c2   /c6   /tc  /0   /79   /EST
square                    /sqre     /c2   /c6   /tc  /0   /80   /EST
sawtooth                  /saw      /c2   /c6   /tc  /0   /81   /EST
caliope lead              /calp     /c2   /c6   /tc  /0   /82   /EST
chiff lead                /chif     /c2   /c6   /tc  /0   /83   /EST
charang                   /char     /c2   /c6   /tc  /0   /84   /EST
voice                     /vce      /c2   /c6   /tc  /0   /85   /EST
fifths                    /5th      /c2   /c6   /tc  /0   /86   /EST
brass lead                /brsl     /c2   /c6   /tc  /0   /87   /EST
new age                   /nwa      /c2   /c6   /tc  /0   /88   /EST
warm                      /wrm      /c2   /c6   /tc  /0   /89   /EST
polysynth                 /psyn     /c2   /c6   /tc  /0   /90   /EST
choir                     /chr      /c2   /c6   /tc  /0   /91   /EST
bowed                     /bowd     /c2   /c6   /tc  /0   /92   /EST
metallic                  /metl     /c2   /c6   /tc  /0   /93   /EST
halo                      /hal      /c2   /c6   /tc  /0   /94   /EST
sweep                     /swp      /c2   /c6   /tc  /0   /95   /EST
rain                      /rain     /c2   /c6   /tc  /0   /96   /EST
soundtrack                /strk     /c2   /c6   /tc  /0   /97   /EST
crystal                   /crys     /c2   /c6   /tc  /0   /98   /EST
atmosphere                /atms     /c2   /c6   /tc  /0   /99   /EST
brightness                /brgt     /c2   /c6   /tc  /0   /100  /EST
goblins                   /gbln     /c2   /c6   /tc  /0   /101  /EST
echoes                    /echo     /c2   /c6   /tc  /0   /102  /EST
sci-fi                    /sf       /c2   /c6   /tc  /0   /103  /EST
sitar                     /sitr     /c2   /c6   /tc  /0   /104  /EST
banjo                     /bnjo     /c2   /c6   /tc  /0   /105  /EST
shamisen                  /shms     /c2   /c6   /tc  /0   /106  /EST
koto                      /koto     /c2   /c6   /tc  /0   /107  /EST
kalimba                   /klmb     /c2   /c6   /tc  /0   /108  /EST
bagpipe                   /bgp      /c2   /c6   /tc  /0   /109  /EST
fiddle                    /fdl      /c2   /c6   /tc  /0   /110  /EST
shanai                    /shni     /c2   /c6   /tc  /0   /111  /EST
tinkle bell               /tink     /c2   /c6   /tc  /0   /112  /EST
agogo                     /agg      /c2   /c6   /tc  /0   /113  /EST
steel drum                /stld     /c2   /c6   /tc  /0   /114  /EST
woodblock                 /wood     /c2   /c6   /tc  /0   /115  /EST
taiko drum                /taik     /c2   /c6   /tc  /0   /116  /EST
melodic tom               /mtom     /c2   /c6   /tc  /0   /117  /EST
synth drum                /stom     /c2   /c6   /tc  /0   /118  /EST
reverse cymbal            /rvcm     /c2   /c6   /tc  /0   /119  /EST
guitar fret               /fret     /c2   /c6   /tc  /0   /120  /EST
breath                    /brth     /c2   /c6   /tc  /0   /121  /EST
seashore                  /sea      /c2   /c6   /tc  /0   /122  /EST
bird tweet                /brd      /c2   /c6   /tc  /0   /123  /EST
telephone ring            /telr     /c2   /c6   /tc  /0   /124  /EST
helicopter                /hel      /c2   /c6   /tc  /0   /125  /EST
applause                  /apl      /c2   /c6   /tc  /0   /126  /EST
gunshot                   /gun      /c2   /c6   /tc  /0   /127  /EST

---------------------------------------------------------------------------

                 4. INTRODUCTION TO QTHARMONYHELPER
                 ==================================

WHAT IS QTHARMONYHELPER?
========================
QwikType Harmony Helper is part of the QwikType NWC2 User Tool, and runs using the
"\hh" command prefix. It is a harmony aid to music writers and composers. It allows 
the user to sample harmonic chords for any given selection of melodic notes. It 
then inserts the selected chord as "playable" text expressions on the stave, to serve 
as a harmonic guide while a work is being composed. Once the work has been completed, 
these harmonic guides can be deleted using a single command.

INSTALLATION
============
QTHarmonyHelper is included inside QwikType 1.0b

EXAMPLE WALKTHRU
================
The following example provides a walkthru on how to sample harmonies for a simple 
melody (Note that in the following example, if any message prompts allow, simply
press ESC to close them):

1) Create a new blank score in NWC2, by press Ctrl+N and then selecting 
"<Blank Score>".

2) Type 'x' to bring up the text expression dialog box. In the expression input
box enter the following qwiktype command:
\tc \| \n e4I, g, c5, e, |, dq

3) Select OK to insert the text expression on the stave, then select Alt+F8 to
select the qwiktype.php User Tool. Select "Edit" to change the settings for the
QwikType user tool. Under "Options" select "Long Task Handling". Select "OK", and
then "Run". QwikType then converts the text to a simple melody with 5 notes.

4) Place the cursor in front of the first note, and then insert the QTHarmonyHelper
command "\hhk". Then select the text expression, together with the next four notes, 
but not the last. Then press Ctrl+Alt+F8 to rerun the QwikType User Tool. It then
inserts a "playable" text expression starting with the characters "\hh" in 
front of each of the four notes.
Explanation:
E.1) "\hhk" is the command for find the harmonic keys of all triads in which this 
note appears.
E.2) When run the "\hhk" inserts a "playable" text expression in front of each
selected note. For example the text "\hh A a C c# E e Ct et" is inserted in front of
the first note, which is a E-natural. The triad keys in which it appears are
A-major, A-minor, C-major, C#-minor, E-major, E-minor, augmented 3rds triad with C, 
and the diminished 3rds triad with E.

5) Select just the text expression "\hh A a C c# E e Ct et", and press Ctrl+Alt+F8
to run the QwikType User Tool. It sounds each of the tonic triads in the keys
in the select text expression. In this example, the user decides that C#-minor
is the most appropriate key for the first note.

6) Select the text expression again, and press Ctrl+E to edit. Insert the right-arrow
">" in front of c#. Press "OK" to close the dialog box. With the text expression
still selected, press Ctrl+Alt+F8 to run the script again. This time only the chord 
of C#-minor sounds.

7) In this example, the user decides that El (E-flat major), is the most appropriate
key for the 2nd note, f (F minor) is the required key for the 3rd note, and 
E (E major) is the required key for the 4th note. Now insert the right-arrow
symbol in front of each of the above keys as for each of the text expressions in
front of the above 3 notes.

8) Now select all the 4 text expressions and notes inside the 1st measure, and 
press Ctrl+Alt+F8. The script sounds each of the selected chord followed by the melody
note raised one octave higher for clarity.

9) Now use standard NWC2 keys to fill in the harmony for the 4 notes in the 1st
measure so that they contain notes in the selected harmony. Then press F5 to play
the notes in NWC2 as normal.

10) In this example, the user is satisified with the 4 chords in the 1st measure, and
now wants to delete the "playable" text expressions for the sake of tidiness. To do
so, insert the cursor in front of the 1st text expression. Then enter the text
"\{hhdeleteall}". Then press Ctrl+Alt+F8. All the QTHarmonyHelper text expressions 
are now removed.

Note: 
1) To sample mixed chords use the plus sign "+" between each key, e.g. "\hhA >Al+al g" 
sounds A-flat major and A-flat minor together.


---------------------------------------------------------------------------

                 5. QTHARMONYHELPER COMMAND SYNTAX WALLCHART
                 ===========================================
[]=optional parms; <>=required parms; |=option delimiter; ...=repetition

1) "\hhk[atb]" + selected notes: inserts playable text expressions before each note. If
notes are not selected, it inserts playable text expressions for all notes on
the stave. If the melody is on the alto, tenor, or bass clef, the suffix a, t, or b
need to be used in the "\hhk" command.

2) "\hh [>][A-Ga-g][nl#][12] ...": ">"=play this key only; "A-Ga-g" key letter
with uppercase represent major, and lowercase minor keys; "nl#"=natural, flat or 
sharp; "12"=first or second inversion (if left blank it defaults to tonic"; 
"..." additional keys may be added

3) "\{hhdeleteall}": deletes all QTHarmonyHelper playable text expressions in the 
current selection, or if none selected, on the entire stave.


---------------------------------------------------------------------------
TO DO & BUGLIST:
================

DONELIST (this version):
========================
v.1.0b.release----------------------------------------------
121221F) BUG: in \hh, }mixed chord only sounds 1st chord{fixed
121221}) oqIiuhm for note dur vals
121221}) remove unable to write to file error message for \p
121220}) message to ensure that there are no more than 16 parts
121220}) if not mch10, assign channels 1 to 16
121220}) \newfpopsampler, \newfclsorchsampler, \newferoorchsampler, \newflroorchsampler, \newfmodorchsampler & update guide
121220}) test all mch10 channels in newf
121220}) when using newf, transpose mch10 notes to middle stave line
121219}) transpose mch10 staves so that the note is always pos:0 in the stave.{required because the cursor always goes to middle line in stave{added note in guide instead
121219}) add guitar and electronic instruments to instr list
121219}121218) document how to create a popsong nwctxt file
121219}121218) update walkthru's and submit v.1.0b release
121219}121218) add instrument code wallchart
v.1.0b.beta.1-----------------------------------------------
121217L) produce new nwctxt file with the details of all possible instruments for an orchestra, { //\neworchf-cls|er|lr|mod|modall,forchfile, //\newfbrass //\newfchamb-chamberfile, //\newfrock,fbandfile, //\newpopf,fbandfile, //\newelectrf,fbandfile,{not important
121217L) remove playback unable to write to file prompt{not important
121213HHL) "\hh}" command to translate all \hh } text to contain only selected chord, e.g. "\hh}" selected with "\hh A B }C d" and "\hh }A b C d" gives "\hh C" and "\hh A"{not important
121213HHL) BUG: \p option missing last chord when / present in $val{not important
121217L) when adding new percussion from channel 10, create percussion stave from transposition{fiddly, best to leave untransposed for now, but use only 1 staveline
121217}) \newf,fneworch,v,v,va,c,db,fl,pc,ob,eh,
121217}) add info for: flute, oboe, Clarinet (B, A), Bassoon, Horn (F, B), Tenor Tuba (B), Bass Tuba (F), Trumpet F, Alto Trombone, Tenor Trombone, Contrabass Tuba, Timpani, Violin, Viola, Cello, Doublebass, Soprano, Alto, Tenor, Bass{done under musical instruments
121218}121217) incorporate QTHarmonyHelper into v.10b.release
121214HHX) "\hhkb-Al" - for the selected notes, output all possible chords, in order to closest proximity to Al{no need
121215HHX)combine chord and melodic note{don't, as it is not as clear
121215HH}121214) add support for major and minor tritones: C3B3D3A3, c3b3e3
121213HHX) \hhk5b option adds \hhkb in front of the next 5 notes, and then displays all possible chords{not required, user can simply add \hhk in front and select the next required number of notes, and this will place possible chords in front of each selected note
121213HHX) make / the comment char, so that all chars to its right are ignored in playback{not required
121213HH}) if "}" in front of a chord, only play this chord
121213HH}121212) for a given single notes, output all the possible harmonic key. User types \hhk for a list of all keys
121213HH}121212) \{hhdeleteall} to delete all \hh insertions
121213HH}) in a mixed chord, output left chord as lower chord, and right chord as upper 
121212HH}) \hh[A-Ga-g][ln#][12][MmA-Ga-g][ln#][123]
121214}) insert silent hdsquavers bottom and top notes for instrument when using "\new"
121214}) time vals: oqIiuhm{done changed natural to N
121213}) note dynamics only sound if ff or less. Instead of "fff", use "f", and remove insertions of volume before and after note dynamic marks{removed volume change on rin(s)forzando functionality
121212F) BUG: option "\{/" not working due to incorrect line position of g_s_deleteall and boutput{fixed
121211}) Add optional add-on to qtharmonyhelper.php QTHarmonyHelper.php
v.1.0a.release----------------------------------------------
121211}) use letters oqIiuhm for time values{changed octv -1 to X, tempo to T, rin(s)forzando to Z 
121211}) in "\/" to "chase" height of note
121210F) BUG: not defaulting to previous dur values{caused by detecting chord1notes as blank
121210F) BUG: chords with different time values not inserted correctly{need to add in functionality to detect which chord is shorter duration, as this needs to be chord1, and if chord1 is lower, it needs to be stem down, otherwise it needs to be stem up{fixed, shorter chord needs to come first, and lower chords need stem down etc
121210}121209) add fingering example to help guide
121210X) When adding a volume series, delete all previous volumes.{not required, not a problem, volume changed from "v" to "*"
121210F) BUG: when using numbered measure method, new does not insert command list in file{fixed, caused by "f" option for nummeasured file input, changed to "m"
121209}) add "\/ a,b,c,d,1,2,3" to insert text before each of the following notes
121209}121208) add "\|t" to insert a transparent barline
121209}121208) add "\|tdeleteall" to delete all transparent barlines
121208}) add \{:deleteall} command to remove all text containing a colon
121208}) add \{:text} command to add text with : below staff containing a colon
121208}) add \{/deleteall} command to remove all text with / above a staff
121208}) add \{/text} forward slash option to add text above staff
121208}) introusrtool.html:Example 3: Building optional PHP add-on for your User Tool
121208}121207) introusrtool.html: examples 3, 4 & 5: how to debug a User Tool script (to file, to output, to alert)
121207}) write example 2 in introusrtools.html on how to change a text entity into an entity, e.g. inserting a MPC volume, or an instrument change
121207}) NBRVT regexp needs to be redesigned: from "/([@=\-\'\"\`�]{0,1})([x0-9]{0,1})([nl\#]{0,1})([ABCDEFGabcdefg_\|\*tPUz]{0,1})([\{\}r\^\.:;\/%&~\}\{\=]*)([x0-9nl#a-g\/]*)([\+]*)([@=\-\'\"`�]*)([x0-9nl#a-g\/]*)/" to using ! for accents and not using capitals, so the syntax is: "@5afc6d./+=6gh2da;/" so that there are two chord clusters within a chord.
121207}121206) add support for chord Dur2, i.e. notes of different duration in a chord. e.g. " |Chord|Dur:32nd|Pos:-4o,-2o,-6o,-8o|Opts:Stem=Down|Dur2:8th|Pos2:1o,4o,5o,6o|Color:0|Visibility:Default"{ accept ([x0-9nl#a-g\/]*)((\+[@=-'"`�])*)([x0-9nl#a-g\/]) for chords that have a differently time duration after the plus '+'{NOTE: chord1 must always be shorter in duration than chord2
v.1.0a.beta.1-----------------------------------------------
121204}) add option "\s" for style, so that the user enters "\s !;, ;, (*4a,) *z1, t100, ;, ;, t90, | ;, ;, ; ^" which applies dynamic marks, dynamic variance, slurs, and tempo changes to the next sequence of notes
121204}) change dur to @=-'"`� so that ! can be used as accent in \s style
121204}) "\new,flt,flute,\4/4\t10\kAl" inserts text "Flute", info text "btm=3g;top=7c;trns=0;Ckey=C", normal clef Treble, 4/4 time signature, tempo=100, and key signature A-flat major
121204}) rename qwiktext back to qwiktype
121203X) change note from 4c to c4{cannot, as this causes problems for chords{done in v.1.0a.release
121203}) change synth bass 1&2 to syb1&2, and synth brass 1&2 to sybr1&2
121203F) BUG: staccato's not appearing{fixed, caused by % used as delimiter, changed to ?, and % staccatissimo replaced ok.
121203}) if accent or marcato, instead a volume entity with a slight increase of volume from previous (requires g_prevvol var)
121203}) support for *s=sforzando (like a loud accent), *r=rinforzando (like a loud accent on 2 notes), *z=*s=1 note (inserts text sforzando); *z2=2 notes(inserts text rinforzando) *z3=on 3 notes(inserts text rinforzando); *r4=on 4 notes, *r5=on 5 notes
121203}) add sustain pedal support \P for down, \U for up
121203}) when creating a new staff, add default instrument info, clef and instrument change, e.g. "\ff1,new,vln,v1,\3/4\t10\kAl" inserts "[\{v1}\tc\ivln\3/4\t10\kAl]" and vln info into f1.txt, similarly "\ff1,add,cllo,c1,\3/4\t10\kAl" appends the relevant data and info
121203}) use * instead of v for volume
121203}) use brackets for free-formatting text to make it easier to read and group items together
121203}) remove space and brackets at start
v.1.0.release----------------------------------------------
121201}) update the getting started guides, and ensure everything works
121202}) add \h help which displays help information in an alert.
121202}) Make instrument change by patch number more succinct using regexp
121202}) use array_sort when reading range of measures from file, so that there is only 1 file open
v.1.0.beta.3-----------------------------------------------
121201F) BUG: chords must specify octave.{fixed, caused by * in regexp, should be {0,1}, i.e. none or one,  not none or many, causing chord notes to combine with main note.
121201F) BUG: do not inherit accent if current note not accented, e.g. "\{mp} \n v4a, !4C, e, g, 5c" produces accents in e, g, and 5c{seems to occur only if dur is not set.  {fixed caused by inheriting all attribs from $g_prevdur instead of just dur
121201F) BUG: do not inherit slur if current note not slurred, e.g. "\{mp} \n v4a, !4c;, 4e;, 4g, 5c " slurs g and 5c{seems to occur only if dur is not set.  {fixed caused by inheriting all attribs from $g_prevdur instead of just dur
121201}) add "\ff1,add, cllo, 0, \bc \icllo \3/4" appends new measures 0 to 20
121201}) add "\ff1,add, cllo, 150, 200" appends 50 new blank measures 150 to 200
121201}) add "\ff1,inf, cllo" appends top and bottom notes, normal clef, transposition number of semitones, score key when in pitch key of C to f1.txt
121201}) add T(tempo) to NBRV, so it becomes NBRVT
121201}) make entered tempo a 10th of the actual value, so 10=100
121201}) insert \f{file},{staff},{bar-number} option
121201}) insert \f{file},{staff},{start-bar-number},{end-bar-number} option
121201) use [ & ] for file input measure method in format ^1[\tc 3/3 ] etc.. 
121201}) Put note duration at the very start of the NBRV groups
121201}) add volume as last part of NRB, so it becomes NBRV entity, e.g. \n5=#c.;v5a{too complicated, treat V as another NBR so that chord is used for volume hexval, e.g. \n5=c.;,v5a
121201}) \v not working when inserted into a command series{fixed old vers required notes to exist, added test if only 1 val, then insert value
121201}) use { & } for text input
121201}) \f{filename},{file-cmd}, e.g. \ff1,new
121201}) use { for first triplet, and } for last triplet
v.1.0.beta.2-----------------------------------------------
121130}121129) release v10b2
121130}) Update wallcharts with the latest enhancements
121130}121129) Tidy up instrument codes, rename duplicates etc
121130X) Add support for \a append to file{not necessary, as if read from file, it doesn't need appending to file again
121130X) Add support for \delv delete volume{not necessary, user just needs to press Ctrl+Z to undo last script
121130}121130) Add playback option \p
121130X121128) convert nwctxt to qwiktype script for note by note assignmnt of vols & tempo, e.g. appends to file specified, so the user can simply reload the file, edit it, and run tempo and volume applies from the same text file.{not required
121130}121129) provide example with sharps
121130}) when detecting previous clef and octv, detect from inserts as well.
121130}) Add support for \r read from file
121130}) Add support for grace notes
121129X121129) add transposition for transposition instruments{not feasible
121129}) support for key signature
121129}) Add support for chords
121129}) Add support for accentA|marcatoA^, and staccatissimo%|staccato&|tenuto~
121129}) Install qwiktype.php in C:\qwiktype\ folder, and create \f command to run from file. The script runs the first line it encounters beginning with }, e.g. "}\n5c, , , 5a" as its first character in the file f.txt
121129}121128) read qwiktype script from specified file e.g. \ff1 for c:\\qwiktype\\f1.txt
121129}121129) Split cmd by "\" so that different types of entities can be inserted in the same command line
121129}121129) add support for key signatures
121129}121128) add support for alto, tenor and percussion clefs.
121129}) Added dbf function to output debug to c:\temp\qtdbf.txt
121129}121129) remove all spaces & tab so that user can use space & tab to free format text
121129}121129) if note not specified, assume same as previous
121129}121129) if duration not specified, assume same as previous (not crotchet), use ! for crotchet, and ` for demisemiquaver, and � for hemisemidemiquaver
121129}121128) in volume, note, velocity series, if value same as previous, allow empty (null) value ",,"
121129}121128) add tempo series, e.g. \t120,110,100,100 inserts tempo changes for each note
v.1.0.beta.1-----------------------------------------------
121128}121128) document Get Started and User Guide with "Amazing Grace" example 
121128}121128) use hexcode for inputting of volume & velocity values