Skip to main content
Topic: My (new, and long) NWC wishlist (Read 9162 times) previous topic - next topic

My (new, and long) NWC wishlist

I have written a fair amount of NWC scores in the last 18 years - there are about 2300 .nwc and .nwctxt files on my computer, ranging from a few notes to some 50000 items in the largest ones, and almost all of them contain music sketched, arranged or composed by me - for organ, organ and violin, choir and solo vocalists, brass band, flute ensemble, many many crank organ arrangements (for more than 10 years the main purpose why I used NWC) and very few piano pieces. Recently, I also tried my hand at a few user tools and user plugins. So, I think I'm allowed to sketch a few ideas about what I'd like to see in NWC in the years to come. The ideas are grouped into 3 sections, "score creation", "graphic elements", and "playing".
I would think that these features - which, admittedly, range from quite small to visionary - would make NWC more interesting to a wider audience.


Score creation

C-1. Multi-staff selection would be very helpful. Alt-Shift+up/down are not yet used and are easily reached, but this is of course the smallest problem. One needs a definition of how to select items that overlap the selection boundary on other staffs. My expectation would be that wherever the boundary on the staff selected at first is also present, the selection will begin/end exactly there (so that also items on staffs far apart - e.g. with multi-rest staffs in between) get selected "equivalently". For all other objects, I am tolerant what happens.
I would expect that with such a multi-staff selection, one could at least
  • delete it
  • copy it and paste it somewhere else (with accepted shaky semantics if boundaries at source or target location do not line up exactly)
  • change properties (as with current single-staff selections)
I think it is sufficient to have only multi-staff selection over contiguous staffs - especially if the following feature C-2 is also supported.
Layered staffs are hard - one would probably expect them to be "selected together" - but what should happen if e.g. their copy target is not layered in the same fashion? Maybe copying a selection covering layered staffs is only allowed to be copied to a similarly layered staff group ...

C-2. Moving sets of layered staffs up and down together. A simple checkbox e.g. on the Edit menu could control this - doing Alt-E X to switch the "together/not together" option is simple enough.

C-3. "Overwrite mode" - this is customary in many other score editors: The score is implicitly or explicitly filled with (probably invisible) rests; writing of a note replaces the rest (or, most of the time, part of it) with the note. The main reason for this feature is that notes present later in the staff are not shifted - this is extremely helpful for some use-cases like actually composing pieces. It also mimics the way one writes on paper.

C-4. Extend all staffs (or all visible staffs) with invisible whole rests to the cursor position on some other staff. The reason for this feature is the same as C-3 - "write notes anywhere". >> It might be possible to do this as a user tool.

C-5. Staff splitting and combining: Split a staff into two layered staffs, and recombine two layered staffs if possible. >> I think this can be implemented as user tools.

C-6. Staffsig-copying Ctrl-A: With more and more useful Staffsig plugins, setting up a staff becomes more and more cumbersome or even "magic", especially for newbies. "New staff" (Ctrl-A) should create a new staff immediately below the active staff and copy over all the leading Staffsig items (clef, key, and Staffsig plugins) to the new staff (this could be controlled by an option "old-style Ctrl-A" or, like 2. above, by a sticky "Edit" checkbox).

C-7. Factory templates with useful Staffsig plugins: I do not know what the factory-provided templates look like (I have overwritten all of them), but I would expect them to have a host of Staffsig plugins on each staff: PageTxt, Acciaccatura, CueHeads, and maybe more provide standard features needed for even semi-professional scores.

C-8. Better MIDI import: The MIDI Import feature is too limited compared with modern DAWs. I would expect note lengths to remain as in the original MIDI file even when chords are created; and also that triplets are recognized correctly. >> It seems that a completely separate program could be developed for this purpose - after all, the nwctxt format is open and could be created by an arbitrary program.

C-9. Score scanning - "everyone has it" >> Also here, a separate program is sufficient. One could even consider to write a scan-to-MIDI program, with some encoding of notation artifacts in some extendible MIDI event (like text), so that this could be used by other MIDI-reading programs also. And maybe someone has even done this ...


Graphic elements

G-1. Reduced-size staffs.

G-2. Beams between staffs for keyed instruments are not too rarely used. Not having them is, unfortunately, a "missing feature".

G-3. Breves.

G-4. Placing arbitrary images into a score.

G-5. Correct sizing of accidentals and performance marks for cue notes (this probably would mean to have cue heads as a built-in feature).

Scanning through "Behind Bars" will probably unearth a few more features that are expected of a modern score editor (like the small rectangle notation of multi-rests, or numbered simile marks as used in brass band voices).


Playing

P-1. An option to indicate that accidentals are not significant on other octaves ...

P-2. ... and an option to treat double bars like single bars for flow control.

P-3. A builtin option when grace notes start to sound (before the beat or on the beat).

P-4. Explicit control about how the playing duration of notes is computed.

P-5. An "artificial player" - what Wallander's NotePerformer can do with Sibelius. Ok - that's a wide leap; but I'm allowed to have a dream :)


That's it. I think all this is doable. C-1, C-3, G-1 and then P-4 would be my favorites.

H.M.

Re: My (new, and long) NWC wishlist

Reply #1
Quote
C-2. Moving sets of layered staffs up and down together
I must admit I was in need of this sometimes, even if, of course, I was able to do what I needed anyway.

Quote
C-7. Factory templates with useful Staffsig plugins
I have included plugins and more in my templates since a long time...

Quote
C-8. Better MIDI import
Why not? Very welcome.

Quote
C-9. Score scanning
To MIDI? No, better to have a native mxml inporter (and exporter). (Yes, I know and appreciate the tool by Nicolas).

Quote
G-2. Beams between staffs
With piano & harp this is an often needed attribute.

Quote
G-4. Placing arbitrary images into a score.
This looks very easy.  :D  Maybe with something like Markup.rg.

Quote
P-2. ... and an option to treat double bars like single bars for flow control.
Gosh! Yes, definitely yes!

Re: My (new, and long) NWC wishlist

Reply #2
Quote
C-1.  I would expect that with such a multi-staff selection, one could at least delete it copy it and paste it somewhere else (with accepted shaky semantics if boundaries at source or target location do not line up exactly) change properties (as with current single-staff selections)
Some thought needs to be given to not inadvertently selecting inactive staffs in the score which are not visible when selecting visible staffs.

Quote
I think it is sufficient to have only multi-staff selection over contiguous staffs - especially if the following feature C-2 is also supported.
I don't think the staffs should need to be contiguous.  If I have a typical big band sax section, for instance, Soprano/Alto, Alto, Tenor, Tenor and Bari, possibly with a Bass as well, I might wish to group all the Eb instruments, transpose them, then do the same with all the Bb instruments, without changing the score order.

Quote
C-3. "Overwrite mode" - this is customary in many other score editors: The score is implicitly or explicitly filled with (probably invisible) rests; writing of a note replaces the rest (or, most of the time, part of it) with the note. The main reason for this feature is that notes present later in the staff are not shifted - this is extremely helpful for some use-cases like actually composing pieces. It also mimics the way one writes on paper.

  • Are you asking the programme then to recompute the remaining rests in the particular measure and decide for you what you prefer  - dotted rest, separate smaller rests, etc.?
  • Would this do away with the current visible error detection whereby you see at a glance that your bar lines don't line up, staff to staff?

Quote
C-6. Staffsig-copying Ctrl-A: ..."New staff" (Ctrl-A) should create a new staff immediately below the active staff
Except the active staff might have several layered staffs under it.

Quote
C-6. Staffsig-copying Ctrl-A: ..."New staff" (Ctrl-A) should ... copy over all the leading Staffsig items (clef, key, and Staffsig plugins) to the new staff (this could be controlled by an option "old-style Ctrl-A" or, like 2. above, by a sticky "Edit" checkbox).
I agree, adding in a few staff properties midi channel, predefined instrument, transposition setting, ending bar and system connections to next staff.

Quote
C-9. Score scanning - "everyone has it" >> Also here, a separate program is sufficient.
I'd like score scanning direct to NWC, but Sharpeye does that adequately, and using https://www.niversoft.com/products/xml2nwc/ creates NWC text for import.  It's fast.

Quote
G-1. Reduced-size staffs.
Do you mean the vertical size?  Horizontal size alteration could be problematic.  It's been a while since I've tried to make cue notes, but it seems to me what we can do to create them now is a little cumbersome.  I'd like to see cue notes native to NWC (if they aren't already).

Quote
G-4. Placing arbitrary images into a score.
  Yes, please!

Quote
... numbered simile marks as used in brass band voices
). Yes, please.

My own wishes:
  • I would like to have small bar numbers printed on every bar line in the top staff rather than just at the beginning of each system.
  • Many of my text entries, staff properties, etc. need to be manually set to Top Staff Only.  I would like TSO to be the default.

Re: My (new, and long) NWC wishlist

Reply #3
Thanks for comments - especially those regarding scanning and MusicXML: When I have time, I'll certainly try them out ... at least out of interest, but maybe then for actual use!

... for the rest of my and our items, I hope to get from NWC/Eric at least a little by the way of replies ...

H.M.

Re: My (new, and long) NWC wishlist

Reply #4
I would like to have small bar numbers printed on every bar line in the top staff rather than just at the beginning of each system.
I suppose you know that BarCounter.nw.nwcuser.lua does this too, do you?

Re: My (new, and long) NWC wishlist

Reply #5
I suppose you know that BarCounter.nw.nwcuser.lua does this too, do you?
There are quite a few enhancement requests up there for which there are already user object solutions (or partial ones). RepeatMarks.ms was my attempt to do simile marks (maybe that would have been a better name) but it has a number of limitations. CueHeads.ms was mentioned as part of a number of the original post's requests; if there were a way to suppress the accidentals for a blank space notehead, I would have considered adding smaller accidental rendering as part of that object. But I still consider CueHeads as a workaround to having true cue-sized noteheads (which NWC already knows how to render for grace notes.)
It's been previously discussed that the 2.75a update includes several plugin API functions that should make cross-staff beaming possible by a plugin. But it will still be a challenge to implement all of the various types and styles of cross-staff beams. Part of the problem is that you need to suppress the normal note flags in order to draw your own beams, and the only way to do that is to set the stem length to 0. So the cross-staff beaming object would also need to draw the stems. (Unless I am missing a better approach.)


Re: My (new, and long) NWC wishlist

Reply #7
...CueHeads.ms was mentioned as part of a number of the original post's requests;... I still consider CueHeads as a workaround to having true cue-sized noteheads (which NWC already knows how to render for grace notes.)
I think we agree on this.  Native cue note functionality would probably be better than a workaround, but I haven't tried the workaround recently to see how easy it is it use.  My concern here is not what I would call a true cue of only a few notes, but rather the  longer passages written for instruments that may not be present in the ensemble, so have to be covered on another instrument.

Re: My (new, and long) NWC wishlist

Reply #8
Over the last weeks, I have tried to write a set of plugins and user tools that provides some of the features I wish NWC had "out of the box". This posting is an update that links my additions with the wish list I posted here some time ago.

Score creation

Not possible with plugins / tools (except for very specific purposes - see e.g. my "Copy corresponding parts" tool, but also others - I'd be happy to include links to other solutions here!.

C-2. Moving sets of layered staffs up and down together.
Probably possible as user tool - not yet attempted.

In a way supported with user tools Extend staff below with rests to cursorand Remove following rests of same length.

C-4. Extend all staffs (or all visible staffs) with invisible whole rests to the cursor position on some other staff.
See C-3. above.

C-5. Staff splitting and combining
Using the C-3. tools and the adp_parts tool, I would no longer think that this is urgently needed.

Probably possible as user tool - not yet attempted.

C-7. Factory templates with useful Staffsig plugins:
Not a tool functionality.

I have not looked at it (although I needed to check a MIDI file I got - almost impossible with NWC ...).

After reading a few articles - especially OMR Evaluation and Prospects for Improved OMR via Multiple Recognizers by Donald Byrd et.al. -, I won't look at this anymore.

Graphic elements

My attempts discussed in Do we need a "CueStaff" plugin? make me believe that it can be done "somewhat acceptably", but the effort is right now too high for me. If someone (me or other) craves for it one day, I'll complete on or the other version.

G-2. Beams between staffs for keyed instruments are not too rarely used. Not having them is, unfortunately, a "missing feature".
A somewhat complex, but - I think - usable user plugin is shown under Beam.hmm.

A somewhat complex, but - I think - usable user plugin is shown under Breve.hmm.

G-4. Placing arbitrary images into a score.
This would have to be implemented natively by NWC.

G-5. Correct sizing of accidentals and performance marks for cue notes (this probably would mean to have cue heads as a built-in feature).
The experiments with cuestaff (G-1) show some possibilities - but if it is possible at all, it would be much work and certainly cover not all possibilities. A built-in solution is to be much preferred.

Scanning through "Behind Bars" will probably unearth a few more features that are expected of a modern score editor (like the small rectangle notation of multi-rests...
The XText.hmm user plugin makes this possible, albeit it is not really nice to use, as one must, for some symbols, enter the hexadecimal number of the symbol to be shown.

... or numbered simile marks as used in brass band voices).
The RepeatMark.test user plugin, with code from Mike and me, supports this.

Playing

P-1. An option to indicate that accidentals are not significant on other octaves ...

P-2. ... and an option to treat double bars like single bars for flow control.
Both these need to be NWC built-ins.

P-3. A builtin option when grace notes start to sound (before the beat or on the beat).
The Acciaccatura.ms object (which adds a slash to an eigth grace note) has support for this.

P-4. Explicit control about how the playing duration of notes is computed.
I am thinking a little bit about this, but it will take some time.

P-5. An "artificial player" ...
... and yes, I continue to dream ...

H.M.


Re: My (new, and long) NWC wishlist

Reply #9
P-3. A builtin option when grace notes start to sound (before the beat or on the beat).
Some of you have provided solutions for this - can you give me some URLs that I could add here? Thanks!
The Acciaccatura.ms object has an option to do this (i.e. anticipated playback)


Re: My (new, and long) NWC wishlist

Reply #11
G-2. Beams between staffs for keyed instruments are not too rarely used. Not having them is, unfortunately, a "missing feature".

These are easy enough to kludge that they're pretty far down my list of things that need improving. Assume four beamed 16ths, the first two on the lower staff and the second two on the upper. Then:

  • Place the four notes in the correct positions on their proper staves. The upper staff will require an 8th rest before the notes; this should be hidden.
  • Set the stem length of the two upper-staff notes to zero.
  • Add two 16th notes at any random vertical position you like following the two correct notes on the lower staff, to form a group of four 16ths. Beam the group.
  • Mute the two "random" notes on the lower staff, and check "no ledger lines" for them.

Now all you have to do is use <Ctrl><Shift> to move your two muted notes up till they overlap the correct notes on the upper staff. Adjust stem lengths as needed. This looks right on the page and sounds right when played, and it doesn't require layers, or take a great deal of time to produce. Sure, it would be nice to have cross-staff beams natively, but there are a lot of things that seem more critical (cue staves, and preventing hairpins from overlapping dynamics, are my own top priorities).

Re: My (new, and long) NWC wishlist

Reply #12
[Beams] are easy enough to kludge that they're pretty far down my list of things that need improving. Assume four beamed 16ths, the first two on the lower staff and the second two on the upper. Then: ...

Actually, the Beam.hmm user plugin requires exactly the same steps (and some more). Its new feature - for cross-staff beams - is that it can create beams that lie between the notes - see attached example, where the left 4 notes are created without the plugin: You can flip the beam so that it is on top of all 4 notes or below all 4, but not in a way that puts it between them. The plugin can do that ... in case someone needs it, e.g. to mirror an existing score.

H.M.

Re: My (new, and long) NWC wishlist

Reply #13
Granted. Beams with stems from both sides can be done, but it's a lot of trouble, and the results are not always satisfactory.