A historical sequece of events explain what we have now.
Starting point is 2004. The LivePRO development period. In that period, all effect were time based. To make adjustment playback speed, we had to use Animation Speed slider, which is multiplier of time. At that time we had nothing like beat, only time and speed control.
At the time of the introduction of QuichShow in 2008, we introduced BPM as a separate, independent source of time information. Many effects got additional options - the ability to use Beat or Clock.
The playback engine always supplies two time values (beats and seconds), and then use one of these values. This means that we have two separate time triggers in one system. Changing BPM will cause changes in the duration of playback. Cause of this, actual time can be shorter or longer.
Now let's look how this impact the timeline.
Scenario 1: Let's consider an Effect event, where one line uses a Clock based effect, the second line a Beat based effect. Both located in same event, which has beginning and ending position.
The change of BPM should change the duration of the action, and it should change the duration of an Event. I mean the part which is BPM based.
If you change the BPM, all the BPM related events change its position…. Then the timeline looks ruined.
We even have a bit more tricky scenario: When an Image inside of an Event use Beats and Clock at same time.
As example, A Synth with multiple effects. How this should work? We have a module which require both time sources to work, and this is one solid module, we cannot split it.
Taking both scenarios into account, “Event positioning” and “multi-time content of Events”, but there is a simple solution. The Timeline uses time as primary information and then calculates Beat based on the time position.
Technically the timeline use its own “position” with is calculated by Beat and Clock. This is the rule.
We know about the relation between cursor position and time, as well as the cursor position and Beat number. This is exactly what cue player does. It provide two times.
The only thing we need to keep in mind is - if we want to keep event positions in same place, then the timeline must do the math, not an external source. Otherwise we lose the designed relation between time and beat oriented events of the timeline.
The model is - timeline use positions, which are calculated as clock and beat, and is used by Events and its embedded objects. The BPM value is a property of the Timeline, and always in a defined state.
The final step is option “Follow System BPM”. This is real simple model. IF this option is On, THEN the timeline will use the Global Beat source Otherwise it will use timeline BPM setting.
What we should expect? When you use, “timeline use own” or “timeline uses global” setting and calculate position as beat and clock;
All of the Images and Effects which use Beat as argument - will react, and you will see the impact of a BPM change. Clock based, or Duration based effects - do not use Beat, and you will not see any impact of BPM change. This same logic is used in other places of QuickShow.
Lets consider one more detail - A timeline with variable BPM.
After such explanation many people still have a feel that something is wrong.
Let look at one more scenario: The Timeline where BPM changes for parts of songs.
As example, as seen on audio editors, You can set a point where the BPM changes to some value or goes up/down to another value. This happens on timeline positions, and will stay on this position. It means that the position is a primary parameter and Beat value is the slave parameter. This can be fixed during athe complete timeline, or variate (of application allow this feature).
Main thing - The Beat is a calculated as (slave) parameter. BEYOND keeps a direct relation between position and clock.
What if I want the beat to be the primary thing? if to do this, then it will break solidity of Events OR beat will influence time speed. Time will move faster or slower. And if yes - then this is different story, because you want to play a whole timeline (clock and beat). This is Player level option rather than Timeline level option. This is similar to follow timeline situation when a a whole timeline need to move faster or slower.