Skip to main content
Topic: Flow bug (Read 11076 times) previous topic - next topic

Flow bug

IMO, this:
Quote
!NoteWorthyComposerClip(2.0,Single)
|Clef|Type:Treble
|TimeSig|Signature:2/4
|Note|Dur:Half|Pos:-1
|Bar
|Ending|Endings:1
|Note|Dur:Half|Pos:0
|Bar|Style:MasterRepeatClose
|Ending|Endings:2
|Note|Dur:Half|Pos:1
|Ending|Endings:7
|Bar|Style:SectionClose
|Ending|Endings:2
|Note|Dur:Half|Pos:2
|Bar|Style:MasterRepeatClose
!NoteWorthyComposerClip-End
is a bug.
The Section Close stops NWC from executing the second Master Repeat Close.
But NWC should not "see" the Section Close until repeat 7, which of course never happens.

If you change the Section Close to a Single or Double, the song flows as I would expect.
Registered user since 1996

Re: Flow bug

Reply #1
Rick,
If, after changing the bar line, you get the playback that you expect and it's bars 1,2,1,3,4,1,2,1,4 or 1,2,1,3,4,1,4, that isn't what my machine does.  I get bars 1, 2, 1, 3, 4, 1 and a dead stop.  

I think the problem is that your flow directions are confusing if not incorrect.  As an experienced musician I have to guess what you're asking the musician to play, and NWC2, as great as it is, doesn't have the ability to think.  Like any program, it follows directions.  Here are the problems I think I see with those directions:

  • The second 2nd ending is redundant - I don't think I've seen that in published sheet music without an intervening second 1st ending.  
  • If the second 2nd ending is intended to be a continuation of the first 2nd ending, it should not be interrupted by another ending (in this case the 7th).  
  • No ending should start after the last beat of a bar, as your 7th ending does.  
  • The 7th ending needs to be preceded by 3rd, 4th, 5th and 6th endings.  
  • The master repeat close only repeats once.  For multiple repeats you need the local repeat, even though it isn't as attractive.
  • The master repeat may need a destination to repeat to.


Re: Flow bug

Reply #2
I get bars 1, 2, 1, 3, 4, 1 and a dead stop.
As do I. That is what I expect.

I had hoped that it would be obvious that the clip is not meant for printing.

If you replace the Section Close with a note, the note is never played.
If NWC never "plays" the Section Close, then it should not alter flow because of it.

The problem is that some music has a Master Repeat Close after a Section Close (usually at a Fine.)
NWC will not play it correctly without some mechanism to disable the effect of the Section Close.

  • The second 2nd ending is redundant - I don't think I've seen that in published sheet music without an intervening second 1st ending.  
If the second 2nd ending is intended to be a continuation of the first 2nd ending, it should not be interrupted by another ending
But that happens often. It is called To next strain. How else can one "skip" a section and continue?
Registered user since 1996

Re: Flow bug

Reply #3
Just a thought since I am not at my home computer and also don't yet have NWC2.  Perhaps an invisible set of "To Coda" and "Coda" marks would achieve the desired skip?

Re: Flow bug

Reply #4
Perhaps an invisible set of "To Coda" and "Coda" marks would achieve the desired skip?
That can create a skip, but then the song can not go back. The usual purpose of To next strain is to return after the "next strain" is played to some point prior to the part that was skipped and finally play it. Often, this eliminates at least one page turn. Yes I know, flow can get complicated...
Registered user since 1996

Re: Flow bug

Reply #5
Quote
I had hoped that it would be obvious that the clip is not meant for printing.

Well, yes.  I was trying to show that when even a living brain would be confused by the notated flow directions, software hasn't got a hope.  

It's late at night so I'm too tired to think this through.  Would you mind telling me what order you think the bars should play in,  more or less like  1,2,1,3,...?

Ahh, the notorious "to next strain" command. (You should have said so the first time.  Not that it would have done me much good (grin)).

I'm looking at a piece in a parade book where there is a 1st ending without a repeat.  At the end of the first ending, there is a flow direction to go to the next strain (it says "to D," but D is the next strain), followed by a double bar line (not a section close).  There is a "last ending" right after the double bar line, and it too ends with an ordinary double bar.  Letter D is after this second double bar line.  At the end, there's a flow direction DS (which could just as easily have been a DC for the purpose of this discussion),   and you take the last (or really the second) ending.

A different chart in the same book, different publisher, has a first ending that closes with an ordinary double bar and a flow direction to go to A.  This skips the second ending, which is marked Fine, taking you to A which is the next strain.  Rather than say go to A, it could say go to coda, and letter A could be marked coda.

This might be akin to what you're trying to do.  I tried a couple of experiments to see if I could make this work just now, but I've been unsuccessful so far.  Maybe I'll do better when I'm awake.

Re: Flow bug

Reply #6
Would you mind telling me what order you think the bars should play in,  more or less like  1,2,1,3,...?
It should play the same as if the SE7 and the Section Close were replace by a single bar line. 121341
As I said above, NWC should not see the Section Close (until the 7th pass). Therefore, it should not alter flow because of it. If you replace the Section Close with a DaCapo, NWC never takes the DaCapo.

Ahh, the notorious "to next strain" command. (You should have said so the first time.  Not that it would have done me much good (grin)).
I was just trying to document the bug using as few objects as needed.

This is hardly the only problem with NWC's flow, but it is one of the most insidious. It is customary to put a Section Close immediately after a Fine. (and put a Double Bar at the typographic end). If the Section Close comes early, managing flow becomes nearly impossible.

The same bug exists for Section Open and Master Repeat Open, but these have not caused problems with actual music.
Registered user since 1996

Re: Flow bug

Reply #7
So what it seems to boil down to is this.  The section close version of a bar line should just be a graphic variation of a standard bar line, its only non-visual function being to act like an ordinary bar line.  It seems, though, to have some programming feature embedded in it that changes its function somewhat.  Whatever the intended function is is unknown to the user, so should be clarified if it's intentional.  If it's not intentional, the behaviour needs to be edited out of the program.

I tried your clip in NWC2.1, and the MRC does the same thing there, so it isn't a result of the beta test changes.

The MRC affects playback in NWC1.75a too.  Put the same notation into that program, and you'll see the playback changes depending on whether you use a single bar line, a double bar line or the MRC.  Probably the most accurate playback happens in 1.75a with a double line.



Re: Flow bug

Reply #8
In general, you can get unpredictable results when you place any later special ending before an earlier special ending. It is also difficult to completely conceal section bars from the play back engine using special endings.

That said, I will schedule this mechanism for a code review based on your clip.

Re: Flow bug

Reply #9
I will schedule this mechanism for a code review based on your clip.
Thanks. If all else fails, you might consider having 'Section Open' and 'Section Close' do nothing. I have never found a good use for what they currently do.

For really complex flows, I just put 'Master Repeat Close' as the last bar and put a 'Special Ending' on everything. I've yet to see a flow that can't be handled. Of couse, many decorated bar lines need to be simulated with text and I can't do playback on the staff that has Flow objects on it.
Registered user since 1996

Re: Flow bug

Reply #10
I can tell you why you get that particular result. A Section Close bar line will be used as the landing point for a later Master Repeat Close. If you add additional endings to your last Special Ending, you will see that the repeat is actually performed, but it starts at the Section Close.

Code: [Select · Download]
!NoteWorthyComposerClip(2.5,Single)
|Clef|Type:Treble
|TimeSig|Signature:2/4
|Note|Dur:Half|Pos:-1
|Bar
|Ending|Endings:1
|Note|Dur:Half|Pos:0
|Bar|Style:MasterRepeatClose
|Ending|Endings:2
|Note|Dur:Half|Pos:1
|Ending|Endings:7
|Bar|Style:SectionClose
|Ending|Endings:2,3,4
|Note|Dur:Half|Pos:2
|Bar|Style:MasterRepeatClose
!NoteWorthyComposerClip-End

Re: Flow bug

Reply #11
you will see that the repeat is actually performed, but it starts at the Section Close.
Which, IMO, is wrong. Additionally, that behaviour serves no useful function. In real, commercially printed music, MRC's often indicate a jump to a place before a 'Section Close'.
Registered user since 1996

Re: Flow bug

Reply #12
In general, you can get unpredictable results when you place any later special ending before an earlier special ending.
So long as the first SE has the 1 box checked, I have not had problems. I have had problems with unpredictable results using decorated bar lines.
Registered user since 1996

Re: Flow bug

Reply #13
Another flow control anomaly (an old one, but worth resurrecting) involves the double bar line totally messing up the flow.

Quote
!NoteWorthyComposerClip(2.5,Single)
|Clef|Type:Treble
|Key|Signature:C|Tonic:C
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Bar
|Ending|Endings:1
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Bar|Style:Double
|Key|Signature:Bb,Eb|Tonic:B
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Bar|Style:Double
|Key|Signature:C|Tonic:C
|Bar|Style:MasterRepeatClose
|Ending|Endings:2
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
!NoteWorthyComposerClip-End


It's quite legitimate to have a double bar line for a key change (obligatory, some would say) but its presence  has an unexpected reult. I don't believe that a double bar line should have any playback effect at all.

 

Re: Flow bug

Reply #14
Agreed, but I'm tired of fighting over it since it is so easy to fix.
When a double barline appears when a SE is in effect, put a hidden SE immediately after:
Quote
!NoteWorthyComposerClip(2.0,Single)
|Clef|Type:Treble
|Key|Signature:C
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Bar
|Ending|Endings:1
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Bar|Style:Double
|Ending|Endings:1|Visibility:Never
|Key|Signature:Bb,Eb
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Bar|Style:Double
|Ending|Endings:1|Visibility:Never
|Key|Signature:C
|Bar|Style:MasterRepeatClose
|Ending|Endings:2
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
!NoteWorthyComposerClip-End
Registered user since 1996

Re: Flow bug

Reply #15
I we're going to have anything fixed in this area, which I get the impression is your wish, then we might as well have everything possible (within reason) fixed too.

Re: Flow bug

Reply #16
Peter:
Except that I tend to notice when quirks disappear, I fully concur with:
It's not documented. It's not standard usage (actually it's not usage at all). Its behaviour is unpredictable. And it causes all sorts of problems (like not being able to notate a key change properly inside a special ending).

Please do stop treating a double barline in this manner. No-one would even notice that the quirk had disappeared.
Does that satisfy you?
Registered user since 1996