Fix updating cues in WOverwiew - #16084
Conversation
…voids acting on partially initialized cue controls.
|
Thank you, this fixes the issue with hotcue_set.
|
|
IIUC it's a timing issue between these two slots, both connected to
-> but 2. that may happen before This is how slots are called currently (this branch), scrolling waveforms disabled, which confirms my theory:
If this is true, the overview has been updated twice before, once via cuesUpdated and again via the WaveformMark controls. Should we try to connect the overview to something like |
|
The original issue was fixed in #16088 |
This aims to fix #16075 and maybe #12620
However this is not yet fully tested and probably incomplete. That why draft state.
The issue is that WOverview is acting on changes of the loaded track and on various Cue related COs.
It assumes that every CO updates happens after all other cue related data is also updated which is wrong and the root cause of the iuse here.
Since that's is not the case we see MANY invalid update calls using incomplete data only if a single cue is set.
The problem problematic function is
WOverview::updateCues() that updates marked from Track data while other date is used from the CO interface.
There is also an issue with a recursive call into the HotCueConteol class. Updating a Hotcue cause updating the track which in turn updates ALL HotCueControls. The order of these updates causes the indifferent test results we have seen.
This is however currently needed, because a single track might be loaded into two decks and that's why a signal is required to update the cues if the other track.
Who has interest helping to look into this?