Skip to main content
Topic: Graphics.... (Read 8178 times) previous topic - next topic

Graphics....

Because the graphic output of the "big three" notation programs is now dramatically better than NWC's, and because my scores go to a wide variety of places, I have been forced to mostly abandon NWC for Sibelius. Let me state for the record: I HATE Sibelius! The interface is awkward, the layering ability is limited, and the program's rules are far too inflexible to create good workarounds for its many problems. From the standpoint of the user, NWC remains a far better program. If the graphics were improved, I'd come back in a heartbeat, even if nothing else had changed.

Re: Graphics....

Reply #1
Of course, we do not know how Noteworthy is going to evolve. Still, for the hopeful, it might make sense to create a list of all graphical improvements to bring NWC up to date with what seems to be expected by professional score readers. So here is my "management suggestion" for this list:

- Input: I'd say there are at least two inputs:
(a) collecting existing and new comments here on the forum;
(b) going through Elaine Gould's "Behind Bars" (BB) and check NWC against it.

- Result: Two sublists:
(a) Existing features that need "optical upgrade". A well-known one is a smaller distance of beams for sixteenths and below.
(b) Missing "graphical features". Well-known: Smaller-sized staves.
The difference might not always be that clear (as already in the cases above: Why isn't the second just "smaller distance of staff lines"?!), but I'd say that the first sublist contains "bugs" = this should have been different all along; whereas the second contains "new features".

Of course, each graphical improvement might be adorned with a feature suggestion. For the beams, this could e.g. be: "Make distance smaller, as shown in Behind Bars" or "Add boolean score property for beam distance (large=as today, for backward compatibility/small=Gould)" or "Add numerical score property for beam distance", each with its own respective problems and advantages.

The list should not contain ease-of-use or other features that are not driven by a graphical improvement or capability: The "use case" of all these features would only be "can the graphical output stand up to requirements of professional score readers?" ... well, there are "boundary cases" (or is this much more?):
- For compressing highly patterned parts (like Alberti basses with 16ths or 32nds), instead of adding millions of spacers like today, a new feature "contract this range of symbols by a factor" would be very helpful.
- For creating multiple prints from one score (full score, choir, piano reduction, instrumental soloists), it would be very helpful to add a "score prints" list to each score and allow (a) font sizes; (b) optics-controlling elements like system breaks on bars, spacers sizes, maybe text orientation (left/right-hanging) to be controlled by a "score print" selection.
- How about "multi-scores", e.g. the movements of a sonata? Hm. At least a "print multiple scores consecutively without page breaks" seems necessary. With a somewhat extended (multiline) Text object, it should then be possible to create e.g. a piano-reduction score of an opera (including stage directions), as a test case.

But all the suggestions on the list should be for the benefit of the reader who gets better scores. Definitely out-of-scope for this list are improvements/features for e.g MIDI playing, I'd say.

I'd assemble the list here in this posting, i.e. let me start it right away with just the two requirements from above - more will follow from me today. I have added [plugin possible], where I think it would be possible to write a plugin; or [plugin name if there is already one that is fairly usable; my CueStaff.hmm is [it]not[/i] one of these); currently, there is only a single [plugin ...]:

Necessary graphical improvements:
I1. Beam distance according to BB [possible feature: Add numerical score property for beam distance; default for new scores is BB suggestion, for existing scores current NWC value].
I2. Controllable lyrics line distance.
I3. Cubic-Bezier slurs [plugin Slur.ms]
I4. Correct slur end positioning at system breaks [use of "slur markers" is haphazard at best].

Graphical additions:
A1. Support for smaller staff size. This includes size reduction of all symbols on the staff, including texts, slurs and ties, dynamics.
A2. General horizontal "position offset" relative to current positioning for freely positioned items (text, dynamics, ...).
A3. Lyrics font per lyrics line (at least italics setting).
A4. Straightforward support (including spacing) for multiple hyphens between lyrics syllables.
A5. "Regional control for spacing" [use of spacers for longer sections is extremly cumbersome; and breaks down completely with changes to global score parameters like font size, lyrics font size].
A6. More than 6 user fonts.
A7. Placing arbitrary small images (PNGs, JPGs; maybe also some vector graphics) in score.
A8. Additional "small" brackets for grouping staves (for orchestral scores).
A9. Offsetting tie and slur starts and end from connecting note (e.g. to avoid accidentals).
A10. Reversal of note order in two-stemmed chords.
A11. Per-note control of tie-direction of chords.
A12. Suppression of auto-beaming for single notes (is this a "graphic" feature or a usability feature?)

H.M.

// Updated 2021-10-26 - added I2...I4, A2...A11. and "cumbersome examples" file.
// Updated 2021-11-08 - added [plugin ...].
// Updated 2021-11-09 - added A12.

Re: Graphics....

Reply #2
<snip>
Graphical additions:
A1. Support for smaller staff size. This includes size reduction of all symbols on the staff, including texts, slurs and ties, dynamics.
Perhaps an acceptable way to approach this is a scaling factor property for staves.  Similar to the existing scaling factor that's available for text objects, except the staff property would affect everything on the staff.
I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.

Re: Graphics....

Reply #3
Here are my 2 cents (perhaps 3 cents due to inflation; maybe it needs to be a full nickel).

I agree with @hmmueller's comments on note spacing. Currently, NWC gives two options in Page Setup for note spacing: "Increase spacing for longer notes" can be on or off. It is my understanding that there are specific rules on how much space is before/after each note/rest duration and bar line, and this checkbox toggles between two different sets of rules. (If @Rick G. were still with us, he would quote those values for us now.) By using spacers (hopefully fewer than the millions suggested previously) those spacing distances can be individually overridden, but as anyone who has ever done this can attest, it's extremely tedious, plus it clutters the score appearance in Edit mode.  I think spacers are fine for individual measure tuning, but I'd prefer a better way to control the general staff appearance. One option would be to replace the current "two choice" system with a slider with perhaps 10 choices. Another option would be to have a "Custom..." submenu, that lets the individual spacing values for each duration be entered. Also, there should be an option to change the spacing in the score, in much the same way that instruments can be change by inserting an instrument object in a staff.

Another option that needs upgrading are song lyrics. Better control over line spacing, font properties like italics, and an easier way to change these values in the middle of the score, using a boundary object or something similar.

Text object placement has improved in recent versions, namely the ability to more finely control the vertical placement. However, horizontal place hasn't changed much. There are the various alignment choices that we've always had (Best Fit, Best Fit Forward, As Staff Signature, At Next Note/Bar) combine with Left/Right/Center justification, but I often find myself inserting spacers to "nudge" a dynamic into the position I want, because the available combinations of justification and alignment/placement don't give me what I want. I understand the need to maintain backward compatibility, but perhaps we need a new option that would make it easier to position text and other objects. Maybe some sort of "position with offset" option, with a +/- numeric value that lets me put the object right where I want it.

When I compare the appearance of NWC score to other programs, once thing that I tend to notice is the appearance of slurs. Native NWC note slurs are quadratic Bezier curves, which generally look fine for 2 or 3 notes when the note distance is not too great, but they start looking a bit odd when the slur distance is greater. The user object API includes the ability to draw cubic Bezier curves, which I use in the SlurCubic object. It's possible to get a much nicer looking slur with this type of curve, and I'd like it if NWC used these natively. Of course it's possible to hide a particular slur using a marker object, and then draw a SlurCubic in its place, but that gets tedious quickly.

This final suggestion is more of a convenience item than a "graphical improvement" issue, but I think there should be an easier way to align notes and slurs/ties on multiple layered staves. It has been previous suggested that a staff setting could be added which allows the slur/tie direction on layered staves to change when they are layered. Maybe there could also be a way for a layered staff to "see" the notes on the previous staff, and adjust their appearance based on them. This would be similar to how multiple note chords automatically adjust the stem length, or adjacent note heads will shift so they don't overlap.

I would welcome feedback or questions on the above.

Mike

(Edit: I corrected a few typos)

Re: Graphics....

Reply #4
Perhaps an acceptable way to approach this is a scaling factor property for staves.
Definitely. Still, in my list above, I don't add (many) suggestions how to achieve something - this is a usability problem to be solved by the developer ...

H.M.

Re: Graphics....

Reply #5
... using spacers [is] extremely tedious, plus it clutters the score appearance in Edit mode. [...] One option would be to replace the current "two choice" system with a slider with perhaps 10 choices. Another option would be to have a "Custom..." submenu, that lets the individual spacing values for each duration be entered. Also, there should be an option to change the spacing in the score, in much the same way that instruments can be change by inserting an instrument object in a staff.
A general remark: With the (German) Capella music editor, I see (with scores written by a friend; and many on the internet) what happens if it is easy to access too many "raw formatting and positioning" parameters - the results are mostly appalling. Thus, I'd still hope that only very limited additional control is added to repair current deficiences ...

... and thus, I would definitely argue against "individual spacing values for each duration": The relative distancing of durations is one thing laymen get consistently wrong, and even programs do it horribly (look at Capella). NWC is definitely acceptable here, so this should not change. But I would heartily welcome the "sectional spacing objects" akin to instrument changes, although I think that a sort of a start-end logic, as with collapsing, would be less risky: There would be one "default spacing" for the whole score, with some "differently spaced sections". Last, I would think that limiting this spacing-changing factor to maybe 0.75 to 1.25 should suffice (and thereby avoid too awful formatting).

[...] lyrics. Better control over line spacing, font properties like italics, and an easier way to change these values in the middle of the score, using a boundary object or something similar.
Agree.

Text object placement  ... some sort of "position with offset" option, with a +/- numeric value that lets me put the object right where I want it.
Agree (including all other "text-like items", i.e. dynamics, dynamic variance, flow direction, performnce style, sustain pedal, tempo and tempo variance, and user objects).

[...] appearance of slurs [...:] cubic Bezier curves.
Agree.

[...] an easier way to align notes ... Maybe there could also be a way for a layered staff to "see" the notes on the previous staff ...
I'm not sure how this would (conceptually) work without "programmer-like-complexity" for the user. But yes, see A10. in my "list" posting.

... and slurs/ties on multiple layered staves.
I think that especially tie routing is too coarse ("broken"?) even for a single staff: When a chord has accidentals, ties overlap them; on chords with 3 or more voices, it is impossible to specifically route inner ties. Again a general rule: I think that overlapping symbols are almost always wrong in scores; NWC is not too bad at graphically separating things (automatically or with user help), but this is a sore point for me.

H.M.

Re: Graphics....

Reply #6
Because the graphic output of the "big three" notation programs is now dramatically better than NWC's, and because my scores go to a wide variety of places, I have been forced to mostly abandon NWC for Sibelius.
@William Ashworth‍ - as the initiator of this thread, would you care to share a (or a few?) Sibelius scores and, if possible, their NWC siblings so that we can learn about these dramatic differences? - I fear that otherwise, we (I) might go down the rabbit hole of pushing our pet problems and projects ...

H.M.

Re: Graphics....

Reply #7
   Mike says: "Another option that needs upgrading are song lyrics. Better control over line spacing, font properties like italics, and an easier way to change these values in the middle of the score, using a boundary object or something similar. "

   I almost never include lyrics in my Files, mainly because I find that entering them in the separate lyrics window, and then switching back and forth between that and the staff to make sure everything is properly positioned and aligned, is too much hard work.  What I would dearly like, instead, is the ability effectively to enter lyrics directly on the actual staff, so as to be able immediately to see how the syllables match the notes.

   MusicJohn, 26/Oct/21


Re: Graphics....

Reply #8
It's funny that you say that. I have dabbled with MuseScore on a few occasions, whose lyrics are entered the way you describe, and I have found it extremely frustrating to enter the lyrics that way. If I forget to type a hyphen between two syllables while I am entering the lyrics, I have to delete what I've typed and then re-enter the text with the missing hyphen. Same thing if I miss a word or type in an extra word by mistake.

I guess it's all a matter of personal preference, but I'm happy with the current form of lyric entry. I'd just like lyrics to allow some additional formatting, such as bold or italics.

Re: Graphics....

Reply #9
I almost never include lyrics in my Files, mainly because I find that entering them in the separate lyrics window, and then switching back and forth between that and the staff to make sure everything is properly positioned and aligned, is too much hard work. 

I describe my way of entering lyrics in this new thread - maybe it's helpful. I find the process quite efficient.

H.M.

Re: Graphics....

Reply #10
I agree with the need for cue-sized staves and can think of several tweaks.
  • Cue notes on a normal size staff
  • Ossia on a partial cue staff. This could be achieved with collapsible sections and staff gaps
  • Similar application for Cantor single staff and multi staff response
  • Cue/Ossia notes in ordinary chords

Re: Graphics....

Reply #11
I'm glad to see this getting some discussion going. The largest concern I have about NWC's graphics is the apparent absence of any anti-aliasing at all, which shows up in the slurs, but even more so in the hairpins and beams. This is a common raster-graphics problem, but the "big three" have solved it, possibly by going to vector graphics - which would require a large-scale rewrite of the code, so I hope there's a better way. Other problems include placement of hairpin end points vis-à-vis dynamics and (as others have mentioned) issues with lyrics fonts and with the absence of the ability to do ossia staves. And there are some tools that Sibelius has which would be handy in NWC, such as the ability to select multiple objects with <ctrl><mouse click> and operate on all of them all at once - which provides the ability to use commands such as "line up in rows" or "line up in columns" on selected objects (e.g., dynamics in a given system). I'll try to put some comparative examples together and post them later.

Re: Graphics....

Reply #12
OK, here's an example. The top snippet is NWC; the bottom snippet is Sibelius. Staff metrics are roughly the same. The good news here is that looking closely at the Sibelius example shows pretty clearly that its smoother appearance is the result of anti-aliasing raster graphics instead of using vector graphics, so it should be doable in NWC without a lot of recoding. Sibelius uses a better-looking font (that's easily fixable, of course). The bottom line, here, is that the NWC snippet looks amateurish compared to the Sibelius snippet. That can make a huge difference when sending music to calls for scores.

Re: Graphics....

Reply #13
The largest concern I have about NWC's graphics is the apparent absence of any anti-aliasing at all, which shows up in the slurs, but even more so in the hairpins and beams. This is a common raster-graphics problem, but the "big three" have solved it, possibly by going to vector graphics - which would require a large-scale rewrite of the code, so I hope there's a better way.
I don't think this statement is correct. From what I can see, all of NWC's drawing objects are either TrueType fonts or line/curve objects, each of which are vector-based. If you print a score to a PDF file using an appropriate driver, you can zoom in to a ridiculous factor and see that there is no "chunkiness" that would be present if the objects were raster-based. Ultimately, when you print the score, it will need to be rasterized by the laser or ink jet printer at whatever DPI that device supports.

I don't recall what graphical subsystem is used by NWC, but I'm quite certain it handles the various elements as vectors. Perhaps someone who is more familiar with those subsystems can weigh in here.  I don't debate the various enhancements that would be nice to have (some of which I discussed above), but I don't want to see NWC's graphic subsystem unfairly discounted.

You posted a reply while I was composing this message, I'll respond to that separately.

Re: Graphics....

Reply #14
OK, here's an example. The top snippet is NWC; the bottom snippet is Sibelius. Staff metrics are roughly the same. The good news here is that looking closely at the Sibelius example shows pretty clearly that its smoother appearance is the result of anti-aliasing raster graphics instead of using vector graphics, so it should be doable in NWC without a lot of recoding. Sibelius uses a better-looking font (that's easily fixable, of course). The bottom line, here, is that the NWC snippet looks amateurish compared to the Sibelius snippet. That can make a huge difference when sending music to calls for scores.
The snippets you posted are screen captures from the applications, and don't represent the score output that is printed. I agree that the NWC snippet looks a bit jagged, but that is only what you see while editing the score. Once you print the score to a PDF file, the lines won't be jagged at all. Sibelius is rendering the output in its editor differently, and that does make for a nicer appearance, but again, it's only something that is seen while editing the score.

Re: Graphics....

Reply #15
Those were actually taken from print preview screens on both programs, not from the editors.

Re: Graphics....

Reply #16
Just went back to a pdf taken from an NWC score, and you're right, it looks a lot better. I stand corrected. It's still a problem when creating examples, though, where it's easier to do a screen capture than to produce a pdf just to extract a couple of measures.

Re: Graphics....

Reply #17
Just went back to a pdf taken from an NWC score, and you're right, it looks a lot better. I stand corrected. It's still a problem when creating examples, though, where it's easier to do a screen capture than to produce a pdf just to extract a couple of measures.
Well, this is "only" a tooling problem - where I admit that tool-chain setup is always a hassle; and has a lot to do with personal preferences.

For a long time, I have used PDFCreator to print to various graphics formats, but in the last 2 or 3 years it got very slow on startup, so I changed to PDF24 (both are free).
PDF24 is very fast on startup and printing to PNG or BMP (and of course PDF). I print with e.g. 300 or even 400 dpi e.g. to c:\temp (or the "Pictures"folder) - page selection is not really nice in PDF24, but, well ... Then I open the printed file in Win10's image viewer (one double-click) and cut out a piece and save it as a copy, then just use Ctrl-C to get it into the clipboard (saving is necessary in the image viewer so that Ctrl-C works).

Of course, there is also Ctrl-C in the print preview, which actually creates vector graphics (EMF). When one opens the menu in Print Preview ("burger menu" in the upper right corner), one can also save the EMF to a file. Me, personally, I have troubles with EMF because of incorrect font handling (e.g. in IrfanView), but with a correct setup this should also work easily and then, e.g. in a Word file, create a perfect rendering.

Screen-shotting, in my humble opinion, is never the way to go for copying around graphics: It introduces all the parameters of your graphics card and selected display resolution, which plainly adds arbitrary information loss.

H.M.

Re: Graphics....

Reply #18
Screen-shotting, in my humble opinion, is never the way to go for copying around graphics: It introduces all the parameters of your graphics card and selected display resolution, which plainly adds arbitrary information loss.

But it's a lot quicker....<smile>

I use PDFreDirect, and have for many years. It has the ability to throw a preview into Adobe Acrobat (or whatever your PDF reader might be) without actually printing it, so I can get a vector rendering that way without cluttering my computer with extra files. I should probably start doing that. I honestly was unaware that the difference between Print Preview and an actual print was that distinct.

Re: Graphics....

Reply #19
I am late to the party, but this is an important discussion!

I’m always interested to hear about your experiences, Bill, now that you are using Sibelius. I have considered switching but I just don’t have time at the moment to think about it due to my doctoral work. It hurts my heart to consider switching. I must have an emotional and practical attachment to NWC. Improved graphics would be so nice and I wonder if any of these things are doable without the developer but as plug ins or objects? I don’t know a thing about coding so…

Re: Graphics....

Reply #20
... I wonder if any of these things are doable without the developer but as plug ins or objects? ...
I went through the lists in their current state and tried to imagine whether a plugin could be written to do this. On the whole, the answer is a (more or less) sound "no" (unless I have overlooked something intricate).

There is another question: All the large score editors (and competing smaller programs like Capella in Germany) are now "score environments", with many extensive functions - at least for large scores (multiple movements, prints for various musicians), but up to and including scanning and sound production. It seems to me that many of the advanced functions are bought from small specialty shops, which requires a "company strategy" on how the environment is to evolve. I cannot see that NWC, both from its concept and its manpower, will ever be able to do this.

The only way I can see for NWC to compete is to open up even more, maybe to the point of open-sourcing it, but at least to the point of providing an API to call all actions and modify a score temporarily extensively; so that a few hackers like Mike or me could write "tools around NWC": Where NWC is then only a component of a larger system that controls e.g. scan programs like Audiveris, multi-movement scores (probably via ZIP files with name conventions or meta information), print runs which "tickle" various score elements (font sizes, spacers, system breaks, upper and lower staff sizes, margins) to create different print outputs and the like.
This would be a next (final?) step of "community enabling" (which started with tool and Lua integration), which might carry NWC into another decade or so ...

H.M.

Re: Graphics....

Reply #21
Quote
The only way I can see for NWC to compete is to open up even more, maybe to the point of open-sourcing it, but at least to the point of providing an API to call all actions and modify a score temporarily extensively
In a tool I'm working on I had to reinvent the wheel.
Absolutely sure, all the difficulties I met are already solved since a long time in NWC, but lacking the relevant API calls...

Keep dreaming.