Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Withdraw stored analysis if the track sample count changes #8053

Open
mixxxbot opened this issue Aug 22, 2022 · 7 comments
Open

Withdraw stored analysis if the track sample count changes #8053

mixxxbot opened this issue Aug 22, 2022 · 7 comments

Comments

@mixxxbot
Copy link
Collaborator

Reported by: daschuer
Date: 2015-05-22T06:02:53Z
Status: Confirmed
Importance: Medium
Launchpad Issue: lp1457746
Tags: easy, waveform


This may happen if the track was cut or in case of seek decoding issues (still in 1.12 alpha).
Currently the waveform does not fit to the samples and the sync feature will fail is such a case.

@mixxxbot
Copy link
Collaborator Author

Commented by: joseph-chilcott
Date: 2015-07-08T22:07:38Z


Hi, I am new to the Mixxx project and as thought I would try and tackle this as my first bug. Would I be able to get more information on this bug and how to replicate it? When you refer to stored analysis, is this the pre-view wave form that appears after dragging a track onto one of the decks?

Thanks,
Joe

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2015-07-09T06:05:47Z


Thank you for offering you help.

Reproduce:

  • play a track in Mixxx
  • close Mixxx
  • cut some samples from the beginning of the track (using e.g. Audacity)
  • Play this track again

What happens:
Beatgrid and waveform have an offset, (still match the old track)

What should happen:
Mixxx should detect this and reanalyze the track.

I think the same will happen if you replace the track with a completely different one.

Todo:

  • setup a powerful development environment.
  • Analyse why it happens.
  • I think we have already some code to detect some of these situation in Library scanner. Check how this can interact with this issue.
  • Propose a solution.
  • Code it.

This will help to start:
http://www.mixxx.org/wiki/doku.php/bugfix_workflow

And ... Ask, if you get stucked.

@mixxxbot
Copy link
Collaborator Author

Commented by: joseph-chilcott
Date: 2015-07-10T20:59:41Z


Hi Daniel,

Many thanks for the information. Just one thing, when you say 'close Mixxx' do you mean minimise mixxx or exit mixxx? The reason I ask is, mixxx does not seem to retain a previous session once closed. If I do close mixxx and then reload the edited track, the waveform is updated and represents the edited version of the track. Sorry if this is a newbie question :)

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2015-07-11T11:18:49Z


I mean: Exit Mixxx.

I have just tested this:
I have started Mixxx, played Two tracks, closed Mixxx, switched the names from the tracks.
After restart. The first track contains the audio from the second track and vice verse. The waveform is not reanalysed.

@mixxxbot
Copy link
Collaborator Author

Commented by: ferranpujolcamins
Date: 2015-07-30T18:06:40Z


Would this work?

1-Store in the database the last time when Mixxx modified a track file.
2-When the track is loaded, compare the database last modified time with the OS last modified time. If Mixxx is not the last app to modify the track, re-analyze it.

@ronso0
Copy link
Member

ronso0 commented Sep 3, 2024

Would it suffice to compare the duration with the stored value from the database?

@daschuer
Copy link
Member

daschuer commented Sep 4, 2024

The track length read from the metadata is often wrong. The library scanner does import this uncertain track length. It is corrected when the track is loaded the first time. So it should be correct after analysis, but no longer matches the metadata!? We need to verify this.

We have already a verification of the first sound that is done without re-analyzing whenever the track is played.
The result is only a warning in the mixxx.log right now.

I think we can build on that in addition.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants