15 votes

Make startup scan faster - don't rescan on every start

completed Mika Fischer 8 supporters

Currently bliss seems to be scanning everything from scratch when it's started. For me this easily takes longer than 30 minutes with about 1000 albums.

I suggest that bliss should do a quicker scan in the beginning, for instance just checking whether the files have changed since bliss last scanned them. This would make startup much faster without any adverse effects that I can see.

completed Dan Gravell responded ·

This feature was released in version 20110506 - http://www.blisshq.com/music-library-management-blog/2011/05/12/new-release-20110506-dont-rescan-on-start/

The initial behaviour is that across restarts the old data will be re-used.

That is unless the old data was created with different version of bliss, in which case bliss will rescan afresh with the same behaviour as now.

5 comments

Dan Gravell

I agree, and it has been a long standing aim so that bliss 'remembers' the music library between starts.

When bliss starts, it builds an index of your music files by reading the tags within the music files. It does this so it can quickly answer questions like 'give me all the albums by Michael Jackson' or 'give me all the tracks in the Blue Lines album'. It's building this index that takes time, as all files are read and the information is stored in temporary databases on your hard disk (as the information is too large to fit in memory).

In addition, the information about compliance of each album is also stored and rebuilt each time. This is based on the information in the index.

I just haven't got around to this yet on the basis that: (1) the scan should be fast anyway, and I should put effort into making it fast and (2) storing the library and reloading it can cause problems down the line when I want to change what's stored in the index, so it takes a lot of prior thought.

But I agree, I should look at this soon. I think it could be done in a phased manner:

1) Persist just the index, and re-assess all albums
2) Persist the index and the music compliance, re-assessing just the albums that have changed

CMeyer

My 2 cents.

Do a quick directory scan counting albums and tracks. This could be
used to give an estimate of how much longer the full scan will take. Keep updating estimate as full scan progresses.

Use SQLite as your DB for previous runs. Very fast, simple interface. I use it for my music collection, it works well.

Bliss is a very useful tool, Thank you,

Craig

Dan Gravell

Cheers Craig, and I just updated the title to make this more specific.

I already use a database under the covers, JDBM, although it's not a traditional SQL database. Read more here: http://www.blisshq.com/music-library-management-blog/2010/09/19/how-does-bliss-work/

Dan Gravell

I'm beginning work on some stuff that will lead up to this being implemented, although this idea itself will not be completed this release. The main body of work is to satisfy http://bliss.uservoice.com/forums/21939-bliss/suggestions/658291-add-rescan-button

bliss will be changed so that, on startup, it does not begin scanning automatically.

After that, I will begin work to store the scan between startups of bliss, to make the startup scan much faster.

Shawn Kernen

Nice!