> On Sept. 4, 2012, 6:11 p.m., Matěj Laitl wrote: > > src/core-impl/collections/nepomukcollection/NepomukCollection.h, line 42 > > <http://git.reviewboard.kde.org/r/106042/diff/7/?file=83643#file83643line42> > > > > Nicpick: instead -> "in addition to"
It actually is the goal of the nepomuk collection to replace the main MySql-embedded default. Even though that might not be possible currently and an SQL storage will always be needed. I would be happy if we ever get there, with very good performance and easy-of-use. For now I agree with this nitpick, but you could add it's the goal to actually be a replacement. > On Sept. 4, 2012, 6:11 p.m., Matěj Laitl wrote: > > src/core-impl/collections/nepomukcollection/NepomukCollection.cpp, line 124 > > <http://git.reviewboard.kde.org/r/106042/diff/7/?file=83644#file83644line124> > > > > This works for now, but cannot one configure which folders Nepomuk > > indexes? You should use these for this call. (not a merge-blocker) > > Edward Hades Toroshchin wrote: > Phalgun, add a // TODO comment here, so that this can be investigated in > the future. You shouldn't try to change nepomuk's indexed folders. Instead create an opt-in or opt-out list for the content that it does need to include in the collection. i.e. add an additional query join (or equivalent, I'm not well versed in SPARQL) including/excluding based on file location. - Bart ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/106042/#review18515 ----------------------------------------------------------- On Sept. 4, 2012, 4:51 p.m., Phalgun Guduthur wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/106042/ > ----------------------------------------------------------- > > (Updated Sept. 4, 2012, 4:51 p.m.) > > > Review request for Amarok, Edward Hades Toroshchin, Vishesh Handa, and Matěj > Laitl. > > > Description > ------- > > Nepomuk plugin for Amarok. > > Almost all of the code changes can be found in > src/core-impl/collections/nepomukcollection/* > And a minor change in src/core-impl/collections/support/MemoryMeta.cpp > > Code builds and after Nepomuk plugin is activated in the "Settings" dialog, > Nepomuk Plugin comes into play and queries all the tracks in your machine. > The query is not 'that' fast and might take several seconds depending on the > number of tracks in your box. > IMPORTANT : Make sure Nepomuk is enabled if you want to give the plugin a > spin. > > =========================================================================== > Commit messages : > > > Code formatting changes > > > Removed unnecessary documentation > > > Set right Logger > > The logger shows the progres of the collection updation correctly now. > The number of tracks were calculated using a small sparql query > > removed local variable > > > Removed secondary Nepomuk meta hashmaps. > > Left all the duplicate object checking to MapChanger. > The CMakeLists logs the presence of Nepomuk > Initialized the labellists in NepomukTrack constructor > > Code formatting changes > > > fixing strohels nitpicks > > > Code formatting changes > > > vHanda nitpicks in review board > > 1. Moved soprano model instanciation after query string construction > 2. QString -> QString::fromLatin1() for sparql query string > 3. Nested album gains into album sub query > 4. removed extraneous code that cropped up. (nao::has) > 5. revamped tags query as I was only querying uri and not names of tags > > If nepomuk is not found, the user gets a logger message informing the same > > > Code formatting changes to fit 90chars per line > > > The progress bar says which track is being updated > > > The Includes order for NepomukCollection was fixed > > > Make Nepomuk dependency optional > > > Modified debug string to be concise and meaningful > > > Formatting changes and documentation - part 2 > > Also deleted the .autosave file that creeped along the other commits > > Documentation + Formatting - Part 1 ( meta classes ) > > > Added year implementation > > The sparql metadata query is complete with the major metadata. > Lyrics and Album art is yet to be done. > > Code builds. > > Code still in Nepomuk 1 > > Implemented label metadata ( tags ) in sparql enumeration > > > Code formatting changes > > > SPARQL query implemented instead of Nepomuk::Resource API > > Hefty changes in the core of the background job of the query of tracks > and subsequent enumeration. > > Initially a manual sparql query which queries for all properties of the > track and other meta data like artist, album etc. > > The meta HashMaps are changed to incorporate Resource URIs and Labels > instead of resources themselves, as keys. > > Year and labels ( tags in nepomuk ) are yet to be implemented > > Added a resource data member to NepomukTrack > > The resource was needed to store and extract ratings and score. It gets > constructed in the constructor using the QUrl > > Removed a unnecessary debug line > > > Modified NepomukTrack constructor > > The constructor now takes in the uri of the track resource as an argument > instead of the Nepomuk::Resource itself. > > Manual sparql query : NepomukTrack changes > > To support the usage of manual sparql query, a lot of support functions are > added to NepomukTrack. A lot of these are setter functions which were > previously set from the resource of the track. > > This was removed as a optimization technique as any use of Nepomuk::Resource > ::getProperty() consumes more cycles. > > Year gets populated now > > The query uses nmm:releaseDate and if it finds a date, populates > the track using a NepomukYear object. > > added NepomukTrack::setYear() > > > Revamped NepomukYear like other meta objects > > The constructor takes in a string argument > A tracks() method is implemented which returns all tracks of that year > > Add label details to track during query and enumeration > > Like other meta parameters, labels are now added to the NepomukTrack object > > Removed unused functions in NepomukLabel > > tracks() was not a function that was defined in Meta::Label. It is mostly > not needed by any class/GUI. Wasn't being used, so what the hell. > > Added and implemented label specific functions in NepomukTrack > > > Removed debug library include > > And removed other extraneous library includes in NepomukYear > > Added NepomukLabel in CMakeLists.txt > > > Added NepomukLabel > > Amarok labels == Nepomuk tags > > Removed unnecessary libraries that were included > > > Added Replay Gain to NepomukTrack > > > Remove extraneous argument to NepomukYear constructor > > > Const correctness > > Arguments wherever applicable are prepended with const modifier > to comply with coding standards. > > Commenting and documenting for NepomukConstrucMetaJob > > > Duplicate meta objects are no longer created > > Using HashMaps for each meta type, duplicate objects that might have been > created or else have eliminated. Now, all of artist, album, genre, composer > and track will have only one corresponding Nepomuk{meta} objects. > > NepomukTrack::prettyName() returns right name > > NepomukTrack::prettyName() now returns nie:title > > nie:title is used for title of track > > But this doesn't solve the problem completely. > A few tracks now have titles that start with > file://yadayadayada.. > > if condition to CMakeLists.txt > > Nepomuk plugin is built only if Nepomuk found. > Haven't tested this yet > > Merge branch 'gsoc' of git://hades.name/amarok into gsoc > > > Implemented collection() in NepomukTrack > > > nepomuk: use null album ptr for unknown albums > > > memory collection: fix crash due to empty album > > > Resolved graying out of tracks > > Still empty NepomukAlbum are constructed when a track with no album is > encountered. This might be the reason for the numerous 'Unknown Album'. > The reason for not fixing this is, there might be a bug in > MemoryMeta::MemoryChanger::addExistingTrack() which doesnt handle > empty albums right. It is breaking the code. > > Plugin builds collection only if Nepomuk is enabled > > In the constructor of NepomukCollection, buildCollection() is called only > if Nepomuk is found. > Removed commented code. > > tracks query and enumeration is a background job > > The background job is complete and the collection updates dynamically. > Code builds. > Removed a TODO in Collection Factory as it was done. > > Backqround job works > > But in a crude way. The constructor is stopped from exiting > using a while(1) loop. This looks and is wrong. > > Background job of NepomukCollection added > > The query and enumeration runs as a background job in > NepomukCollection. But the UI doesn't show the tracks > properly. I suspect this is because the UI gets updated > even before the tracks are queried and enumerated. There > should be a mechanism to push the queried results in batches. > This should solve this issue > > Remove unwanted NepomukTrack constructors > > > Warning messages if nepomuk is not enabled > > Removed freak error that was incorporated in destructor of NepomukCollection > > Added documentation > > Removed a redundant function in NepomukCollection > m_collectionReady changes value more meaningfully > > Nepomuk Collection works with albums, but artists are clubbed > > While local collection lists all the different artists on level 1, > nepomukcollection clubs all the artists into one 'Various Artists'. Albums > are listed properly. With unknown albums listed as unknown. > > Incorporated the use of MapChanger > > Code compiles and builds. But on running, Amarok crashes. > I suspect it is because the Track::album() returns something that is not > being handled properly by the caller > > Tried to check for meta objects before inserting into MetaMaps > > But Amarok crashes on startup with Dr.Konqi error. Added a new constructor > for NepomukAlbum that takes a album name and ArtistPtr as arguments > > Deleted notifyObservers() > > Deleted commented code. And reverted CMakeLists.txt since the > nepomukcollection wasn't compiling or else. Will look into this at a later > stage > > NepomukTrack::score() now returns 0 > > > Deleted commented lines, ones of NQM,NQMHelper etc > > > Removed extraneous functions > > Deleted setup{meta}map() and renamed setupTrackMap to setupMetaMap. > > Now nepomuk collection loads only if Nepomuk and Soprano are found > > > Fixed 0 tracks bug in GUI > > Removed commented code > > addTrack() added to NepomukAlbum > > And corresponding changes were made in NepomukCollection > to populate AlbumMap during construction of TrackMap > > Nepomuk Collection playsgit status > > The tracks in each meta object are populated > during construction of TrackMap > > Revamped Nepomuk{Meta}::tracks() > > Added a new function called addTrack() which is used > to add a track to a meta object as soon as the tracks > are queried in the construction of TrackMap in NepomukCollection > > Tracks and genres are now added to the respective MetaMaps > > The tracks don't list in the GUI yet. > Formatting changes in other files > > Modified argument placing in constructor of NepomukTrack > > The arguments are ordered according to other > meta classes. > > Merge branch 'gsoc' of git://hades.name/amarok into gsoc > > > New constructor for NepomukTrack > > A construtor which takes MetaPtrs as arguments > > nepomukcollection: remove old files > > > Nepomuk Collection shows a count of the tracks! > > Have to implement the other meta maps. Hopefully the > drop down works then. > > Was returning reference of a local variable. Fixed it > > > Setting my repo up, guided by dr_lepper > > Added collections/CMakeLists.txt on amend > Changed commit msg on amend too > > > Diffs > ----- > > src/core-impl/collections/nepomukcollection/meta/NepomukLabel.h > PRE-CREATION > src/core-impl/collections/nepomukcollection/meta/NepomukLabel.cpp > PRE-CREATION > src/core-impl/collections/nepomukcollection/meta/NepomukTrack.h > PRE-CREATION > src/core-impl/collections/nepomukcollection/meta/NepomukTrack.cpp > PRE-CREATION > src/core-impl/collections/nepomukcollection/meta/NepomukYear.h PRE-CREATION > src/core-impl/collections/nepomukcollection/meta/NepomukYear.cpp > PRE-CREATION > src/core-impl/collections/support/MemoryMeta.cpp > 37ba510f61605af7ebd803aee3529bde18ad84c5 > src/core-impl/collections/nepomukcollection/meta/NepomukGenre.h > PRE-CREATION > src/core-impl/collections/nepomukcollection/meta/NepomukGenre.cpp > PRE-CREATION > src/core-impl/collections/nepomukcollection/meta/NepomukComposer.cpp > PRE-CREATION > src/core-impl/collections/nepomukcollection/meta/NepomukComposer.h > PRE-CREATION > src/core-impl/collections/nepomukcollection/meta/NepomukArtist.cpp > PRE-CREATION > src/core-impl/collections/nepomukcollection/meta/NepomukArtist.h > PRE-CREATION > src/core-impl/collections/nepomukcollection/meta/NepomukAlbum.cpp > PRE-CREATION > src/core-impl/collections/nepomukcollection/meta/NepomukAlbum.h > PRE-CREATION > > src/core-impl/collections/nepomukcollection/amarok_collection-nepomukcollection.desktop > 815e69e492e819740aba620cc399a8ee79eace74 > src/core-impl/collections/nepomukcollection/NepomukYear.h > 504cbe2b146ae9a53291de9e82fa384467eb14e1 > src/core-impl/collections/nepomukcollection/NepomukYear.cpp > 1f13de0bd24e56b1b64b8c45f1d22720dd487a3c > src/core-impl/collections/nepomukcollection/NepomukTrack.cpp > 7db01cf34b3765f18f8b8b3cf6efbdf07af6e564 > src/core-impl/collections/nepomukcollection/NepomukTrack.h > 77dd8c70c8b0727655dfe1db89c7bd19208e77e5 > src/core-impl/collections/nepomukcollection/NepomukRegistry.cpp > 8afa199f73035eb7d95a8913eb1cbe9fea8b2ebd > src/core-impl/collections/nepomukcollection/NepomukRegistry.h > a21347eca2ab519a3c8b5b1f14650878fd7b4333 > src/core-impl/collections/nepomukcollection/NepomukQueryMaker.cpp > 33163eaa0b279dedcf92de01346312930f10d944 > src/core-impl/collections/nepomukcollection/NepomukGenre.cpp > 945074c4737ac2856469d5041ca2ea888d609bad > src/core-impl/collections/nepomukcollection/NepomukQueryMaker.h > 50067decec72f34a845e1da50e74cdf19e9c0f83 > src/core-impl/collections/nepomukcollection/NepomukGenre.h > ce0e3b71515d88e57dd3d01beba85e3cdfd8ede6 > src/core-impl/collections/nepomukcollection/NepomukConstructMetaJob.h > PRE-CREATION > src/core-impl/collections/nepomukcollection/NepomukConstructMetaJob.cpp > PRE-CREATION > src/core-impl/collections/nepomukcollection/NepomukCollectionFactory.h > PRE-CREATION > src/core-impl/collections/nepomukcollection/NepomukCollectionFactory.cpp > PRE-CREATION > src/core-impl/collections/nepomukcollection/NepomukComposer.h > 1b11325ec488f202a7b13b10d36c8216b487ae89 > src/core-impl/collections/nepomukcollection/NepomukComposer.cpp > f21251eab6798bb499d01900151b2c9a1783deae > src/core-impl/collections/nepomukcollection/NepomukCollection.cpp > cb185e818de2e00091f9cb03f4b19ccface14635 > src/core-impl/collections/nepomukcollection/NepomukArtist.h > 6fcedf3ac3724083b6992deb71fb659d9b2dc5d0 > src/core-impl/collections/nepomukcollection/NepomukArtist.cpp > 13ddf0142796d90af265d28a06d60110da64f138 > src/core-impl/collections/nepomukcollection/NepomukCollection.h > 928b1458782f0145a012c81468f22edfafc0f547 > src/core-impl/collections/nepomukcollection/NepomukAlbum.cpp > 6a09a1bbb4ea9bdfc08280326d29a351c666ab25 > src/core-impl/collections/CMakeLists.txt > c78b9202ece71b51189c4e47d85acfa4a74ef8d6 > src/core-impl/collections/nepomukcollection/CMakeLists.txt > 7cfd4b056000cf5de18c87d1d014b6670703e796 > src/core-impl/collections/nepomukcollection/NepomukAlbum.h > 185c25a0fe5b19248a3ab40c1d9d84fd66e6d2fe > > Diff: http://git.reviewboard.kde.org/r/106042/diff/ > > > Testing > ------- > > Minimal. Plan to spend the remaining time on testing the plugin. > > > Thanks, > > Phalgun Guduthur > >
_______________________________________________ Amarok-devel mailing list Amarok-devel@kde.org https://mail.kde.org/mailman/listinfo/amarok-devel