Skip to main content

Show Posts

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

Messages - Opagust

1
User Tools / Re: MUSICXML TO NOTEWORTHY CONVERTER
Hi Rich,

As I said, I'm working on the next version.

I think it's not too difficult to include a 'look ahead' and search for a divisions element further in a staff, before starting to  process the first measure.
That should solve the problem.

I hope to publish the next version soon.

In the meanwhile, if you have the same problem in another xml file:
- Open the file in a text editor and look for the first occurence of  '<attributes>
- Before that you'll find a preceding line with '<measure number =...'
- If it's the same error situation, that measure number will be > 1.
- Then copy all the lines from '<attributes>' to '</attributes>', as in your file:
Code: [Select · Download]
	
<attributes>
<divisions>2</divisions>
<key>
<fifths>-4</fifths>
</key>
<clef>
<sign>G</sign>
<line>2</line>
</clef>
</attributes>
- Now look higher in the file for a line with '<measure number="1">'
- Paste the copied lines after that line
- Save the file with another name.
2
User Tools / Re: MUSICXML TO NOTEWORTHY CONVERTER
Hi Richard,

The error occurs in the first measure, when trying to determine the length of the first element. This is done  by means of the <duration> element.

Excerpts from the musicmxl reference:
<duration>:
"Duration is a positive number specified in division units."

<divisions>
"Parent element: <attributes>
Musical notation duration is commonly represented as fractions. The <divisions> element indicates how many divisions per quarter note are used to indicate a note's duration. "

<attributes>
"The <attributes> element contains musical information that typically changes on measure boundaries. This includes key and time signatures, clefs, transpositions, and staving."

So, in order to determine the length of a note or rest, the division unit must be known, which is part of a <attributes> element.
In your file, the first <attributes> element occurs for the first time in measure 6, so the division unit is not known before that.

When I moved the <attributes> element to the start of measure 1 in your xml file, the error didn't occur anymore.
I'll send you a personal mail with the corrected xml file and the resulting nwctxt file (happy tune, by the way).
4
User Tools / Re: MUSICXML TO NOTEWORTHY CONVERTER
Hi, Heinrich.
Just a short "still working on it" message on my behalf:
I'm working on version 1.1 of MWML2NWC, in which the conversion is done in 3 phases: analyse, setup and convert.
In the setup phase a window with 2 tabs is shown, that enables the user to setup the Title Page layout and the staff properties, see attachments.
I will add a checkbox for system and page breaks.
Any further suggestions from your side are very welcome.

I also added a 'Loggings' and 'Warnings' frame that are filled during the conversion, see third attachment.

6
User Tools / Re: MUSICXML TO NOTEWORTHY CONVERTER
It might be that a more useful process is actually: Remove everything except notes and rests (probably with a user tool), create a correct "naked score" from these; and finally add all the "small things" (and not so small ones) - either manually or, at a few places, by copying something over from the "ORM-ed" score.

The whole enterprise is certainly not for the faint-hearted, at least with this Audiveris+Converter pipeline; where the main "problem", but also "heavy-weight-lifter" is Audiveris: What it can and cannot do essentially defines the result. So be it. I'll see what I learn ...

Indeed, I agree that the output of Audiveris is the main problem here.
Maybe I can add a window to MXML2NWC where you can select/deselect the item types to convert ?

As for the sometimes missed notes or dots: In audiveris the measures that are too short after the transcription are colored pink, so that should be a help to locate them quickly in the nwctxt file.
7
User Tools / Re: MUSICXML TO NOTEWORTHY CONVERTER
Kospoth's symphony worked nicely* for the 1st, 2nd and 3rd movement. The mxls produced by Audiveris already have a fair share of problems (however, some are from untypical notations in the score), but the result is quite usable. However, the 4th movement stumps MXML2NWC 1.0.2 (I hope - I just installed it over the previous one; does the installer replace it? ... it would be nice if there were a version info somewhere), with another Python error. The zipped .mxls are in the attachment (however, due to renaming, the XMLs stored inside the mxls do have strange names from my scanning operation - I hope this is fine).

* However, there are a few things where I stumble
a) The first staff of each NWCTXT contains "a million" PgTxts at  the start (see NWCTXT result of second movement in the attachment).
b) When opening, the files require a font "Default" which I apparently don't have.
c) Opening another .mxl file often (always?) crashes MXML2NWC later. You can try it with the symphony: First, convert and save movement 1; then, press "SELECT ..." again and open movement 3. "CONVERT" will result in an error - see attachment.

H.M.

The new version (1.0.3) is available on https://www.opagust.be/?q=content/mxml2nwc

  • Yes, the installer replaces the previous one.
    The window title bar now shows the version number.
  • I fixed the errors. The first one (list index out of scope) was a real bug. The second one was a beam property 'backward hook' that NWC can't digest. Unknown beam properties will now be ignored.
  • The "million" PgTxts are derived from the <credit-words> tags in the xml file. Audiveris seems to create these tags for everything that it can't recognize as musical symbol? Example:
     "<credit-words default-x="1686" default-y="11" font-family="sans-serif" font-size="198" font-weight="bold">—-—wv—~'—-</credit-words>"
  • The font 'Default' is derived from the tag "<lyric-font font-family="Default" font-size="10"></lyric-font>". I now replace it with 'Times New Roman'.
  • Opening an converting more than one file in the same run can cause some problems. Probable cause is that some variables are not properly restored. I found it to much effort to spit this out, so now I keep the select button disabled after opening a file. So you'll have to exit and restart the program, which seems to me not a big effort to ask for.
  • Your fourth movement prodced a lot of popups for invalid chords (caused by identical chord members in one chord object). So I replaced the multiple popups by showing these warnings in one extra window, tat doesn't halt the execution.
8
User Tools / Re: MUSICXML TO NOTEWORTHY CONVERTER
b) In the attachment are (in a single .zip) two more .mxl files produced by Audiveris. The input for this was a scan of Ruth Elaine Schram's arrangement of "Go, Tell It On The Mountain" (see http://www.hmmueller.de/Scans/RuthSchram_GoTellItOnTheMountain.pdf - "permanently out of print", according to the publisher). I'd like to create a rehearsal voice/mp3 for a soloist singer from this via NWC. Audiveris produces two "movements", where the latter is the separate coda starting on the last page but one. Giving the first file to MXML2NWC 1.0.2 unfortunately creates another Python stacktrace ... Maybe you could look into this.

H.M.

The Python stacktrace was due to the fact that Audiveris interpreted a chord symbol as a lyric syllable in lyric line 3 on a staff without  lyric lines 1 nor 2.
So in the next version of MXML2NWC  (coming soon, I hope), I will ignore lyrics assigned to lyric lines that  are 'out of order'.

P.S. I managed to download and install Audiveris. I used your pdf as input and I saw a lot of pink areas after transcription. I think these are the places where Audiveris had some difficulties to correctly 'read' the score and as a consequence may lead to incorrect areas  in the resulting NWCTXT file after running MXML2NWC.
9
User Tools / Re: MUSICXML TO NOTEWORTHY CONVERTER
The new version (1.0.2) is available on https://www.opagust.be/?q=content/mxml2nwc

Quote
I zipped the MXL, because the forum does not accept .mxl files. Opening the .mxl with MXML2NWC does not work - it seems that it does not see that this is a zipped file which needs unzipping (and yes, MXML2NWC does not accept .mxl as a standard extension for files it wants to open, so this is an "advertised feature"). Still, I have the (small) feature request that .mxl files are accepted, i.e. unzipped and then worked on the XML.
A zipped *.mxl file is now accepted as input. An unzipped *.xml file will be generated and processed. The *.xml file will be saved  in the same directory as the input file.

Quote
Manual unzipping of the .mxl yielded an XML file, which MXML2NWC actually digested, with a host of messages which I ignored (and did not read; and maybe would not have understood).
When I unzipped your first file and used it as input for MXML2NWC, I had 2 popups with an error message 'Invalid Chord Error' with techincal information, that I happened to understand. Twice it concerned a generated nwctxt line that was not a legal NWCTXT object.
With the information in the popups I could find the cause in the input file: in 2 places a chord with two identical chord elements.
In this new version I replaced the error popups with information (see attachment) wich is hopefully more readable. It contains the staff name and measure number, the erroneous nwctxt line and the one that was generated instead.

Quote
I also opened the .mxl file coming out of Audiveris in Musescore. Musescore complained that this was not a valid MusicXML file, but after pressing "Ignore" it also gobbled it up and created a score, which I again exported as MusicXML ---> see "20210922-ch+p.Rutter_DormiJesu_ReexportedFromMusescore.mxl.zip. Once more, I had to manually unpack the .mxl. Now, when I gave this to MXML2NWC, it ran into some Pythonian error.
The Pythonian error when using your second, Musescore, file,- was again due to the presence of a decimal number where my program expected an integer. I fixed that and also a few other places where I thought a decimal number could be admitted. After running this new MXML2NWC version on your 2nd file, I got the same 2 popups as for your 1st file, so my conclusion is that the reason is due to the output of Audiveris.
10
User Tools / Re: MUSICXML TO NOTEWORTHY CONVERTER
Accepting (unzipped) .mxl files will be a piece of (apple) cake.

I will soon download, unzip and run your files to see what messages and error they will generate.
And hopefully I will be able to explain the messages and correct the error.
11
User Tools / Re: MUSICXML TO NOTEWORTHY CONVERTER
  • Thanks for your positive respons.
    Because I never found a unambiguous syntax description for MXML files, I had to develop this tool with trial and error, testing with files from different sources.
    I did not know about XML files generated by Capella before, so I'm glad it worked out so well.
  • As to the 'unknown publisher' fact: My website has no commercial intention. The majority of the downloads are NWC related, and I suppose the NWC users 'know' me enough from the forum. The other downloads are intented for my personal friends and family (but  not exclusively of course).  So if someone cancels the install process because I'm unkwown, so be it.
  • Removing the 1.0 version before I got a positive respons seemed a little premature.
15
Tips & Tricks / Re: Entering lyrics efficiently
Apart from H.M. approach,  I'm used to enter the lyrics first, before notating the staff.
The syllables then show themselves one after another with ev'ry note you enter and you can quickly check their correctness..
17
General Discussion / Re: Percussion Staff Bar Lines
Special endings are by default only printed on the top staff. So their position in the top staff declares what is printed.
Try this: On your first staff, set 'Show on printed' in the Visibility tab to 'Never', in Percussion Staff to 'Always'.
23
User Tools / Re: MUSICXML TO NOTEWORTHY CONVERTER
I'm getting this error when I try to run it.

(It took me a while to find the program. It would be nice if it gave the option of creating a shortcut on my desktop :) )

Hi Mike,

1) About the error:

One of the first things the tool does is looking into the Windows registry to find the folder for the object plugins (wich you can see in NWC via 'Tools/Options', tab 'Folders').
I'm searching with register key ' \HKEY_CURRENT_USER\SOFTWARE\NoteWorthy Software\NoteWorthy Composer 2\Folders' for an entry 'UserPlugins'. That always worked on my (Windows 10) computer. I don't know why it doesn't work on yours, but the error can easily be intercepted.

When the tool inserts an user object and the corresponding plugin is not found in the plugin folder, a popup is shown, saying "You need to download following object plugin: ...".
But the purpose is only to inform the user of a missing plugin, the user object itself will be present in the output file anyway.
So now I've changed the program to intercept that error and go on.
In that case you can get popups 'You need to download...' for one or more user objects, even if you already downloaded it.

2)About  finding the program:
During installation the target folder is shown and can be modified as well. But it can be easily overlooked, so I will explicitly state that.

3) About a desktop shortcut:
I've changed the installation procedure: a desktop shortcut 'MXMX2NWC' will be created. Unfortunately I couldn't find out how to include it as an option,so it will always be created.

Go to  https://www.opagust.be/?q=content/mxml2nwc to download a new Windows installer for the new version of the program.

I'm looking forward for your feedback.

Gust
25
User Tools / MUSICXML TO NOTEWORTHY CONVERTER
This tool convert musicxml files to nwctxt files

- The input file must be a score-partwise musicxml file.
- The output file is a nwctxt file.
- Different voices are placed on different (layered) staves.
- For some features that aren't supported in NWC itself, a 'user object' is used. You may see a popup that alerts you to download
a missing plugin.

- Known issues:
  - Features that aren't supported in NWC and for which no user object exists or for which I can't determine the correct parameters,
  will give erroneous results, e.g. tuples other than triples, cross-staff beams and slurs.
  - Because of the layering, some notes, their accidentals or dots may overlap with each other. This can be fixed by setting
  the properties 'Extra Accidental Spacing', 'Extra Note Spacing' and/or 'Extra Dot Spacing'.
  - If you encounter other issues, please let me know.

This is a stand alone Windows program, not a classic nwc user tool, so you can't invoke it from within NWC.
You can download a Windows installer program in  https://www.opagust.be/?q=content/mxml2nwc.


-Versions:
- 15/09/2021: 1.0: Original version
- 02/11/2021: 1.0.1: bug fixes

INSTALLATION:
    Download and run the installation file.
    During installation, the target folder is shown and can be modified.
    After installation, a shortcut 'MXML2NWC' will be created on your desktop.
30
Object Plugins / Re: Markup.rg
Hey Opagust...  Umm, what's it supposed to do?  If it's put the numbers 1 and 2 to the left of the staff then it didn't work for me...

I did some more experiments.
It seems that, when the staff has no bracket nor brace, the 1 and 2 ar not visible in edit mode, nor in viewer mode.
However, they do appear in print preview.

But this has of course nothing to do with the markup object itself, but rather with the way the editor sets its margins.
31
Object Plugins / Re: Markup.rg
Very useful, H.M.

My first attempt, after some tuning:

Code: [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|User|Markup.rg|Pos:2|Class:StaffSig|Markup:"/m0.7/x-2 1/y-7/x-1.5 2"
|Clef|Type:Treble|OctaveShift:Octave Down|Visibility:Always
!NoteWorthyComposerClip-End
32
Object Plugins / Re: Slur.ms (2.1)
OK, I can live with that.

The reason I asked is that I'm writing a tool to convert MusxXML files to NWC. 'Nested' slurs are not provided in NWC itself, but can be done with your user object. So I planned to use that object for every slur, and then I ran into that problem while testing. So now I'm going to make the necessary adjustments to only use slur.ms in case of a slur within a slur. The chance that such a slur will cross a bar and a system break at the same time is very small, I think.

Keep up the good work!
34
General Discussion / Re: Chord/measure length problem
Thanks, Bart, for your comment.

After a good night's sleep and a pleasant saturday with my grandchildren, I decided to redesign my tool to create layered staves.

I think the trigger for using layers is  the presence of different 'voice' tags in the xml file. Since I read the file into a graph-like object, I can inspect it to search for these tags and create the layered staves, before starting the actual processing.

So now I'm gonna take a safety copy first and then see how far I will get with this new insight. I may or may not work, and only by trying I will found out...
 
35
General Discussion / Re: Chord/measure length problem
Thanks for your answers, Richard and Melismata.

And I found the explanation in the NWC help file :

Quote
Lastly, it is important to understand that only the smaller duration item is actually used in aligning notes on a score. When creating split-stem chords, the notes in the larger duration are ignored when formatting and alignment is performed with respect to other notes above and around this item
.

So that solved the problem of the reason for the measure misalignment.

BUT!

That leaves me with another problem, because my example was the result of the user tool I'm working on, to convert MusicXML files to nwctxt.

You find in attachment an extraction of the original musicxml file, i.e. the part that concerns the particular measure.
I' ll try to explain the elements that define the notes and their place in the measure:
- Some elements have a 'voice 1' tag, some have 'voice 2'.
- The voice 1 elements are a 'forward' of a quarter, followed by a quarter dotted B and eighth C. So this adds up to 3 quarters.
- Then there's a 'backup' tag of 3 quarters, which brings us back to the start of the measure.
- Then follow the voice 2 elements: a chord quarter D and quarter F, followed by a quarter F and quarter G. This also ads up to 3 quarters.

This seems totally logical to me: because of the 'forward' tag, the dotted quarter of voice 1 starts at the second beat and the eighth note at the second half of beat 3.
The empty place at the start is then filled with a quarter chord for voice 2.
Now, according to the documentation of MusicXML, a forward tag can repressent an invisible rest, which, if applied here, would result in a restchord at the start of the measure, but it would be a quarter rest to be in accordance to the forward tag. But for NWC a restchord with an eighth rest is needed at the third beat. I don't see how to insert this behaviour in my tool.

So the fact that NWC only conciders the shortest length for chords with 2 different lengts, is in contradiction with the logic of MusicXML(which seems more logical to me).

Conclusion: I know now how it should be done in NWC, but I don't know how to automate it n my tool.
36
General Discussion / Chord/measure length problem
When you compare the extracts of the original pdf_score and the resulting nwc-file (see attachments), you notice that the measure in the second staff of the nwc-file is too long.

What's going wrong?

Code: [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Bar|SysBreak:Y
|Chord|Dur:4th|Pos:-5,-3|Opts:Stem=Up,Lyric=Never
|Chord|Dur:4th,Slur|Pos:-3|Opts:Stem=Down,Slur=Upward,Lyric=Never|Dur2:4th,Dotted|Pos2:0
|Note|Dur:4th,Slur|Pos:-2|Opts:Stem=Down,Slur=Upward,Lyric=Never
|Note|Dur:8th,Slur|Pos:1|Opts:Stem=Up,Lyric=Never
!NoteWorthyComposerClip-End
37
User Tools / Re: Test Release: nwc2musicxml
I started to write a tool for converting musicxml to nwctxt.
Until a month ago I never opened a musicxml file. But I found the documentation on https://www.musicxml.com/. There's a tutorial, but it doesn't cover everything, and the rest of the documantation isn't very easy to master. Another great help was lasonic's tool.  So I could study the xml-files from several of my own nwctxt files, which are all choral scores.
My next step will be to download some bigger files from the scriptorium and run lactoniscs tool on them, so I can compare the output of my tool with the original nwc-file.

But after that I'd like to test with 'external' xml files. So If you could send me such files, with their corresponding pdf, I would be very grateful. You can include them as a reply to this post, or send a personal message.


38
User Tools / Search & Modify
A new tool 'Search & Modify' is added to the multitool PYNWC: https://forum.noteworthycomposer.com/?topic=10042.0 (version 1.4)

With this tool you can search a score for all objects of a given type that have some given properties.
Next you can:
    - Inspect where the occur (staff, measure number), with their nwctxt presentation.
    - Choose an action: 'Modify' or 'Delete.
    - For the action 'Modify':
        - Indicate which property(ies) you want to modify.
        - Fill in the new value(s) in a popup, that resembles the 'Notation Properties' window in NWC for the given object type.
Remarks:
    - At every moment you can leave to undo your choices or modifications.
    - On the main window, every input field is a combo box from you can select the appropriate value.
    Only those values that are of interest are presented.
    For instance: If you specified 'Clef' as object type and all clefs have the same value for 'Octave Shift',
    that property is not present in the 'condition' lines.
    .
Detailed description:
    The main window consists of following parts, from top to bottom:
        - The frame 'Make your choices' to specify:
            - Where to search (selection, active staff, all staves or visible staves).
            - The object type to search for.
        - The 'Conditions' frame where you can set up to 6 search criteria.
          If you specify more than 1 condition for the same property, then all the objects are selected that satisfy any of these criteria.
          Criteria for different properties must be satisfied separately.
          At the bottom of the conditions frame you can see a verbose description of your selection criteria.
          It's updated after every completed condition line.
        - A status line, that indicates:
            - The object type to search for.
            - The number of objects found (dynamically updated).
            - A button 'Show'.
                When clicked a popup window will show the location and nwctxt presentation of the objects that satisfy the criteria.
        - The 'Action' line, with choices 'Modify' or 'Delete'
        - The 'Modifications' frame, where (if your action = 'Modify') you have to specify at least 1 and at most 4 properties.
            Only those properties can be specified that are present in the 'Notation Properties' window for the object type.
            e.g.: for a note you can't change the position, duration, accidental, staccato,....
        - Three buttons:
            - The action button. The caption will indicate the action you chose.
                If the action is 'Modify', a popup is presented that resembles the 'Notation Properties' window of NWC,
                in which the fields contain the values of the first object found.
                Only the fields for the properties you selected in the modification frame will be enabled.
                After you entered your new values, these will be set in each found object.
                All the other properties of each object remain unchanged.
            - The 'Reset' button. When clicked, every input is cleared so you can restart your input.
            - Finally a 'Cancel' button to leave without any action taken.

39
User Tools / Re: Multitool PYNWC
Version 1.4: New tool added : 'Seach & Modify'

With this tool you can search a score for all objects of a given type that have some given properties.
Next you can:
    - Inspect where the occur (staff, measure number), with their nwctxt presentation.
    - Choose an action: 'Modify' or 'Delete.
    - For the action 'Modify':
        - Indicate which property(ies) you want to modify.
        - Fill in the new value(s) in a popup, that resembles the 'Notation Properties' window in NWC for the given object type.
Remarks:
    - At every moment you can leave to undo your choices or modifications.
    - On the main window, every input field is a combo box from you can select the appropriate value.
    Only those values that are of interest are presented.
    For instance: If you specified 'Clef' as object type and all clefs have the same value for 'Octave Shift',
    that property is not present in the 'condition' lines.
    .
Detailed description:
    The main window consists of following parts, from top to bottom:
        - The frame 'Make your choices' to specify:
            - Where to search (selection, active staff, all staves or visible staves).
            - The object type to search for.
        - The 'Conditions' frame where you can set up to 6 search criteria.
          If you specify more than 1 condition for the same property, then all the objects are selected that satisfy any of these criteria.
          Criteria for different properties must be satisfied separately.
          At the bottom of the conditions frame you can see a verbose description of your selection criteria.
          It's updated after every completed condition line.
        - A status line, that indicates:
            - The object type to search for.
            - The number of objects found (dynamically updated).
            - A button 'Show'.
                When clicked a popup window will show the location and nwctxt presentation of the objects that satisfy the criteria.
        - The 'Action' line, with choices 'Modify' or 'Delete'
        - The 'Modifications' frame, where (if your action = 'Modify') you have to specify at least 1 and at most 4 properties.
            Only those properties can be specified that are present in the 'Notation Properties' window for the object type.
            e.g.: for a note you can't change the position, duration, accidental, staccato,....
        - Three buttons:
            - The action button. The caption will indicate the action you chose.
                If the action is 'Modify', a popup is presented that resembles the 'Notation Properties' window of NWC,
                in which the fields contain the values of the first object found.
                Only the fields for the properties you selected in the modification frame will be enabled.
                After you entered your new values, these will be set in each found object.
                All the other properties of each object remain unchanged.
            - The 'Reset' button. When clicked, every input is cleared so you can restart your input.
            - Finally a 'Cancel' button to leave without any action taken.

40
General Discussion / Re: Selectors
This is a selector I made years ago.
It contains all items to control the flow.
Since the title contains '(&f), it pops up when you press the 'f' key ().
The selector files are stored in the config folder with names '100.nwc' to '10f.nwc'
If you want to download this example, make sure not to choose a name that already contains another selector.


Code: [Select · Download]
!NoteWorthyComposer(2.751)
|Editor|ActiveStaff:24|CaretIndex:2|CaretPos:2
|SongInfo|Title:"Flow Selector (&f)"|Author:""|Lyricist:""|Copyright1:""|Copyright2:""
|PgSetup|StaffSize:16|Zoom:5|TitlePage:Y|JustifyVertically:Y|PrintSystemSepMark:N|ExtendLastSystem:N|DurationPadding:Y|PageNumbers:0|StaffLabels:None|BarNumbers:None|StartingBar:1
|Font|Style:StaffItalic|Typeface:"Times New Roman"|Size:10|Bold:Y|Italic:Y|CharSet:0
|Font|Style:StaffBold|Typeface:"Times New Roman"|Size:8|Bold:Y|Italic:N|CharSet:0
|Font|Style:StaffLyric|Typeface:"Times New Roman"|Size:7|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
|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
|PgMargins|Left:1.27|Top:1.27|Right:1.27|Bottom:1.27|Mirror:N
|AddStaff|Name:"_"|Label:"glyph"|Group:"_"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:7|BoundaryBottom:7|Lines:1|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
|Spacer|Width:50
|Bar|Style:MasterRepeatClose|Visibility:Always
|Text|Text:"(f)"|Font:StaffItalic|Pos:-3
|Spacer|Width:0
|AddStaff|Name:"Single"|Label:"Single"|Group:"1"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:6|BoundaryBottom:6|Lines:5|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
|Bar|Visibility:Always
|AddStaff|Name:"Double"|Label:"Double"|Group:"1"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:6|BoundaryBottom:6|Lines:5|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
|Bar|Style:Double
|AddStaff|Name:"Section Open"|Label:"Section Open"|Group:"1"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:6|BoundaryBottom:6|Lines:5|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
|Bar|Style:SectionOpen
|AddStaff|Name:"Section Close"|Label:"Section Close"|Group:"1"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:6|BoundaryBottom:6|Lines:5|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
|Bar|Style:SectionClose
|AddStaff|Name:"Master Repeat Open"|Label:"Master Repeat Open(&r)"|Group:"1"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:6|BoundaryBottom:6|Lines:5|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
|Bar|Style:MasterRepeatOpen
|AddStaff|Name:"Master Repeat Close"|Label:"Master Repeat Close"|Group:"1"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:6|BoundaryBottom:6|Lines:5|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
|Bar|Style:MasterRepeatClose
|AddStaff|Name:"Local Repeat Open"|Label:"Local Repeat Open"|Group:"1"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:6|BoundaryBottom:6|Lines:5|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
|Bar|Style:LocalRepeatOpen
|AddStaff|Name:"Local Repeat Close"|Label:"Local Repeat Close"|Group:"1"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:10|BoundaryBottom:6|Lines:5|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
|Bar|Style:LocalRepeatClose|Repeat:2
|AddStaff|Name:"Broken Single"|Label:"Broken Single"|Group:"1"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:6|BoundaryBottom:6|Lines:5|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
|Bar|Style:BrokenSingle
|AddStaff|Name:"Broken Double"|Label:"Broken Double"|Group:"1"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:6|BoundaryBottom:6|Lines:5|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
|Bar|Style:BrokenDouble
|AddStaff|Name:"1st Ending"|Label:"1st Ending"|Group:"Spcl"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:5|BoundaryBottom:5|Lines:0|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
|Ending|Endings:1
|AddStaff|Name:"2nd Ending"|Label:"2nd Ending"|Group:"Spcl"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:5|BoundaryBottom:5|Lines:0|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
|Ending|Endings:2
|AddStaff|Name:"3rd Ending"|Label:"3rd Ending"|Group:"Spcl"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:5|BoundaryBottom:5|Lines:0|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
|Ending|Endings:3
|AddStaff|Name:"4th Ending"|Label:"4th Ending"|Group:"Spcl"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:5|BoundaryBottom:5|Lines:0|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
|Ending|Endings:4
|AddStaff|Name:"Continue Ending"|Label:"Continue Ending"|Group:"Spcl"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:5|BoundaryBottom:5|Lines:0|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
|Ending
|AddStaff|Name:"Conclude Ending"|Label:"Conclude Ending"|Group:"Spcl"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:5|BoundaryBottom:5|Lines:0|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
|Ending|ClosedBracket:Y
|AddStaff|Name:"Segno"|Label:"Segno"|Group:"Flows"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:5|BoundaryBottom:5|Lines:0|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:2
|StaffInstrument|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Flow|Style:Segno|Pos:0|Wide:Y|Color:1|Visibility:Always
|AddStaff|Name:"D.S. al Coda"|Label:"D.S. al Coda"|Group:"Flows"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:5|BoundaryBottom:5|Lines:0|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:3
|StaffInstrument|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Flow|Style:DSalCoda|Pos:0|Wide:Y|Color:1|Visibility:Always
|AddStaff|Name:"To Coda"|Label:"To Coda"|Group:"Flows"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:5|BoundaryBottom:5|Lines:0|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:4
|StaffInstrument|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Flow|Style:ToCoda|Pos:0|Wide:Y|Color:1|Visibility:Always
|AddStaff|Name:"Coda"|Label:"Coda"|Group:"Flows"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:5|BoundaryBottom:5|Lines:0|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:5
|StaffInstrument|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Flow|Style:Coda|Pos:0|Wide:Y|Color:1|Visibility:Always
|AddStaff|Name:"Fine"|Label:"Fine"|Group:"Flows"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:5|BoundaryBottom:5|Lines:0|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:5
|StaffInstrument|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Flow|Style:Fine|Pos:0|Wide:Y|Color:1|Visibility:Always
|AddStaff|Name:"Da Capo"|Label:"Da capo"|Group:"Flows"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:5|BoundaryBottom:5|Lines:0|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:5
|StaffInstrument|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Flow|Style:DaCapo|Pos:0|Wide:Y|Color:1|Visibility:Always
|AddStaff|Name:"D.C. al Coda"|Label:"D.C. al Coda"|Group:"Flows"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:5|BoundaryBottom:5|Lines:0|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:5
|StaffInstrument|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Flow|Style:DCalCoda|Pos:-1|Wide:Y|Color:1|Visibility:Always
|AddStaff|Name:"D.C. al Fine"|Label:"D.C. al Fine"|Group:"Flows"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:5|BoundaryBottom:5|Lines:0|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:5
|StaffInstrument|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Flow|Style:DCalFine|Pos:1|Wide:Y|Color:1|Visibility:Always
|AddStaff|Name:"Dal Segno"|Label:"Dal Segno"|Group:"Flows"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:5|BoundaryBottom:5|Lines:0|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:5
|StaffInstrument|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Flow|Style:DalSegno|Pos:-1|Wide:Y|Color:1|Visibility:Always
|AddStaff|Name:"D.S. al  Fine"|Label:"D.S. al  Fine"|Group:"Flows"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:5|BoundaryBottom:5|Lines:0|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:5
|StaffInstrument|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Flow|Style:DSalFine|Pos:1|Wide:Y|Color:1|Visibility:Always
!NoteWorthyComposer-End
41
User Tools / Re: Multitool PYNWC
Version 1.3, new tools added:
- Configure new song
- Show collapsible sections

Tool 'Configure new song':
Run this tool after you created and saved a new file from a template, and before you start changing staff labels, channels,
..., removing some staves, inserting tempo, key and time signatures, dynamics, copying and pasting...
All that can be done in one go, with this tool.

On the main dialog window, you see on the left a list of all the staves with attributes name, label, group, channel, volume, stereo pan, muted and visible.
Each of these attributes is changeable. In front of each staff line is a checked check box. Unchecking a box will remove the corresponding staff from the file (1).

Via the buttons at the right you can configure the properties of objects you want to be inserted.
Clicking one of them will open a dialog window, similar to the correspondent 'Notation Properties' window of NWC.
They have 4 buttons at the right; 'Create', 'Modify', 'Remove' and 'Cancel'.
    - With 'Create you schedule the insertion of the correspondent object.
    - With 'Modify' you can change the properties of a scheduled object.
    - With 'Remove' you undo a scheduled insertion.
    - With 'Cancel' you quit the window without any resulting action.
At the bottom of the main window is indicated which objects are scheduled for insertion.

When clicking the 'OK' button at the bottom of the main dialog window (2):
    - the staff changes will be carried out (3);
    - the unchecked staves will be removed;
    - the scheduled objects will be created and inserted in every staff, after the clef;

(1) Hint: You may want to use a template with all the staves that you'll ever be needing, and uncheck those that  you
don't want to be present in the new file.

(2) As in every other tool, the changes will not be saved until after your confirmation.

(3) As a next step you may want to run the tool 'Set staff properties' to carry out within one dialog window all
other needed staff changes (general, visual, midi, instrument, default dynamic velocities).

Tool 'Show collapsible sections':
In NWC you can mark collapsible sections with the boundary objects 'Start a collapsible section' and 'Cancel/forbid collapse from this bar'.
But then it's very hard to see them in the editor, you'll have to use 'Print preview' to see the effect.

This tool is intended to solve that problem by coloring the notes, chords and rests of a collapsible section with a color of your choice.
After that it's easy to locate these sections in the editor.

Remark: You still have to do a print preview to see the real effect, since collapsing will only start and end at system breaks.
But at least now you know in what part of your score they occur.

The tool show a window consisting of 4 frames:
    - 'Collapsible sections': Shows the staves with collapsible sections and the measures from - to.
    - 'Choose Collapse Color'
    - 'Colors in collapsible sections': Shows which colors are now present in the collapsible sections for the notes, chords and rests.
    - 'Options': If there's both 'Default' and at least 1 'Highlight' color in the collapsible sections, you can indicate:
        - Change the color of all notes/chords/rests in the collapsible sections.
        - Keep the non default color(s) unchanged.

You can click 'OK' to do the changes, or 'Cancel' to leave without changing anything.
44
General Discussion / Where are the colors from Tools/Options/Color Tab stored?
Hello,
Via 'Tools/Options/Color Tab' you can change the colors. But I wonder: where are the stored?
I have written some tools where one can set the color of an object or staff, but I can't show the exact color next to the names ('Highlight 1', ...) in the dialog box.
If I knew where I could find the color values from the Tool/Options, I could present a more user friendly dialog box.
46
User Tools / Audit score
A new tool 'Audit score' is added to the multitool PYNWC: https://forum.noteworthycomposer.com/?topic=10042.0 (version 1.3)

Before running this tool, be sure to select in the tool parameter window the audit you want to be performed.
Also specify the process mode: all staves, visible staves, active staff or the selection.
Depending on the audit you choose, additional options will be shown. See below for details per audit.

- Audit accidentals:
    Via the tool parameters you can select one of this options for handling natural accidentals:

        - Leave naturals unchanged
        - Make courtesy accidentals
        - Remove accidentals

    This audit acts on any unnecessary accidentals assigned to notes.
    It compares a note with an accidental with the 'running' key signature, which is determined by the previous key
    signature + the preceding accidentals in the measure.
    If the accidental matches the running signature, and it's not a courtesy accidental, it will be removed if it's
    not a natural.
    For naturals the action taken depends on the option in the tool parameters.

- Audit bar lines:
    Audits the bar line alignment.
    In the tool parameters you can indicate whether you want to admit a short first measure (anacrusis).
    If the audit finds a standard bar line that is not aligned properly, it is removed and a new bar line is added in
    the proper place. As a result, notes and chords can be split and tied.

    * Measures with a special ending that is not at the beginning of the measure, are not audited.

- Audit enharmonic spelling:
    Replaces notes with their enharmonic equivalents.
    There are several options you can choose from (see below), via the tool parameters.
    If your process mode = 'Process selection', and an enharmonic change is to be done on a note, the following notes
    in the same measure or which are tied to the changed note, are investigated to determine if they need to be changed
    also. If affirmative, they will be added to the selection.

    Available options:
     - 'No sharps': All sharps are replaced.
     - 'No flats': All flats are replaced.
     - 'Reverse sharps/flats'.
     - 'No doubles': All double sharps and double flats are replaced.
     - 'Preferably naturals': If a enharmonic equivalent without accidental is possible, it's used.
     - 'No forced naturals':
        If a natural accidental is caused by an preceding note with an accidental, this preceding note is replaced by
        its enharmonic equivalent.
     - 'Common preferred accidentals': A# -> Bb, Db -> C#, D# -> Eb, Gb -> F#, Ab -> G#.
     - 'Sharps up, flats down':
        If the next note is a tone or a semitone higher, a sharp is used; if it is a tone or a semitone lower, a flat is
        used (not applicable to chords and restchords).
     - 'Custom changes': You can choose one or more items from a list of all possible enharmonic changes.

- Audit note length and beaming:
    Splits notes and group beamings, according to the time signatures.
    Upon start, a window is shown with the default groupings for note length and beaming, for each found time signature.
    You can accept or modify them.

    The specifications mainly come from @hmmueler
    (see https://forum.noteworthycomposer.com/?topic=10050.msg72212#msg72212).

    - Note, chord and rest lengths are distributed in each measure according to standard rules(see e.g. Elaine Gould, Behind Bars, pp. 160-164, 166-169, 171).

        * Rest chords, chords with different durations, triplets, or notes with a 'Staccato', 'Staccatissimo', 'Accent' or 'Marcato' articulations will not be split.

    - Beams connect notes and chords according to standard rules (see e.g. Elaine Gould, Behind Bars, pp. 153-155).

    - The main and secondary beat patterns are derived from the currently active time signature.

    - It 's possible to specify alternative beat patterns for a time signature, both for the note lengths and beams.

    - A long note that starts at a beat and spans over several beats, will not be split.

    - If the first measure of the score or selection is a short measure, it is treated as the right part of the full beat pattern.

    - When a special ending is found that's not at the beginning of the measure, the remaining of the measure is not audited.

    - A measure that is longer than the current time signature indicates causes an error message.

 - Audit note stems:
    Removes unnecessary stem up or down attributes and resets stem directions for note beams and triplets.


47
User Tools / Re: Multitool PYNWC
    Version 1.2:

        - Redesign of the tool parameter handling (Existing configuration files become obsolete).
            - New option in the 'tool parameters' window: 'Always show this window when selecting this tool.'
            - New directory for the configuration file: '%LOCALAPPDATA%\PYNWC' (previously in the same directory as the input score).
            - New name for the configuration file: 'pynwc.cfg' (previously: 'config.txt').
       
       - Tool 'audit score' added:

Before running this tool, be sure to select in the tool parameter window the audit you want to be performed.
Also specify the process mode: all staves, visible staves, active staff or the selection.
Depending on the audit you choose, additional options will be shown. See below for details per audit.

- Audit accidentals:
    Via the tool parameters you can select one of this options for handling natural accidentals:

        - Leave naturals unchanged
        - Make courtesy accidentals
        - Remove accidentals

    This audit acts on any unnecessary accidentals assigned to notes.
    It compares a note with an accidental with the 'running' key signature, which is determined by the previous key
    signature + the preceding accidentals in the measure.
    If the accidental matches the running signature, and it's not a courtesy accidental, it will be removed if it's
    not a natural.
    For naturals the action taken depends on the option in the tool parameters.

- Audit bar lines:
    Audits the bar line alignment.
    In the tool parameters you can indicate whether you want to admit a short first measure (anacrusis).
    If the audit finds a standard bar line that is not aligned properly, it is removed and a new bar line is added in
    the proper place. As a result, notes and chords can be split and tied.

    * Measures with a special ending that is not at the beginning of the measure, are not audited.

- Audit enharmonic spelling:
    Replaces notes with their enharmonic equivalents.
    There are several options you can choose from (see below), via the tool parameters.
    If your process mode = 'Process selection', and an enharmonic change is to be done on a note, the following notes
    in the same measure or which are tied to the changed note, are investigated to determine if they need to be changed
    also. If affirmative, they will be added to the selection.

    Available options:
     - 'No sharps': All sharps are replaced.
     - 'No flats': All flats are replaced.
     - 'Reverse sharps/flats'.
     - 'No doubles': All double sharps and double flats are replaced.
     - 'Preferably naturals': If a enharmonic equivalent without accidental is possible, it's used.
     - 'No forced naturals':
        If a natural accidental is caused by an preceding note with an accidental, this preceding note is replaced by
        its enharmonic equivalent.
     - 'Common preferred accidentals': A# -> Bb, Db -> C#, D# -> Eb, Gb -> F#, Ab -> G#.
     - 'Sharps up, flats down':
        If the next note is a tone or a semitone higher, a sharp is used; if it is a tone or a semitone lower, a flat is
        used (not applicable to chords and restchords).
     - 'Custom changes': You can choose one or more items from a list of all possible enharmonic changes.

- Audit note length and beaming:
    Splits notes and group beamings, according to the time signatures.
    Upon start, a window is shown with the default groupings for note length and beaming, for each found time signature.
    You can accept or modify them.

    The specifications mainly come from @hmmueler
    (see https://forum.noteworthycomposer.com/?topic=10050.msg72212#msg72212).

    - Note, chord and rest lengths are distributed in each measure according to standard rules(see e.g. Elaine Gould, Behind Bars, pp. 160-164, 166-169, 171).

        * Rest chords, chords with different durations, triplets, or notes with a 'Staccato', 'Staccatissimo', 'Accent' or 'Marcato' articulations will not be split.

    - Beams connect notes and chords according to standard rules (see e.g. Elaine Gould, Behind Bars, pp. 153-155).

    - The main and secondary beat patterns are derived from the currently active time signature.

    - It 's possible to specify alternative beat patterns for a time signature, both for the note lengths and beams.

    - A long note that starts at a beat and spans over several beats, will not be split.

    - If the first measure of the score or selection is a short measure, it is treated as the right part of the full beat pattern.

    - When a special ending is found that's not at the beginning of the measure, the remaining of the measure is not audited.

    - A measure that is longer than the current time signature indicates causes an error message.

 - Audit note stems:
    Removes unnecessary stem up or down attributes and resets stem directions for note beams and triplets.


SEE LINK IN ORIGINAL POST