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 - hmmueller

General Discussion / Re: Hiding objects on a staff
Isn't setting "Extra Dot Spacing" to -1 (minus one) for alle notes sufficient?

Edit: Sorry, this will not remove the top beam :-( - I think there's no way to do this. The only idea I have is

Code: (nwc) [Select · Download]
|SongInfo|Title:""|Author:"<Name>"|Lyricist:""|Copyright1:"Copyright © 2021 <Name>"|Copyright2:"All Rights Reserved"
|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.2|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
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:12|BoundaryBottom:12|Lines:5|Color:Default
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:10|BoundaryBottom:10|Lines:5|Color:Default

(oops - missing clefs. Assume that the lower staff has a bass clef ;) )

General Discussion / Re: Custom Templates in NWC 1.75
Under Tools-->Options-->tab Folders, you can see the entry "Templates:". This is the directory where NWC looks for templates.
Subfolders of this directory are shown as tabs in the "Song Templates" dialog that comes up on "New...".

General Discussion / Re: any tricks for tied note decrecendo or crescendo?
You need a "multi-point controller". I have added an example; you might want "linear sweep" instead of "absolute", and it will typically - of course? - not work for piano, but only for instruments that actually can change their volume within a longer note.

The whole thing is a PITA; I have written a user object "Envelope.hmm" that dreams of a simple handling of MIDI controllers - volume being one of them.
But the plugin itself, and the problems subsequent synthesizers might have with rendering the resulting MIDI number stream, makes this more of a challenge than I'd like ...

General Discussion / Re: Why do fermatas and pedal markers only occasionally export properly?
* No, I have never had any export problem with tempo markers, and I use them extensively. However, for the last few years, I always use the following setup: (a) a separate tempo staff for the tempos, with only rests in it, which will not be printed; (b) typically XTexts for the visible tempo markers on the visible staffs. Thus, I never have two tempo markers at the same time - which will lead to random results.
What you can do, is to insert a "Breath mark" with delay 0 between the tempos - then, as far as I know, the order of the tempos will be preserved. See attached example.

* Re the fermatas, could you upload a file that has this export problem? The main problem I have with fermatas is that if you have them on multiple staves, then the delay of all of them are added up; for me, this is contraintuitive - I somehow expect the longest one to "win". Anyway, with my tempo staff approach, I now always give fermatas on the visible staves a delay of zero, and only the one on the tempo staff gets the desired delay.

* Re pedals - I don't use them, because I don't write for piano. But could you also upload a file that has this export problem?

General Discussion / Re: MIDI export to include Note_off
Oh sorry - didn't read about your specific pain. Well, I never heard of that - but there's a first for everything.

I don't know how technically savvy you are, but a typical script would look like this:

Code: [Select · Download]
midi2csv yourFile | sed 's/some regex with note_on 0/result with note_off/' | csv2midi.exe resultfile

where sed is a unix tool that is available in various Windows utilities. If this is too vague for you (which I'd suspect), I can look into a more concrete solution.

// Edit:
Ok - here is a solution that worked for a test file for me. You need the following 4 files all in the same directory:

(a) midicsv.exe and csvmidi.exe - I assume you have them both.
(b) The following VBS script in a file NoteOn0ToNoteOff.vbs:
Code: [Select · Download]
Set rxp = new RegExp
rxp.Multiline = False
rxp.Pattern = "Note_on_c, (.*), 0"
Do While Not WScript.StdIn.AtEndOfStream
  inp = WScript.StdIn.ReadLine()
  WScript.Echo rxp.Replace(inp, "Note_off_c, $1, 0")
(c) The following small batch file, e.g. as NoteOn0ToNoteOff.bat:
Code: [Select · Download]
@midicsv %1 | cscript //NoLogo NoteOn0ToNoteOff.vbs | csvmidi - %2

Now you can e.g. do
Code: [Select · Download]
NoteOn0ToNoteOff.bat Test.mid TestOff.mid
on the command line, and then TestOff.mid will be the same as Test.mid, except that Note-On-Zeros are replaced with Note-Offs.

- There is no error handling in my script, e.g. if you forget to mention one of the two files or if you specify the same filename twice.
- I think the tool does not handle non-ASCII characters (e.g. in titles or copyrights) correctly, because these are UTF-8 in the MIDI file (I think), but VBScript does not know this, or it does know it and outputs them in some other code ...

Maybe this helps as a starting point.

If someone is interested, the midicsv/csvmidi file format is documented at

General Discussion / Re: instrument setting
In MIDI, Channel 10 always is the percussion channel - it uses percussion sounds by default.
So, just select another channel in F2 (staff properties) --> Midi tab --> Channel (bottommost field).

Why does this happen? By default, NWC increments the channel number for each new staff, so your staves get channel numbers 1, 2, 3, ... For the first 9 staves (Staff, Staff-1, Staff-2, etc. up to Staff-8) , all is fine. But then - oh - comes the tenth staff (which is called Staff-9 - you can change these names, BTW! - and you should use names that are more musically inclined, e.g. S, A, T, B, Violins, etc.); and that staff gets MIDI channel 10, and there you are.

But, there is typically* no problem if multiple staves use the same MIDI channel, if the staves use the same instrument**. So, you can open F2->Midi immediately after adding a new staff (e.g. with Ctrl-A) and set its channel number e.g. to 1 for all vocals***, 2 for all strings, 3 for all piano staves, 4 for all organ staves, and so on. If you have more than 15 voices at the same time, then ... well, it gets complicated (you need "multiple virtual MIDI cables" then, says me). But even Mozarts later symphonies are below this threshold, methinks.

* Of course, there are more advanced setups, with different virtual instruments, where one needs different channel numbers. But as long as you do not want to know too much about virtual instruments or soundfonts, you dont need them, I'd say.

** I wrote nonsense before about using only one channel - sorry!

*** There is a problem if the same note is played on different staves with the same channel if the note lengths are different: Then the first ending of the same notes will truncate that note on that channel; if this happens, you ... well ... need different channels again for the staves. Back to square 1.

(This whole text got out of control. I wanted to give you a one-line answer. Then I made a mistake. And then I started explaining away. Sorry.)

General Discussion / Re: Using Soundfonts with NoteWorthy Composer
I'm using MIDI in a handful of configurations - driving a MIDI-controlled crank organ from it, composing and feeding it into Reaper (a DAW), recording MIDI streams from two keyboards, and in between using non-MIDI audio from keyboard to (physical) mixer to computer. The result, in a word: It's a nightmare. If you change anything, it won't work - or it will. No idea when the first, and when the latter.

Essentially, the standard behaviour after some change - any change: add/remove USB-interface; listen to audio with Reaper, then with VLC; etc. - of either the mixer or the USB-MIDI interface or Windows (that sleep mode, for example) or Reaper or some other program I need is that it does not recognize some channel. Once in a while, I believe I have found the "real trick" (order of switching/enabling/starting programs and options) so that I can deterministically start some recording or playing session ... but max 3 attempts later, it won't work.

My rule now is: Plan at least half an hour, better one hour for getting all gear up and running. If it doesn't, switch off and on everything from left to right, and then right to left, and finally in random attempts until it somehow starts working (it always does, or did up to now); and finally (when doing a session with other people) always have something to do in that hour if it works like a charm after a minute, for whichever reasons beyond my understanding, until those others arrive an hour later.

Not very helpful, probably, that rant of mine; but ok - it's a hobby.

General Discussion / Re: Rehearsal Marks
Harald, do you usually put the marks in each part? I have been putting them with the instrumental part (as in a flute part) but not with the piano part or choral part. The score for the pianist and choir will be printed with all parts.  I will print the instrument part alone, for ease in playing with less page turns. My composition prof told me to give the instrumentalist the full score, though, but the players don't seem to prefer that for the performance.
I put the marks in each part with "Visibility: Top staff only", so they come out on top regardless of which scores I assemble for various people. One exception: For a larger score (already 4 choir voices + 4 strings + organ = 10 staves), I'd put a layered staff with invisible rests for "distancing" above the organ with all the marks "always visible"; this staff is only printed in the full score, so there, the marks are also "8 staves down there".

And, I now always print measure numbers every other measure at the same places, i.e. on top and "some 8 staves lower" - I hated to wait for consensus on the public computation attempts "Ok, let's start in measure - ah, 57, 55, ok ... that's, well, 52 - (choir, from basses and one soprano:) no, you mean 53 - (conductor:) ah, yes ... (lifts hand) (choir: starts singing at two, sometimes even three different places)".

Re the various scores, for our(!) choir, the result of various discussions was:
  • Choir doesn't want to see anything instrumental - most of them cannot read/follow it - so they get a "pure choir score", with a few cue notes before an entrance if they are silent longer than say 4 measures.
  • Also I, typically playing organ or piano, do not want a full score, but a rather thin one - usually piano/organ with soprano voice and/or a leading soloist or something like that.
  • Even our conductor sometimes gets only a "condensed score" - she is more of a choir conductress and lumps e.g. all strings together - so she likes two piano-like staves for the strings more (and neither she nor I can fluently read a viola clef, so we are happy to bury that voice in the cello staff ...)
But of course, this is "specialized established practice for this choir" ...

General Discussion / Re: Rehearsal Marks
Here is an attempt at a trivial example; I also use BarCounter.hmm, because I have found that putting a measure number on every other(!) barline helps immensely in rehearsals.

General Discussion / Re: Changing Page Size
What you can do:

(a) Make the margins a little smaller - maybe this tweaking is enough.

(b) Tweak the staff labels - it helped me sometimes to remove e.g. a dot after P. (piano) or the like.

(c) Change the page size: Install a separate - preferably PDF - printer (e.g. PDFCreator), go to its (advanced) settings and select "User-defined size", where you can define an arbitrary page size. You'll get then a PDF with that size; how you get this to real paper, is another problem (typically, you would either scale it down to "fit the page" - e.g. letter -, or print it on larger paper - e.g. A3 - and cut the paper down). If you use this PDF printer only for NWC, it doesn't interfere with the rest of your Windows (e.g. Office) use - otherwise, you have to switch the printer and page-size every time you use the printer.
If I do things like that, I write a documentation for myself into the "Comments" of the "File Info" (Ctrl-I), e.g. "For printing, use PDFCreator with a user-defined size of 200x400mm" ...

General Discussion / Re: Beaming compound-time
I have added pages 172-181 to the PDF behind the link in the posting above - although there's not much in there we could use here, I think: constancy of timing at changing metres is a tempo issue, polymetres and non-coinciding bars [NWC can do that :) ] as well as polytempi do not have an effect on note lengths and beaming. Ok, variable stress from p.179 is something I consider above (the 4/4 + 8/8 remark); and mixed metres can of course be done with hidden time signatures. Non-power-of-two denominators, however, are out of our scope (Gould writes "traditional multiples of two", but, mathematically, means powers of two, of course; as she gives a non-traditional example of 4/6 in the next sentence).

General Discussion / Notelength and beam auditing - a first attempt of a specification
I have thought about this for a day or two, and scribbled various things on a few pages of notation and programming notes - here is what I arrived at. This specification tries to be as general as possible, i.e., it treats the problem somewhat "mathematically" (typically, in my experience this leads to less complex programs, which therefore are quicker to complete and easier to test - hopefully :) ). Thinking about a few details has convinced me that it would take a few (say 3 or so?) full days to get this up and running, a time which I do not have right now; therefore I write this specification, so that I or whoever else can use it as a stepping stone later-on - but of course also for discussion.

Here is a short overview what this audit function might do:

  • Note, chord and rest lengths should be distributed in each measure according to standard rules (see e.g. Elaine Gould, Behind Bars, pp. 160-164, 166-169, 171; here is a scan of the relevant pages, also for the following references).
  • Beams should connect notes and chords according to standard rules (see e.g. Elaine Gould, Behind Bars, pp. 153-155).
  • Auditing should be possible for a complete score, or for a selected section of a staff.
  • It should be possible to mark measures as "do not audit" (in the same way that existing beams prevent NWC's "Automatic Beams" function from beaming notes differently).
  • The semantics of the score should not be changed - this is a complicated topic, see for example the attached file "NotTheSame.nwctxt".
  • It should be possible to specify whether dotted and double-dotted rests should be used or not.
  • Support for rest chords and "two-voice chords" with different lengths of the two voices may be restricted.
  • The main and secondary beat patterns should be derived from the currently active time signature.
  • It should be possible to specify alternative beat patterns for a time signature (e.g. 3/8 + 3/8 + 2/8 for a 4/4 time signature); a scale of eight eighths would then be beamed as 3+3+2; and two half notes would be rewritten as a dotted fourth tied to an eight and then two tied fourths.
  • Alternative beat patterns should be remembered in pieces with changing time signatures; thus, one could use e.g. a 4/4 and a hidden 8/8 to alternate between beat patterns (see e.g. Elaine Gould, Behind Bars, pp. 179-180).
  • The beat pattern for a measure (i.e., all the notes and rests between two barlines) that is shorter than the current time signature indicates should be the left part of the full beat pattern, except for the first measure of the score or selection, which should use the right part of the full beat pattern (this might be is helpful for incomplete first measures); the beat pattern for a measure that is longer than the current time signature indicates should repeat the complete pattern from start (this, and also the shorter measure logic, is certainly an edge case; the definitions are here "just to be complete"; typically, with varying lengths, one should use hidden time signatures to specify the intended beat pattern).
  • Transparent barlines should not be used for measure demarcation; however, chords and rests should be split at a transparent barline (a custom use of transparent barlines is to split long musical measures onto two lines).
  • Repeat barlines not at the end of a measure as defined by the current time signature should be handled like transparent barlines.
  • Beaming that cannot be done with NWC's built-in beaming (which would therefore require e.g. Beam.hmm objects) need not be supported (this might be a version 2 feature; see e.g. Elaine Gould, Behind Bars, pp. 156-157).
  • Rewriting segments that cannot be written with NWC's built-in two-voice chords (without staff overlaying) need not be supported; for an example that requires a chord with three different note lengths see the attachment VeryHardToRewrite.nwctxt.

Even though there are some requirements in that list that seem very special or even esoteric, removing them does not significantly change the complexity of the algorithms, as far as I can see. Only adding the "need not be supported" items would create major additional algorithmic design.

I'll leave it at that - unfortunately, my days until January 6th are already packed with this and that and even more, so I will not start this multi-day software adventure so soon. But maybe "soon enough"  ;D
General Discussion / Re: Beaming compound-time
The problem, in a nutshell, is that there are actually no hard rules. It might seem so, but the main rule - also according to Elaine Gould - is that the main beats must be recognizable; but of course, there's 4/4 music where the main beats are distributed as 3+3+2/8, and which the player thus expects to be notated as such.

However, there is of course a host of "common patterns" for music printed in the 19th to 21st century that follow relatively simple rules - e.g. the 6/8 patterns David expects to see. Most probably, someone already has compiled a decent type of abstraction and a resulting list of such patterns depending on "rhythm structures" (anyone here?) - but it shouldn't be too hard to get an 80% list that could be made 90% or so useful ...

General Discussion / Re: Beaming compound-time
I actually started writing such a beast 2 or 3 years ago, not so much for notes, but mainly for rests: Various "deletion tools" (e.g. the - for me - all-important adp_Parts.php tool), if removing all voices, leave behind many small rests, which need to be combined according to those "beat rules" ...

... but I've never finished it, mainly because it gets "interesting" with different-notelength chords. Might be a Christmas home exercise - I'll look into it.

General Discussion / Re: Very Sad news.
That's very sad to hear. We will always have his postings here, and learn from them also for future scores - may he rest in peace.
General Discussion / Re: Creating a .bat file to convert all files of a folder to NWCTXT.
Yes, in Windows, three-letters extension patterns match also longer  filename extensions. What you can do:
Code: [Select · Download]
for /F %i in ('dir /b *.nwc ^| findstr /e .nwc') do ...

Re the "goto EOF:", this is no real goto, but .bat's code for "return".

And my version with CALL and a separate block for the things to do is , I think, helpful if you want to execute more than one command in the loop. This is already helpful for adding some echo's for debugging. There is also a different method with parentheses
Code: [Select · Download]
for /F %i in (...) do (

Here are some links:


// Edit: | in for loop needs a ^ in front of it. Aha.
General Discussion / Re: Creating a .bat file to convert all files of a folder to NWCTXT.
Put something like this in your .bat file:

Code: [Select · Download]
for %%F in (%1\*.nwc) do call :DoIt %%F %2
goto :EOF

echo %1 %2
goto :EOF

Instead of echo %1 %2, do your work there: %1 is the nwc file in the input folder, %2 the output folder. There are ways to create a "naked" filename from %1 ... I'll look them up, but my battery is running low ... so I'm in a hurry ....

General Discussion / Re: Impossible composition, Beethoven style | Composed by AI | Musica ex Machina
Nice. I like m. 71! It sounds a little bit like the "pieces" I improvised on the piano when I was 16 - loud, fast, "Beethovenian", resulting in much headache for my mother (she was a musician - singer - and prone to headache) ...

One can see the patterns (harmonic; harmonic progressions; melodic; rhythmic) the machine has learned, and also some obvious ones (especially longer-range ones) it completely missed.

What I somehow wonder: Was this intended as a piano piece for one player? If so, doesn't the program have some idea of how large my hands are?

And: The 3/4 time signature is obviously and blatantly wrong for most parts (some have no rhythmic structure at all, there you can't tell). Did you add the 3/4 after the fact, or did the AI believe this was what it used when "composing"?

There is this article in the Guardian about a text written by an AI - it seems somewhat similar in that also there, one can see the "patterns that made it"; and how only huge editing gets you an acceptable result.

Of course, "doing things like XY" will be done by a machine at some point of time - just as power dredges completely replace people for excavating. Money to be made there, and "copying composers" will lose their jobs, just as all the (poor) shovelling people.

General Discussion / Re: Piano Key Touch Playback Settings
I think this was when you asked "I need to make the piano sound (a lot) softer" some time back.

By definition of a real piano, there is no way to do this. You cannot go to a Bösendorfer grand and tell it "play softer" (with the keys pressed the same as before). The only thing that the piano player can change (besides timing and pedals, of course) is the velocity of the hammer striking the string.

With electronic equivalents, the rules could be arbitrarily different - but they mostly aren't, or aren't in a simple way: I.e., a computer simulation of a piano could do anything it likes with the MIDI commands it gets. But this behaviour is outside the realm of NWC - you need to use the right piano synthesizer. There are at least hundreds of piano synthesizers out there - from simple soundfonts (where you cannot change the softness, because they are typically recorded from a single instrument; but you can select the soundfont you like) to elaborate software "virtual instruments" that simulate the physics of a real piano, which have typically many parameters to adjust the overall sound - so you should be able to change softness with such a beast.

So, if you want to select the right softness, you need to find a synthesizer (be it a soundfont or a virtual instrument software) with the softness you want (on a software, you might - as I saied - be able to control it with some GUI controls). If you want to change the softness in the course of a piece, you either need to use a virtual instrument that can do that (typically, virtual instruments allow you to change all their parameters with NRPN messages), or you must change between various instruments (which would then be mapped to e.g. different soundfonts that you collected and selected beforehand) along the way with instrument changes.

Just as examples, on my Casio keyboard, I have about 10 different pianos from which I can select; on my small Yamaha synthesizer, I have more than 20 (I think), and I can (or could) control about 12 parameters of them - I never tried out all of them; and here on my laptop, I have some 10 or so piano soundfonts. Among all these, there are very soft ones, and very hard ones, and some that are soft in the lower range and harder in the upper range ... I select what I find necessary; and I could even change between them along a piece with NWC instrument changes - but I have not yet done that.

Summing up: Welcome to the infinite and, for me, horrifyingly large world of sound production. It can cost you a lifetime, and a fortune ...

Announcements / Re: Forum/Server Upgraded (August 2020)
It works for me - I just tried it, and I could connect; and then online-sync and another one.

Firewall problem? Rules of your local VPN (if you are in one - my company has had quite weird exclusions at times)?

General Discussion / Re: Quarter note equals quarter note, etc.
I'm not seeing any font that allows me to input [quarter note]=[half note]. I see the quarter note and half note symbols in several fonts, but these fonts seem to lack an "=" symbol.
In addition to Mike's object, the XText.hmm object is designed to combine arbitrary text snippets from various fonts as a single object. The example file XTextExamples.nwctxt in that posting has a few examples of tempo equations.

Tips & Tricks / Re: How to hide rests to prevent collisions with notes in layered staffs
where to find |Rest Properties|Visibility (tab)
The properties dialog of anything (a rest, a note, a bar, ...) can always be opened like that (this is exactly like in all other programs in Windows - NWC is a very Windows-conformant program!):

(a) highlight the object, e.g. the rest - you do that by placing the cursor to the left of it and pressing Shift-right_arrow (right_arrow is the key to go right).
(b) then you either press Alt-Enter; or you press right-click on your mouse, which shows a small menu - the last entry is "Properties ...".

For a rest, you will there see a tab "Visibility" (you can either get there by clicking on it; or - also as always in Windows with tabs - by pressing Ctrl-Tab ... where Tab is the computer keyboard key with the two arrows on it).
And there, you see the "Show on printed" combobox, where you can select "Never".

I have added a small gif that shows what to do ...

General Discussion / Re: Help with repeats
Main rule: Don't use local repeats. They are not actually (or at least often) used in musical notation and are more of a nice hack for special repetitions*, with the symbols made invisible. Try it with normal repeats.


* There's one in Tchaikovsky's String Serenade in C, with an old "bis" ("[play] twice") annotation - see attachment.
General Discussion / Re: Is the NWC Viewer/Player available as a webpage
In the end, in modern times, sending MIDI files for playing has fallen out of fashion: Mainly because the sound is not controlled, as it is created at the receiver (and we all judge music also by its sound, even if we deny it). The same is true for NWC files - they are "just" "enhanced" MIDI files, from the standpoint of playing them. Thus, all go for MP3 (or Ogg, or the like).

But of course, for someone who likes or has to read the score in parallel to listening to the music, this is not enough. So the only way of doing it is making a video that shows the score; and plays the music at the same time. There are essentially two ways:
  • Use a screen-grabber (what all the gaming people do), and record a video of NWC playing the music;
  • or create a PDF score, and embed controls in the NWC file so that the PDF pages are flipped over at some convenient point - and then once again record the screen showing the flippant PDF-score with a screen-grabber, with the audio on the background. This shows off your professional printed score, but does not hint where the score is playing on each page; but someone reading along should be able to figure this out - otherwise, the whole reading exercise is useless anyway.
I have done both - it was quite a lot of work in each case; but at some point I'd like to fine-tune both approaches so that they become simple, run-of-the-mill processes. For the second one, I use(d) the MIDI-to-keystroke feature of Bome's "MIDI Translator Classic"; my (game-playing) son provided the screen-grabber whose name I forgot.

Object Plugins / Re: (1.2)
Nice - now I can do something like in the attachment (prints nicely on A4 format; don't know about American page formats).

One small suggestion: Provide an explicit keyboard shortcut for the Closed Gap; the implicit C does not work (it is used by NWC's Class selector).

Object Plugins / Re: (1.1)
Can I have one additional feature? - namely an "opening gap": In older scores, long hairpins wrapping over line breaks would start on subsequent lines already somewhat open ... Yes, a rare thing, but seems simple, and would make for a complete feature.

Tips & Tricks / Re: User Object suggestion: filesystem metadata with option to be a watermark.
I had a look at the lua website and found a link to the lua binaries site ( ) which in turn had a link to:
lua for Windows:
which includes a bunch of libraries.  Might one of these libraries be of assistance in accessing the metadata and able to be installed to NWC?

Lua integration requires that the programmer of, in this case, NWC adds certain Lua libraries. If he doesn't do that, you can't use them. If he does it, he should (and, looking at NWC's object documentation, would and will) document it. From this, "it follows" that it's not possible to use any Lua file etc. functions.

The only way it could work differently is when their are bugs in the Lua systems and/or its integration into NWC. But we wouldn't want to base objects on bugs, would we?

Tips & Tricks / Re: Sharp in stead of flat, how to change?
The cursor position is in the model - but whether it is stored before a user tool runs, I dont know. At least the .nwctxt file says:
Code: [Select · Download]

User tool: What I would expect is a tool that takes the key, including the tonic - which is in the model -
Code: [Select · Download]
and uses this to apply the standard rules. E.g. g minor uses b flat and e flat, but f sharp for the note between f and g. B-flat, on the other hand, uses b flat and e flat and g flat. A tool could/should/might apply accidentals according to these rules, w/sh/couldn't it?

In other words: It does what "Audit Enharmonic Spellings" does, but correctly (i.e., also for minor keys); and, as additional feature, also for highlighted segments (only); and maybe also for a single note/chord, as Mike suggests. And maybe even with "overrides" = one can suppress the "Auditing" - by mis-using some notehead/note/chord property, or by adding some marker. I'd prefer the latter, as one might want to do multiple Audit runs while writing a piece; so the "overrides" should stay in place - but then, they should not have any other musical meaning.

... so we'd end up (once again?) with a small user object ("EnharmonicControlThingy") and an associated user tool ("Enharmonic Auditing considering keys and those EnharmonicControlThingies").

General Discussion / Re: MIDI exporting bug?
Here is a zip file with 4 variants of diff output for the Hallelujah175/275 files (the CSV was created with the MIDICSV utilitiy found at fourmilab - the only such tool I know that works after Günther Nagler's even older one stopped working some Windowses ago). Maybe someone can see and explain the 1.75/2.75 differences with that ... I'm currently involved with other projects (and problems), therefore I don't dig into this ...

Edit: The c175_275.txt seems most useful/readable ...

General Discussion / Re: Auto-Fill Empty Measures?
There's at least this tool ("Extend staff below with rests to cursor") I wrote somewhen. Don't know whether it does what you want - and I didn't do any updates since then

... I have just uploaded a version 0.2 which has been lying around on my computer, which does insert whole rests; however, as far as I can see, it will always count them as 4 beats. And the inserted rests are invisible (the original purpose for this tool is to help you compose, where you want to write snippets "later in the score", beforegoing back to an earlier position) - but you easily mark them and then make them visible, of course; which is also simple for many staves, as NWC keeps the selection when going to the next staff with PgDn.

... and I just found that the tool does the following: If you already have a staff of any time signature filled with full rests, and you invoke the tool, it will produce nice full rests on the staff below; this is actually a bug - but might be helpful in your case.

But the tool could be extended in various ways to make it more versatile ...

Object Plugins / Re: NonFlowBar.hmm (0.1)
Thanks, Mike. Your "Edit" is what happened to me ... so I just left it like it was, as this whole object is a workaround anyway, I'd say.

General Discussion / Re: Edit M4As?
REAPER. Full-blown DAW that can do anything, but costs nothing (with a wait when starting) or the likes of NWC or a little more. I've been using it for a decade or so now.

Object Plugins / Re: NonFlowBar.hmm (0.1)

The "reason" is that "brute number force": The object has a width of 1.2 (not 0 as most objects), and it draws its bars 1.85...3 to the left of the leftmost point. The reason for these magic numbers is that by this, it aligns "somewhat" with standard bars. I just tried to reduce the width to 0; and/or move the bars more to the right, so the anchor would to the left of the symbol - both attempts garbled up the appearance in the edit mode (but not in the display mode = F11; and probably not when printing). So my answer is "that way, it seems to work; with other numbers, I couldn't make it work" ... not really satisfying, but I'm somewhat hesitant to invest more into this "maybe somewhat hepful" object ...

General Discussion / Re: 10000
This is one of the best stories I have heard - ever. Short, to the point, and totally zen. I will spread it. It's worth it.

General Discussion / Re: 10000
For completeness, from the point of view of decimal numbers:

Even though I have used NWC for 21 years now (my first crank organ arrangement, "Boogie Woogie Bugle Boy", is from 1999), I don't know any names in those threads, except Fred Nachbaur.

Looking forward, when will 100000 be? Assuming roughly similar traffic (i.e., NWC is not going viral), some 9 times 24 = 216 years in the future, i.e., by year 2236, give or take a few (decades? centuries?).

Object Plugins / NonFlowBar.hmm (0.1)
As an answer to more complicated flows (see e.g. this thread), here is a simple object that draws certain bar lines so that they do not have any "repetition logic". A desired control flow can then be created with tricky "endings", as e.g. Rick has shown in the thread linked above.

For connecting to non-flow bars in the following staff, the staff's "Bars Connected" flag is used. For connection with the staff above, one must check the object's "Connect upwards" flag. There is currently no StaffSig version for this, so one has to do it on every instance of the object - that could be improved, but with copy/pasting the bars around, it should not be really necessary (or is it?).

The object does not have any "bar logic", so there will be no line breaks at it; or a change of the bar counter. If this is desired, one can add hidden single bars before or after the object.

The symbols do not line up with "real" bars, but as I cannot see that one would want "flow logic" on one (visible) staff and "non-flow" on others, this should not be a problem.

One tiny flaw: Back-to-back close and open local repeats do not line up properly with font types MusikDingsSerif and MusikDingsSans - but as local repeats are not used that often, I did not repair this ... could be improved.

Positioning of the bar symbols is done "by brute number force" - if there is a better, "more analytic" way, which is maybe more resilient to some size changes (I did not do much testing), someone let me know so that I can change it.