SingularSound / openbbm

BeatBuddy Manager
https://singularsound.com/product/beatbuddy/
34 stars 9 forks source link

On pedal press reset counter on last beat #97

Closed JulissaDantes closed 4 years ago

JulissaDantes commented 4 years ago

Current behavior: On a Song with AP, playing a song part with no drum fills, if the pedal is pressed the Beat counter will reset, restarting the part.

Example: The main loop AP value is set to '6', while playing the second bar the pedal is pressed, so it plays 5 more bars after that, counting the current bar as the first bar.

How it should be: The beat reset should happen on the last beat of the current bar.

Example: The main loop AP value is set to '6', while playing the second bar the pedal is pressed, so it plays 6 more bars after that.

JulissaDantes commented 4 years ago

@brennansingular the release file was updated after this was included on master

brennansingular commented 4 years ago

https://github.com/SingularSound/openbbm/issues/113

Your fix may have caused this bug

brennansingular commented 4 years ago

Visual metronome/beat is not reset only the counter, For example, your beat has a phrase that is 4 bars long, the Beat will transition on m4, but you tap on m3, it will not reset the phrase/visual metronome, but start counting again from m3, and transition on m2 or m3 of next phrase

brennansingular commented 4 years ago

This may be a BB issue too, but I noticed the same behavior on the virtual BB on BBM

brennansingular commented 4 years ago

@bacol89 What's your take on this issue? Is this a BB logic issue?

brennansingular commented 4 years ago

Some questions here: Are we going to add the visual measure counter again? Is that a bug @bacol89, it's only on AP enabled songs it seems, whether AP is on or off on the BB

Also, should the BB restart the part on the next measure or start it again at the next revolution, for example if I'm on measure 3 of 8 and press tap to fill and restart the part, should it restart from measure 1 at the next measure or go through the rest of the revolution and then repeat after measure 8 for another 8 measures? @iajrz @JulissaDantes @GoranRista

Personally, I don't see the use in it beginning again at the next measure and should wait until the end of the main loop and then repeat the main loop, let me know your thoughts

This bug is about the measure counter but now it is gone on BB...

JulissaDantes commented 4 years ago

@brennansingular As far as the determined behavior is: it should restart at the first beat of the next measure from the beginning, some reason given for this was: maybe the artist lost its cue, maybe he want to extend the section.

brennansingular commented 4 years ago

We have started a poll on the forum on this, let's see what users say...

GoranRista commented 4 years ago

The counter must be restarted in the measure following the pedal press, not after the loop finishes. If a user makes an error and comes in a bar late, it would make absolutely no sense to now double the section instead of just compensating for that extra bar. There was no need for a poll, as this was one of the major specifications decided on a while ago.

As far as the visual progress bar goes, it should also restart from the beginning as well. This is the only logical and practical solution. The visual cues should always display what is actually happening with no confusion.

brennansingular commented 4 years ago

@GoranRista Our users disagree with you:

Screen Shot 2020-10-06 at 5 14 22 PM
GoranRista commented 4 years ago

@brennansingular This needs to stay as originally specified. If a user wants the count to restart at the end of a "musical phrase", they have that option by pressing the pedal at the end of the musical phrase. In your proposal, what happens if a section is programmed to last 32bars, a musical phrase is only 4-bars long, you miss a bar, and press the pedal? Now you are going to have 64 bars to play, instead of 33 or 36. Your poll was a bit confusing. "Loop length" could pertain to the length of the midi file loop, and not necessarily to the section length. I don't think you and most of the voters carefully considered all use scenarios.

This function was carefully thought of and specified in the original specs.