Optimize files indexing by doing more stuff in pure c++ instead of mixing c++ and qml in inefficient ways
ClosedPublic

Authored by mgallien on Jan 16 2018, 10:09 PM.

Details

Summary

when a file indexer has finished use its imported tracks count for notifications

start to tune initial music discovery to be faster to show something to the user

small optimisations in the music models to tune for performance

optimize music discovery by moving MusicListenersManager and the models to c++

we are now creating MusicListenersManager and the models in pure c++
including the connections of signal/slots to update the models

this feels much faster than when this was done in qml

tune the busy indicator to only show up when really needed

Test Plan

works faster, still one thing to check

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.Jan 16 2018, 10:09 PM
mgallien created this revision.
mgallien retitled this revision from Summary: optimize files indexing by doing more stuff in pure c++ instead of mixing c++ and qml in inefficiet ways to Summary:optimize files indexing by doing more stuff in pure c++ instead of mixing c++ and qml in inefficiet ways.
mgallien added a project: Elisa.
astippich requested changes to this revision.Jan 17 2018, 8:14 PM
astippich added a subscriber: astippich.

seems to work fine except that the "No track have been found notification" is shown

This revision now requires changes to proceed.Jan 17 2018, 8:14 PM
mgallien retitled this revision from Summary:optimize files indexing by doing more stuff in pure c++ instead of mixing c++ and qml in inefficiet ways to Optimize files indexing by doing more stuff in pure c++ instead of mixing c++ and qml in inefficient ways.Jan 17 2018, 8:57 PM
mgallien updated this revision to Diff 25980.Jan 26 2018, 7:01 AM
  • fix navigation from an album to the artist of the album
  • small optimization in AllAlbumsModel by comparing albums by id
  • optimize update of album artist when inserting tracks by not fetching albums
  • remove files import console verbose prints

if tracks are imported through Baloo and no music is found via the elisa files indexer, there is still the notification shown

mgallien updated this revision to Diff 26020.Jan 26 2018, 10:22 PM
  • sum up all imported tracks whatever the indexer when showing a notification

no longer shows a no track notification

astippich accepted this revision.Jan 27 2018, 9:39 AM
This revision is now accepted and ready to land.Jan 27 2018, 9:39 AM
This revision was automatically updated to reflect the committed changes.