Mediascanner2 should provide a QML interface that satisfies the needs of music-app
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Music App |
Fix Released
|
High
|
Unassigned | ||
mediascanner2 |
Fix Released
|
Undecided
|
Unassigned | ||
mediascanner2 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
The current version of music-app uses QtGrilo to snarf the entire media index into a private database on startup. We haven't yet implemented a Grilo plugin for the new media scanner, and it would be preferable for music-app to drive itself directly from the media scanner index.
To achieve this, we want to provide a QML interface that provides the necessary functionality. The initial work is in this merge proposal, but it does little more than show that it is possible to perform queries from QML:
https:/
We most likely need to add some QAbstractListModel classes that let you iterate over songs, albums and artists. What is less clear is what filters would be needed to work with those models.
This e-mail is also relevant:
https:/
Related branches
- Michal Hruby (community): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
- Timo Jyrinki: Pending requested
-
Diff: 1916 lines (+1702/-1)32 files modifiedCMakeLists.txt (+2/-0)
debian/control (+17/-0)
debian/copyright (+1/-1)
debian/qtdeclarative5-ubuntu-mediascanner0.1.install (+1/-0)
src/mediascanner/MediaStore.cc (+93/-0)
src/mediascanner/MediaStore.hh (+3/-0)
src/qml/Ubuntu/MediaScanner/AlbumModelBase.cc (+57/-0)
src/qml/Ubuntu/MediaScanner/AlbumModelBase.hh (+54/-0)
src/qml/Ubuntu/MediaScanner/AlbumsModel.cc (+82/-0)
src/qml/Ubuntu/MediaScanner/AlbumsModel.hh (+60/-0)
src/qml/Ubuntu/MediaScanner/ArtistsModel.cc (+94/-0)
src/qml/Ubuntu/MediaScanner/ArtistsModel.hh (+69/-0)
src/qml/Ubuntu/MediaScanner/CMakeLists.txt (+58/-0)
src/qml/Ubuntu/MediaScanner/MediaFileModelBase.cc (+88/-0)
src/qml/Ubuntu/MediaScanner/MediaFileModelBase.hh (+64/-0)
src/qml/Ubuntu/MediaScanner/MediaFileWrapper.cc (+70/-0)
src/qml/Ubuntu/MediaScanner/MediaFileWrapper.hh (+64/-0)
src/qml/Ubuntu/MediaScanner/MediaStoreWrapper.cc (+48/-0)
src/qml/Ubuntu/MediaScanner/MediaStoreWrapper.hh (+53/-0)
src/qml/Ubuntu/MediaScanner/SongsModel.cc (+94/-0)
src/qml/Ubuntu/MediaScanner/SongsModel.hh (+63/-0)
src/qml/Ubuntu/MediaScanner/SongsSearchModel.cc (+56/-0)
src/qml/Ubuntu/MediaScanner/SongsSearchModel.hh (+53/-0)
src/qml/Ubuntu/MediaScanner/plugin.cc (+38/-0)
src/qml/Ubuntu/MediaScanner/plugin.hh (+40/-0)
src/qml/Ubuntu/MediaScanner/plugin.qmltypes (+121/-0)
src/qml/Ubuntu/MediaScanner/qmldir (+2/-0)
test/CMakeLists.txt (+7/-0)
test/qml/tst_mediastore.qml (+47/-0)
test/qml/tst_songsearchmodel.qml (+28/-0)
test/test_mediastore.cc (+112/-0)
test/test_qml.cc (+63/-0)
- Ubuntu Phone Apps Jenkins Bot: Approve (continuous-integration)
- David Planella: Needs Information
-
Diff: 4287 lines (+1018/-1352)34 files modifiedLibraryListModel.qml (+16/-89)
LoginLastFM.qml (+0/-1)
MusicAlbums.qml (+26/-22)
MusicArtists.qml (+57/-14)
MusicNowPlaying.qml (+12/-12)
MusicPlaylists.qml (+4/-3)
MusicSearch.qml (+22/-27)
MusicStart.qml (+76/-33)
MusicToolbar.qml (+4/-4)
MusicTracks.qml (+28/-17)
MusicaddtoPlaylist.qml (+8/-7)
Player.qml (+10/-11)
Style.qml (+4/-3)
click/apparmor.json (+1/-1)
click/manifest.json.in (+2/-3)
common/AlbumsSheet.qml (+52/-25)
common/BlurredBackground.qml (+9/-9)
common/CoverRow.qml (+7/-3)
common/Expander.qml (+4/-3)
common/SongsSheet.qml (+37/-21)
debian/control (+7/-6)
meta-database.js (+8/-380)
music-app.qml (+139/-375)
playlists.js (+6/-7)
plugins.json (+0/-5)
po/com.ubuntu.music.pot (+68/-76)
po/lv.po (+2/-1)
tests/autopilot/music_app/__init__.py (+1/-1)
tests/autopilot/music_app/content/mediascanner-2.0/mediastore.sql (+39/-0)
tests/autopilot/music_app/content/mediascanner/mediaindex (+0/-10)
tests/autopilot/music_app/emulators.py (+21/-2)
tests/autopilot/music_app/tests/__init__.py (+242/-52)
tests/autopilot/music_app/tests/test_music.py (+102/-126)
worker-library-loader.js (+4/-3)
- Jussi Pakkanen (community): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
-
Diff: 905 lines (+228/-110)20 files modifiedsrc/daemon/MetadataExtractor.cc (+4/-0)
src/mediascanner/MediaFile.cc (+13/-3)
src/mediascanner/MediaFile.hh (+7/-3)
src/mediascanner/MediaFileBuilder.cc (+17/-1)
src/mediascanner/MediaFileBuilder.hh (+10/-2)
src/mediascanner/MediaStore.cc (+30/-22)
src/qml/Ubuntu/MediaScanner/AlbumModelBase.cc (+4/-0)
src/qml/Ubuntu/MediaScanner/AlbumModelBase.hh (+3/-0)
src/qml/Ubuntu/MediaScanner/ArtistsModel.cc (+4/-0)
src/qml/Ubuntu/MediaScanner/ArtistsModel.hh (+3/-0)
src/qml/Ubuntu/MediaScanner/MediaFileModelBase.cc (+10/-0)
src/qml/Ubuntu/MediaScanner/MediaFileModelBase.hh (+5/-0)
src/qml/Ubuntu/MediaScanner/MediaFileWrapper.cc (+8/-0)
src/qml/Ubuntu/MediaScanner/MediaFileWrapper.hh (+4/-0)
src/qml/Ubuntu/MediaScanner/plugin.qmltypes (+28/-3)
src/utils/scaletest.cc (+1/-1)
test/qml/tst_mediastore.qml (+2/-0)
test/qml/tst_songsearchmodel.qml (+6/-6)
test/test_mediastore.cc (+62/-62)
test/test_qml.cc (+7/-7)
Changed in music-app: | |
status: | New → Triaged |
importance: | Undecided → High |
description: | updated |
Changed in music-app: | |
milestone: | none → hackdays-1403 |
Changed in mediascanner2: | |
status: | New → In Progress |
Changed in mediascanner2 (Ubuntu): | |
status: | Confirmed → In Progress |
Changed in mediascanner2: | |
status: | In Progress → Fix Released |
Changed in mediascanner2 (Ubuntu): | |
status: | In Progress → Fix Released |
Changed in music-app: | |
status: | Fix Committed → Fix Released |
Status changed to 'Confirmed' because the bug affects multiple users.