^ What's the point?
^ Supported file formats
^ Basic usage
^ RAW camera photo file support

^ Filesystem Dialogs Library
^ Skeez
^ TCP Server-Client Library
^ Sledge Process Library
^ TGraphDisplay3D Component
^ Sample Display Library
^ TSampleDisplay3D Component
^ TSpectrum3D Component
^ Tags Library
^ ID3v2 Library
^ MP4 Tag Library
^ APEv2 Library
^ Ogg Vorbis and Opus Tag Library
^ Flac Tag Library
^ WMA Tag Library
^ MKV Tag Library
^ WAV Tag Library
^ Storage Stream Library
^ BASS Audio Recognition Library
^ BASS Threaded Mixer Library
^ LAME Encoder Library
^ BASS Encoder Library
^ Image Recognition Library
^ TRegistration Delphi Component
^ CUE Sheet Library
^ BASS CD Ripper Library
^ BASS Stream Recorder Library
^ BASS Fade Volume Shaped Library
^ Audio Bezier Curves Library
^ TMultiThread
^ Anim GIF Library
^ Professional Thumbnailer Library
^ File Operations Library
^ Web Page Snapshot Library
^ DTMF Scanner Library
^ COM MediaInfo Library
^ Graphics32 3delite Helpers
^ Easy Update Package for Developers
^ MP3 Editor Library
^ Ogg Streamer Library
^ FMX.WinBitmaps
^ Multimedia Control Icon Set
^ 3delite's Artistic Icon Set

Top
Professional Thumbnailer Library

Professional Thumbnailer Library is a DLL for use in Win32 and Win64 software.
The library is based on a FIFO list and a thread pool. Just add a thumbnail request to the library and the threads extract and process the request one-by-one and return the thumbnail in a callback.
  • High quality resize
  • Multi-threaded so as fast as reasonably possible
  • Accepts 4 inputs: file name, PIDL, HBitmap handle and in-memory "picture files" and "audio files"
  • Options to add configurable shadow effect, and film frame effect for video thumbnails (both at the same time if needed)
  • Each thumbnail request has its own parameters
  • Supports all picture files Free Image Library supports
  • Supports all RAW camera picture file formats libraw supports
  • Supports all cover arts Tags Library supports
  • Option of creating audio sample thumbnails from all audio file formats BASS supports
The component can be evaluated freely. If you like it and decide to use it in a freeware, shareware or commercial (or any other money making - advertising, in app. selling, etc.) product one of the licenses is needed.




Supported file formats

Pictures:
  • JPG images (*.jpg, *.jpeg)
  • JPEG2000 images (*.jp2, *.j2k, *.jpc)
  • TIFF images (*.tif, *.tiff) (You need a license to use the LZW compressed format)
  • GFI fax images (*.fax)
  • SGI images (*.bw, *.rgb, *.rgba, *.sgi)
  • Autodesk images files (*.cel, *.pic) old style only
  • Truevision images (*.tga, *.vst, *.icb, *.vda, *.win)
  • ZSoft Paintbrush images (*.pcx, *.pcc)
  • Word 5.x screen capture files (*.scr)
  • Kodak Photo-CD images (*.pcd)
  • Portable pixel/gray map images (*.ppm, *.pgm, *.pbm)
  • Dr. Halo images (*.cut, *.pal)
  • CompuServe images (*.gif)
  • SGI Wavefront images (*.rla, *.rpf)
  • Standard Windows bitmap images (*.bmp, *.rle, *.dib),
  • Photoshop images (*.psd, *.pdd)
  • Paintshop Pro images (*.psp)
  • Portable network graphic images (*.png)
  • Amiga (*.iff, *.lbm)
  • DirectDraw Surface (*.dds)
  • Raw Fax format CCITT G3 (*.g3)
  • High Dynamic Range (*.hdr)
  • JPEG Network Graphics (*.jng)
  • Commodore 64 Koala format (*.koa)
  • Multiple Network Graphics (*.mng)
  • Sun Rasterfile (*.ras)
  • Truevision Targa files (*.tga, *.targa)
  • Wireless Bitmap (*.wbmp)
  • X11 Bitmap Format (*.xbm)
  • X11 Pixmap Format (*.xpm)
RAW camera photo files:
  • Hasselblad Raw (*.3fr)
  • Sony Raw (*.arw, *.srf, *.sr2)
  • Casio Raw (*.bay)
  • Capture One Raw (*.cap, *.cs1)
  • Canon Raw (*.crw, *.cr2, *.cr3)
  • Kodak Raw (*.dcr, *.dcs, *.drf, *.k25, *.kdc)
  • Camera Raw (*.dng)
  • Epson Raw (*.erf)
  • Phase One Raw (*.iiq)
  • Mamiya Raw (*.mef)
  • Leaf Raw (*.mos)
  • Minolta Raw (*.mrw)
  • Nikon Raw (*.nef, *.nrw)
  • Olympus Raw (*.orf)
  • Pentax Raw (*.pef, *.ptx)
  • Fujifilm Raw (*.raf)
  • Panasonic Raw (*.raw, *.rwl, *.rw2)
  • Samsung Raw (*.srw)
  • Sigma Raw (*.x3f)

Audios:
  • Audio file tags are read (tags/cover art): ID3v1, ID3v2, Lyrics3, APEv1, APEv2, Flac (including Ogg Flac), Ogg Vorbis, Opus, MP4 (including video files and 64bit atom size files), WAV LIST INFO, BEXT and CART (including RF64 WAV files) and WMA
  • Furthermore if bass.dll is found in the process space or in the file system path, audio sample thumbnails are generated for all audio files that BASS can open (all the file formats that BASS supports or there is a BASS plugin loaded for the particular format).

Text:
  • Text files (*.txt, *.text, *.log, *.ini, *.cfg, *.pas, *.cpp, *.h, *.bas) - configurable in settings

Basic usage

1. Create an instance with:
  • ProfessionalThumbnailer_Create()
2. Add thumbnail request(s) with:
  • ProfessionalThumbnailer_AddFileName()
  • ProfessionalThumbnailer_AddPIDL()
  • ProfessionalThumbnailer_AddHandle()
  • ProfessionalThumbnailer_AddMemory()
The 'TPTAddParameters.Callback' must be specified else the add functions will fail.
If the functions return 'False' do not forget to free any 'User' etc. objects - normally free them eg. in the callback.
These are non-blocking calls, once a thumbnail request has been added to the queue these functions return and the threads will process the requests and return the thumbnails handle in the callback as fast as possible.
The callback is called from the worker threads so be aware that the callback code is running in a separate thread and also the specific worker thread is paused until the callback returns.

3. Free the instance if finished with:
  • ProfessionalThumbnailer_Free()
To cancel all the added requests call:
  • ProfessionalThumbnailer_Clear()
Note that this will not cancel the jobs currently processing just clears the job list.
The callback may (and surely will) still return previously requested thumbnails, use the 'TPTThumbnailParameters.ListingID' to check if the thumbnail is from a previous or current listing.

There are 4 blocking functions to request a thumbnail without threading:
  • ProfessionalThumbnailer_GetFileNameThumbnail()
  • ProfessionalThumbnailer_GetPIDLThumbnail()
  • ProfessionalThumbnailer_GetHandleThumbnail()
  • ProfessionalThumbnailer_GetMemoryThumbnail()
The thumbnail handle is returned in the 'BitmapHandle' variable.
It's safe to call these functions in threads too though.


RAW camera photo file support

RAW camera photo file support requires the included 'libraw.dll'. If you don't need RAW file support don't include this DLL.

Note that when loading files from memory pointer/size if the DLL is loaded then first RAW format is tried first. This requires some processing thus slowing down the loading process. If this is not needed just don't provide 'libraw.dll'.



Google
Web www.3delite.hu




^ Delphi Community Edition
^ BASS
^ Sonique Vis Plugins
^ Directory Opus
^ Exact Audio Copy
^ TextPad
^ Google Fight



[Top]