Source Codes of FocusShare
September 9, 2004

National Institute of Multimedia Education
Research and Development
Noritaka OSAWA

1. Compilation Environment
The following software is required to compile FocusShare source codes

 * Windows2000/XP

 * Microsoft Visual Studio .Net 2003
   You may need to modify some Visual Studio Solution files if you use different versions of Visual Studio

 * DirectX 9.0b SDK
    DirectX SDK is assumed to be installed in "C:\DXSDK". If you use a different directory, you need to modify Visual Studio Project files.
@@You need to compile C:\DXSDK\Samples\C++\DirectShow\BaseClasses because the compiled libraries are need to make DirectShow filters.

2. Directories

 * flFilters

    Source codes of DirectShow-related modules used in FocusShare.

    * flAudioMixer
      2-input audio mixing filter 

    * flBase
      Basic classes of vectors, threads, strings

    * flDigitalClock
      Digital clock filter

    * flDirectInput
      Classes for DirectX DirectInput. Mice and gamepads can be used.

    * flDrawTools
      Filters for drawing on video
       DrawFrame     frame drawing filter
       DrawCaption   caption drawing filter

    * flFilterCommon
      Common functions used in DirectShow filters

    * flFormatTrans
      Video format transformation filter

    * flMulticastReceiver
      Multicast receiver filter

    * flMulticastSender
      Multicast sender filter

    * flNetwork
      Transmission functions of IPv4/IPv6 multicasting

    * flNonLinearZoom
      Non-linear zooming filter

    * flPointerBitmapCreator
      Pointer shape generation classes for pointer compostion filters

    * flPointerMixer
      Pointer mixer filter that combines video and pointer information

    * flPointerPosition
      Pointer position filter that obtains mouse position (using DirectInput)

    * flStillPicture
      Still picture filter

    * flTypes
      Class ID Definitions of DirectShow filers, interface definitions, media format definitions

    * flVideoExtract
      Video extraction filter

    * flVideoOverlayMixer
      Video overlay filter that combines two video images having different resolutions and frame rates

    * flVideoQuadSplitter
      4-image Composition. This filer is not used in this tool but can be used for combining four screens

    * flVolumeGraph
      Sound-level graph filter

    * flVolumeIndicator
      Sound-level indicator filter

@@* libimg
      Bitmap image loader library (BMP, TIFF) used in flStillPicture

    * external/libjpeg, external/libpng, external/zlib
      Image loader libraries used in flStillPicture
      Source codes of these libraries are downloadable from external sites.
