Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_dirwatch (Read 150384 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_dirwatch

This plugin allows you to specify directories to monitor, and notifies the Media Library of any changes (additions, renames, deletions) that occur.

Latest version: 0.2 beta 3 (2007-12-08)
REMOVED

Known issues
- a subset of directory removes are not handled
- moved files' playlist entries are not updated (renamed files' entries are, though)

foo_dirwatch

Reply #1
I it doesn't seem to be doing anything for me

I have set the paths of my directories, ticked the remove deleted files from the database box and set the filters to: *.mp3;*.wma

if I then add or remove files from the directories and and select directory watcher from my components menu, the database isn't getting updated.

foo_dirwatch

Reply #2
I like the idea of this plugin

However, the plugin reuqires  MSVCR70.dll to run, and I already have MSVCR71.dll in my foobar directory. I don't know what other foobar plugin uses MSVCR71.dll. I think its ColumnsUI.

Wouldn't it be better to use the newer dll?

foo_dirwatch

Reply #3
I uploaded a new version that fixes a crash bug and removes that menu item (because it doesn't do anything).

donnie - it's not working because you have include filters set -- currently they filter out directory notifications (whoops!). To see what I mean, try renaming an mp3 -- it should receive the notification.

I'll fix the include filters as soon as I can.

metal_termite - Not really. I only have MS Visual Studio.NET 2002. A lot of other plugins also require MSVCR70.DLL, so it's not like this is a unique situation.

EDIT: I uploaded a new version that fixes the include filters.

foo_dirwatch

Reply #4
 Great plug-in
thanks for your job

   


on every time does foo_dirwatch monitor the directories ? every x minutes?

foo_dirwatch

Reply #5
Quote
Please test files that are named with multi-byte character sets (e.g., Chinese, Japanese etc.); they should work fine but I want to be sure.
[a href="index.php?act=findpost&pid=363053"][{POST_SNAPBACK}][/a]

I tested files with Chinese names, and it worked like a charm.
However, directories to be monitored cannot contain Chinese characters.
I tested a directory with a Chinese named sub-folder. The console displayed a warning quoted below.

WARNING (foo_dirwatch) : Please check directories to monitor list in options, because "E:\music\诅咒(the sub-folder)" is not a valid directory on this system.

Please fix it. THX for such a good plugin.

Sorry for my poor English.

foo_dirwatch

Reply #6
this is a good idea, but it doesn't seem to actually do much. when i add files to the directory, it doesn't detect them. i've tried disabling foo_dir and re-enabling it, i've tried closing and opening foobar - nothing. the only thing it does is remove a file from the database after foobar has tried to play it and discovered the file wasn't there.

foo_dirwatch

Reply #7
it seems that foo_dirwatch doesn't work  perfectly

directory to monitor
I:\Music;G:\music mp3

include mask *.mp3;*.wma;*.m4?
exclude blank

I tried to add some dirs inside music , but nothig it did not add new mp3 in the database

in the console i get only these messages
Code: [Select]
INFO (foo_dirwatch) : Added "G:\music mp3\" to directory monitor list.
INFO (foo_dirwatch) : Added "I:\Music\" to directory monitor list.
INFO (foo_dirwatch) : Started monitoring directories



DATABASE setting
G:\music mp3\;I:\Music\
Restrict file type
BLANK

foo_dirwatch

Reply #8
Not working here either.

foo_dirwatch

Reply #9
To clarify some things:

foo_dirwatch does not poll for changes; instead, it uses the Win32 API function ReadDirectoryChangesW to tell the OS to notify foo_dirwatch when changes occur. This function does not exist on Windows 9x/Me and so the plug-in will not work on those OS versions.

If the plug-in is not working for you, please list the following info:
- directories to monitor string
- include filter string
- exclude filter string
- amount of files/folders in each directory being monitored

I'll fix the directory to monitor multi-byte problem as soon as I can.

foo_dirwatch

Reply #10
Awesome  This is just what I wanted!

foo_dirwatch

Reply #11
falling down the stairs i'm really  grateful for the plug in


Quote
foo_dirwatch does not poll for changes; instead, it uses the Win32 API function ReadDirectoryChangesW to tell the OS to notify foo_dirwatch when changes occur. This function does not exist on Windows 9x/Me and so the plug-in will not work on those OS versions.



Could you make an example  that i can come true ,realize,  so i can know if the plugin works to me??


i tried to add directory , tried to save mp3 in new directory , tried to move directory /mp3 , but nothing , this doen't update my database

i have 817 files in 91 subfolders in one directory and 1.580 files in 176 subfolders in another directory


for me could be better  , a plug that every x minutes ,can scan the database(the whole) and remove dead entries

 

foo_dirwatch

Reply #12
Quote
Could you make an example  that i can come true ,realize,  so i can know if the plugin works to me??

My setup is as follows:
Directories to monitor: F:\music;G:\music
Include filter: *.mp3;*.mp2;*.shn;*.flac;*.m4a;*.mpc;*.ogg
Exclude filter: *.jpg;*.gif;*.png;*.nfo;*.txt;*.tmp;*.bmp;*.ini

Quote
i tried to add directory , tried to save mp3 in new directory , tried to move directory /mp3 , but nothing , this doen't update my database

Does anything show up in the console? The plug-in prints a console message every time it adds/updates/removes something from the database.

Quote
for me could be better  , a plug that every x minutes ,can scan the database(the whole) and remove dead entries
[a href="index.php?act=findpost&pid=364203"][{POST_SNAPBACK}][/a]

That is not the intent of this plug-in. I don't want it to thrash the hard drive just to update the database - that would be a lot slower, plus you can already do that in foobar (Preferences /  Database / Remove dead entries from database).

foo_dirwatch

Reply #13
Quote
Does anything show up in the console? The plug-in prints a console message every time it adds/updates/removes something from the database.


after several  testes
i get only this info from dir watch plug
Code: [Select]
INFO (foo_dirwatch) : Added "I:\mp3" to directory monitor list.
INFO (foo_dirwatch) : Added "G:\music mp3" to directory monitor list.
INFO (foo_dirwatch) : Started monitoring directories.


only 1 time, i got foo_driwatch found new songs , but it did not add to the database

foo_dirwatch

Reply #14
I've uploaded a new version that fixes the multi-byte problem with the "directories to monitor" field.

I did notice some problems with the plug-in myself (a directory move was not caught for some reason).
If you are having problems please help me track them down with these test cases:

1. Copy a file into one of the monitored directories. (Should trigger a "Precached..." note).
2. Copy a directory into one of the monitored directories. (same as above)
3. Rename a single file in one of the monitored directories. (Should trigger a "... was renamed to ..." note)
4. Rename a directory in one of the monitored directories. (same as above)
5. Move a file from one subdirectory to another in one of the monitored directories. (Should trigger one "Precached..." and one "Removed..." note)
6. Move a directory from one subdirectory to another in one of the monitored directories. (same as above)

Be sure to list the settings you are using in the foo_dirwatch preferences.

To see if database changes did actually occur I recommend the foo_dbsearch plug-in.

foo_dirwatch

Reply #15
[a href="http://imageshack.us" target="_blank"] 

foo_dirwatch

Reply #16
Works at deleting at least  Thanks!

foo_dirwatch

Reply #17
falling down the stairs,

An excellent plug-in - works seamlessly with my removable drive.

I do have issues with UNC paths, but I understand that ReadDirectoryChangesW is only for drives - can you confirm?  I haven't been able to deduce whether mapping the UNC path to a drive works either.

Not being a foobar developer myself (dumb question approaching!) is it possible to perform a start-up inventory in the 'background' i.e. with a low priority thread?

Once again, thanks.

c0utta

foo_dirwatch

Reply #18
Quote
falling down the stairs,

An excellent plug-in - works seamlessly with my removable drive.

I do have issues with UNC paths, but I understand that ReadDirectoryChangesW is only for drives - can you confirm?  I haven't been able to deduce whether mapping the UNC path to a drive works either.

What issues are you having? ReadDirectoryChangesW is compatible with UNC paths. There are some limitations, but the current code should work with UNC paths. I don't think mapping a drive would change anything.

Quote
Not being a foobar developer myself (dumb question approaching!) is it possible to perform a start-up inventory in the 'background' i.e. with a low priority thread?

Yes, that's probably the best way to do it. I haven't implemented the inventory scan because I haven't yet decided on the best way to store the relevant data.

foo_dirwatch

Reply #19
I uploaded a new version. This one actually uses foobar's built in reader functionality, so when a file is added to the database its metadata is also automatically added.

No leads on the mysterious missing notifications, though.

foo_dirwatch

Reply #20
Fantastic plugin ... it makes foobar perfect.

thank you

foo_dirwatch

Reply #21
falling down the stairs

tha last version works like a charm !!!
Great plug in     


only 1 time it did not work i renamed a folder placebo to placebo c , and dirwatch detected the change ,  after immediately i re-renamed to placebo , and it did not catch it

by the way , i did several several tests and dirwatch works really like a charm

with the feature Perform startup & shutdown inventory , this plug in makes foobar really perfect without rivals   


thanks falling down the stairs

foo_dirwatch

Reply #22
Installing it now. If it works it's pretty much what I've been looking for in a year or so.

One question: for it to work the changes to the monitored directories must happen when foobar is active?

foo_dirwatch

Reply #23
Quote
However, the plugin reuqires  MSVCR70.dll to run, and I already have MSVCR71.dll in my foobar directory. I don't know what other foobar plugin uses MSVCR71.dll. I think its ColumnsUI.

Wouldn't it be better to use the newer dll?
[a href="index.php?act=findpost&pid=363143"][{POST_SNAPBACK}][/a]
Another question, sorry. Can I have both DLLs in my components directory? I currently have only version 71, but when I launch foobar I don't get any error message from this component.

foo_dirwatch

Reply #24
i installed the 2/16 version, but i can't turn on "Perform startup & shutdown inventory" feature. i can't tell that this component is actually doing anything.