Version: 1.4.8 (using KDE 3.5.8) Installed from: Ubuntu Packages OS: Linux I dumped my database with the following dcop command : dcop amarok collection query 'SELECT * FROM tags' > collection.txt For one of the many lines in the dumped file, the path looks like this: ./home/babil/my music/02 - Yaatri - Jonmechi Tai.mp3 Strangely, the path starts with a "." dot which is incorrect. I have added only "/home/babil/my music/" directory to my collection by doing Settings > Configure Amarok > Collection. So, it should add the full qualified path of the songs in the sqlite database, instead of incorrectly trying to make it a relative path. I've tried deleting collection.db and recreating the database. The bug is reproducible. I discovered this bug while debugging the "EmbedCover" script. Apparently the script fails to pull down the artist/album from the tag as the path is set in correctly. I had to patch the script by adding a false "./" in the beginning while retrieving the sqlite entry for album/artist by dcop and again stripping out the "./" before calling addimage2mp3.rb
This is a normal side effect of the "Dynamic Collection" system; you can read up on it in our wiki.
Hi, thanks for the quick reply. Is there any way to avoid the initial dot or to stop the "Dynamic Collection". I tried adding the new entry in a new section called [Collection]. But amarok is still creating database entries with the intial dot.
http://amarok.kde.org/wiki/Dynamic_Collection#Disabling_Dynamic_Collection
This is my amarokrc, I read that up already & did try adding DynamicCollection=false" to "[Collcetion]" section as I mentioned in my previous message. Then recreated the database with a Rescan. Doesn't help. Amarok is still creating database entries with a dot. ======================== [BrowserBar] CurrentPane=CollectionBrowser MagnatuneBrowser=false MediaBrowser=false Width=386 [Collection] DynamicCollection=false [Collection Browser] Category1=2 Category2=1 ========================
Try to delete the db file.
Did that. Deleted the following files from $HOME/.kde/share/apps/amarok/ * collection.db * collection_scan.files * collection_scan.log then "Tools > Rescan Collection". Didn't help.
Then I don't know. Come to our IRC channel and try talking to maxx_k; he's the author of the dynamic collection feature.
Amarok will always put the dot in front of the url. But there are three dcop methods to operate on those urls. They are aprt of the collection interface, and are called deviceid, relativePath, and absolutePath you can convert from amarok's internal representation of urls to an absolute path using absolutePath. to convert an absolute Path to the values that you'll find in the database, call deviceId with the absolute Path as argument, and relativePath with the absolutePath as argument.
got it :: deviceid = `dcop amarok collection deviceId '#{file}'`.chomp() dcopfile = `dcop amarok collection absolutePath "#{deviceid}" "#{file}"`.chomp() Thanks a lot Maximilian.