Update Location of Files in Database 1.3 (2012-06-12) [MM2+]

Post a reply

Visual Confirmation

To prevent automated access and spam, you are required to confirm that you are human. Please place a check mark next to all images of monkeys or apes. If you cannot see any images, please contact the Board Administrator.

Smilies
:D :) :( :o :-? 8) :lol: :x :P :oops: :cry: :evil: :roll: :wink:
BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON
Topic review
   

Expand view Topic review: Update Location of Files in Database 1.3 (2012-06-12) [MM2+]

Re: Update Location of Files in Database 1.3 (2012-06-12) [M

Post by nev » Mon Jun 22, 2015 6:15 am

Getting a 404 on the link to the script ?

Re: Update Location of Files in Database 1.3 (2012-06-12) [M

Post by chrisjj » Sat Feb 21, 2015 5:22 am

ZvezdanD wrote:It seems that my decision to implement the initial auto-fill of the Old Path combo box based on the selected file in the main filelist is a reason for a lot of user confusions and I think that I will remove such option in the next version of the script.


Good to hear.

Re: Update Location of Files in Database 1.3 (2012-06-12) [M

Post by ZvezdanD » Sat Feb 21, 2015 3:52 am

Selecting of missing file in the main filelist is not mandatory for work of this script, it is implemented just to auto-fill initially the Old Path combo box when you open the Update Location dialog box. If you read the rest of the Usage section from the download page you would read "The old drive/path could be set in the mentioned dialog box as well." So, if you wrongly select some file in the main filelist and open the Update Location dialog box, you always could change that selection in the Old Path combo box by yourself.

I have explained in this thread which files are actually updated, but here it is again. With the Old Path combo box you are choosing the base folder for updating. This means that you would get updated all files from that folder and its sub(-sub)-folders recursively. This also means that you should select the root of the drive in the Old Path combo box if you want to update all files from that disk. If you have the database referencing files stored on several drives, then you could update location of such files only for one drive at time. The Old location label shows how many files would be actually updated with the selected Old path.

It seems that my decision to implement the initial auto-fill of the Old Path combo box based on the selected file in the main filelist is a reason for a lot of user confusions and I think that I will remove such option in the next version of the script.

Re: Update Location of Files in Database 1.3 (2012-06-12) [M

Post by Fredo » Wed Feb 18, 2015 8:29 am

I have a basic usage question, please.

I copied my MM database and music track library from one computer to another. The drive letter and paths are identical. However, tracks are grayed out. When I Add/Rescan tracks, I get duplicate track listings in MM.

Instructions for this script say: "Select some missing file with the old drive/path...". It is not clear whether this script would affect only those tracks or all track files in the database. How would I update the location for all track files in the database (without physically moving tracks)?

Also, is the music track drive path and serial number coded in only one place in the database, or is it encoded for each and every track?

Thank you for your help.

Fred

Re: Update Location of Files in Database 1.3 (2012-06-12) [M

Post by chrisjj » Mon Nov 03, 2014 5:57 am

OK, thanks.

Re: Update Location of Files in Database 1.3 (2012-06-12) [M

Post by ZvezdanD » Mon Nov 03, 2014 4:13 am

chrisjj wrote:V1.43 on MM 1708 can fail to refresh the track list e.g. after Update: http://i.imgur.com/TMHNrng.png . After relaunch: http://i.imgur.com/UCmGYrP.png

We already discussed about this a lot. As I said, this is the problem of the program itself and I cannot do anything about it (http://www.ventismedia.com/mantis/view.php?id=9138). I am using some dirty hacks to overcome this, but obviously it is not working always. Maybe it could help if you write to MM developers.

Re: Update Location of Files in Database 1.3 (2012-06-12) [M

Post by chrisjj » Sun Nov 02, 2014 8:53 pm

V1.43 on MM 1708 can fail to refresh the track list e.g. after Update: http://i.imgur.com/TMHNrng.png . After relaunch: http://i.imgur.com/UCmGYrP.png

Re: Update Location of Files in Database 1.3 (2012-06-12) [M

Post by chrisjj » Sat Nov 01, 2014 8:19 pm

Thanks for the fix to the fail with SUBST on 1.4.3:

Update: http://i.imgur.com/CMs8owM.png , http://i.imgur.com/1zIez9R.png
Result: http://i.imgur.com/PwT9KmZ.png

Re: Update Location of Files in Database 1.3 (2012-06-12) [M

Post by ZvezdanD » Sat Nov 01, 2014 12:56 pm

Thanks for the report.

Re: Update Location of Files in Database 1.3 (2012-06-12) [M

Post by chrisjj » Sat Nov 01, 2014 11:25 am

There's a text error on V1.42: at http://i.imgur.com/QLceZLC.png , "exists" should be "exist".

Re: Update Location of Files in Database 1.3 (2012-06-12) [M

Post by chrisjj » Sat Nov 01, 2014 11:23 am

Bug report: V1.42 with old path on SUBST drive can update to wrong drive

On MM 1708, Win 7, with native volume S: and SUBST R: on S:

1 Make this update: http://i.imgur.com/mzMWFT2.png
2 Get confirmation that new path is S:\My Music\My ZENtango package folder\ http://i.imgur.com/qQGJxdK.png
3 Click OK

Expected: new path is S:\My Music\My ZENtango package folder\
Observed: new path is R:\My Music\My ZENtango package folder\ http://i.imgur.com/oNutKtY.png. I.e. wrong drive
Confirmed by script: http://i.imgur.com/7stq8c6.png

This fault does not occur with new path D:\My Music\My ZENtango package folder\ - http://i.imgur.com/VhkzvHp.png. D: is a native drive, not a SUBST.

Re: Update Location of Files in Database 1.3 (2012-06-12) [M

Post by chrisjj » Sat Oct 11, 2014 9:27 am

ZvezdanD wrote:I have described a bug in the report. As I said, "if program refuses to display the Properties dialog box for some existing drive, then it is a bug."

Well, you can be fairly sure that will not be taken as a bug report, I think.

ZvezdanD wrote:Not to mention that the SDB.MainTracksWindow.Refresh has the bug at first place since it doesn't really refresh the tracklist

I agree that's lamentable, but you don't ID that as a bug and, given the lack of definition of that method, I think it would not be safe to ID it as a bug.

ZvezdanD wrote:No, I don't want to report those bugs as new entries in the Mantis just for you to be satisfied.

I did not suggest it to satisfy me. I suggested it to satisfy your presumed deisre to get the bug (if any) fixed.

ZvezdanD wrote:And since when did you become devil's advocate for MM? Are you paid by Ventis Media?

Ho ho :)

ZvezdanD wrote:Your first sentence is a complain why my script has behavior as it has

No. It is simply a description of the current behaviour.

ZvezdanD wrote:and immediately after that starting with the "rather" you suggest how it should behave. If that is not suggestion then I don't know what is it.


What is a suggestion ZvezdanD is the bit starting with "I suggest..." .

ZvezdanD wrote:
chrisjj wrote:Your first part did not work on a normal library structure and your second added nothing to the workaround I had already posted: "Workaround: if there is one drive, first select the drive: http://i.imgur.com/Ee81RIS.png".

That is not the workaround, but the intended behavior of the script.

It is a workaround for "the script operates only on the path of the first track in the entire library track list".

ZvezdanD wrote:The add-on's "Usage" section explicitly says: "select missing drive/folder in the Location or My Computer branch of the tree panel and choose "Update Location of Files in Database..."

Yup. Hence my suggestion for improvement.

ZvezdanD wrote:No, your suggested fix would not make anything unnecessary, it would cover just one specific situation.


It makes "select missing drive/folder in the Location or My Computer branch of the tree panel" unnecessarily the situation of the default MM library filing. I think that applies to most users.

ZvezdanD wrote:What if user has two or more drives? What if user has selected some another node than Entire Library, e.g. Files to Edit or Magic Nodes or Now Playing? Which path should be automatically entered in the Old path combo box in such case?

I think your current solution is fine for that.

ZvezdanD wrote:As I said in the "Usage" section, you could select some node from the Location or My Computer branches.

Yup. That's where I'm suggesting an improvement can be made.

ZvezdanD wrote:The reason is very simple - only such nodes could return the unique Path property: http://www.mediamonkey.com/wiki/index.p ... Node::Path. The Entire Library node returns empty Path.

Well, you've already shown you're clever enough to code a solution to that! :)

chrisjj wrote:It would certainly meet my suggestion #2. Provided:

1) When rule #1 is matched, execution of the rule list doesn't stop. This is because the case of my suggestion #2 (select Entire Library, run script http://i.imgur.com/CjG1O7G.png ) matches rules #1 and #2 and only rule #2 will give the desired outcome.
2) Rule #2 "contains some missing drive/path" means "contains some missing tracks". This is to handle the case where the drive is present but the tracks are missing.
3) Rule #2 uses the shortest leading drive/path spec segment that is common to the tracks meeting the condition. This is to handle the default MM library structure where tracks are in album folders, so that tracks C:\My Music\my first album\artist\title.wma and C:\My Music\my second album\artist\title.wma with give Old Path C:\My Music\.


Sorry, correction: Rule #2 uses the longest leading drive/path spec segment that is common to the tracks meeting the condition.

As per the example.

Re: Update Location of Files in Database 1.3 (2012-06-12) [M

Post by ZvezdanD » Sat Oct 11, 2014 7:29 am

chrisjj wrote:I don't see any mention there of a bug. If you have filed this bug as a Mantis entry, please do show that entry.

I have described a bug in the report. As I said, "if program refuses to display the Properties dialog box for some existing drive, then it is a bug." Not to mention that the SDB.MainTracksWindow.Refresh has the bug at first place since it doesn't really refresh the tracklist, because of which I was forced to use that dirty hack that I mentioned in the report simulating the key presses with the SendKeys to open the Properties dialog box.

No, I don't want to report those bugs as new entries in the Mantis just for you to be satisfied. Actually, I am done with reporting bugs to MM developers. I have 150+ bugs and suggestions in the Mantis that are not even assigned to some MM developer. I don't want to waste my time anymore on something that will not be even read by them.

And since when did you become devil's advocate for MM? Are you paid by Ventis Media?

chrisjj wrote:
ZvezdanD wrote:You are complaining why the script is applying "only on the path of the first track" "rather than on the entire library". That sounds like suggestion to me.

You're mistaken. I described the current behaviour. That is not a complaint. That is not a suggestion.

You are mistaken. Your first sentence is a complain why my script has behavior as it has and immediately after that starting with the "rather" you suggest how it should behave. If that is not suggestion then I don't know what is it.

chrisjj wrote:Your first part did not work on a normal library structure and your second added nothing to the workaround I had already posted: "Workaround: if there is one drive, first select the drive: http://i.imgur.com/Ee81RIS.png".

That is not the workaround, but the intended behavior of the script. The add-on's "Usage" section explicitly says: "select missing drive/folder in the Location or My Computer branch of the tree panel and choose "Update Location of Files in Database..." from the Tools | Scripts menu". It is your fault that you tried something else. Did you read in the "Usage" section that I said: "Select the Entire Library node in the tree panel"?

chrisjj wrote:My suggested fix would make the workaround unnecessary.

No, your suggested fix would not make anything unnecessary, it would cover just one specific situation. What if user has two or more drives? What if user has selected some another node than Entire Library, e.g. Files to Edit or Magic Nodes or Now Playing? Which path should be automatically entered in the Old path combo box in such case?

As I said in the "Usage" section, you could select some node from the Location or My Computer branches. The reason is very simple - only such nodes could return the unique Path property: http://www.mediamonkey.com/wiki/index.p ... Node::Path. The Entire Library node returns empty Path.

chrisjj wrote:It would certainly meet my suggestion #2. Provided:

1) When rule #1 is matched, execution of the rule list doesn't stop. This is because the case of my suggestion #2 (select Entire Library, run script http://i.imgur.com/CjG1O7G.png ) matches rules #1 and #2 and only rule #2 will give the desired outcome.
2) Rule #2 "contains some missing drive/path" means "contains some missing tracks". This is to handle the case where the drive is present but the tracks are missing.
3) Rule #2 uses the shortest leading drive/path spec segment that is common to the tracks meeting the condition. This is to handle the default MM library structure where tracks are in album folders, so that tracks C:\My Music\my first album\artist\title.wma and C:\My Music\my second album\artist\title.wma with give Old Path C:\My Music\.

Sorry, but no again. None of your suggestions would be desired. What if user has selected the Entire Library node then he/she has selected some missing file from the tracklist, e.g. if he/she wants to update just files from the same folder? If I implement your suggestion he/she would get Old Path combo box filled not with that folder, but with the root of the same drive (assuming that he/she has only one drive in the Library).

And no, I don't want to check if some existing drive has some missing files just to be able to automatically select path in the Old Path combo box. Such operation would be time consuming causing the slow opening of the dialog box which I am trying to avoid. I think that even your third suggestion with common path segments would be time consuming.

Re: Update Location of Files in Database 1.3 (2012-06-12) [M

Post by chrisjj » Sat Oct 11, 2014 4:09 am

ZvezdanD wrote:The mentioned request contains description of the bug introduced in MM4.

I don't see any mention there of a bug. If you have filed this bug as a Mantis entry, please do show that entry.

ZvezdanD wrote:You are complaining why the script is applying "only on the path of the first track" "rather than on the entire library". That sounds like suggestion to me.

You're mistaken. I described the current behaviour. That is not a complaint. That is not a suggestion. The suggestion is only "I suggest it should do so [operate on all paths in the entire library] if it can e.g. when there is only one drive"

ZvezdanD wrote:If you tried my whole suggestion at first place, we would not have this unnecessary discussion.

I did try your whole suggestion. Even before you made it. Your first part did not work on a normal library structure and your second added nothing to the workaround I had already posted: "Workaround: if there is one drive, first select the drive: http://i.imgur.com/Ee81RIS.png".

My suggested fix would make the workaround unnecessary.

ZvezdanD wrote:Anyway, here is the algorithm that I could implement for auto-selection of the Old path combo box:
- if the selected file from the tracklist is from missing drive -> that drive and path would be auto-selected;
- if the tree panel is active before opening the script's dialog box and if the selected node contains some missing drive/path -> that drive and path would be auto-selected;
- if the tree panel is active before opening the script's dialog box and if the selected node doesn't contain some missing drive/path, but the selected file in the tracklist is from missing drive -> that drive and path would be auto-selected;
- if none of previous conditions is satisfied then the root of the first missing drive from the Library would be automatically selected;
- if the Library doesn't contain missing drives at all then the drive and path of the selected file would be auto-selected.


Sounds good. Thanks. It would certainly meet my suggestion #2. Provided:

1) When rule #1 is matched, execution of the rule list doesn't stop. This is because the case of my suggestion #2 (select Entire Library, run script http://i.imgur.com/CjG1O7G.png ) matches rules #1 and #2 and only rule #2 will give the desired outcome.
2) Rule #2 "contains some missing drive/path" means "contains some missing tracks". This is to handle the case where the drive is present but the tracks are missing.
3) Rule #2 uses the shortest leading drive/path spec segment that is common to the tracks meeting the condition. This is to handle the default MM library structure where tracks are in album folders, so that tracks C:\My Music\my first album\artist\title.wma and C:\My Music\my second album\artist\title.wma with give Old Path C:\My Music\.

Re: Update Location of Files in Database 1.3 (2012-06-12) [M

Post by ZvezdanD » Sat Oct 11, 2014 1:55 am

chrisjj wrote:I see "Severity feature" request: "Method to update tree and tracklist after SQL modifications to Medias table needed"

No bug.

The mentioned request contains description of the bug introduced in MM4.

chrisjj wrote:I did. That's not a suggestion.

You are complaining why the script is applying "only on the path of the first track" "rather than on the entire library". That sounds like suggestion to me.

chrisjj wrote:Your second suggestion works. Thanks.

If you tried my whole suggestion at first place, we would not have this unnecessary discussion.

Anyway, here is the algorithm that I could implement for auto-selection of the Old path combo box:
- if the selected file from the tracklist is from missing drive -> that drive and path would be auto-selected;
- if the tree panel is active before opening the script's dialog box and if the selected node contains some missing drive/path -> that drive and path would be auto-selected;
- if the tree panel is active before opening the script's dialog box and if the selected node doesn't contain some missing drive/path, but the selected file in the tracklist is from missing drive -> that drive and path would be auto-selected;
- if none of previous conditions is satisfied then the root of the first missing drive from the Library would be automatically selected;
- if the Library doesn't contain missing drives at all then the drive and path of the selected file would be auto-selected.

Top