mixxxdj / mixxx

Mixxx is Free DJ software that gives you everything you need to perform live mixes.
http://mixxx.org
Other
4.26k stars 1.24k forks source link

Wishlist: Disk space warning (and limit?) for analysis files #6573

Open mixxxbot opened 1 year ago

mixxxbot commented 1 year ago

Reported by: hile Date: 2012-07-12T08:33:50Z Status: Confirmed Importance: Wishlist Launchpad Issue: lp1023787 Tags: polish


Analyzing a large music library can take significant amount of disk space. This may be a problem for non-technical users, who don't know to look at their mixxx application data directory, which is not easy to find for such people.

In mixxx 1.11, the analysis waveform files seem to be on average 250-500kB for a "normal" song, my largest analysis file is 18MB for a full album remix track.

We may want to do multiple things for this:

It might be also good idea to be able to set your analysis data directory, if you need to. I moved my data to another disk and symlinked it to correct place, but this is not enduser solution.

mixxxbot commented 1 year ago

Commented by: Pegasus-RPG Date: 2012-07-12T08:56:47Z


An alternative idea would be to do like Serato Scratch Live or DJ Intro does: the track waveform is generated on-the-fly such that each time you seek, it renders a fresh waveform two pixel columns forward, one behind, two forward, one behind, and so on to the edges of the screen, then to some buffer size limit. As the deck plays (in either direction) it renders to keep up. (I would imagine it stops if the deck is stopped as long as the on-screen section is fully rendered.) The advantages of that approach are 1) no disk space needed, 2) no waiting for analysis since it's going on continuously.

mixxxbot commented 1 year ago

Commented by: rryan Date: 2012-07-12T14:21:40Z


The disadvantage to this approach is that Mixxx would be constantly expending CPU filtering the waveform in 3-bands for visual display.

On Thu, Jul 12, 2012 at 4:56 AM, Sean M. Pappalardo <
<email address hidden>> wrote:

An alternative idea would be to do like Serato Scratch Live or DJ Intro does: the track waveform is generated on-the-fly such that each time you seek, it renders a fresh waveform two pixel columns forward, one behind, two forward, one behind, and so on to the edges of the screen, then to some buffer size limit. As the deck plays (in either direction) it renders to keep up. (I would imagine it stops if the deck is stopped as long as the on-screen section is fully rendered.) The advantages of that approach are 1) no disk space needed, 2) no waiting for analysis since it's going on continuously.

-- You received this bug notification because you are a member of Mixxx Development Team, which is subscribed to Mixxx. https://bugs.launchpad.net/bugs/1023787

Title: Wishlist: Disk space warning for analysis files

To manage notifications about this bug go to: https://bugs.launchpad.net/mixxx/+bug/1023787/+subscriptions

mixxxbot commented 1 year ago

Commented by: kain88-de Date: 2012-07-16T14:54:08Z


How about we move the analysis files into the library/mixxx folder ? This would show to the end-user that we actually use diskspace for analysed tracks and it's easy for them to see how much diskspace is used by them. In case the file is deleted we could just calculate it again and actually save it again.

This would also make it easier later to support transportable libraries since we only have to care about merging information in the sql files and not about file copying.

mixxxbot commented 1 year ago

Commented by: rryan Date: 2016-05-29T17:25:37Z


I added a cached waveform info section to Preferences -> Waveforms.

https://github.com/mixxxdj/mixxx/commit/59a78fae01b276592187b7cb726ab5dbf4e6c00c

It tells the user how much space is used on disk by them, allows them to clear all of them, and disable caching on disk entirely.

mixxxbot commented 1 year ago

Commented by: rryan Date: 2016-05-29T17:31:39Z


This bug is still not solved though -- maybe we could expand the scope to watch the user's disk in general and warn when running out of space. I think Mixxx will probably either crash or fail badly (corrupt SQLite?) when we're out of space.

Storing the files alongside the tracks would be a nice option -- though I think littering without permission isn't good :). As a user I would be worried about the difference between transient / cached data and track metadata (e.g. my beatgrids).

I wouldn't want to delete a file unless I knew it was only the former not the latter. The fix I added makes it clear this is a waveform-specific "cached" analysis and the clear button is in Preferences -> Waveform. I wanted to emphasize that it wouldn't delete anything important.

mixxxbot commented 1 year ago

Commented by: rryan Date: 2017-01-14T07:52:57Z


Some discussion in this vein: https://github.com/mixxxdj/mixxx/pull/1006

mixxxbot commented 1 year ago

Commented by: ronso0 Date: 2020-11-14T23:36:01Z


Low/no disk space caused some headaches again yesterday on a friend's coputer: Mixxx wouldn't allow loading songs into decks. A 'Low disk space' warning would be really helpful when Mixxx can't create waveform files.

PS I set up that machine and I didn't touch the OS' disk space warning, so maybe it just wasn't visible because Mixxx was in fullscreen mode?

ronso0 commented 9 months ago

There are already a disk space checker / warning utilities in RecordingManager (here and here). I suggest we move them to a utility class so it can easily be reused in AnalysisDao::saveTrackAnalyses.

Looks like a coffee break project. Since I'm not up to bigger tasks soonish I might take care of it.