Review Request: Collectionscanner patch
Leo Franchi
lfranchi at kde.org
Sat Oct 30 16:08:27 CEST 2010
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/100092/#review220
-----------------------------------------------------------
This patch didn't apply so I pulled from your collectionscanner-squashed3 branch on gitorious. on trying to change track this is the crash:
Thread 1 (Thread 0x7f0c8f7077a0 (LWP 28390)):
[KCrash Handler]
#6 0x00007f0c8bf53595 in raise () from /lib/libc.so.6
#7 0x00007f0c8bf54a16 in abort () from /lib/libc.so.6
#8 0x00007f0c8c82eef8 in qt_message_output (msgType=QtFatalMsg, buf=0x4308fd8 "ASSERT failure in QReadWriteLock::unlock(): \"Cannot unlock an unlocked lock\", file thread/qreadwritelock.cpp, line 405") at global/qglobal.cpp:2282
#9 0x00007f0c8c82f074 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7f0c8c9d7560 "ASSERT failure in %s: \"%s\", file %s, line %d", ap=0x7fff74565bc0) at global/qglobal.cpp:2328
#10 0x00007f0c8c82f8e2 in qFatal (msg=0x7f0c8c9d7560 "ASSERT failure in %s: \"%s\", file %s, line %d") at global/qglobal.cpp:2511
#11 0x00007f0c8c82eaeb in qt_assert_x (where=0x7f0c8c9d8f37 "QReadWriteLock::unlock()", what=0x7f0c8c9d8f18 "Cannot unlock an unlocked lock", file=0x7f0c8c9d8e52 "thread/qreadwritelock.cpp", line=405) at global/qglobal.cpp:2035
#12 0x00007f0c8c835303 in QReadWriteLock::unlock (this=0x2416368) at thread/qreadwritelock.cpp:405
#13 0x00007f0c692fd9d3 in QWriteLocker::unlock (this=0x7fff74565d90) at /home/leo/qt/4.7/include/QtCore/qreadwritelock.h:146
#14 0x00007f0c692fd982 in QWriteLocker::~QWriteLocker (this=0x7fff74565d90, __in_chrg=<value optimized out>) at /home/leo/qt/4.7/include/QtCore/qreadwritelock.h:139
#15 0x00007f0c692f13c7 in Meta::SqlTrack::endMetaDataUpdate (this=0x2416260) at /home/leo/kde/src/amarok/src/core-impl/collections/db/sql/SqlMeta.cpp:802
#16 0x00007f0c692f606f in Meta::SqlTrack::finishedPlaying (this=0x2416260, playedFraction=0.98650480769230764) at /home/leo/kde/src/amarok/src/core-impl/collections/db/sql/SqlMeta.cpp:1249
#17 0x00007f0c8e42c4ce in Playlist::Actions::play (this=0x296a080, trackid=1033146158495521810, now=true) at /home/leo/kde/src/amarok/src/playlist/PlaylistActions.cpp:229
#18 0x00007f0c8e42c094 in Playlist::Actions::requestUserNextTrack (this=0x296a080) at /home/leo/kde/src/amarok/src/playlist/PlaylistActions.cpp:155
#19 0x00007f0c8e42c636 in Playlist::Actions::next (this=0x296a080) at /home/leo/kde/src/amarok/src/playlist/PlaylistActions.cpp:247
#20 0x00007f0c8e381167 in Playlist::Actions::qt_metacall (this=0x296a080, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0x7fff745660b0) at /home/leo/kde/build/amarok/src/moc_PlaylistActions.cpp:101
#21 0x00007f0c8c95f6ab in QMetaObject::metacall (object=0x296a080, cl=QMetaObject::InvokeMetaMethod, idx=10, argv=0x7fff745660b0) at kernel/qmetaobject.cpp:237
#22 0x00007f0c8c97453b in QMetaObject::activate (sender=0x289cb10, m=0x7f0c8e19aee0, local_signal_index=1, argv=0x7fff745660b0) at kernel/qobject.cpp:3278
#23 0x00007f0c8d44e892 in QAction::triggered (this=0x289cb10, _t1=false) at .moc/debug-shared/moc_qaction.cpp:263
#24 0x00007f0c8d44db94 in QAction::activate (this=0x289cb10, event=QAction::Trigger) at kernel/qaction.cpp:1257
#25 0x00007f0c8ef8cf17 in QAction::trigger (this=0x289cb10) at /home/leo/qt/4.7/include/QtGui/qaction.h:218
#26 0x00007f0c8f0dfe49 in KGlobalAccelPrivate::_k_invokeAction (this=0x28cfad0, componentUnique=..., actionUnique=..., timestamp=142322112) at /home/leo/kde/src/kdelibs/kdeui/shortcuts/kglobalaccel.cpp:440
#27 0x00007f0c8f0e0c8c in KGlobalAccel::qt_metacall (this=0x2928d90, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff74566350) at /home/leo/kde/build/kdelibs/kdeui/kglobalaccel.moc:77
#28 0x00007f0c8c95f6ab in QMetaObject::metacall (object=0x2928d90, cl=QMetaObject::InvokeMetaMethod, idx=4, argv=0x7fff74566350) at kernel/qmetaobject.cpp:237
#29 0x00007f0c8c97453b in QMetaObject::activate (sender=0x293f390, m=0x7f0c8f53a920, local_signal_index=0, argv=0x7fff74566350) at kernel/qobject.cpp:3278
#30 0x00007f0c8f209033 in OrgKdeKglobalaccelComponentInterface::globalShortcutPressed (this=0x293f390, _t1=..., _t2=..., _t3=142322112) at /home/leo/kde/build/kdelibs/kdeui/kglobalaccel_component_interface.moc:150
#31 0x00007f0c8f208bc5 in OrgKdeKglobalaccelComponentInterface::qt_metacall (this=0x293f390, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff745664a0) at /home/leo/kde/build/kdelibs/kdeui/kglobalaccel_component_interface.moc:98
#32 0x00007f0c89887ed9 in QDBusConnectionPrivate::deliverCall (this=0x1954e70, object=0x293f390, msg=..., metaTypes=..., slotIdx=5) at qdbusintegrator.cpp:930
#33 0x00007f0c89893e63 in QDBusCallDeliveryEvent::placeMetaCall (this=0x2d5aaa0, object=0x293f390) at qdbusintegrator_p.h:103
#34 0x00007f0c8c96fe59 in QObject::event (this=0x293f390, e=0x2d5aaa0) at kernel/qobject.cpp:1217
#35 0x00007f0c8d45e356 in QApplicationPrivate::notify_helper (this=0x19637a0, receiver=0x293f390, e=0x2d5aaa0) at kernel/qapplication.cpp:4454
#36 0x00007f0c8d45b97a in QApplication::notify (this=0x7fff74567440, receiver=0x293f390, e=0x2d5aaa0) at kernel/qapplication.cpp:3854
#37 0x00007f0c8f086595 in KApplication::notify (this=0x7fff74567440, receiver=0x293f390, event=0x2d5aaa0) at /home/leo/kde/src/kdelibs/kdeui/kernel/kapplication.cpp:311
#38 0x00007f0c8c957537 in QCoreApplication::notifyInternal (this=0x7fff74567440, receiver=0x293f390, event=0x2d5aaa0) at kernel/qcoreapplication.cpp:732
#39 0x00007f0c8d44ee8b in QCoreApplication::sendEvent (receiver=0x293f390, event=0x2d5aaa0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#40 0x00007f0c8c958770 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x17d90c0) at kernel/qcoreapplication.cpp:1373
#41 0x00007f0c8c958391 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1266
#42 0x00007f0c8d52a04d in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#43 0x00007f0c8c98fd68 in postEventSourceDispatch (s=0x1970440) at kernel/qeventdispatcher_glib.cpp:277
#44 0x00007f0c84369bf3 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#45 0x00007f0c8436a3d0 in ?? () from /usr/lib/libglib-2.0.so.0
#46 0x00007f0c8436a66d in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#47 0x00007f0c8c990631 in QEventDispatcherGlib::processEvents (this=0x17d8770, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#48 0x00007f0c8d536362 in QGuiEventDispatcherGlib::processEvents (this=0x17d8770, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#49 0x00007f0c8c95509a in QEventLoop::processEvents (this=0x7fff745673e0, flags=...) at kernel/qeventloop.cpp:149
#50 0x00007f0c8c9551ee in QEventLoop::exec (this=0x7fff745673e0, flags=...) at kernel/qeventloop.cpp:201
#51 0x00007f0c8c957c2a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#52 0x00007f0c8d45b4f2 in QApplication::exec () at kernel/qapplication.cpp:3728
#53 0x0000000000407451 in main (argc=2, argv=0x7fff745693b8) at /home/leo/kde/src/amarok/src/main.cpp:239
- Leo
On 2010-10-25 14:28:19, Ralf Engels wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/100092/
> -----------------------------------------------------------
>
> (Updated 2010-10-25 14:28:19)
>
>
> Review request for Amarok.
>
>
> Summary
> -------
>
> Note: This patch is currently not well enough tested for the amount of changes.
> I am also thinking about submitting the changes in more homeophatic pieces.
> I will keep this patch up to date so that it always applies on the master without problems until it's completely tested.
>
> This patch exchanges the collectionscanner and the SqlScannerProcessor with a new version that uses the SqlRegistry and SqlTrack methods instead of directly writing the database.
> This allows a direct feedback for the user after scanning and prevents confusing the SqlRegistry.
>
> Note that there are several additional changes that I had to do or wanted to do. I hope I remember everything:
>
> 1. App does not initiate scanning at startup time any longer.
> The idea was that the collection should itself know if a scanning is needed and speed up the Amarok startup time
>
> 2. Changes to SqlRegistry and SqlMeta to make them thread save as the ScannerProcessor is running in a different thread and now using all these functions.
>
> 3. Meta::Album::setImage is now using a QImage
> As this function is called from outside the UI thread I can not use a QPixmap.
> This also eliminates a previously existing warning message about QPixmaps being used from outside the thread.
>
> 4. EngineController get's several signals
> Signals are usually thread save where the observer pattern is usually not.
> However several observers changed the ui (e.g. the Tray, Progress bar, OSD).
> A bigger EngineController patch removing all the remaining observers is a good idea.
>
> 5. Don't use QVariantMap for writing track meta data.
> MetaSupport has such nice uint64 constants for identifying meta data.
> This is not really needed but it should reduce memory consumption an increase speed a little bit with the only drawback that outputting such a FieldMap is not that informative any longer.
>
> 6. Fixed almost all auto tests
> Almost all of them are running now.
>
> 7. Additional comments for various functions.
>
> 8. Reading and writing FMPS.
> This means that rating, playcount and score are now saved to/read from local files.
>
>
> Diffs
> -----
>
> src/ActionClasses.cpp 61e8af8
> src/App.h 8652519
> src/App.cpp e6006b9
> src/EngineController.h 51e7fb3
> src/EngineController.cpp 5e07700
> src/MainWindow.h 4593d47
> src/MainWindow.cpp f5d4044
> src/TrayIcon.h d1ffd43
> src/TrayIcon.cpp 5ae5c7e
> src/amarokurls/NavigationUrlGenerator.cpp c330de8
> src/browsers/CollectionSortFilterProxyModel.cpp 2954934
> src/browsers/CollectionTreeItem.h 39a4c3d
> src/browsers/CollectionTreeItem.cpp b390900
> src/browsers/CollectionTreeItemModel.cpp 6560390
> src/browsers/CollectionTreeItemModelBase.h cc0ce62
> src/browsers/CollectionTreeItemModelBase.cpp c25549b
> src/browsers/CollectionTreeView.cpp ed34beb
> src/browsers/SingleCollectionTreeItemModel.cpp 922a3e8
> src/context/applets/albums/AlbumsModel.cpp 9b376ff
> src/context/applets/currenttrack/CurrentTrack.h f1162e9
> src/context/applets/currenttrack/CurrentTrack.cpp 83ed59a
> src/context/applets/videoclip/VideoclipApplet.cpp 771cbab
> src/context/engines/current/CurrentEngine.h 0369065
> src/context/engines/current/CurrentEngine.cpp 34086b2
> src/core-impl/capabilities/timecode/TimecodeEditCapability.h c9f3e73
> src/core-impl/capabilities/timecode/TimecodeEditCapability.cpp 4bddd84
> src/core-impl/collections/CMakeLists.txt 1e29df7
> src/core-impl/collections/audiocd/AudioCdMeta.h 2c0e91c
> src/core-impl/collections/audiocd/AudioCdMeta.cpp 861ec2d
> src/core-impl/collections/daap/DaapMeta.h c1be0b5
> src/core-impl/collections/daap/DaapMeta.cpp 64b855e
> src/core-impl/collections/daap/daapreader/Reader.h 5c21caf
> src/core-impl/collections/daap/daapreader/Reader.cpp 0fd70e5
> src/core-impl/collections/db/CMakeLists.txt PRE-CREATION
> src/core-impl/collections/db/DatabaseCollection.h PRE-CREATION
> src/core-impl/collections/db/DatabaseCollection.cpp PRE-CREATION
> src/core-impl/collections/db/DatabaseMeta.h PRE-CREATION
> src/core-impl/collections/db/DatabaseMeta.cpp PRE-CREATION
> src/core-impl/collections/db/ScanManager.h PRE-CREATION
> src/core-impl/collections/db/ScanManager.cpp PRE-CREATION
> src/core-impl/collections/db/ScanResultProcessor.h PRE-CREATION
> src/core-impl/collections/db/ScanResultProcessor.cpp PRE-CREATION
> src/core-impl/collections/db/amarok_databasecollection_export.h PRE-CREATION
> src/core-impl/collections/db/sql/CMakeLists.txt PRE-CREATION
> src/core-impl/collections/db/sql/CapabilityDelegate.h PRE-CREATION
> src/core-impl/collections/db/sql/CapabilityDelegateImpl.h PRE-CREATION
> src/core-impl/collections/db/sql/CapabilityDelegateImpl.cpp PRE-CREATION
> src/core-impl/collections/db/sql/DatabaseUpdater.h PRE-CREATION
> src/core-impl/collections/db/sql/DatabaseUpdater.cpp PRE-CREATION
> src/core-impl/collections/db/sql/DefaultSqlQueryMakerFactory.h PRE-CREATION
> src/core-impl/collections/db/sql/MountPointManager.h PRE-CREATION
> src/core-impl/collections/db/sql/MountPointManager.cpp PRE-CREATION
> src/core-impl/collections/db/sql/SqlBookmarkThisCapability.h PRE-CREATION
> src/core-impl/collections/db/sql/SqlBookmarkThisCapability.cpp PRE-CREATION
> src/core-impl/collections/db/sql/SqlCollection.h PRE-CREATION
> src/core-impl/collections/db/sql/SqlCollection.cpp PRE-CREATION
> src/core-impl/collections/db/sql/SqlCollectionFactory.h PRE-CREATION
> src/core-impl/collections/db/sql/SqlCollectionFactory.cpp PRE-CREATION
> src/core-impl/collections/db/sql/SqlCollectionLocation.h PRE-CREATION
> src/core-impl/collections/db/sql/SqlCollectionLocation.cpp PRE-CREATION
> src/core-impl/collections/db/sql/SqlMeta.h PRE-CREATION
> src/core-impl/collections/db/sql/SqlMeta.cpp PRE-CREATION
> src/core-impl/collections/db/sql/SqlQueryMaker.h PRE-CREATION
> src/core-impl/collections/db/sql/SqlQueryMaker.cpp PRE-CREATION
> src/core-impl/collections/db/sql/SqlQueryMakerInternal.h PRE-CREATION
> src/core-impl/collections/db/sql/SqlQueryMakerInternal.cpp PRE-CREATION
> src/core-impl/collections/db/sql/SqlReadLabelCapability.h PRE-CREATION
> src/core-impl/collections/db/sql/SqlReadLabelCapability.cpp PRE-CREATION
> src/core-impl/collections/db/sql/SqlRegistry.h PRE-CREATION
> src/core-impl/collections/db/sql/SqlRegistry.cpp PRE-CREATION
> src/core-impl/collections/db/sql/SqlScanResultProcessor.h PRE-CREATION
> src/core-impl/collections/db/sql/SqlScanResultProcessor.cpp PRE-CREATION
> src/core-impl/collections/db/sql/SqlWriteLabelCapability.h PRE-CREATION
> src/core-impl/collections/db/sql/SqlWriteLabelCapability.cpp PRE-CREATION
> src/core-impl/collections/db/sql/XesamCollectionBuilder.h PRE-CREATION
> src/core-impl/collections/db/sql/XesamCollectionBuilder.cpp PRE-CREATION
> src/core-impl/collections/db/sql/XesamDbus.h PRE-CREATION
> src/core-impl/collections/db/sql/XesamDbus.cpp PRE-CREATION
> src/core-impl/collections/db/sql/XesamInterface.xml PRE-CREATION
> src/core-impl/collections/db/sql/amarok_sqlcollection_export.h PRE-CREATION
> src/core-impl/collections/db/sql/device/CMakeLists.txt PRE-CREATION
> src/core-impl/collections/db/sql/device/massstorage/CMakeLists.txt PRE-CREATION
> src/core-impl/collections/db/sql/device/massstorage/MassStorageDeviceHandler.h PRE-CREATION
> src/core-impl/collections/db/sql/device/massstorage/MassStorageDeviceHandler.cpp PRE-CREATION
> src/core-impl/collections/db/sql/device/massstorage/amarok_massstorage-device.desktop PRE-CREATION
> src/core-impl/collections/db/sql/device/nfs/CMakeLists.txt PRE-CREATION
> src/core-impl/collections/db/sql/device/nfs/NfsDeviceHandler.h PRE-CREATION
> src/core-impl/collections/db/sql/device/nfs/NfsDeviceHandler.cpp PRE-CREATION
> src/core-impl/collections/db/sql/device/nfs/amarok_nfs-device.desktop PRE-CREATION
> src/core-impl/collections/db/sql/device/smb/CMakeLists.txt PRE-CREATION
> src/core-impl/collections/db/sql/device/smb/SmbDeviceHandler.h PRE-CREATION
> src/core-impl/collections/db/sql/device/smb/SmbDeviceHandler.cpp PRE-CREATION
> src/core-impl/collections/db/sql/device/smb/amarok_smb-device.desktop PRE-CREATION
> src/core-impl/collections/db/sql/mysql-shared/MySqlQueryMaker.h PRE-CREATION
> src/core-impl/collections/db/sql/mysql-shared/MySqlQueryMaker.cpp PRE-CREATION
> src/core-impl/collections/db/sql/mysql-shared/MySqlStorage.h PRE-CREATION
> src/core-impl/collections/db/sql/mysql-shared/MySqlStorage.cpp PRE-CREATION
> src/core-impl/collections/db/sql/mysqlecollection/CMakeLists.txt PRE-CREATION
> src/core-impl/collections/db/sql/mysqlecollection/MySqlEmbeddedCollection.h PRE-CREATION
> src/core-impl/collections/db/sql/mysqlecollection/MySqlEmbeddedCollection.cpp PRE-CREATION
> src/core-impl/collections/db/sql/mysqlecollection/MySqlEmbeddedStorage.h PRE-CREATION
> src/core-impl/collections/db/sql/mysqlecollection/MySqlEmbeddedStorage.cpp PRE-CREATION
> src/core-impl/collections/db/sql/mysqlecollection/amarok_collection-mysqlecollection.desktop PRE-CREATION
> src/core-impl/collections/db/sql/mysqlservercollection/CMakeLists.txt PRE-CREATION
> src/core-impl/collections/db/sql/mysqlservercollection/MySqlServerCollection.h PRE-CREATION
> src/core-impl/collections/db/sql/mysqlservercollection/MySqlServerCollection.cpp PRE-CREATION
> src/core-impl/collections/db/sql/mysqlservercollection/amarok_collection-mysqlservercollection.desktop PRE-CREATION
> src/core-impl/collections/ipodcollection/handler/IpodHandler.h 9e914c2
> src/core-impl/collections/ipodcollection/handler/IpodHandler.cpp 64227e1
> src/core-impl/collections/ipodcollection/handler/capabilities/IpodArtworkCapability.h 5299aba
> src/core-impl/collections/ipodcollection/handler/capabilities/IpodArtworkCapability.cpp 6bf3e64
> src/core-impl/collections/ipodcollection/handler/capabilities/IpodWriteCapability.h b9a3407
> src/core-impl/collections/ipodcollection/handler/capabilities/IpodWriteCapability.cpp 4333739
> src/core-impl/collections/mediadevicecollection/MediaDeviceMeta.h fa57e0a
> src/core-impl/collections/mediadevicecollection/MediaDeviceMeta.cpp f277a40
> src/core-impl/collections/mediadevicecollection/handler/MediaDeviceHandler.cpp 0c18a26
> src/core-impl/collections/mediadevicecollection/handler/capabilities/ArtworkCapability.h 83cc8c4
> src/core-impl/collections/mediadevicecollection/handler/capabilities/ArtworkCapability.cpp b458136
> src/core-impl/collections/mediadevicecollection/handler/capabilities/WriteCapability.h 5143af1
> src/core-impl/collections/mtpcollection/handler/capabilities/MtpWriteCapability.h a4e2bfb
> src/core-impl/collections/mtpcollection/handler/capabilities/MtpWriteCapability.cpp 86ffa31
> src/core-impl/collections/nepomukcollection/NepomukQueryMaker.h 3a8757f
> src/core-impl/collections/nepomukcollection/NepomukQueryMaker.cpp 96ac92d
> src/core-impl/collections/nepomukcollection/NepomukRegistry.cpp 21e9ac8
> src/core-impl/collections/nepomukcollection/NepomukTrack.h 61d6177
> src/core-impl/collections/nepomukcollection/NepomukTrack.cpp 06411ff
> src/core-impl/collections/playdarcollection/PlaydarCollection.cpp dccbeec
> src/core-impl/collections/playdarcollection/PlaydarMeta.h 114f0bf
> src/core-impl/collections/playdarcollection/PlaydarMeta.cpp 58cee34
> src/core-impl/collections/playdarcollection/PlaydarQueryMaker.h 706b197
> src/core-impl/collections/playdarcollection/PlaydarQueryMaker.cpp 20051c2
> src/core-impl/collections/proxycollection/ProxyCollection.h a394324
> src/core-impl/collections/proxycollection/ProxyCollection.cpp 10a1116
> src/core-impl/collections/proxycollection/ProxyCollectionMeta.h d473792
> src/core-impl/collections/proxycollection/ProxyCollectionMeta.cpp f800987
> src/core-impl/collections/proxycollection/ProxyCollectionQueryMaker.h b5f1dc6
> src/core-impl/collections/proxycollection/ProxyCollectionQueryMaker.cpp 19465a9
> src/core-impl/collections/sqlcollection/ArtistHelper.h c2ed80e
> src/core-impl/collections/sqlcollection/ArtistHelper.cpp 1430df6
> src/core-impl/collections/sqlcollection/CMakeLists.txt f530d67
> src/core-impl/collections/sqlcollection/CapabilityDelegate.h 28c8daa
> src/core-impl/collections/sqlcollection/CapabilityDelegateImpl.h f5bab2d
> src/core-impl/collections/sqlcollection/CapabilityDelegateImpl.cpp 78fd02b
> src/core-impl/collections/sqlcollection/DatabaseUpdater.h 8eef5d0
> src/core-impl/collections/sqlcollection/DatabaseUpdater.cpp 00a9e25
> src/core-impl/collections/sqlcollection/DefaultSqlQueryMakerFactory.h c6a0096
> src/core-impl/collections/sqlcollection/MountPointManager.h f22e53a
> src/core-impl/collections/sqlcollection/MountPointManager.cpp a28e976
> src/core-impl/collections/sqlcollection/ScanManager.h 135a877
> src/core-impl/collections/sqlcollection/ScanManager.cpp bc3c9e5
> src/core-impl/collections/sqlcollection/ScanResultProcessor.h 641d378
> src/core-impl/collections/sqlcollection/ScanResultProcessor.cpp 357c9d2
> src/core-impl/collections/sqlcollection/SqlBookmarkThisCapability.h 9418f2f
> src/core-impl/collections/sqlcollection/SqlBookmarkThisCapability.cpp fbc41ba
> src/core-impl/collections/sqlcollection/SqlCollection.h 7e970e7
> src/core-impl/collections/sqlcollection/SqlCollection.cpp b88d257
> src/core-impl/collections/sqlcollection/SqlCollectionDBusHandler.h 7f187a4
> src/core-impl/collections/sqlcollection/SqlCollectionDBusHandler.cpp d103c79
> src/core-impl/collections/sqlcollection/SqlCollectionFactory.h 6c48611
> src/core-impl/collections/sqlcollection/SqlCollectionFactory.cpp a1966ac
> src/core-impl/collections/sqlcollection/SqlCollectionLocation.h ec3a6d8
> src/core-impl/collections/sqlcollection/SqlCollectionLocation.cpp 4b023fc
> src/core-impl/collections/sqlcollection/SqlImportedPlaylistProvider.h 8cccc56
> src/core-impl/collections/sqlcollection/SqlImportedPlaylistProvider.cpp 6466e8b
> src/core-impl/collections/sqlcollection/SqlMeta.h b92e351
> src/core-impl/collections/sqlcollection/SqlMeta.cpp 6b29b6e
> src/core-impl/collections/sqlcollection/SqlQueryMaker.h d4e452b
> src/core-impl/collections/sqlcollection/SqlQueryMaker.cpp ddc77d2
> src/core-impl/collections/sqlcollection/SqlQueryMakerInternal.h 65db5af
> src/core-impl/collections/sqlcollection/SqlQueryMakerInternal.cpp 965ff08
> src/core-impl/collections/sqlcollection/SqlReadLabelCapability.h c49d902
> src/core-impl/collections/sqlcollection/SqlReadLabelCapability.cpp 8175bc2
> src/core-impl/collections/sqlcollection/SqlRegistry.h 66ba632
> src/core-impl/collections/sqlcollection/SqlRegistry.cpp e1b3571
> src/core-impl/collections/sqlcollection/SqlWriteLabelCapability.h 38a97bb
> src/core-impl/collections/sqlcollection/SqlWriteLabelCapability.cpp a7d5b1e
> src/core-impl/collections/sqlcollection/XesamCollectionBuilder.h 80aadba
> src/core-impl/collections/sqlcollection/XesamCollectionBuilder.cpp 01d9661
> src/core-impl/collections/sqlcollection/XesamDbus.h c0cb790
> src/core-impl/collections/sqlcollection/XesamDbus.cpp 11211e6
> src/core-impl/collections/sqlcollection/XesamInterface.xml 400b379
> src/core-impl/collections/sqlcollection/amarok_sqlcollection_export.h 4495d0c
> src/core-impl/collections/sqlcollection/device/CMakeLists.txt 1baaf85
> src/core-impl/collections/sqlcollection/device/massstorage/CMakeLists.txt 7a0dc1f
> src/core-impl/collections/sqlcollection/device/massstorage/MassStorageDeviceHandler.h d0a9ec4
> src/core-impl/collections/sqlcollection/device/massstorage/MassStorageDeviceHandler.cpp eb4286f
> src/core-impl/collections/sqlcollection/device/massstorage/amarok_massstorage-device.desktop 6b5400d
> src/core-impl/collections/sqlcollection/device/nfs/CMakeLists.txt 6807dd6
> src/core-impl/collections/sqlcollection/device/nfs/NfsDeviceHandler.h 21c1894
> src/core-impl/collections/sqlcollection/device/nfs/NfsDeviceHandler.cpp 91af710
> src/core-impl/collections/sqlcollection/device/nfs/amarok_nfs-device.desktop 555989e
> src/core-impl/collections/sqlcollection/device/smb/CMakeLists.txt fc27d5a
> src/core-impl/collections/sqlcollection/device/smb/SmbDeviceHandler.h c74c840
> src/core-impl/collections/sqlcollection/device/smb/SmbDeviceHandler.cpp 2f19e28
> src/core-impl/collections/sqlcollection/device/smb/amarok_smb-device.desktop 589aabd
> src/core-impl/collections/sqlcollection/mysql-shared/MySqlQueryMaker.h 360ba94
> src/core-impl/collections/sqlcollection/mysql-shared/MySqlQueryMaker.cpp c8f47a1
> src/core-impl/collections/sqlcollection/mysql-shared/MySqlStorage.h 2386bef
> src/core-impl/collections/sqlcollection/mysql-shared/MySqlStorage.cpp a661873
> src/core-impl/collections/sqlcollection/mysqlecollection/CMakeLists.txt aa3588c
> src/core-impl/collections/sqlcollection/mysqlecollection/MySqlEmbeddedCollection.h e0a8553
> src/core-impl/collections/sqlcollection/mysqlecollection/MySqlEmbeddedCollection.cpp 678cb89
> src/core-impl/collections/sqlcollection/mysqlecollection/MySqlEmbeddedStorage.h ab7d75b
> src/core-impl/collections/sqlcollection/mysqlecollection/MySqlEmbeddedStorage.cpp acb4aa8
> src/core-impl/collections/sqlcollection/mysqlecollection/amarok_collection-mysqlecollection.desktop 864b1f5
> src/core-impl/collections/sqlcollection/mysqlservercollection/CMakeLists.txt 0a5d722
> src/core-impl/collections/sqlcollection/mysqlservercollection/MySqlServerCollection.h d94f59f
> src/core-impl/collections/sqlcollection/mysqlservercollection/MySqlServerCollection.cpp 179fbe2
> src/core-impl/collections/sqlcollection/mysqlservercollection/amarok_collection-mysqlservercollection.desktop 3b3c06f
> src/core-impl/collections/sqlcollection/org.kde.amarok.SqlCollection.xml b09d91d
> src/core-impl/collections/support/ArtistHelper.h PRE-CREATION
> src/core-impl/collections/support/ArtistHelper.cpp PRE-CREATION
> src/core-impl/collections/support/CollectionManager.h 77d8967
> src/core-impl/collections/support/CollectionManager.cpp 38ebd1f
> src/core-impl/collections/support/MemoryCollection.h 2d5eebb
> src/core-impl/collections/support/MemoryFilter.cpp ecb92ff
> src/core-impl/collections/support/MemoryMatcher.cpp bfcbd82
> src/core-impl/collections/support/MemoryQueryMaker.h 1726e95
> src/core-impl/collections/support/MemoryQueryMaker.cpp e35769e
> src/core-impl/collections/support/XmlQueryWriter.h 11c818e
> src/core-impl/collections/support/XmlQueryWriter.cpp 657e0c8
> src/core-impl/collections/umscollection/handler/UmsHandler.cpp 1a5d2bb
> src/core-impl/collections/umscollection/podcasts/UmsPodcastMeta.h 0f3b72d
> src/core-impl/collections/umscollection/podcasts/UmsPodcastMeta.cpp 80a9523
> src/core-impl/meta/file/File.h c791ccd
> src/core-impl/meta/file/File.cpp b807cba
> src/core-impl/meta/file/File_p.h 4f120a9
> src/core-impl/meta/file/TagLibUtils.h 96e1a60
> src/core-impl/meta/file/TagLibUtils.cpp ad1a07e
> src/core-impl/meta/proxy/MetaProxy.h 32f2f76
> src/core-impl/meta/proxy/MetaProxy.cpp 8cc01a1
> src/core-impl/meta/proxy/MetaProxy_p.h c581271
> src/core-impl/meta/stream/Stream.h cb45d3b
> src/core-impl/meta/stream/Stream.cpp c688053
> src/core-impl/meta/stream/Stream_p.h 7601249
> src/core-impl/meta/timecode/TimecodeMeta.h 3518bef
> src/core-impl/meta/timecode/TimecodeMeta.cpp 4b39585
> src/core-impl/playlists/types/file/PlaylistFileSupport.cpp 8a1b745
> src/core-impl/playlists/types/file/m3u/M3UPlaylist.h 46efdee
> src/core-impl/podcasts/sql/SqlPodcastMeta.cpp 07ceae4
> src/core/CMakeLists.txt 5863ca1
> src/core/capabilities/BookmarkThisCapability.h 10eef20
> src/core/capabilities/CustomActionsCapability.h 99db4a8
> src/core/capabilities/EditCapability.h 2406c1e
> src/core/collections/Collection.h a085f32
> src/core/collections/CollectionLocation.h 567f6d3
> src/core/collections/CollectionLocation.cpp dbf3b37
> src/core/collections/MetaQueryMaker.h a3277d1
> src/core/collections/MetaQueryMaker.cpp 65c29e5
> src/core/collections/QueryMaker.h 570d08b
> src/core/engine/EngineObserver.h 5a93062
> src/core/engine/EngineObserver.cpp 7d5728b
> src/core/meta/Meta.h 1225e3c
> src/core/meta/Meta.cpp e9c5089
> src/core/meta/support/MetaConstants.h 40cad34
> src/core/meta/support/MetaKeys.h PRE-CREATION
> src/core/meta/support/MetaKeys.cpp PRE-CREATION
> src/core/meta/support/MetaUtility.h b161bdc
> src/core/meta/support/MetaUtility.cpp 0bb29db
> src/core/support/Amarok.h cb9e47f
> src/core/support/Amarok.cpp 9f2d727
> src/covermanager/CoverFetcher.h 3970648
> src/covermanager/CoverFetcher.cpp 9a8d852
> src/covermanager/CoverFetchingActions.cpp 6263b37
> src/covermanager/CoverFoundDialog.h 80c19d0
> src/covermanager/CoverFoundDialog.cpp 88eaac6
> src/databaseimporter/amarok14/FastForwardWorker.cpp 8a6e107
> src/databaseimporter/itunes/ITunesImporterWorker.cpp ca8e578
> src/dialogs/CollectionSetup.h 091965e
> src/dialogs/CollectionSetup.cpp ece8d98
> src/dialogs/TagDialog.cpp 4a0e94f
> src/dynamic/Bias.cpp 6934a70
> src/dynamic/BiasSolver.cpp bf8e3c8
> src/mac/GrowlInterface.h 3bb35d2
> src/mac/GrowlInterface.cpp 862d019
> src/playlist/PlaylistModel.cpp 650eaf1
> src/playlist/view/listview/PrettyItemDelegate.cpp ab19ccc
> src/playlistgenerator/ConstraintSolver.cpp 1e1e512
> src/playlistgenerator/constraints/TagMatch.cpp a719825
> src/scriptengine/AmarokCollectionScript.cpp b230796
> src/scriptengine/AmarokEngineScript.h 55e275c
> src/scriptengine/AmarokEngineScript.cpp 15f7b6e
> src/scriptengine/MetaTypeExporter.h fd9c96c
> src/scriptengine/MetaTypeExporter.cpp 3d3c9c5
> src/services/DynamicServiceQueryMaker.h fc134db
> src/services/ServiceAlbumCoverDownloader.h 912b572
> src/services/ServiceAlbumCoverDownloader.cpp d9a2c4e
> src/services/ServiceMetaBase.h 72a7115
> src/services/ServiceMetaBase.cpp d267ade
> src/services/ServiceSqlQueryMaker.h 14a02cf
> src/services/ServiceSqlQueryMaker.cpp 0e1a537
> src/services/ampache/AmpacheServiceQueryMaker.h c95a855
> src/services/ampache/AmpacheServiceQueryMaker.cpp 0fd9337
> src/services/lastfm/LastFmService.cpp 68c70ba
> src/services/lastfm/LastFmServiceQueryMaker.h 2d4d972
> src/services/lastfm/LastFmServiceQueryMaker.cpp 91161eb
> src/services/lastfm/LastFmServiceSettings.cpp 6ed275d
> src/services/mp3tunes/Mp3tunesServiceCollection.cpp 304f147
> src/services/mp3tunes/Mp3tunesServiceQueryMaker.h c165756
> src/services/mp3tunes/Mp3tunesServiceQueryMaker.cpp df6e47f
> src/services/scriptable/ScriptableServiceQueryMaker.h 010a0e3
> src/services/scriptable/ScriptableServiceQueryMaker.cpp 5279ece
> src/synchronization/SynchronizationBaseJob.h bbb34d2
> src/synchronization/SynchronizationBaseJob.cpp 04e40cb
> src/toolbar/MainToolbar.h fc29ba2
> src/toolbar/MainToolbar.cpp abeedc6
> src/toolbar/VolumePopupButton.h a0f5d56
> src/toolbar/VolumePopupButton.cpp c9e4baf
> src/widgets/Osd.h b80b37e
> src/widgets/Osd.cpp 29ee886
> src/widgets/VolumeWidget.h 910e9f1
> src/widgets/VolumeWidget.cpp e1d01f1
> tests/TestAmarok.h 28da02e
> tests/TestAmarok.cpp 34cf11e
> tests/TestTrackOrganizer.cpp 7eb14a9
> tests/browsers/TestSingleCollectionTreeItemModel.h cc920c6
> tests/browsers/TestSingleCollectionTreeItemModel.cpp 118ad21
> tests/context/engines/upcomingevents/TestUpcomingEventsEngine.cpp c4dac2c
> tests/core-impl/collections/proxycollection/TestProxyCollectionMeta.cpp 6fadb72
> tests/core-impl/collections/sqlcollection/CMakeLists.txt 93d24e3
> tests/core-impl/collections/sqlcollection/DatabaseUpdaterTest.h 6c4067c
> tests/core-impl/collections/sqlcollection/DatabaseUpdaterTest.cpp 4d6a5f3
> tests/core-impl/collections/sqlcollection/IScanManagerMock.h 96c1419
> tests/core-impl/collections/sqlcollection/ScanManagerMock.h PRE-CREATION
> tests/core-impl/collections/sqlcollection/SqlMountPointManagerMock.h 600c43e
> tests/core-impl/collections/sqlcollection/TestAlbumCompilationChange.h daa35c0
> tests/core-impl/collections/sqlcollection/TestAlbumCompilationChange.cpp 84a0164
> tests/core-impl/collections/sqlcollection/TestArtistHelper.cpp 9395ad2
> tests/core-impl/collections/sqlcollection/TestScanResultProcessorFull.h 7616640
> tests/core-impl/collections/sqlcollection/TestScanResultProcessorFull.cpp 0162f68
> tests/core-impl/collections/sqlcollection/TestSqlAlbum.h PRE-CREATION
> tests/core-impl/collections/sqlcollection/TestSqlAlbum.cpp PRE-CREATION
> tests/core-impl/collections/sqlcollection/TestSqlArtist.h 7376a5a
> tests/core-impl/collections/sqlcollection/TestSqlArtist.cpp d57f55a
> tests/core-impl/collections/sqlcollection/TestSqlCollection.cpp 37df4ef
> tests/core-impl/collections/sqlcollection/TestSqlCollectionLocation.h c13e925
> tests/core-impl/collections/sqlcollection/TestSqlCollectionLocation.cpp 671759f
> tests/core-impl/collections/sqlcollection/TestSqlQueryMaker.h aafd1c0
> tests/core-impl/collections/sqlcollection/TestSqlQueryMaker.cpp 3bc663c
> tests/core-impl/collections/sqlcollection/TestSqlTrack.h 442aaeb
> tests/core-impl/collections/sqlcollection/TestSqlTrack.cpp ba702eb
> tests/core-impl/collections/sqlcollection/TestSqlTrackEditing.h 1a4a7b2
> tests/core-impl/collections/sqlcollection/TestSqlTrackEditing.cpp 6ae1ab0
> tests/core-impl/meta/file/TestMetaFileTrack.h 07e0ea2
> tests/core-impl/meta/file/TestMetaFileTrack.cpp baacf96
> tests/core/meta/TestMetaTrack.h 4786406
> tests/core/meta/TestMetaTrack.cpp 450db14
> tests/mocks/MetaMock.h d3c820c
> tests/mocks/MockTrack.h b799704
> tests/synchronization/TestMasterSlaveSynchronizationJob.cpp 641fb05
> tests/synchronization/TestOneWaySynchronizationJob.cpp c767a91
> tests/synchronization/TestUnionJob.cpp 57fd7f0
> utilities/collectionscanner/Album.h PRE-CREATION
> utilities/collectionscanner/Album.cpp PRE-CREATION
> utilities/collectionscanner/BatchFile.h PRE-CREATION
> utilities/collectionscanner/BatchFile.cpp PRE-CREATION
> utilities/collectionscanner/CMakeLists.txt 70c86d0
> utilities/collectionscanner/CollectionScanner.h f1139a2
> utilities/collectionscanner/CollectionScanner.cpp 033ea84
> utilities/collectionscanner/Directory.h PRE-CREATION
> utilities/collectionscanner/Directory.cpp PRE-CREATION
> utilities/collectionscanner/Playlist.h PRE-CREATION
> utilities/collectionscanner/Playlist.cpp PRE-CREATION
> utilities/collectionscanner/Track.h PRE-CREATION
> utilities/collectionscanner/Track.cpp PRE-CREATION
>
> Diff: http://git.reviewboard.kde.org/r/100092/diff
>
>
> Testing
> -------
>
> Run auto test.
> Full scan and incremental scan with previous existing collection.
> Deleted and copied tracks to/from collection.
>
>
> Thanks,
>
> Ralf
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/amarok-devel/attachments/20101030/517e2dbe/attachment-0001.htm
More information about the Amarok-devel
mailing list