
Description
===========================

Icaros Shell Extensions - A Shell Extensions Framework By Xanashi


Icaros is a collection of lightweight, high quality, Windows Shell Extensions.

Icaros can provide Windows Explorer thumbnails, for essentially any video media format supported by FFmpeg, 
this includes popular filetypes such as: Mkv, Flv, Avi, Mp4, Mov, Rmvb, M2ts, Ogm etc.

Besides the FFmpeg supported filetypes, Icaros also contains custom parsers, 
which can produce Cover Art thumbnails for Mkv, Flac, Ape, Mpc and several other filetypes.

Icaros also provides Windows Explorer properties for the following popular filetypes:
Mkv, Mk3d, Webm, Ogm, Ogv, Ogg, Flv, Avi, Xvid, Rm, Rmvb, Flac, Opus, Spx, Ape, Mpc, Mka, Tak, Tta, Ofr, Ofs, Wv

Properties refer to the info shown for each file in Explorer, such as length, width, height, title, channels and so on.

Icaros works on Windows XP (SP2+), Vista, Windows 7, Windows 8/8.1 and Windows 10.



Requirements
===========================

The Icaros shell extensions have no dependencies.
If manually registered, they should work right away on any of the supported systems.
Check the 'Manual Registration' section below for further information. 


There are two exceptions. On Windows XP the Icaros Property Handler is not supported, due to the 
way XP handles file properties, and on Windows XP SP2, one additional library is required for the 
Icaros Thumbnail Provider to work.
IcarosConfig will automatically download and install this library upon first use, if the user agrees.
Otherwise the library can be downloaded here:
32-bit: http://www.microsoft.com/en-us/download/details.aspx?id=32
64-bit: http://www.microsoft.com/en-us/download/details.aspx?id=1385
NOTE: enu is English


IcarosConfig (the GUI) requires .NET Framework 4.
The Icaros installer should automatically install .NET 4, but in case .NET 4 is not installed 
on your system after installation, you can download and install it with the following URL:
--> http://www.microsoft.com/download/en/details.aspx?id=17113



Installation/Activation
===========================

By default Icaros only registers a number of common filetypes during activation,
but in principle it is possible to register any filetype supported by FFmpeg, 
along with a number of other filetypes, which are supported natively by Icaros.

If you're in doubt whether a filetype is supported or not, please try adding the filetype to the 
'Thumbnail Filetypes Registered' textbox, activate Icaros, and then see if your files start generating thumbnails.
Note: To add or remove filetypes from Icaros, Icaros must be deactivated first.

If a filetype is already registered to another shell extension, then Icaros will remember the previous shell extension, 
and during deactivation, reinstate the old shell extension for the specified filetype.

Activating Icaros is simple:


 1. Open IcarosConfig.exe, with administrative privileges.

 2. (Optional) The first textbox presented in IcarosConfig, contains the filetypes that will be registered to Icaros Thumbnail Provider.
    You can add or remove any number of filetypes in this textbox, but remember that not all filetypes are supported by Icaros.
    The filetypes should be entered in the following format: .avi;.flv;.mov;.ogv;.flac
    Notice that the list is semi-colon separated and filetypes can optionallly be preceded by a period '.'.

 3. (Optional) You can enable/disable Explorer Properties for specific filetypes via the checkboxes located in the second group box. 
    If all checkboxes are disabled, the property handler will not be registered, during activation.

 4. (Optional) Using IcarosConfig, it is possible to set an optional thumbnail offset in percent.
    This will determine, at what position in the stream, the frame (thumbnail) will be grabbed.

 5. (Optional) On the 'Advanced' page of IcarosConfig, you can find some additional options that will allow you to tweak
    your thumbnailing experience even more. Please check the tooltip of each control to find more info about these features.

 6. Press the 'Activate Icaros' button.


 To Deactivate/Unregister Icaros, press the 'Deactivate Icaros' button



Manual Registration
===========================

To register/activate Icaros manually, follow these steps:


 1. Open a command prompt, with administrative privileges

 2. (Optional) All Icaros Thumbnail Provider and Icaros Property Handler options can be managed via the following registry keys:
    (Icaros will automatically use the default values, if any of the following values are not set) 

     Windows Registry Editor Version 5.00

     [HKEY_LOCAL_MACHINE\Software\Icaros]
     "Thumbnail Extensions"=".mkv;.flv;.mov;.ogv"  <-- Filetypes that will be registered by the thumbnail provider
     "Excluded Properties"=".ogm;.ogv;.ogg"	   <-- (Optional) Excluded property filetypes (default: none are excluded)

     [HKEY_CURRENT_USER\Software\Icaros] 
     "Offset"=dword:00000023 		           <-- (Optional) Set thumbnail offset in hex
     "UseCoverArt"=dword:00000001		   <-- (Optional) Enable Cover Art in mkv (0: disabled 1: use normal cover 2: use landscape cover)
     "FrameThresh"=dword:00000008                  <-- (Optional) If this value exists, Icaros will try to detect black and white thumbnails and replace them
                                                                  with a better frame from the file. The value itself determines how aggresive the scan will be.
                                                                  The value can be from 0 to 30. 30 being the most aggresive, changing more frames.
                                                                  It is recommended to leave this value at 8.


 3. Run the following command:        RegSvr32.exe "Path\To\IcarosThumbnailProvider.dll"
                           or:        RegSvr32.exe "Path\To\IcarosPropertyHandler.dll"

 4. To unregister, run this command:  RegSvr32.exe /u "Path\To\IcarosThumbnailProvider.dll"
                                 or:  RegSvr32.exe /u "Path\To\IcarosPropertyHandler.dll"


Note: If you're on a 64-bit system, make sure you register the dlls located in the \64-bit\ directory.
      If you need to enable Icaros in 32-bit dialogs on 64-bit systems, you must also register the dlls
      located in the \32-bit\ directory.



Additional GUI Features
===========================

IcarosConfig contains a few tools to help out with various situations.

 1. The first tool can be found on the 'Advanced' page of IcarosConfig. Two buttons are located 
    at the bottom of the page. Reset Thumbnail and Reset Property Filetypes.

    When Icaros is deactivated, you can use these buttons to reset all the registry keys which
    are related to thumbnailing or properties, back to their default values; the values they had
    on a fresh Windows installation.
    If you have any issues where thumbnails or properties doesn't show up or work in Explorer,
    please try these buttons before activating Icaros.

 2. Another feature can be found if you click the top banner in IcarosConfig.
    This will open the About Dialog, which contains a small panel that will show you the current 
    size of the Windows thumbnail cache, as well as a button that allow you to easily purge this
    cache.
    Use this feature, if you wish to refresh all your thumbnails, or simply wish to clean up the cache.



FFmpeg Info
===========================

Icaros is using the free software project FFmpeg, to extract frames from various media files.  
FFmpeg is licensed under the LGPLv2.1, which you can find in the Licenses directory of Icaros,
or read online at: http://www.gnu.org/licenses/lgpl-2.1.txt

Icaros is using nevcairiel's fork of FFmpeg, which contains various fixes and improvements.
The source code for this fork, can be browsed online here: http://git.1f0.de/gitweb?p=ffmpeg.git;a=summary

The FFmpeg source code used in the latest Icaros build, can be downloaded here:
http://www.mediafire.com/download.php?s1jiq9tnnh8pd7k

Great thanks to both nevcairiel (LAV Filters, http://1f0.de/) and the FFmpeg Team (http://ffmpeg.org/)
for all the hard work they've put into FFmpeg.



Donations
===========================

If you like Icaros and wish to support the free development of the project,
please consider making a donation to the developer. 

Donation link: 
https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=A4SV4449UB4UQ&lc=GB&item_name=Project%20Icaros&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted

