24
Better (or rather, correctly) like that:
!NoteWorthyComposerClip(2.751,Single)
|Note|Dur:8th|Pos:2|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam
|Note|Dur:16th|Pos:2|Opts:Stem=Down,Beam,BeamGrp
|Note|Dur:8th,Dotted|Pos:5|Opts:Stem=Down,Beam=End
!NoteWorthyComposerClip-End
H.M.
29
Not sure why this should be a bug: A b-flat is different from a b-natural, so they cannot be tied. What do I overlook?
But there is an obvious bug in NWC, to be seen here:
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Note|Dur:4th|Pos:b0^
|Bar
|Clef|Type:Bass
|Note|Dur:4th|Pos:0
!NoteWorthyComposerClip-End
These two should not be tied.
H.M.
37
Would something like the following work, for line 157?
local fini = idx:sppOffset() + nwcplay.calcDurLength(idx:durationBase(t.Which == 'bottom' and 1 or idx:noteCount())) - 1
At least, it seems to play both the attached scores correctly ...
H.M.
48
I repaired the two bugs, and updated the "complex lyrics example" above to include
- grace notes with Lyric=Always; and
- lyrics with " and newlines that are deleted (and hence moved into string fields of a GroupOp-Insert object).
I am unsure about the following code:
item.Opts.Opts and item.Opts.Opts.Lyric == 'Always'
Does this work over all (newer) versions of NWC, i.e., do they all have this doubled Opts? (I seem to remember that with .Text, it is sometimes necessary to check both .Text and .Text.Text). Is there a more idiomatic way to write the access to the Lyric field?
H.M.