Any ideas on why I'm getting this output? (I'll do more research when I get time)
Globbilink
Title: Re: "Parts" User Tool
Post by: Lawrie Pardy on 2007-11-22 11:45 AM
G'day Globbilink, confirmed - it's my guess there's a bug in relation to split stem chords... I have a suspicion that Andrew didn't take 'em into account when he wrote it. I'll drop a note in the NG and see if he spots it.
Title: Re: "Parts" User Tool
Post by: Andrew Purdam on 2007-11-22 11:09 PM
Agreed. Unfortunately, it looks as if I haven't even considered split stems at all. I think the reason why would be because I was working on the scenario of maybe importing a midi file and then pulling out parts. In this case, NWC wouldn't generate split stems. So - in my defense - it's a "design limitation to reduce the complexity of the code". Let me see if I can tweak it to deal with split stems. It's been a while since I looked at this, so I may not be in a position to do something quickly. But I'll have a check.
Title: Re: "Parts" User Tool
Post by: Andrew Purdam on 2007-11-22 11:50 PM
It looks like it's gonna be messy with the triplets. The reason being that NWC is not giving the same duration value to each component of the chords in the triplet. You can see that straight away with |Chord|Dur:4th,Triplet=First|Pos:-1|Opts:Stem=Up,ArticulationsOnStem|Dur2:4th|Pos2:-1 |Chord|Dur:4th,Triplet|Pos:-1|Opts:Stem=Up,ArticulationsOnStem|Dur2:4th|Pos2:-1 |Chord|Dur:4th,Triplet=End|Pos:-1|Opts:Stem=Up,ArticulationsOnStem|Dur2:4th|Pos2:-1
See that Dur:4th,Triplet=First and Dur2:4th ? What normally happens with split stems (which I thought I handled correctly up until today) is when removing the last of a top, I copy across the duration of the bottom. This isn't going to work correctly with the implied durations here. When you think about it, that triplet with the split stems isn't correct anyway, since the bottom ones should be beamed as well, necessitating an overlaid staff. This might have been what was going through my mind when I was writing the code.
So I'm not sure I'll be able to fix that without a major rewrite.
However, what I'm doing to the second bar looks embarrassing, and I should have a go at fixing that one. I need to go to work now, but might get some time this arvo, or maybe on Saturday.
Title: Re: "Parts" User Tool
Post by: Andrew Purdam on 2007-11-24 08:29 AM
Okay, so maybe Sunday...
Title: Re: "Parts" User Tool
Post by: Rick G. on 2007-11-24 10:56 AM
NWC "botches" the playback on split stem triplets as you can hear here:
The note off is delayed for the downstem notes. Not quite a bug as NWC doesn't really support split stem chords. They are a legacy of a time before layering.
I don't see this as a bug in your tool, just a failure to support (and fix up) an abandoned structure that should no longer be used.
Title: Re: "Parts" User Tool
Post by: Andrew Purdam on 2007-11-25 07:44 AM
I tend to agree. I finally got to look at it today, and there's no way I'm going to spend time on special code to deal with the way NWC does those split stems. As Rick says, that method of engraving has been abandoned in favour of overlays.
And in fact, the disappearing initial quarter note of the subsequent bar is a side effect of the fact that each split stem note in the previous bar is actually of different length (the top is a triplet quarter note, while the bottom is a straight quarter note). If you isolate the second bar, the tool works correctly.
Thanks for the heads up on the tool. A very interesting set of circumstances here.
Title: Re: "Parts" User Tool
Post by: NoteWorthy Online on 2007-11-28 11:53 AM
The triplet specifically does not apply to the secondary voice in a split stem chord. Rick's example is better demonstrated in this clip (no overlapping note off/on pairs):
Title: Re: "Parts" User Tool
Post by: NoteWorthy Online on 2007-11-28 12:10 PM
Given this fact, the Parts tool makes a valiant effort. It could be argued, though, that the lower voice is non-standard and its non-fitting measure in Globbilink's example should be preserved. We'll consider patching this in the Parts script.
Title: Re: "Parts" User Tool
Post by: Rick G. on 2007-11-28 01:51 PM