Skip to main content

Topic: Working with *.nwctxt files (Read 181096 times) previous topic - next topic

Working with *.nwctxt files
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.

Code: [Select · Download]
# 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:

  • Last Edit: 2016-05-05 06:33 pm by NoteWorthy Online

Re: Working with *.nwctxt files
Reply #1
Works for me on Win98SE. Might be a day or so until I boot XP. Will report then.

Works on XP Home Edition.
  • Last Edit: 2007-07-26 04:10 am by Rick G.
Registered user since 1996

Re: Working with *.nwctxt files
Reply #2
Worked fine for me with the tablet pc version of XP Professional.

Keith
Illigitimi Non Carborundum

Re: Working with *.nwctxt files
Reply #3
File Import dialog box should default to: All Import Types

Comments are a nice addition, but the length of |SongInfo and |Lyricn make editing them a problem.
I would suggest that all whitespace be ingnored within braces so that your example might be written as:
Code: [Select · Download]
|SongInfo {
  |Title: "<FileTitle>"
  |Author:"<Author>"
  |Lyricist:"<Lyricist>"
  |Copyright1:"<Copyright1>"
  |Copyright2:"<Copyright2>"
  |Comments:"<Comments>"
}
  • Last Edit: 2009-05-17 04:42 pm by Rick G.
Registered user since 1996

Re: Working with *.nwctxt files
Reply #4
We will look at improving the Import/Export file type defaults, perhaps by remembering what a user selects.

I do not expect the text format to change to support bracketed enclosures and such.

Re: Working with *.nwctxt files
Reply #5
I suspect you have given this some thought, as I have. Storing the fiiletype preference in the registry will solve the problem, but defaulting to all supported types will hardly cause an overload in the Open control. The MIDI and NWCTXT icons are different and I doubt than anyone will have very many NWCTXT files in any folder and further doubt whether anyone will mix the types in the same folder.

Long lines in NWCTXT will pretty much nix any use in the newsgroup except as attachments.
I don't know if this will be a problem since I have yet to figure out a use for the format. There is very little discussion of it here or in the newsgroup.
Registered user since 1996

Re: Working with *.nwctxt files
Reply #6
I don't know if this will be a problem since I have yet to figure out a use for the format.

Well Rick,  I think you of all people will possibly find more uses than many of the rest of us.  You have found some really useful ideas using the straight forward text clips - (Hidden rests for example)

However,  since Eric first introduced this format some considerable time ago, I had a sneaking suspicion where it might be leading.
Then, because there had been no apparent change or development with the text fuctionality - I sort of did a wobbly on the idea - but with this improvement, I'm back to my original thoughts.

I think Eric might be developing a system that can eventually be used (perhaps with an additional program) to export and import mxml directly.
Since there will also be other uses for an inbuilt text language other than mxml, it makes sense to develop NoteWorthy's own text language and then use a conversion program. This will allow Eric to maintain control of what and how mxml is converted, and also to put in text functions that are not supported in mxml but might be one day, and so on.  This will also lay the groundwork for when ( /if ) xml replace html as the chosen internet language.

Just my penny worth (2 cents )

Rich.

Re: Working with *.nwctxt files
Reply #7
I had a sneaking suspicion where it might be leading.
No reason for suspicion. In early June, NWC had this to say about it in the newsgroup:
Quote
The new *.nwctxt format will eventually be able to fully export/import NWC
notation. It will make it possible to escape from the proprietary NWC binary
file type when the situation demands it.
Consult the newsgroup for reactions.
Registered user since 1996

  • CDon
  • NWC2 User
Re: Working with *.nwctxt files
Reply #8
I don't know if this will be a problem since I have yet to figure out a use for the format.

Hummmm... I have started looking at Perl to convert ABC notation to NWC.  I know of Brian Creer's ABC2NWC, but I don't particularly care for its output.  I suspect nwctxt will have a lot of applications.

Re: Working with *.nwctxt files
Reply #9
Hmmm... All I am getting is this:
"This package requires a properly installed copy of Noteworthy Composer 2. Noteworthy Composer 2 is either not installed, or has been altered since its installation.
Setup aborted."
Any ideas?

Re: Working with *.nwctxt files
Reply #10
If you modify your installed copy of NWC2 after installation, you will get this message.

The main NWC2 installer creates an uninstall key that points to your working copy of NWC2. If you move the program files, or delete the uninstall data from the registry, then you will not be able to run updates or supporting setup programs.

Re: Working with *.nwctxt files
Reply #11

Re: Working with *.nwctxt files
Reply #12
As a programmer, I must say:
THANK YOU!
This makes me feel much better about NWC, now that it has adopted a format that can be easily reverse-engineered.
(Not that I wouldn't mind if NWC posted the complete specs.)  :-)
I've already written a little parser in python, it's in the User Tools section.
  • Last Edit: 2007-07-31 07:38 pm by kahman

Re: Working with *.nwctxt files
Reply #13
My use for this would be to import SharpEye native format (.mro) files into NoteWorthy.  Passing them through MIDI format just looses to much, especially the correct enharmonic spelling of notes.  Now if NoteWorthy could just get that right... 

Doing this via an external text to text translator could be possible, but only if .nwc format is fully documented, as .mro format has been for a long time.  Or even better it could be added as an input format that NoteWorthy understands directly.

Re: Working with *.nwctxt files
Reply #14
My use for this would be to import SharpEye native format (.mro) files into NoteWorthy.  Passing them through MIDI format just looses to much, especially the correct enharmonic spelling of notes.  Now if NoteWorthy could just get that right... 

Doing this via an external text to text translator could be possible, but only if .nwc format is fully documented, as .mro format has been for a long time.  Or even better it could be added as an input format that NoteWorthy understands directly.

There is a MusicXML import tool available for NWC2 (discussed and linked to here: https://forum.noteworthycomposer.com/?topic=4576.msg34732#msg34732 ).  I believe the tool is updated somewhat from what is discussed in the thread, but the link takes you to the latest version.

Whenever I use Sharpeye I export to mxml and import with this tool - works pretty well but ya gotta get the Sharpeye version fairly accurate before export or you end up creating quite a bit of work for yourself.  No need for a MIDI intermediate step and no enharmonic problems :)

It has already been stated somewhere... (on this forum I think - craft disease kickin' in) that the NWC file specification will not be published however with this (mxml2nwc) and *.nwctxt files it isn't really necessary.

However, I do agree that some additional internal import/export would be welcome.
I plays 'Bones, crumpets, coronets, floosgals 'n youfonymums - gonna lern tubies next

Re: Working with *.nwctxt files
Reply #15
My experience with Sharpeye is similar to Lawrie's.  I prefer to import the less than perfect MRO file using mxml2nwcc.exe, then edit it in NWC2.  Editing in Sharpeye is so-o-o  t-e-d-i-o-u-s. 

The imported file sometimes has artifacts that NWC2 senses but doesn't display.  That's a nuisance until you know what to look for.


Re: Working with *.nwctxt files
Reply #16
I have looked at the mxml2nwcc program and do not find it useful.  Breaking things into a separate text file for each stave, which doesn't get accurately entered into NoteWorthy anyway just doesn't hack it.

I find it interesting, though, that you (David) find editing in Sharp Eye slow.  Clicking on a note head in a chord and then being able to change it's attributes with one more click is certainly faster than having to delete the note, setup all it's attributes (not just the one you want to change) and reentering it.  In fact, you can merrily click away on all the notes in a system that should have a certain attribute and with one more click set them all simultaneously regardless of what the previous attributes were, a relief from having to separately select only the quarter notes (say) that should be eights, and then... as if the durations are mixed, the set duration buttons in NoteWorthy become inoperative.  To add a missing note, just point to that note in the image and click, far easier than maneuvering the cursor to a staff position and hitting enter.  In fact, I would like to see the NoteWorthy interface changed to more resemble Sharp Eye's, especially in handling of notes in a chord. 

The bottom line is that I always go to a perfect score in Sharp Eye before converting to NoteWorthy, because it's so much easier to edit in Sharp Eye.  I even go back, when I find a mistake I missed, to correct the Sharp Eye, a habit I acquired generating artwork for etching circuit boards, where keeping the wire lists and graphics in sync is crucial.  And enharmonics wouldn't be a problem if only NoteWorthy could spell.

Re: Working with *.nwctxt files
Reply #17
I have looked at the mxml2nwcc program and do not find it useful.  Breaking things into a separate text file for each stave, which doesn't get accurately entered into NoteWorthy anyway just doesn't hack it.

Huh? - what separate file for each staff??? *Oh, that's right, this is an nwctxt discussion - that's one staff at a time, but mxml2nwcc isn't single staff!

*<edit> Actually, the "strike through" part is incorrect...  mea culpa

Quote
I find it interesting, though, that you (David) find editing in Sharp Eye slow.  Clicking on a note head in a chord and then being able to change it's attributes with one more click is certainly faster than having to delete the note, setup all it's attributes (not just the one you want to change) and reentering it.  In fact, you can merrily click away on all the notes in a system that should have a certain attribute and with one more click set them all simultaneously regardless of what the previous attributes were, a relief from having to separately select only the quarter notes (say) that should be eights, and then... as if the durations are mixed, the set duration buttons in NoteWorthy become inoperative.  To add a missing note, just point to that note in the image and click, far easier than maneuvering the cursor to a staff position and hitting enter.  In fact, I would like to see the NoteWorthy interface changed to more resemble Sharp Eye's, especially in handling of notes in a chord. 

Umm, change the attribute of a note - highlight and press appropriate key - no delete and resetup...  E.G Bb with accent and fermata needs to be Bnat - Highlight note and press '7' - note is Bnat and all other attributes are unchanged...

I almost don't use a mouse in NWC - far too slow - lose the mouse and use the keyboard - much better.  That said, I would LOVE to be able to select multiple, non consecutive notes.  That is one thing missing that I would like to have.  Of course, I can easily get around it with the Global_Mod user tool...

bidderxyzzy, please tell me you don't really use the mouse for most of your NWC work!  If you do then I advise a short learning curve - learn the keyboard shortcuts - the main ones don't take long and you will benefit enormously.

I certainly would not want to see the NWC interface changed to approach Sharpeye's - dreadful IMHO - FAR too mouse oriented - far too slow in most cases.

Quote
The bottom line is that I always go to a perfect score in Sharp Eye before converting to NoteWorthy, because it's so much easier to edit in Sharp Eye.  I even go back, when I find a mistake I missed, to correct the Sharp Eye, a habit I acquired generating artwork for etching circuit boards, where keeping the wire lists and graphics in sync is crucial.  And enharmonics wouldn't be a problem if only NoteWorthy could spell.

There are ways to edit enharmonic spelling automagically - trouble is I don't remember 'em 'cos I don't need to use 'em.  I rarely have that problem as most of my music is hand entered...  A search of this forum will probably find 'em, or one of the others may remember 'em...
  • Last Edit: 2007-10-04 09:03 pm by Lawrie Pardy
I plays 'Bones, crumpets, coronets, floosgals 'n youfonymums - gonna lern tubies next

Re: Working with *.nwctxt files
Reply #18
Topic updated to include a complete example of the nwctxt format. See the top of the topic...

Re: Working with *.nwctxt files
Reply #19
It seems dubious to treat the notation (system) font differently other fonts.
This complicates parsing when you just want a list of fonts. Also, there is no reason that Font ID's might not contain backslashes, quotes, pipes, spaces and other symbols that might choke a parser if not properly escaped and quoted.

I would suggest, simply:
|Font|Style:System|Typeface:"NWC2STDA"|Size:16|Bold:N|Italic:N|CharSet:0

This would also accomodate a future decision to allow the System font to be selected from the CommomDialog Font picker. The future ability to specify Bold|Italic|CharSet might prove quite useful, for example:
|CharSet:1 might be used to map the 64th note flags to glyphs that looked like slashed 8th flags (for grace notes).

I also note that: |StartingBar: supports negative integers. I have no opinion on the desirabilty of this.
Quote from: Rick G.
I'm just Beta testing
Registered user since 1996

Re: Working with *.nwctxt files
Reply #20
It is a classic trade-off. NWC1 used to have an import/export menu, but we constantly fielded questions about how to save as MIDI. So, we moved this into the Open and Save commands. Now, we get questions about why the notation does not look the same after saving to MIDI. Since the volume of these questions never really changed much, Export/Import seems the most appropriate, and is what appears in NWC2.
By this logic, perhaps nwctxt should be moved from Export to Save/Save As...

OTOH, with the exception of fermatas & breath marks, MIDI "export" is lossless. MIDI import belongs on the import menu.

A related thought: does anyone really use the "uncompressed format" any more? Seems to me that nwctxt is now the real uncompressed format.

And going further ... perhaps the compressed (i.e., normal) format should simply become compressed nwctxt. File size might be a bit bigger, but no one is doing "sneaker net" with single-sided 5¼ inch floppies anymore. This would seem to simplify things. It would eliminate the proprietary Clipboard format and associated bugs of having cut/paste not be the same as copy/paste via Notepad or User Tool as happened <here>

A console nwc<->nwctxt converter would seem easy (maybe too easy).

I don't feel strongly about this. How NoteWorthy does its internals is its own business. It just seems to make sense.
Registered user since 1996

Re: Working with *.nwctxt files
Reply #21
Quote
File size might be a bit bigger, but no one is doing "sneaker net" with single-sided 5¼ inch floppies anymore.

Flashback!  I remember a friend had a small clipper and was hoping to make a few bucks converting 5 1/4 floppies to two sided mode by adding a notch.  That way they could be read upside down. 

If I recall correctly, that is...


Re: Working with *.nwctxt files
Reply #22
You do! I did that, too. For Commodore floppies. With a special clipper (no sails) or simple scissors.
Good fun - never failed.

Re: Working with *.nwctxt files
Reply #23
I used to have two clippers:  one for 5 1/4" floppies, another for 3 1/2" floppies (turned 720's into 1.44MB).  You had to be careful about the plastic "sawdust" you ended up with, but generally, it worked pretty well.  That brings back some memories.  I remember working for the US government, and even though they gave us computers to use, they didn't want to spend a penny on floppy storage media.  So we just recycled our 720's and reused them as 1.44's.

Now we just go out and buy 4GB USB sticks.  We've come a long way.
John

Re: Working with *.nwctxt files
Reply #24
  Here is a more nearly complete nwctxt file than provided above.  The mismatched barlines in the repeat section are deliberate, constituting a test that NoteWorthy passed by not getting lost.  The file exports and re-imports without loss or change.

Re: Working with *.nwctxt files
Reply #25
Comments reflect NWC2 Beta 2.21 using Win98SE.

We will look at improving the Import/Export file type defaults, perhaps by remembering what a user selects.
Export... remembers what the user selects :)
Import... always defaults to "Midi Flies" :(

the length of |SongInfo and |Lyricn make editing [nwctxt] a problem.
Cummulative instances of SongInfo (and others) solves the problem :)
This does not work with Lyricn :(

Lyricn would seem to need this the most of all the new object types.
  • Last Edit: 2011-10-05 06:19 pm by Rick G.
Registered user since 1996

  • matta
  • NWC2 User
Re: Working with *.nwctxt files
Reply #26
No questions, just some positive feedback.

I've transcribed now well over a hundred pieces of Byzantine music, programmatically producing NCWTXT files, which I then import into NoteWorthy Composer--in effect, I can now programmatically transcribe Byzantine psaltiki neumes into Western musical notation.

All thanks to this wonderful feature! All of these transcriptions necessarily include multiple staves, bent pitches, and additional (but muted) text or notes. All of this is very easy programmatically, and I am yet to find a bug using this interface!

Many thanks to the NoteWorthy team for the great NCWTXT interface!


Re: Working with *.nwctxt files
Reply #27
The next step is to send them into the Scripto.  Your transcriptions do sound fascinating, judging by your previous posts.

Re: Working with *.nwctxt files
Reply #28
matta,

Could you show us (that haven't divined this) how you did what you did? If not us, then me, at least.

  • matta
  • NWC2 User
Re: Working with *.nwctxt files
Reply #29
1. Review the Byzantine music piece (written in psaltiki neumes) and break it down into the smallest meaningful instructions to the chanter/musician. These are in the following areas: type of tuning (partly similar to a scale in Western music), first note after a change in tuning, pitch movement (i.e., moving higher up the scale or lower down the scale), duration of the sound, any flattening or sharpening of the sound from the pitch that note would normally have in that tuning, and then any ways the note should be played (tied to next note, slurred with next note, forte, trilled, shake, tremolo).

2. I then parse all these instructions and turn them into three things: (i) commands for NoteWorthy Composer in NWCTXT language; (ii) MusicXML and a Byzantine extension in comments, which I use as a file format for storage; (iii) MIDI instructions. Work on the latter two is not complete.

Re: Working with *.nwctxt files
Reply #30
Is there a complete syntax description of nwctxt because I want to write an converter.

Re: Working with *.nwctxt files
Reply #31
The code in the very first post of this thread is quite useful and should help.
Rich.

Re: Working with *.nwctxt files
Reply #32
File->Export... has these options for 'Save as type:'
  • Type 1 Midi File
  • Type 0 Midi File
  • NoteWorthy Composer 1.75 File
  • NWC Text File

IMO, it would be useful to add:
  • NWC Text File (forced accidentals)

Many of the uses of nwtxt involve converting the Pos: and Pos2: fields into absolute pitches. This is merely difficult for simple songs but, for songs with complex flows that also have clef and key changes, it is nearly impossible.

It would be useful if the nwctxt import routine would recognize:
  • |StaffProperties|Audit:Bar Lines
  • |StaffProperties|Audit:Accidentals
  • |StaffProperties|Audit:Enharmonic Spelling
  • |StaffProperties|Audit:Note Stems
The first two would be especially useful.

When programatically adding notes to a staff, calculating where notes have to be broken and tied to insert barlines is tedious. NWC2 has this capability built in. It would be helpful to be able to automatically use it.
Registered user since 1996

Re: Working with *.nwctxt files
Reply #33
Quote
IMO, it would be useful to add:

•NWC Text File (forced accidentals)

Many of the uses of nwtxt involve converting the Pos: and Pos2: fields into absolute pitches. This is merely difficult for simple songs but, for songs with complex flows that also have clef and key changes, it is nearly impossible.
Several observations:
  • Many of the observations/recommendations in this thread apply to the user tools (for part or all of a single staff) as well as to entire nwctxt files.
  • Very cool - forcing accidentals (manually) before exporting nwctxt (or running a user tool) avoids having to watch for (and remember) key changes going by, and having to remember accidentals through to the next bar (both of which I'd already taken the time to code for :-( )
  • Still no alternative to watching for clefs going by, when you want to know the actual note represented by the pos.
  • Good point about complex flows - I just realized that my code is watching for clef/key changes in static order, rather than dynamic order.

Re: Working with *.nwctxt files
Reply #34
purdue, you have touched upon the reason that I have not published any tools or utilities that deal with conversion of pos to pitch. As long as NWC2 permits such things as:
Quote from: a fine mess
!NoteWorthyComposerClip(2.0,Single)
|Clef|Type:Treble
|Bar|Style:LocalRepeatOpen
|Note|Dur:8th|Pos:0
|Clef|Type:Bass
|Bar|Style:LocalRepeatClose|Repeat:2
|Ending|Endings:1
|Instrument|Name:"[+1]"|Trans:1|Pos:-6|Justify:Center
|Bar|Style:MasterRepeatClose
|Ending|Endings:2
|Instrument|Name:"[+2]"|Trans:2|Pos:-6|Justify:Center
|Bar|Style:MasterRepeatClose
|Ending|Endings:3
|Instrument|Name:"[+3]"|Trans:3|Pos:-6|Justify:Center
|Bar|Style:MasterRepeatClose
!NoteWorthyComposerClip-End
I probably never will.

NWC2 uses "nb#xv" to indicate accidentals that are actually printed. If it would add: "NB$XV" to indicate accidentals that are implied, the decoding process would be simpler. If the tool/util was only concerned with appearance, it could simply ignore "NB$XV".

The flow problem would still remain.
  • Last Edit: 2009-11-06 05:03 pm by Rick G.
Registered user since 1996

Re: Working with *.nwctxt files
Reply #35
When a file is opened as an nwctxt-file (with that extension), how come that it is not automatically saved with the same format? When I try to save a file that was opened as nwctxt, noteworthy2.1 tries to save it as a compressed nwc-file.

Re: Working with *.nwctxt files
Reply #36
Saving .nwctxt files is only possible via the File, Export command. The File, Save command does not currently support the .nwctxt format.

Update: NWC 2.5 fully supports the direct editing of *.nwctxt files.
  • Last Edit: 2012-02-03 12:48 pm by NoteWorthy Online

Re: Working with *.nwctxt files
Reply #37
Saving .nwctxt files is only possible via the File, Export command. The File, Save command does not currently support the .nwctxt format.

Any chance this could be fixed? It would be great if nwc could remember the format it used when loading and use the same format when saving. We have all nwc-files for our archive (200+) checked in to a version manager (subversion), and the text-format would be a great improvement since changes from two users could be merged. However, if everyone needs to remember to export the file rather than save the file each time they have made changes, inevitably someone will forget to do this.

/Jonas

Re: Working with *.nwctxt files
Reply #38
Sounds like an effective setup. We will consider this for the next release, but I do not have any published time frame for you at the moment.

Re: Working with *.nwctxt files
Reply #39
Does this enable me to import a music file into a word document?  I have had to print, scan and insert as a picture in the past when making worksheets with musical examples?
Beth

Re: Working with *.nwctxt files
Reply #40
This topic is about text instructions that represent the NWC notation.

This FAQ is directed to your question: FAQ - Can I copy my score to another application, like a word processor?

Re: Working with *.nwctxt files
Reply #41
NWC 2.5 now fully supports the direct editing of *.nwctxt files. File Import/Export operations are no longer required.

Re: Working with *.nwctxt files
Reply #42
NWC 2.5 now fully supports the direct editing of *.nwctxt files. File Import/Export operations are no longer required.

One very small niggle that is really of no consequence but I'll mention it anyway -

Most programs that open different file types, if you do a "File Save As" , will maintain the original file type as default.
NoteWorthy doesn't do this with nwctxt. If you open a nwctxt file and do a "File Save as", the file type will be nwc not nwctxt.

Examples,
Open a .csv file with Excel and do a "Save As" and the file type will be maintained as .csv, not xls or xlsx
Open a .rtf file with Word and do a "Save as" and the file type will be maintained as .rtf not .doc or .docx

Not that I'd hold Microsoft products up as a beacon, but Open Office follows this methodology as well.


Rich.

Re: Working with *.nwctxt files
Reply #43
It was a bit of a surprise when I opened a .nwctxt file, worked on it, saved... and it was saved as .nwctxt.
But a pleasant surprise. Currently I am working on a four score and ten scores (honestly!) and if I decide that something about the layout has to be changed in all files, I can do that using my editor, without having to re-export all (before editing) and saving them all again!

In short, I think it is great, thanks!

Re: Working with *.nwctxt files
Reply #44
Most programs that open different file types, if you do a "File Save As" , will maintain the original file type as default.
NoteWorthy doesn't do this with nwctxt. If you open a nwctxt file and do a "File Save as", the file type will be nwc not nwctxt.

Thanks for the report. This will be fixed in NWC 2.5.4.

Re: Working with *.nwctxt files
Reply #45
Thanks for the report. This will be fixed in NWC 2.5.4.

Confirmed fixed in 2.5.4 beta 3
Rich.

Re: Working with *.nwctxt files
Reply #46
Flashback!  I remember a friend had a small clipper and was hoping to make a few bucks converting 5 1/4 floppies to two sided mode by adding a notch.  That way they could be read upside down. 

If I recall correctly, that is...


I know this is a very old post, but my son and some of his friends did exactly that on their Commodore 64's.

Re: Working with *.nwctxt files
Reply #47
I just downloaded and printed the sample given by Rick G. back several years ago.  I'll use it as a reference tool.  If I get the hang of it, I should find it very useful (as an old computer programmer!).

Re: Working with *.nwctxt files
Reply #48
The original post in this topic has been updated for version 2.75.

Re: Working with *.nwctxt files
Reply #49
Does the .nwctxt format follow an established meta format?