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.
I must admit I was in need of this sometimes, even if, of course, I was able to do what I needed anyway.
I have included plugins and more in my templates since a long time...
Why not? Very welcome.
To MIDI? No, better to have a native mxml inporter (and exporter). (Yes, I know and appreciate the tool by Nicolas).
With piano & harp this is an often needed attribute.
This looks very easy. :D Maybe with something like Markup.rg.
Gosh! Yes, definitely yes!
Some thought needs to be given to not inadvertently selecting inactive staffs in the score which are not visible when selecting visible staffs.
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.
- 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?
Except the active staff might have several layered staffs under it.
I agree, adding in a few staff properties midi channel, predefined instrument, transposition setting, ending bar and system connections to next staff.
I'd like score scanning direct to NWC, but Sharpeye does that adequately, and using https://www.niversoft.com/products/xml2nwc/ (https://www.niversoft.com/products/xml2nwc/) creates NWC text for import. It's fast.
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).
Yes, please!
). 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.
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.
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.)
I think I knew this but forgot! Thanks.
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.
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" (https://forum.noteworthycomposer.com/?topic=9692.0) tool, but also others
- I'd be happy to include links to other solutions here!.
Probably possible as user tool - not yet attempted.
In a way supported with user tools
Extend staff below with rests to cursor (https://forum.noteworthycomposer.com/?topic=9760.0)and
Remove following rests of same length (https://forum.noteworthycomposer.com/?topic=9761.0).
See C-3. above.
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.
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 (http://homes.soic.indiana.edu/donbyrd/MROMR2010Pap/OMREvaluation+Prospects4MROMR.doc) by Donald Byrd et.al. -, I won't look at this anymore.
Graphic elements
My attempts discussed in Do we need a "CueStaff" plugin? (https://forum.noteworthycomposer.com/?topic=9757.0) 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.
A somewhat complex, but - I think - usable user plugin is shown under Beam.hmm (https://forum.noteworthycomposer.com/?topic=9745.0).
A somewhat complex, but - I think - usable user plugin is shown under Breve.hmm (https://forum.noteworthycomposer.com/?topic=9752.0).
This would have to be implemented natively by NWC.
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.
The XText.hmm (https://forum.noteworthycomposer.com/?topic=9737.0) 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.
The RepeatMark.test (https://forum.noteworthycomposer.com/?topic=9756.0) user plugin, with code from Mike and me, supports this.
Playing
Both these need to be NWC built-ins.
The Acciaccatura.ms (https://forum.noteworthycomposer.com/?topic=9090.0) object (which adds a slash to an eigth grace note) has support for this.
I am thinking a little bit about this, but it will take some time.
... and yes, I continue to dream ...
H.M.
The Acciaccatura.ms object has an option to do this (i.e. anticipated playback)
Thank you - I have added the link.
H.M.
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).
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.
Granted. Beams with stems from both sides can be done, but it's a lot of trouble, and the results are not always satisfactory.