Auto-Organise / Locate Moved/Missing tracks problems
Moderator: Gurus
-
Quebec
Auto-Organise / Locate Moved/Missing tracks problems
Hi, I've been using MM for a while now and love it to bits but keep having problems. These problems have been sticking around since version 2.x and are getting pretty damn annoying.
Basically what happens is if I use auto-organize to throw files around it moves and renames the files impeccably but doesn't manage to fully update the library a lot of the time. What generally happens is I end up with all the files in the new location and 90 - 95% of the files updated in the library, the problem is the 5-10% that don't update. These are still registered in the library as being in the old location while the actual files are in the new location. If the new folder is in a file monitored directory they get added again and I end up with duplicates with a 0 play count / unrated version that plays thatis not linked to by my playlists and another correctly rated / play count version which is in all my playlists as a dead link. Irritating.
Even more irritating is that this bug seems to affect tracks with high play counts worst. Inevitably if I do a big reshuffle of my library it is the tracks I actually want to listen to most which get stuck in this limbo state.
Now the obvious solution to this problem is to use locate moved/missing tracks to find back the lost tracks and all would be well... except that doesn't even pretend to work. I can point the tool precisely to a folder which has all the lost files with the exact same filename / tags etc. etc. just in a different folder (on the same hard drive) and it will tell me all tracks are unlocatable.
I have looked through the forums for "auto-organize" and "locate moved/missing tracks" and found no relevant threads, I have also had a quick look through the wiki / knowledge base and again not found anything relevant. The closest I found was a bug report about moved/missing tracks which said it was sorted in one of the more recent betas. I've installed that and no luck.
Any ideas? Is this a well known problem with a simple solution and I just haven't been looking in the right place? Is this something which is currently being worked on? Am I using the tools wrong? (Like I say auto-organize works perfectly on the files, the filenames are correct and the masks are simple and work as I would expect)
One more piece of information is that after I do a large move the location node works correctly. It tells me that there are no tracks in the directories the tracks have been removed from (correct, there aren't) but if I go to the new directory that the tracks were moved to the tracks are there but with 0 play counts. If I go to dead links the same tracks are listed as in the old directory with the correct play counts.
If this isn't something that is easy to sort or has been investigated before does anyone know a good free tool (or one I can get as part of a toolset likely available through university academic licenses) which will let me run sql queries directly on MMs DB so I can just change the damn path fields myself.
Cheers
Q
Basically what happens is if I use auto-organize to throw files around it moves and renames the files impeccably but doesn't manage to fully update the library a lot of the time. What generally happens is I end up with all the files in the new location and 90 - 95% of the files updated in the library, the problem is the 5-10% that don't update. These are still registered in the library as being in the old location while the actual files are in the new location. If the new folder is in a file monitored directory they get added again and I end up with duplicates with a 0 play count / unrated version that plays thatis not linked to by my playlists and another correctly rated / play count version which is in all my playlists as a dead link. Irritating.
Even more irritating is that this bug seems to affect tracks with high play counts worst. Inevitably if I do a big reshuffle of my library it is the tracks I actually want to listen to most which get stuck in this limbo state.
Now the obvious solution to this problem is to use locate moved/missing tracks to find back the lost tracks and all would be well... except that doesn't even pretend to work. I can point the tool precisely to a folder which has all the lost files with the exact same filename / tags etc. etc. just in a different folder (on the same hard drive) and it will tell me all tracks are unlocatable.
I have looked through the forums for "auto-organize" and "locate moved/missing tracks" and found no relevant threads, I have also had a quick look through the wiki / knowledge base and again not found anything relevant. The closest I found was a bug report about moved/missing tracks which said it was sorted in one of the more recent betas. I've installed that and no luck.
Any ideas? Is this a well known problem with a simple solution and I just haven't been looking in the right place? Is this something which is currently being worked on? Am I using the tools wrong? (Like I say auto-organize works perfectly on the files, the filenames are correct and the masks are simple and work as I would expect)
One more piece of information is that after I do a large move the location node works correctly. It tells me that there are no tracks in the directories the tracks have been removed from (correct, there aren't) but if I go to the new directory that the tracks were moved to the tracks are there but with 0 play counts. If I go to dead links the same tracks are listed as in the old directory with the correct play counts.
If this isn't something that is easy to sort or has been investigated before does anyone know a good free tool (or one I can get as part of a toolset likely available through university academic licenses) which will let me run sql queries directly on MMs DB so I can just change the damn path fields myself.
Cheers
Q
-
Mizery_Made
- Posts: 2283
- Joined: Tue Aug 29, 2006 1:09 pm
- Location: Kansas City, Missouri, United States
Re: Auto-Organise / Locate Moved/Missing tracks problems
I've not run into this problem with Auto-Organize creating lost paths or old ghost entries, etc. however you could go about manually fixing it in two different ways. Advanced Duplicate Find & Fix has the ability to copy data (including Plays, Playlist Entries, Added Date, etc) from an old entry to a new one. Though SQL-Viewer will do the trick if you manually want to update the songpath as it allows you to run SQL. Problem with that though, is it might have a negative effect on the Folders and/or FolderHier tables if you go messing with the data. I would certainly make a backup of your database before trying anything like that.
Forgot to mention that there reports that ADF&F might not work properly with the recent betas due to some changes dealing with reading and writing to the INI file... or... something.
Anyway, like I said though, I'm unable to reproduce your problem and haven't randomly seen it happen in my use of Monkey, both 2.x & 3.x, so maybe it's something with your personal computer set-up or something.
Forgot to mention that there reports that ADF&F might not work properly with the recent betas due to some changes dealing with reading and writing to the INI file... or... something.
Anyway, like I said though, I'm unable to reproduce your problem and haven't randomly seen it happen in my use of Monkey, both 2.x & 3.x, so maybe it's something with your personal computer set-up or something.
Re: Auto-Organise / Locate Moved/Missing tracks problems
Regarding the Folders and/or FolderHier tables. Yes they are not automatically updated when the Path is manually updated in the Songs table. However, they should be properly updated when you browse the Location node.
Jiri wrote:Let me clarify this – you can do any modifications manually, even directly on SongPath field of Songs table, the trigger then writes this particular record to PathProcessing table and MM will automatically (although not necessarily immediatelly) use this PathProcessing entry to update Folders table. I.e., as far as I know, there isn’t a way how to really corrupt Folders table, there only can occur that PathProcessing table contains entries that weren’t processed yet.
Advanced Duplicate Find & Fix Find More From Same - Custom Search. | Transfer PlayStat & Copy-Paste Tags/AlbumArt between any tracks.
Tagging Inconsistencies Do you think you have your tags in order? Think again...
Play History & Stats Node Like having your Last-FM account stored locally, but more advanced.
Case & Leading Zero Fixer Works on filenames too!
All My Scripts
Tagging Inconsistencies Do you think you have your tags in order? Think again...
Play History & Stats Node Like having your Last-FM account stored locally, but more advanced.
Case & Leading Zero Fixer Works on filenames too!
All My Scripts
-
Quebec
Re: Auto-Organise / Locate Moved/Missing tracks problems
Cheers guys. That comes in handy. Next question though, do you know what type of sql is used for media monkey? I am working on using sql viewer to alter the tables but the SUBSTRING function isn't working.
SELECT Songs.SongTitle FROM Songs WHERE SUBSTRING(Songs.SongPath, 0, 5) = "S:/My";
That should give me any songs that are in the old director, once that has been gotten to work I will be able to build up an update query. Any ideas?
P.S. The problem occured when auto organizing some fairly hefty numbers of files (like 20,000 at a time, that might be why you are having trouble reproducing it?) Also the problem has stuck with my over reinstalls of windows, version changes of media monkey, different folders and moves between different Hard discs, I'm running out of ways why it could be tied to my local setup.
SELECT Songs.SongTitle FROM Songs WHERE SUBSTRING(Songs.SongPath, 0, 5) = "S:/My";
That should give me any songs that are in the old director, once that has been gotten to work I will be able to build up an update query. Any ideas?
P.S. The problem occured when auto organizing some fairly hefty numbers of files (like 20,000 at a time, that might be why you are having trouble reproducing it?) Also the problem has stuck with my over reinstalls of windows, version changes of media monkey, different folders and moves between different Hard discs, I'm running out of ways why it could be tied to my local setup.
Re: Auto-Organise / Locate Moved/Missing tracks problems
Yes. it's SQLite:
http://www.sqlite.org/lang.html
It uses SUBSTR() and Songs.SongPath doesn't contain the driveletter. Try something like this
If you have more than one drive then you need to involve the IDMedia field as well. I'm sure you figure it out. 
http://www.sqlite.org/lang.html
It uses SUBSTR() and Songs.SongPath doesn't contain the driveletter. Try something like this
Code: Select all
SELECT Songs.SongTitle FROM Songs WHERE SUBSTR(Songs.SongPath, 0, 4) = ':/My'Advanced Duplicate Find & Fix Find More From Same - Custom Search. | Transfer PlayStat & Copy-Paste Tags/AlbumArt between any tracks.
Tagging Inconsistencies Do you think you have your tags in order? Think again...
Play History & Stats Node Like having your Last-FM account stored locally, but more advanced.
Case & Leading Zero Fixer Works on filenames too!
All My Scripts
Tagging Inconsistencies Do you think you have your tags in order? Think again...
Play History & Stats Node Like having your Last-FM account stored locally, but more advanced.
Case & Leading Zero Fixer Works on filenames too!
All My Scripts
-
Mizery_Made
- Posts: 2283
- Joined: Tue Aug 29, 2006 1:09 pm
- Location: Kansas City, Missouri, United States
Re: Auto-Organise / Locate Moved/Missing tracks problems
I ran a rename not long ago that effected 8,000 or so files. Not exactly the 20,000 you mention, but the 8,000 went off without a hitch.
-
Quebec
Re: Auto-Organise / Locate Moved/Missing tracks problems
Cheers for the help. Getting there slowly.
Current problem:
UPDATE Songs SET SongPath = ":\Music" + SUBSTR(SongPath, 1) WHERE SUBSTR(SongPath, 0, 10) = ":\My Music";
That in theory should update all relevent rows in the correct manner, however whenever I run it I get a SQL error saying "no such function: gettracktype(1, 1)". Any ideas what is going on there?
Ta
Current problem:
UPDATE Songs SET SongPath = ":\Music" + SUBSTR(SongPath, 1) WHERE SUBSTR(SongPath, 0, 10) = ":\My Music";
That in theory should update all relevent rows in the correct manner, however whenever I run it I get a SQL error saying "no such function: gettracktype(1, 1)". Any ideas what is going on there?
Ta
Re: Auto-Organise / Locate Moved/Missing tracks problems
Yes, you cant use + to concatenate you must use ||, also always use single quotes around strings since its better/faster (doesn't really matter in this case though.) But there is another problem with your SQL, I don't think you got the ':\Music' ||SUBSTR(SongPath, 1) right, shouldn't it be ':\Music' ||SUBSTR(SongPath, 2) or something.
Look at the result of this:
Look at the result of this:
Code: Select all
SELECT ID, SongPath, ':\Music' + SUBSTR(SongPath, 1) Plus, ':\Music'|| SUBSTR(SongPath, 1) Concat from songs WHERE SUBSTR(SongPath, 0, 10) = ':\My Music'Advanced Duplicate Find & Fix Find More From Same - Custom Search. | Transfer PlayStat & Copy-Paste Tags/AlbumArt between any tracks.
Tagging Inconsistencies Do you think you have your tags in order? Think again...
Play History & Stats Node Like having your Last-FM account stored locally, but more advanced.
Case & Leading Zero Fixer Works on filenames too!
All My Scripts
Tagging Inconsistencies Do you think you have your tags in order? Think again...
Play History & Stats Node Like having your Last-FM account stored locally, but more advanced.
Case & Leading Zero Fixer Works on filenames too!
All My Scripts
-
Quebec
Re: Auto-Organise / Locate Moved/Missing tracks problems
Cheers for the heads up on concatenation, saw an example on some SQLite forum that used the standard operator so kind of just assumed it was ok. The substrings are correct though. Substr(SongPath, 1) removes the first character (:) and leaves everything else, so concatenating ':\Music' with the substring of ':\My Music.....' gives ':\Music\My Music....' which is what I want.
I have tested all the different bits out in a select statement:
SELECT SongTitle, ':\Music' || SUBSTR(SongPath, 1) FROM Songs WHERE SUBSTR(SongPath, 0, 10) = ":\My Music";
That works perfectly, outputting precisely the path I want it to. However copy and pasting those statements into an UPDATE statement:
UPDATE Songs SET SongPath = ':\Music' || SUBSTR(SongPath, 1) WHERE SUBSTR(SongPath, 0, 10) = ":\My Music";
Gives these 'no function: 'gettracktype(1, 1)' messages. I was just using Media Monkey generally and got the same error yesterday as well. Unfortunately I can't actually remember precisely where but it leads me to think its some idiosyncrasy of SQLite or Media Monkey's use of it? Has anyone else had the same error? I'm fairly sure that the statement above constituets legal SQL that does what I want it to.
I have tested all the different bits out in a select statement:
SELECT SongTitle, ':\Music' || SUBSTR(SongPath, 1) FROM Songs WHERE SUBSTR(SongPath, 0, 10) = ":\My Music";
That works perfectly, outputting precisely the path I want it to. However copy and pasting those statements into an UPDATE statement:
UPDATE Songs SET SongPath = ':\Music' || SUBSTR(SongPath, 1) WHERE SUBSTR(SongPath, 0, 10) = ":\My Music";
Gives these 'no function: 'gettracktype(1, 1)' messages. I was just using Media Monkey generally and got the same error yesterday as well. Unfortunately I can't actually remember precisely where but it leads me to think its some idiosyncrasy of SQLite or Media Monkey's use of it? Has anyone else had the same error? I'm fairly sure that the statement above constituets legal SQL that does what I want it to.
Re: Auto-Organise / Locate Moved/Missing tracks problems
Hi,
1. I still mean that your syntax doesn't do what you want:
Substr(SongPath, 1) removes the first character (:) and leaves everything else
Actually no, Substr(SongPath, 1) means read from position 1. So Substr(SongPath, 1) does absolutely nothing since Substr(SongPath, 1)=SongPath.
You need to use Substr(SongPath, 2)
Substr('abcd', 1)-->'abcd'
Substr('abcd', 2)-->'bcd'
2. The gettracktype() function (which is used within a trigger that you trigger when you try to update) was introduced in MM 3.1, it looks like you have upgraded to 3.1 and then reverted to 3.0 without manually changing back the database copy of 3.0. The databases are not compatible.
Solution here:
http://www.mediamonkey.com/forum/viewto ... 88#p184188
1. I still mean that your syntax doesn't do what you want:
Substr(SongPath, 1) removes the first character (:) and leaves everything else
Actually no, Substr(SongPath, 1) means read from position 1. So Substr(SongPath, 1) does absolutely nothing since Substr(SongPath, 1)=SongPath.
You need to use Substr(SongPath, 2)
Substr('abcd', 1)-->'abcd'
Substr('abcd', 2)-->'bcd'
2. The gettracktype() function (which is used within a trigger that you trigger when you try to update) was introduced in MM 3.1, it looks like you have upgraded to 3.1 and then reverted to 3.0 without manually changing back the database copy of 3.0. The databases are not compatible.
Solution here:
http://www.mediamonkey.com/forum/viewto ... 88#p184188
Advanced Duplicate Find & Fix Find More From Same - Custom Search. | Transfer PlayStat & Copy-Paste Tags/AlbumArt between any tracks.
Tagging Inconsistencies Do you think you have your tags in order? Think again...
Play History & Stats Node Like having your Last-FM account stored locally, but more advanced.
Case & Leading Zero Fixer Works on filenames too!
All My Scripts
Tagging Inconsistencies Do you think you have your tags in order? Think again...
Play History & Stats Node Like having your Last-FM account stored locally, but more advanced.
Case & Leading Zero Fixer Works on filenames too!
All My Scripts
-
Quebec
Re: Auto-Organise / Locate Moved/Missing tracks problems
Cheers, I've got a backup of the database from before 3.1 so not a problem.
With the SUBSTR thing I was working under the assumption that indexing starts from 0 as in languages like Java, C/C++/C# etc., so position 0 would be the first character, 1 the second etc. Like you say SQLite does it the other way with 1 being the first character. However the SELECT query above does do what I would expect it to do, not really sure whats going on there?
With the SUBSTR thing I was working under the assumption that indexing starts from 0 as in languages like Java, C/C++/C# etc., so position 0 would be the first character, 1 the second etc. Like you say SQLite does it the other way with 1 being the first character. However the SELECT query above does do what I would expect it to do, not really sure whats going on there?
Re: Auto-Organise / Locate Moved/Missing tracks problems
Yeah in any SQL dialect SUBSTR() start from position 1, I tried your Select and gets result like:
:\Music:\My Music4\Tunnel
Don't you get that to?
:\Music:\My Music4\Tunnel
Don't you get that to?
Advanced Duplicate Find & Fix Find More From Same - Custom Search. | Transfer PlayStat & Copy-Paste Tags/AlbumArt between any tracks.
Tagging Inconsistencies Do you think you have your tags in order? Think again...
Play History & Stats Node Like having your Last-FM account stored locally, but more advanced.
Case & Leading Zero Fixer Works on filenames too!
All My Scripts
Tagging Inconsistencies Do you think you have your tags in order? Think again...
Play History & Stats Node Like having your Last-FM account stored locally, but more advanced.
Case & Leading Zero Fixer Works on filenames too!
All My Scripts
-
Quebec
Re: Auto-Organise / Locate Moved/Missing tracks problems
Using the updated 3.1 library I was getting the result I expected from Substr(path, 1) but with the correct DB its working fine. Either I was being dense and am mis remembering it or something got changed in that version. Either way its working now, gone from about 3000 dead likes to about 250, most of which I can sort out with a bit more effort. Cheers for all your help!
-
Guest
Re: Auto-Organise / Locate Moved/Missing tracks problems
I need help with the locate moved/missing tracks function.
The given solution of rescanning the music doesn't work in my case because there is a ****load of music in the main folder, of which I only need a little. I have 9000+ track but the main folder has much moren than that. Refinding all the music I had in MM would take days.
So is the a way of making the locate moved/missing tracks function do the trick.
PS. The "same problem" is that when using the locate moved/missing tracks function it says the files don't exist (some he finds and fixes).
Thenx
The given solution of rescanning the music doesn't work in my case because there is a ****load of music in the main folder, of which I only need a little. I have 9000+ track but the main folder has much moren than that. Refinding all the music I had in MM would take days.
So is the a way of making the locate moved/missing tracks function do the trick.
PS. The "same problem" is that when using the locate moved/missing tracks function it says the files don't exist (some he finds and fixes).
Thenx
-
nohitter151
- Posts: 23640
- Joined: Wed Aug 09, 2006 10:20 am
- Location: NJ, USA
- Contact:
Re: Auto-Organise / Locate Moved/Missing tracks problems
That feature has supposedly been improved in MM 3.1 (currently in beta testing, available from the beta testing forum). I only say supposedly because I have not tested it for myself.
MediaMonkey user since 2006
Need help? Got a suggestion? Can't find something?
Please no PMs in reply to a post. Just reply in the thread.
Need help? Got a suggestion? Can't find something?
Please no PMs in reply to a post. Just reply in the thread.