elementary / music

Music player and library designed for elementary OS
https://elementary.io
GNU General Public License v3.0
145 stars 49 forks source link

Performance: Use Multiple Threads when Scanning Local Files #722

Closed naftulikay closed 2 years ago

naftulikay commented 2 years ago

What Happened?

This has been an issue for many years now and has prevented me from using Music since Freya and back when Music was known as Noise.

I have a music library of approximately 60GiB of MP3 and FLAC files. Honestly, it is a fairly modestly sized library, I have a friend who has approximately a 500GiB local music library.

It appears that Music is only single-threaded, as it takes an extremely long time to scan my music library and only utilizes one core at any given point in time. During the scan, the user interface becomes entirely unresponsive. Up until now, I have used Banshee as an alternative, as it can scan my entire music library without becoming unresponsive in less than a minute. It appears that Banshee is no longer provided by the base Ubuntu distribution.

Steps to Reproduce

Have Music scan a decently sized music library (in my case ~60GiB on disk, mostly constant-bit-rate @320kb/s MP3 files) on decent hardware.

Expected Behavior

Music should be able to scan my music library in a fraction of the time, and should remain responsive to user input during the scan.

OS Version

6.x (Odin)

Software Version

Latest release (I have run all updates)

Log Output

Simply running journald seems to show many many log lines of:

music_playback_manager_get_current_media: assertion 'self != NULL' failed

Hardware Info

danirabbit commented 2 years ago

Thanks for your report! We're doing a from-scratch rewrite of Music and this issue no longer applies to the new code base. I'm closing this report since the issue can't be reproduced in the new version of Music.