prioritize analysis of tracks loaded for 1st time over running (re)analysis i.e. samplers

Bug #1800369 reported by ronso0
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Confirmed
Low
Unassigned

Bug Description

* start Mixxx
* load some samplers
* Preferences > Normalization > Analysis
  check [x] re-analyze and overwrite an existing value

* restart Mixxx
* load a yet unplayed track into a deck
= deck is not analyzed as long as samplers are still re-analyzed

while the decks can actually be played it would much better to have the overview waveforms available as soon as possible.

Side effect:
with more samplers loaded than the current skin can display, there occurs a 'mysterious delay' between the last visible sampler and the last loaded deck being analyzed...

2.2.0-beta (build 2.2__2018-10-28 r6597)

Revision history for this message
ronso0 (ronso0) wrote :

this gave me some headaches, especially when I presented Mixxx during our open-decks sessions. usually, if waveforms were missing it was mostly an indicator my sound devices were unconfigured/broken.

description: updated
Revision history for this message
Daniel Schürmann (daschuer) wrote :

We have an overlay text on the waveform overwiew. Should we add something to the scrolling waveform as well?

I am unsure about piorizing the deck over the samplers. It is always the one the user is waiting for that should have priority. Can we predict it?
We may also consider to revert the deck priority so that a last added is scheduled first. This way the user can always control what hapoens. I think this will have also solved your issue. Right? What do you think?

ronso0 (ronso0)
description: updated
Revision history for this message
ronso0 (ronso0) wrote :

In the case I described the overlay text is just irritating ("what's happening in the background? Why that delay?") because the reason for delay is not obvious, even less with hidden samplers.

So Yes, adding the last loaded deck/sampler at top of the analyzer queue would help a lot I think.

Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :

Please consider postponing any code changes until https://github.com/mixxxdj/mixxx/pull/1624 has been merged. I'm not willing to resolve more merge conflicts after I completed working on the multi-threaded analysis long ago.

I still need to resolve build issues of after rebasing this PR on master recently.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Oh yes. I think a fix should be merged together with your changes.
do you like the proposed change here?

Sorry for the delay reviewing this.

Changed in mixxx:
status: New → Confirmed
importance: Undecided → Wishlist
Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :

PlayerManager uses a single analysis queue/scheduler for regular, preview, and sampler decks. This might be split into separate queues/schedulers that are suspended and resumed internally according to some prioritization strategy.

Currently (as of https://github.com/mixxxdj/mixxx/pull/1624) only the batch analysis is suspended while any ad-hoc analysis in PlayerManager is running. The ad-hoc analysis utilizes half of the CPU cores used by batch analysis to avoid hiccups while performing live. Batch analysis is supposed to be executed during preparation and therefore is allowed to use more cores for maximum performance.

ronso0 (ronso0)
summary: - deck track analysis should have higher priority than sampler
- (re)analysis
+ prioritize analysis of tracks loaded for 1st time over running
+ (re)analysis i.e. samplers
Revision history for this message
ronso0 (ronso0) wrote :

I just set it to LOW instead of WISHLIST as it's not nice-to-have but seriously affects the GUI feedback as well as replay gain leveling of newly added tracks. See my first comment for more context.

Changed in mixxx:
importance: Wishlist → Low
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/9490

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.