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 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.

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

Post by chrisjj » Fri Oct 10, 2014 6:18 pm

ZvezdanD wrote:
chrisjj wrote:Please do post a link to the Mantis entry IDing this bug.

http://www.ventismedia.com/mantis/view.php?id=9138


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

No bug.

ZvezdanD wrote:
chrisjj wrote:You're mistaken. That must have been someone else's suggestion.

Who wrote this: "If I select Media Tree, Entire Library, and then run the script, by default the script operates only on the path of the first track in the entire library track list, rather than on the entire library"?


I did. That's not a suggestion. Read my suggestion and you will see why you are mistaken:

"I suggest it should do so if it can e.g. when there is only one drive."

ZvezdanD wrote:Did you read the whole suggestion of mine, including: "or select missing drive/folder in the Location or My Computer branch of the tree panel"?


Your second suggestion works. Thanks.

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

Post by ZvezdanD » Fri Oct 10, 2014 6:05 pm

chrisjj wrote:Please do post a link to the Mantis entry IDing this bug.

http://www.ventismedia.com/mantis/view.php?id=9138

chrisjj wrote:You're mistaken. That must have been someone else's suggestion.

Who wrote this: "If I select Media Tree, Entire Library, and then run the script, by default the script operates only on the path of the first track in the entire library track list, rather than on the entire library"?

chrisjj wrote:So your suggestion "Select some missing file with the old drive/path in the main tracklist" does not work.

Did you read the whole suggestion of mine, including: "or select missing drive/folder in the Location or My Computer branch of the tree panel"?

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

Post by chrisjj » Fri Oct 10, 2014 5:55 pm

ZvezdanD wrote:I understand very well what is an issue that you have reported, but you didn't understand that that issue is a consequence of the bug in MM4

You're right. I don't understand that this is due to a bug in MM4. That's because you've not IDed the bug you say is the cause. Please do post a link to the Mantis entry IDing this bug.

ZvezdanD wrote:Yes, your suggestion is clear - you suggested that I modify script to allow update of all drives in the Library if user has the Entire Library node selected

You're mistaken. That must have been someone else's suggestion. Mine was for one drive. See it here: viewtopic.php?p=396645#p396645

ZvezdanD wrote:
chrisjj wrote:Have a look at the paths for a typical library and you'll see. Theer is none in the root.

So what?


So your suggestion "Select some missing file with the old drive/path in the main tracklist" does not work.

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

Post by ZvezdanD » Fri Oct 10, 2014 5:43 pm

chrisjj wrote:That's not the issue I reported. The issue I reported is "1) Update does not refresh the track window, so it leaves it showing the old paths."

I understand very well what is the issue that you have reported, but you didn't understand that that issue is a consequence of the bug in MM4: "there are situations in MM4 when that is not possible because of the bug in the program itself introduced in MM4".

chrisjj wrote:You're mistaken there. Read again.

I read it again and I still think that you are mistaken here. Your suggestion is not an improvement.

chrisjj wrote:The suggestion you reported didn't come from me. The one that did is clear in this thread.

I really don't know what you want to say. What suggestion that I reported you are talking about? Yes, your suggestion is clear - you suggested that I modify script to allow update of all drives in the Library if user has the Entire Library node selected and I told you that nobody would want that. Do you want that we start a poll about your suggestion?

chrisjj wrote:You're mistaken. Your script has no effect on which track is selected.

Of course that my script has no effect on which track is selected and that is why I told you that it is you who should make that selection.

chrisjj wrote:Have a look at the paths for a typical library and you'll see. Theer is none in the root.

So what? If you select the root of the drive in the Media Tree that drive would be auto-selected in the Old path combo box. And if it is not auto-selected, you always could make your selection using that combo box.

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

Post by chrisjj » Fri Oct 10, 2014 4:51 pm

ZvezdanD wrote:If program refuses to display the Properties dialog box for some existing drive, then it is a bug.

That's not the issue I reported. The issue I reported is "1) Update does not refresh the track window, so it leaves it showing the old paths."

ZvezdanD wrote:
chrisjj wrote:The improvement I am suggesting would obviate the need for that.

No, it would not.

You're mistaken there. Read again.

ZvezdanD wrote:As I said, nobody would agree with such solution which you suggested.

The suggestion you reported didn't come from me. The one that did is clear in this thread.

ZvezdanD wrote:
chrisjj wrote:The selected file in the tracklist is arbitrary.

No, it is not if you follow my instruction: "Select some missing file with the old drive/path in the main tracklist".


You're mistaken. Your script has no effect on which track is selected. And the problem with your suggestion is that there is normally no track with the missing path in the tracklist because, as I said, tracks are normally in subfolders.

ZvezdanD wrote:
chrisjj wrote:such selection does not help at all when the tracks are in folders within the library root, and is the MM default.

Sorry, but I really don't know what you want to say.

Have a look at the paths for a typical library and you'll see. Theer is none in the root.

ZvezdanD wrote:Anyway, I think I will remove option for automatic selection of the old path based on the selected node/selected file and to force users to select such path in the Old path combo box. IIRC, some users already had problem with that option.


Thanks.

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

Post by ZvezdanD » Fri Oct 10, 2014 3:49 pm

chrisjj wrote:If that is due to a bug, rather than a documented cut-back, then still I'd be interested to hear what is the bug.

If program refuses to display the Properties dialog box for some existing drive, then it is a bug.

chrisjj wrote:The improvement I am suggesting would obviate the need for that.

No, it would not. As I said, nobody would agree with such solution which you suggested.

chrisjj wrote:The selected file in the tracklist is arbitrary.

No, it is not if you follow my instruction: "Select some missing file with the old drive/path in the main tracklist".

chrisjj wrote:such selection does not help at all when the tracks are in folders within the library root, and is the MM default.

Sorry, but I really don't know what you want to say.

Anyway, I think I will remove option for automatic selection of the old path based on the selected node/selected file and to force users to select such path in the Old path combo box. IIRC, some users already had problem with that option.

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

Post by chrisjj » Fri Oct 10, 2014 2:06 pm

ZvezdanD wrote:
chrisjj wrote:Which bug? I saw no mention in that Mantis report.

Quote: "such solution doesn't work in MM4 always ... MM2 and MM3 didn't have that problem"

If that is due to a bug, rather than a documented cut-back, then still I'd be interested to hear what is the bug.

ZvezdanD wrote:You didn't, but you could - you have the Old Path combo box for that.


Agreed. The improvement I am suggesting would obviate the need for that.

ZvezdanD wrote: The automatic selection is not arbitrary, it depends of the selected node in the Tree panel and/or the selected file in the tracklist.


The selected file in the tracklist is arbitrary. It is what ever appears at the top of the list when you click Entire Library.

ZvezdanD wrote: I already told you about that: viewtopic.php?p=392481#p392481.


You said (and thank you): "Select some missing file with the old drive/path in the main tracklist or select missing drive/folder in the Location or My Computer branch of the tree panel and..."

and such selection does not help at all when the tracks are in folders within the library root, and is the MM default.

ZvezdanD wrote: I just checked and you are right, it is not working without "\" on the end if you have the "only for files that exist" option turned off. Thanks for the report, it will be fixed.


Thanks.

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

Post by ZvezdanD » Fri Oct 10, 2014 12:43 pm

chrisjj wrote:Which bug? I saw no mention in that Mantis report.

Quote: "such solution doesn't work in MM4 always ... MM2 and MM3 didn't have that problem"

chrisjj wrote:The problem is that I didn't select the old path. The script did. And its selection was entirely arbitrary.

You didn't, but you could - you have the Old Path combo box for that. The automatic selection is not arbitrary, it depends of the selected node in the Tree panel and/or the selected file in the tracklist. I already told you about that: viewtopic.php?p=392481#p392481.

chrisjj wrote:I find it is. Without it, Update is disabled.

I just checked and you are right, it is not working without "\" on the end if you have the "only for files that exist" option turned off. Thanks for the report, it will be fixed.

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

Post by chrisjj » Fri Oct 10, 2014 12:20 pm

ZvezdanD wrote: Unfortunately, there are situations in MM4 when that is not possible because of the bug in the program itself introduced in MM4.


Which bug? I saw no mention in that Mantis report.

ZvezdanD wrote:There is simple logic behind GUI - you select one old path and you select one corresponding new path.


The problem is that I didn't select the old path. The script did. And its selection was entirely arbitrary.

ZvezdanD wrote:I bet that many users would disagree that the script should update all drives in the Library to the single new drive if they have the Entire Library node selected before entering the script.


Good then that no-one is suggesting such a thing :)

chrisjj wrote:The "\" on the end of the path is not needed.


I find it is. Without it, Update is disabled.

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

Post by ZvezdanD » Fri Oct 10, 2014 12:01 pm

chrisjj wrote:1) Update does not refresh the track window, so it leaves it showing the old paths.

As I explained in Mantis, the add-on refreshes the tracklist correctly in MM2 and MM3 and sometimes in MM4. Unfortunately, there are situations in MM4 when that is not possible because of the bug in the program itself introduced in MM4.

chrisjj wrote:2) If I select Media Tree, Entire Library, and then run the script, by default the script operates only on the path of the first track in the entire library track list, rather than on the entire library.

There is simple logic behind GUI - you select one old path and you select one corresponding new path. I bet that many users would disagree that the script should update all drives in the Library to the single new drive if they have the Entire Library node selected before entering the script.

chrisjj wrote:3) Perhaps New Path should accept a bare drive designator http://i.imgur.com/x9Oahr5.png. Currently / is needed.

The "\" on the end of the path is not needed.

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

Post by chrisjj » Fri Oct 10, 2014 11:21 am

Thanks again for this very useful script.

Some suggestions for improvement.

1) Update does not refresh the track window, so it leaves it showing the old paths. The script author has explained this is due to MM API limitations http://www.ventismedia.com/mantis/view.php?id=9138. I suggest that until this is fixed, viewtopic.php?f=2&t=63823 "Usage" should have a note giving warning and a workaround (e.g. exit and relaunch).

2) If I select Media Tree, Entire Library, and then run the script, by default the script operates only on the path of the first track in the entire library track list, rather than on the entire library. http://i.imgur.com/CjG1O7G.png . Presumably it is not possible for the script to operate on all paths in the entire library if there are has multiple drives, but nevertheless I suggest it should do so if it can e.g. when there is only one drive. Workaround: if there is one drive, first select the drive: http://i.imgur.com/Ee81RIS.png .

3) Perhaps New Path should accept a bare drive designator http://i.imgur.com/x9Oahr5.png. EDIT: Currently \ is needed.

Top