Simplify and improve music indexers management
ClosedPublic

Authored by mgallien on Mar 10 2019, 9:42 AM.

Details

Summary

start baloo first and if it is not available, start local file indexer

remove management of track discovery sources

simplify management of tracks by removing management of which source has
discovered a track

should allow users to easily switch from Baloo to local file system as
tracks source

improve management of tracks sources such that only baloo or local file
system scanning is enabled

no longer emit a signal when Elisa cannot watch a file for changes

refactor the way we check for Baloo availability

filter tracks by the configured paths when getting all tracks from Baloo

use the same list of paths than plain file system scanning

BUG: 393106

remove double checking for baloo configuration: not needed

Baloo configuration is now checked before going into
LocalBalooFileListing: no need to do it a second time

add support for qt logging category and use it for file indexers

improve management of indexers state and user reporting

convert LocalBalooFileListing to only use categorized debug logs

hopefully fix the display of busy indexers notifications

when configuration change, display proper busy notification to the user

indexing is no longer finished until tracks have been fully removed

Test Plan

Only one indexer is active (baloo or plain old file indexer).
Traces should help diagnose what happen

Diff Detail

Repository
R255 Elisa
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
mgallien requested review of this revision.Mar 10 2019, 9:42 AM
mgallien created this revision.
mgallien updated this revision to Diff 53584.Mar 10 2019, 9:50 AM

rebase on top of master

mgallien updated this revision to Diff 53586.Mar 10 2019, 10:06 AM

rebase on top of master

mgallien updated this revision to Diff 53739.Mar 12 2019, 4:32 PM
  • fix music import notification not showing up during initial indexing
mgallien updated this revision to Diff 54386.Mar 20 2019, 6:33 AM
  • fix music import notification not showing up during initial indexing
  • fix compilation of some tests after rebase on master

rebase on top of master

mgallien updated this revision to Diff 54572.Mar 22 2019, 5:51 PM
  • fix music import notification not showing up during initial indexing
  • use categorized logging in DatabaseInterface
  • store some metadata only if they are really defined
  • only really return data on tracks if they are not null in database
  • do not store invalid data from tracks into database
  • add categorized logging for vlc player code
  • scan newly discovered files from baloo only with audio mime type
  • add more logs in Baloo to understand what happens during indexing
  • only use categorized logging to indicate error cases
  • add bad performance detection for all Sql queries in debug builds
  • add some known index to Tracks table
  • really only fetch track ids and optimize modified albums handling
  • convert some remaining debug logs to categorized ones
  • revert modifications for modified tracks from modified albums

add more logging to be able to understand what happen with discovered files in the music indexers

fix one performance issue in database

This revision was not accepted when it landed; it landed in state Needs Review.Mon, Mar 25, 8:50 PM
This revision was automatically updated to reflect the committed changes.