Make startup scan faster - don't rescan on every start
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.
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.
Shawn Kernen commented
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.
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/
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,
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