Download Latest Version NOTIFY_lxm_Multiple_Instances_ver_1.05.1_Release_Setup.zip (259.9 kB)
Email in envelope

Get an email when there's a new version of NOTIFY_lxm - Hyper HTML-Thumbnail in C

Home / Source
Name Modified Size InfoDownloads / Week
Parent folder
html_generator.c 2011-05-25 9.1 kB
NOTIFY_lxm.c 2011-05-25 4.3 kB
Totals: 2 Items   13.4 kB 0
NOTIFY_lxm is an application package designed and developed for enabling the user to have a quick look at the videos at a specific path with the thumbnails associated as an Html-Thumbnail summary.

Two main purposes served – Stand-alone Html-Thumbnail summary generation using NOTIFY_lxm.exe and Instant video notification along with Html-Thumbnail summary generation using DirListener.exe.
Executables (and sources) bundled in the application package – NOTIFY_lxm.exe (NOTIFY_lxm.c), html_generator.exe (html_generator.c), DirListener.exe (DirListener.c) and DirContDiff.exe (DirContDiff.c).

Motivation

Motivation for developing this application is my workplace where a shared network location gets flooded by huge number of videos every now and then. And without going through the painful windows search every time and later filtering out based on the quality by looking at the thumbnails if present( windows sometimes doesn't show the thumbnails for some of the video formats :( ), I wanted to have an automated way of knowing the video updates at a specified path. This triggered in me a thought of developing an application which has all the features: 1) Instant notification for new videos in the form of pop up and down of a console window 2) Left-mouse-click on the notification opening the Html-thumbnail summary. 3) Middle-mouse-click on the notification toggling the inclusion of hidden videos. 4) Right-mouse-click on the notification toggling the support for hosting the Html-Thumbnail with the help of Apache server. 5) On demand stand-alone HTML summary generation with thumbnails.

Idea

NOTIFY_lxm.exe uses simple logic of descending down the directories recursively programmatically. The results obtained then are filtered on the basis of their extensions. Then, the filtered ones are fed into an executable which constructs a HTML summary with thumbnails for each of the videos using FFMPEG tool based on those filtered entries. Within a few minutes, you are presented with a simple and neatly formatted HTML showing the video name as hyperlink, its size, whether hidden or not and the related snapshot, making it handy for you to download and enjoy in one shot! The HTML also includes an embedded player setup with which you can have a preview of the video within the browser itself. The player will be having four basic controls associated with it - Play, Pause, Stop and Mute. 
DirListener.exe, a light-weight instant video notifier is another related application included in the package. It asynchronously listens to a specific path and pops up a tiny console window at an appropriate position on the screen whenever a new video gets added in the specified path. To know the newly added video when a pop-up happens, you can just left-mouse-click or right-mouse-click on this tiny window. Thereby, an Html having the hyperlink to the just added 
video(s) will be opened which you can use. The highlight of this thin application is that it categorizes the videos based when they have been added and deleted as Just Added videos, Old videos and Just Deleted videos. The HTML-Thumbnail generated can also be accessed by mobile and other means if the machine running this notifier also runs an instance of Apache web server 2.2 on the same machine. 

Important features and their usages

1) Never miss your favorite videos anytime! – If you miss any new video notifications, the title of the console window would be reflecting that. In addition, it could be one of the total of four titles – New, Old, Missed and Inaccessible. New – new videos, Old – you clicked on the window when a new video notification popped-up (in non-server mode) or a new video notification has already been shown and now pop-down has happened (in server mode), Missed – if you missed any new video notifications(only in non-server mode) and Inaccessible – when the referred path is inaccessible.

2) Multiple instances of NOTIFY_lxm.exe and DirListener.exe can be run at the same time referring the same paths or different paths. All the activities specific to each instance will be safeguarded in all aspects. Safeguarding is accomplished by having a dedicated instance folder for each of the instances and will be locked by the respective instance and thereby preventing any attempts by other NOTIFY_lxm executables in accessing the specific folder.  The video notifications would also be shown in non-overlapping manner on the screen so that the user can choose whose notifications to be seen. For selecting multiple-instances’ notifications, pressing the CTRL-key is needed if you are not fast enough to select all of those instances or would want to simply wait and pass time for some time! After you select the ones you want, releasing the CTRL-key would open all of the selected Html-Thumbnail summary in multiple tabs of a single browser window. The notifications would be there approximately for five seconds.

3) Portable Html-Thumbnail generation (default behavior) – latest1.html generated can be used on any other machine to access the videos on a portable device. And this portability can be achieved by just having the entire instance folder specific to an instance in that machine.

4) Inclusion of hidden videos at the referred path – Just middle-click to include hidden videos at the referred path and to regenerate the Html-Thumbnail summary accordingly. This works as a toggle. So, if already included, then it excludes and regenerates. As told earlier, left-click would open the regenerated latest1.html generated when DirListener.exe is idle showing the ticker.

5) Seeing the list of existing videos at the referred path at any point in time – Just a left-click on the console window any time would open latest1.html having the categorized  information of videos including size information and hidden attribute tag if so. The categories are based on the time when the videos have been added, modified or deleted.

6) Ticker display of all the videos at the referred path (default behavior) – In a cyclic manner, when the DirListener.exe is idle the names of all the videos as in latest1.txt (just the name and not entire path) will be ticking (sliding) from right-to-left. Just added videos’ names in green, old/modified in yellow and deleted in aqua (turquoise blue).

7) Hosting the Html-Thumbnail summary on an Apache Server – If the machine running the instant video notifier has an Apache 2.2 installation on its logical drive C (could be a SUBST drive as well), then by just right-clicking on the console window of this instance when it’s idle (showing the ticker) the Html-Thumbnail summary will be made available for access over a network. To access the same, just refer the URL (without <>, of course) http://<Ip_Address_Of_Machine_Running_The_DirListener>/<InstanceNumber>/latest1.html. This is very useful when you would want to access Html-Thumbnail using a mobile via internal Wi-Fi etc.

8) Sharing the Html-Thumbnail being generated on your machine with others over a network - Just toggle into server mode by right-clicking on the console window and share the folder 
      c:\lxm\IndexFor(InstanceNumberOfTheDirListener.exeWhichHasBeenJustToggled). 
For ex: If 100 is the instance number of a DirListener.exe which you have toggled into server mode, then the folder you need to share would be c:\lxm\IndexFor100. This folder would just be a copy of c:\lxm\Instances\100\ but only the necessary ones for Html-Thumbnail.

9) Critical disk space notification (default behavior) – If the free disk space of the logical drive C is below 6MB, then a text file having the complete details of the disk space of C drive is opened at regular intervals.

10) Fault-tolerant directory listening (default behavior) – If there is a problem in accessing the referred path at a point in time, then immediately the DirListener.exe would stall all its on-going activities and display the time in seconds from when the accessibility has been lost. Once regained, automatically any changes during the inaccessibility time would be tracked by DirListener.exe regenerating the Html-Thumbnail summary as needed.

11) Asynchronous listening with synchronous initiation of rescanning of referred path at regular intervals (default behavior) – The asynchronous wait is based on a Windows 
platform feature providing the changes information as and when there are changes at the referred path happen. But, there could be some missed notifications by DirListener.exe due to the too many changes in a short-span ending up in dropping some of them from being written into the buffer supplied to the OS for publishing the changes. Hence, every minute DirListener.exe self-initiates the scanning of the referred path to check if any changes have not been reported by the Windows platform due to some reason. And if needed, the Html-Thumbnail summary would be regenerated as said earlier.

12) Adaptive thumbnail generation of videos (default behavior) – For any video at the referred path, if a thumbnail couldn’t be generated at some point in time, attempts will be made to extract a thumbnail in the next run of html_generator.exe which will happen when any changes happen at the referred path in terms of videos.

13) Preference to listing of a video rather than its thumbnail (default behavior) – Always, the preference is given to the listing of a video in latest1.html rather than its thumbnail. This implies if there are no explicit notification about the changes, no attempts will be made to regenerate the thumbnail(s) for the video(s) which was (were) previously listed in latest1.html without a valid thumbnail due to some reason. The reason is that there can be quick changes at the referred path resulting in very quick copy and delete of the video(s). In such cases, the user would definitely prefer to at least know that there is a new video first and then comes the wish for seeing its thumbnail. So, the time-consuming Html-Thumbnail generation is ignored in such circumstances to ensure that the user never misses a new video notification. The time-consumption is partially due to FFMPEG used for extracting thumbnails and rest because of the regeneration of the entire Html(latest1.html) – this would have a huge impact on the performance and responsiveness of the DirListener.exe for new video notifications, especially when there are some 500+ videos(as per my testing).

Control Flows

Stand-alone invocation of NOTIFY_lxm.exe for obtaining the Html-Thumbnail summary of the videos at any specified path at any point in time.

-> Command-line invocation of NOTIFY_lxm.exe with necessary arguments
-> Generation of latest1.txt having the list of videos at the specified path at that point in time by NOTIF_lxm.exe 
-> Command-line invocation of html_generator.exe by NOTIFY_lxm.exe to generate latest1.html having Html-Thumbnail summary.
-> Creation of thumbnails using FFMPEG for the videos listed and preparation of latest1.html by html_generator.exe using latest1.txt
-> Opening of latest1.html by NOTIFY_lxm.exe upon the return of html_generator.exe
Instant Video Notification along with the generation of Html-Thumbnail summary.

-> Command-line invocation of DirListener.exe with necessary arguments
-> Startup of activities of DirLisener.exe - Asynchronous wait for a change in terms of videos at the referred path, Ticker Display showing the video names as in latest1.txt, Check for left-click to open the existing latest1.html, Check for right-click to toggle 
server mode, Check for middle-click to toggle inclusion of hidden videos, Disk space (logical drive – C) monitoring, Check for accessibility of referred path
-> Invocation of DirContDiff.exe by DirListener.exe when a change is detected by DirListener.exe
-> Preparation of latest1.txt by DirContDiff.exe with sections – New, Old and Delete corresponding to Just Added, Old and Just Deleted categories respectively in latest1.html
-> Pop-up of Console Window to notify the user about the new video(s) if any
-> Opening of JustAddedVideos.html to show the Just Added video(s) if any when user left or right clicks on the window.
-> Invocation of html_generator.exe by DirContDiff.exe to regenerate Html-Thumbnail summary accounting for the changes
-> Creation of thumbnails using FFMPEG for the videos listed and preparation of latest1.html by html_generator.exe using latest1.txt
	-> Resumption of activities of DirListener.exe
Stand-alone generation of Html-Thumbnail summary reusing the existing latest1.txt of all the instances

-> Command-line invocation of html_generator.exe with necessary arguments
	-> Display of the instance numbers associated with the respective referred path
-> Invocation of html_generator.exe by html_generator.exe itself to run on each of the instance folders whose instance numbers were displayed

-> Generation of Html-Thumbnail summary (latest1.html) by each invocation of html_generator.exe using the existing latest1.txt in the respective instance folder where FFMPEG is used for extracting thumbnails from videos
Stand-alone generation of Html-Thumbnail summary reusing the existing latest1.txt of a specific instance

-> Command-line invocation of html_generator.exe with necessary arguments
-> Generation of Html-Thumbnail summary (latest1.html) by html_generator.exe using the existing latest1.txt in the respective instance folder where FFMPEG is used for extracting thumbnails from videos

Future Enhancements

The application is supposed to be ported onto Linux platform as well in the near future. 
Instructions

Before you use this application, get a copy of ffmpeg.exe from http://ffmpeg.zeranoe.com/builds/. You may choose either 32-bit version or 64-bit version. You may download either 32-bit or 64-bit version. Both static and shared archives will have ffmpeg.exe which means you may download either of the archives. Place this ffmpeg.exe under c:\lxm.

Before you would jump onto try the below things, you would love to have a look at some of the snapshots of this application doing its job @ http://sourceforge.net/projects/notifylxm/.


Usage: NOTIFY_lxm.exe [ Path [ :a [ :MinSize ] ] ]

Where,
          Path - Any valid directory without trailing slash.
          :a - Include hidden videos.

          :MinSize - Minimum size (default : 0) in KB.
          For example : 1024 for 1MB as the minimum size.

You must give the (n-1) th option before giving nth option always where n > 0. Hence, dummy ones must be given for the unnecessary arguments.

NOTE : FFMPEG is needed for generating the thumbnails.

Kindly get a copy of ffmpeg.exe from http://ffmpeg.zeranoe.com/builds/. You may download either 32-bit or 64-bit version. Both static and shared archives will have ffmpeg.exe which means you may download either of the archives. Place this ffmpeg.exe under c:\lxm.

NOTE : Since this application uses html_generator.exe for HTML-Thumbnail generation which in turn runs seven threads to maximize the CPU utilization for the same, it might seem as resource consuming making the whole-system behave slower.  So, use multiple instances of this application by keeping in mind how powerful your CPU is when it comes to multi-threading!


Usage: html_generator.exe [ a [ :a [ InstanceNum [ HtmlGenAdmin_Call [ :MinSize [ VideoCount [ Path [ NOTIFY_lxm_Call | DirListener_Call ] ] ] ] ] ] ] ]

Where,
          a - AutoMode specifier.
          :a - Include hidden videos - specifier.
          InstanceNum - for which the HTML-Thumbnail generation needs to happen.
	   HtmlGenAdmin_Call - indicates that HTML-Thumbnail generation is happening for a                                                                                
          				           specific instance having been invoked by html_generator.exe 
						itself being in admin-mode. 
          :MinSize - videos with minimum size (default : 0) in KB for HTML-Thumbnail 
         		    generation consideration. For example :1024 for 1MB as the minimum size.
          VideoCount - video count to be used for HTML-Thumbnail generation in a sequential 
                              manner.
          Path - Referred path.
          NOTIFY_lxm_Call or DirListener_Call and not both - The parent process indicator - Not to  
                                  					be used by you!
You must give the (n-1) th option before giving nth option always where n > 0. Hence, dummy ones must be given for the unnecessary arguments.
You don't need to bother about all of the above options, in fact shouldn't unless you are too specific about the videos to be considered for HTML-Thumbnail generation!

Simple Usage (You need this only when you want to explicitly generate HTML-Thumbnail for all of the existing instances or for a specific existing instance) :
html_generator.exe   a   :a - for all of the existing instances.
                   OR
html_generator.exe   a   :a 1 - for the existing instance number 1.

By default, html_generator.exe will generate HTML-Thumbnail for all of the existing instances with AutoMode disabled.

By default, the mode is not auto - prompts will be made whenever needed. To bypass the same, specify 'a' as an argument automating the entire operation. This is only useful when html_generator.exe has been invoked in the HTML-Thumbnail-admin mode as - html_generator.exe a.



Changelog V 2.00



1) VideoDisplayTicker - DirListener.exe and DirContDiff.exe now come with a video display ticker which in addition to displaying the video name in the scrolling ticker in the console window, now the respective video's thumbnail is also displayed for being more simple and easy to get to know what the video/movie is about!

2) Increased optimizations with speculative branching(using likely() and unlikely() in Linux Kernel code style)

3) Increased error checking and logging on demand. Error checking is being carried out end-to-end in the most comprehensive manner - each system call failure is being recorded based on the available errno value at that point in time and each Windows API failure is being recorded with the help of GetLastError() if applicable and otherwise the direct return value of that API in case if GetLastError() is not of use. Also, some Windows API don't set either errno and their failures can't be tracked by calling GetLastError() either. In those cases, they are simply being ignore but possibly with a informative log.

4) All the system() calls which involved mkdir, dir, etc commands which have equivalent easy counterparts as system calls, have been replaced with the respective system calls to increase speed of execution. This includes the replacement of system() by the available Windows APIs as well to perform any shell specific activities like using SHFileOperation() for copying, etc in place of system().

5) Code overall is now more neat with all the function prototypes and the function description at the top of each individual source code.

6) Global initializations have been removed to have the default zeroing of the static data.

7) All the functions have been made static inline to increase execution speed compromising on the generated code size.

8) Now, the whole NOTIF_lxm package comes with a silence detection in videos with the help of ffmpeg.exe. This new feature can exclude the videos which are lacking sound with or without any audio stream.

9) For reading any directory in a flat manner, instead of relying on the slow dir command, opendir() and readdir() system calls are being used to speed up the overall execution. The caller just needs to read a dynamically allocated flat array which contains the directory entries just up to one level.

10) The disk stats are being printed when appropriate in a more intuitive manner - in terms of KB, MB, or GB.

11) Faster animation not to keep the user waiting for too long.

12) Now, by left/right mouse clicking on the video displayed thumbnail in the console window, the respective video gets played! Just one click away is the video whose thumbnail is being flashed on the console window and name being scrolled through the console window from right-to-left.

13) Left-clicking on the non-thumbnail area would open the HTML and right-clicking would toggle server mode which was necessary for updating a centralized network folder at my office! :) You can choose to ignore this server mode feature. Also, this server mode ensures to copy to the Apache Server home folder if present so that if you are running an instance of Apache server on your machine, DirListener.exe would make sure that even a mobile can see the video/movie updates by accessing the Server's index page via its IP address! :)

14) Several new helper functions have been added to increase the readability and usability of the code like 
- LaunchAndDontWaitForCompletionButProvideWaitableLaunchedProcessHandleIfNeeded() etc.

15) The videos listed in HTML are by default now being sorted in the descending order of their video sizes. And the sorting is being done using the efficient IntroSort or Introspection Sort with due citation of its creator - Dr. David R. Musser. This feature can be used in reverse or disabled through command-line arguments.

16) For easy navigation, the HTML-Thumbnail listing now is being split by default into multiple chained/interlinked HTMLs. This feature can be disabled via command-line argument.

17) In addition to the main asynchronous dir change notifier, there is one more auxiliary thread which scans at regular intervals to make sure that no video updates have been missed. This intimates(wakes up) the main asynchronous dir change notifier thread when this main thread has missed a change which the auxiliary thread has seen. This is double verification! Don't ever miss any video at the referred path! :)

18) Middle-clicking on the non-thumbnail area in the console window toggles the inclusion of hidden videos! :)
Just look at the commands' options below to get an idea of what the new features are in seconds.

** NOTIFY_lxm 2.00 By Raghavan Santhanam **
 - A simple application to get an update on the latest movies
   present in the given path(default : \\lxmmc01\share).
   Assuming that all the dependent binaries that came along
   with the package(setup archive) are under c:\lxm.

 Usage : NOTIFY_lxm.exe [ Path [ :a [ :MinSize
                          [ ExcludeSilentVideos |
                            IncludeSilentVideos ] ] ] ]

 Where,
           Path - Any valid directory without trailing slash.
           :a - Include hidden videos.
           :MinSize - Minimum size(default : 0) in KB.
           ExcludeSilentVideos - Exclude the videos lacking
                                 volume or which lack audio
                                 stream itself
           IncludeSilentVideos - Don't exclude the videos lacking
                                 volume and which lack audio
                                 stream itself(default)
           For example, :1024 for 1MB as the minimum size.

 You must give the (n-1)th option before giving nth option
 always where n > 0. Hence, dummy ones must be given for the
 unnecessary arguments.
** NOTIFY_lxm **

***** HTML Generator 2.00 By Raghavan Santhanam *****
 Usage : html_generator.exe
 [ a [ :a [ InstanceNum [ Split | DontSplit | SplitExisting [
 AscendingSort | DescendingSort | DontSort [ :MinSize
 [ HtmlGenAdmin_Call [ VideoCount [ Path [ NOTIFY_lxm_Call |
 DirListener_Call ] ] ] ] ] ] ] ] ] ]

 Where,
           a - AutoMode specifier
           :a - Include hidden videos - specifier
           InstanceNum - for which the HTML-Thumbnail generation
                         needs to happen
           Split - Split latest1.html into shorter Htmls, by
                   default, forming a chain with latest1-0.html
                   as the head(default)
           DontSplit - Don't split latest1.html into shorter
                       Htmls
           SplitExisting - Just split existing latest1.html into
                           shorter Htmls forming a chain with
                           latest1-0.html as the head and exit
           AscendingSort - Sort the latest1.txt video entries
                           based on their video-sizes in an
                           ascending order
           DescendingSort - Sort the latest1.txt video entries
                            based on their video-sizes in a
                            descending order(default)
           DontSort - Don't sort the video-entries in latest1.txt
                      before the Html-Thumbnail generation
           :MinSize - videos with minimum size(default : 0) in KB
                      (default : 0) for HTML-Thumbnail generation
                      consideration. For example, :1024 for 1MB
                      as the minimum size
           HtmlGenAdmin_Call - indicates that HTML-Thumbnail
                               generation is happening for a
                               specific instance having been
                               invoked by html_generator.exe
                               itself being in admin-mode
           VideoCount - video count to be used for HTML-Thumbnail
                        generation in a sequential manner
           Path - Referred path
           NOTIFY_lxm_Call or DirListener_Call and not both -
            The parent process indicator - Not to be used by you!

 You must give the (n-1)th option before giving nth option
 always where n > 0. Hence, dummy ones must be given for the
 unnecessary arguments.

 You don't need to bother about all of the above options, in
 fact shouldn't unless you are too specific about the videos to
 be considered for HTML-Thumbnail generation!

 Simple Usage(You need this only when you want to explicitly
 generate HTML-Thumbnail for all of the existing instances or for
 a specific existing instance) :
 html_generator.exe a :a - for all of the existing instances.
                    OR
 html_generator.exe a :a 1 - for the existing instance number 1.

 By default, html_generator.exe will generate HTML-Thumbnail
 for all of the existing instances with AutoMode disabled.

 By default, the mode is not auto - prompts will be made
 whenever needed. To bypass the same, specifiy 'a' as
 an argument to automate the entire operation. This is
 only useful when html_generator.exe has been invoked
 in the HTML-Thumbnail-admin mode as : html_generator.exe a.

 NOTE : FFMPEG is needed for generating the thumbnails and silence detection in
 videos.

       Running as an admin in invoking
       html_generator.exe for each of
       the instances in c:\lxm\Instances.

       To use html_generator.exe for a
       specific instance, invoke html_generator.exe
       with the instance number as a
       command-line argument.

 ***** HTML Generator *****
 ** DirListener.exe 2.00 By Raghavan Santhanam for videos **

 Usage : DirListener.exe
 [ a [ Path [ :a [ :MinSize [ ExcludeSilentVideos |
   IncludeSilentVideos ] ] ] ] ]	
 Default path : \\lxmmc01\share. Specify 'a' for auto mode.
 Where,

        a - Auto-Mode specified.
        Path - Referred path.
        :a - Include hidden videos.
        :MinSize - videos with minimum size(default : 0) in
                   KB (default : 0) for HTML-Thumbnail
                   generation consideration. For example,
                   :1024 for 1MB as the minimum size.
        ExcludeSilentVideos - Exclude the videos lacking
                              volume or which lack audio
                              stream itself
        IncludeSilentVideos - Don't exclude the videos lacking
                              volume and which lack audio
                              stream itself(default)

 You must give the (n-1)th option before giving nth option
 always where n > 0. Hence, dummy ones must be given for the
 unnecessary arguments.

 By default, the mode is not auto where in you need to press
 a key to continue.

FEATURES

 Silence Detection In videos :
 Now, videos can be filtered out based on whether they have sound
 in them or not. This includes the case where there is no audio
 as well.

 Video Thumbnail Display while ticking :
 Now, along with the video nae being scrolled across the console
 window, a meaningful thumbnail of that video is being displayed
 in the console window just below the video name ticker in the
 console window. This leverages the usage of this application
 by a great extent allowng user to get a glimpse of that video
 without even opening it in the first place!

 Play the media(audio/video) on the fly :
 By just clicking(any - left, right, or middle) on the thumbnail
 area one can play the video associated at any point in time
 without much hassle - this is possible for every video as long
 as its video name is being ticking through the console window!

 Server Mode :
 To run this in server mode and share the HTML generated
 please right-click on this console window in its non-thumbnail
 area once it auto-aligns to an appropriate screen-position or
 anytime after that. Share the folder
 c:\lxm\IndexFor(InstanceNumber) once it's created so that
 other users could access the HTML
 - c:\lxm\IndexFor(InstanceNumber)\latest1.html) you
 have generated through the network.

 To toggle between the server-mode and the normal-mode, just
 right-click as said above. Under server-mode, HTML will be
 opened only when there is no ongoing HTML-Thumbnail generation.

 If there is an APACHE server installation under c:\, then
 the HTML-Thumbnail will be copied to the "htdocs" folder of
 that installation within the folder named after the instance
 number. For ex: htdocs\1 will be the folder having the
 HTML-Thumbnail for the instance number - 1. Hence, one can
 access the latest1.html of the instance number 1 using the
 URL - http:\\<ip-address-of-the-machine-hosting-the-apache-
 server-and-DirListener.exe-for-this-instance-number-1>\
 <Instance-Number>\latest1.html.

 Deferred opening of HTML :
 To open the HTML when there is no ongoing HTML-Thumbnail
 generation, just left-click on the non-thumbnail area
 of the console window.

 Selection of HTMLs to be opened when running multiple
 instances :
 When you are running multiple instances and you receive more
 than one video notifications(pop-ups), just hold-on to the
 CTRL-key until you have left or right-clicked on all of the
 console windows of the instances whose HTML you wish to see.

 On the other hand, if you are quick enough in left or right-
 clicking on all of the popped-up windows, then okay. No need
 for pressing the CTRL-key as said above while selecting
 multiple HTMLs to be opened at the same time.

 The multiple opening of HTMLs has been tested with the
 firefox browser having tabbed-window facility. And it works
 fine as long as there is no intervening user-prompts by the
 browser. If any, then you need to take care of closing of the
 window opened for the first HTML and thereby making room for
 the opening subsequent of HTMLs. This typically happens in the
 browsers where numerous security notifications are flooded-in
 whenever you do some nasty thing! One example for that kind
 of a browser would be IE8. Like I said earler, you are
 responsible for taking care of the user-prompts intervening
 the multiple-tab opening of the HTMLs. Otherwise, the HTMLs
 will be opened in a fully-automated fashion.

 Inclusion and Exclusion of hidden videos :
 To include hidden videos as well, issue :a as an argument to
 the DirListener.exe while invoking from command-prompt in
 the proper order(see the recommended usage above). Once
 launched, you can toggle between the inclusion and exclusion of
 hidden videos, for which just middle-click on the console
 window anytime in its non-thumbnail area after the appropriate
 auto-alignment of the window in the screen.
 Since this is a dynamic way of telling the specific instance
 of DirlListener.exe, the action is immediately taken to see
 if any hidden videos are present in the referred path if
 expected to include them followed by pop-up of the console
 window exactly in the way the new videos are notified. Same
 applies to the alternate mode. The HTML will show < (Hidden) >
 for each of the hidden video listed in it at the end of the
 respective hyper-link after the SIZE information.

 Critical disk space notification :
 The application also periodically checks the disk space of the
 home-drive for this application - c:\. If the disk space of
 c:\ goes below 6MB, then a text file with the exact details
 of the disk space gets flashed using the default text viewer.

 Fault-Tolerant Listening :
 The application tolerates any inaccessibility of the referred
 path for any length of time, being in the stand-by mode. It in
 fact, shows the time elapsed so far from the time the path
 became inaccessible. In the situation where the waiting
 threshold of the application exceeds, then the file -
 TimeLimitExceededIndicator.txt under the instance folder will
 have the relevant information including any past overflows as
 well. As soon as the accessibility of the referred path is
 restored, the application resumes its duty from the point where
 it was put on to stand-by mode - everything is automated!.
 Let the path be referring to a network path or a removable
 drive or anything which becomes inaccessible for some time and
 becomes available thereafter.

 Intuitive ticker displaying the videos in the referred path :
 A console window ticker displays the video file-names in a
 colored manner meaning, new videos' names  will be shown in
 in green, old in yellow and deleted in aqua. The ticker scrolls
 from right to left and is cyclic in nature. Ticker runs only
 when the application is idle and listening to the referred path
 without doing any HTML-Thumbnail generation.

 Non-overlapping display of console windows when running
 multiple instances :
 By default, the console window occupies the right-most-bottom-
 corner w.r.t the screen resolution. However, when there are
 more than one video notifications at the same time, then the
 all of the notification windows are auto-aligned to be in non-
 overlapping positions w.r.t screen resolution.

 When you have selected multiple HTMLs from multiple video
 notifications with or withiut CTRL-key pressed, until all of
 the video notificatons pop-down, the selected HTMLs will not
 be opened. And once all are down, the HTMLs will be
 auto-opened.

Source: README-For-Ver-2.00-NotifyLxm-VideothumbSilenceDetectWithGreatSpeed.txt, updated 2013-01-20