NoteWorthy Composer uses a text language to represent the notation. When saved to file, the uncompressed text will typically use the *.nwctxt file type. When you work with text files, you can use Save As or Export from the NWC File menu to switch to or create the *.nwctxt version. As of version 2.75, these files always use utf-8 character encoding.
You can load a *.nwctxt file into a text editor in order to get an idea of how items are represented. The actual notation objects use the same representation as is available from Edit, Copy while working in the editor. The Developer Tools included with the user tool starter kit are also useful during the discovery process.
A sample file is shown below.
# This is a sample NWC Text file. As you can see, any text starting with
# a '#' character is treated as a comment.
#
# When accepting nwctxt in a File mode user tool, a comment header will
# include some details about the current editor file. For example:
#
#/File: D:\nwctest.nwctxt
#/SavePending: N
#/ReturnFormat: FileText
#
# ------------------------------------------------------------------------------
# This first non-comment line of the file should be the !NoteWorthyComposer
# header line. This indicates that this file contains NoteWorthy Composer Text.
# This sample targets version 2.75.
#
!NoteWorthyComposer(2.75)
# Blank lines can appear anywhere in the file after the
# initial !NoteWorthyComposer header
# ------------------------------------------------------------------------------
# The Editor line indicates the currently active staff and selection positions
|Editor|ActiveStaff:1|CaretIndex:1|SelectIndex:59|CaretPos:0
# ------------------------------------------------------------------------------
# The SongInfo, PgSetup, PgMargins, and Font lines can appear anywhere in
# the file, but it is good form to have them at the top, prior to adding
# any staff data.
# It is fine to use multiple SongInfo, PgSetup, and PgMargins in a file.
# If a field is specified more than once, the last one overrides any
# previous assignment.
|SongInfo|Title:"<FileTitle>"|Author:"<Author>"|Lyricist:"<Lyricist>"
|SongInfo|Copyright1:"<Copyright1>"
|SongInfo||Copyright2:"<Copyright2>"
|SongInfo|Comments:"<Comments>"
|PgSetup|StaffSize:16|NtnTypeface:NWC2SwingDings|Zoom:4
|PgSetup|TitlePage:Y|JustifyVertically:Y|ExtendLastSystem:Y
|PgSetup|DurationPadding:Y|PageNumbers:3|StaffLabels:First System
|PgSetup|BarNumbers:Circled|StartingBar:20|AllowLayering:Y
# Margins are specified in Centimeters. You can convert to
# inches by dividing these values by 2.54.
|PgMargins|Left:1.27|Top:1.27|Right:1.27|Bottom:1.27
|PgMargins|Mirror:Y
# Unlike the other top level instructions, each Font instruction should
# be defined on a single line. Each Font instruction must include the
# Style option, which identifies which named font is being defined on
# the line. The Size is in points. The CharSet comes from Script field
# in the Font dialog.
|Font|Style:StaffItalic|Typeface:"Times New Roman"|Size:12|Bold:Y|Italic:Y|CharSet:0
|Font|Style:StaffBold|Typeface:"Times New Roman"|Size:9|Bold:Y|Italic:N|CharSet:0
|Font|Style:StaffLyric|Typeface:"Times New Roman"|Size:9|Bold:N|Italic:N|CharSet:0
|Font|Style:PageTitleText|Typeface:"Times New Roman"|Size:24|Bold:Y|Italic:N|CharSet:0
|Font|Style:PageText|Typeface:"Times New Roman"|Size:12|Bold:N|Italic:N|CharSet:0
|Font|Style:PageSmallText|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
# If a particular User font is not used in the file, then it might
# not appear in the file. When scanning an existing nwctxt file,
# you cannot assume that any particular fields or instructions
# will exist in the file.
|Font|Style:User1|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User2|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User3|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User4|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User5|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User6|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
# ------------------------------------------------------------------------------
# The first AddStaff line is optional, although it is required if you want to name,
# label, or group a staff
|AddStaff|Name:"<Staff1Name>"|Label:"<StaffLabel>"|Group:"Vocal"
# The various StaffProperties can be assigned using multiple instances of
# the instruction.
|StaffProperties|EndingBar:Section Close|Visible:Y
|StaffProperties|BoundaryTop:16|BoundaryBottom:14
|StaffProperties|Lines:5|WithNextStaff:Brace,ConnectBars|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:1
# The StaffInstrument uses the same syntax as the Instrument instruction
# used in NWC clip text
|StaffInstrument|Name:"Lead 6 (voice)"|Patch:85|Trans:0|DynVel:10,30,45,60,75,92,108,127
# Lyrics can be defined anywhere after the AddStaff line, but it is good form
# to place them before the notation for the staff
|Lyrics|Placement:Bottom|Align:Standard Rules|Offset:0|UnderscoreAsSpace:N
|Lyric1|Text:"Aaaaaaaah________\r\n"
# The notation contained in the staff uses the same format as NWC Clip
# Text from the User Tool and clipboard mechanisms
|Clef|Type:Treble
|Note|Dur:Whole|Pos:1^
|Bar
|TempoVariance|Style:Fermata|Pause:0|Pos:9
|Note|Dur:Whole|Pos:1
# ------------------------------------------------------------------------------
# Whenever an AddStaff is encountered, a new staff is created. The new
# staff then becomes the target for the instructions that follow it, until
# another AddStaff is encountered.
|AddStaff|Name:"<Staff2Name>"|Label:"<PianoStaffLabel>"|Group:"Piano"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:10|BoundaryBottom:18|Lines:5|Style:Upper Grand Staff|Layer:N|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:1
|StaffInstrument|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Lyrics|Placement:Bottom|Align:Start of Accidental/Note|Offset:2
|Lyric1|Text:"1_1 1_2 1_3 1_4\r\n1_5 1_6 1_7 1_8\r\n"
|Lyric2|Text:"2_1 2_2 2_3 2_4\r\n2_5 2_6 2_7 2_8\r\n"
|Clef|Type:Treble
|Note|Dur:4th|Pos:-4
|Note|Dur:4th|Pos:-3
|Note|Dur:4th|Pos:-2
|Note|Dur:4th|Pos:-1
|Bar
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:1
|Note|Dur:4th|Pos:2
|TempoVariance|Style:Fermata|Pause:5|Pos:9
|Chord|Dur:4th|Pos:1,3,5
# ------------------------------------------------------------------------------
|AddStaff|Name:"<Staff3Name>"|Group:"Piano"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:15|BoundaryBottom:14|Lines:5|Style:Lower Grand Staff|Layer:N|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:1
|StaffInstrument|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Lyrics|Placement:Top|Align:Standard Rules|Offset:-2|UnderscoreAsSpace:N
|Lyric1|Text:"1_1 1_2 1_3 1_4\r\n1_5 1_6 1_7 1_8\r\n"
|Lyric2|Text:"2_1 2_2 2_3 2_4\r\n2_5 2_6 2_7 2_8\r\n"
|Clef|Type:Bass
|Note|Dur:4th|Pos:-1
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:1
|Note|Dur:4th|Pos:2
|Bar
|Note|Dur:4th|Pos:3
|Note|Dur:4th|Pos:4
|Note|Dur:4th|Pos:5
|TempoVariance|Style:Fermata|Pause:0|Pos:-7
|Note|Dur:4th|Pos:6
!NoteWorthyComposer-End
Note: As of version 2.75, all *.nwc files include nwctxt for all notation. An example of how to extract the nwctxt can be seen in this nwc2musicxml update.
See also: