This package contains the following:

SAA7146A_DRIVER_V300:
       Use this driver for XP64 and Vista systems instead of the
       other drivers in the subdirectory of the applications.
       Curently only the SAA7146A based cards are supported.
       Please read the READEM in this subdirectory for issues
       concerning Vista systems.


V007X: Application with the tuner control inside the application
       This version is (basically) no longer being updated and is
       superceeded by V008X.

       \INSTALL\    Application
       \SOURCE\     Source code

V008X: Application with the tuner control by means of the Pico script.
       Because of the script language DVB cards with different tuners
       can be supported by the application by changing some of the scripts
       (thus without changing the application).

       \INSTALL\    Application
       \SOURCE\     Source code


V110X: Application with the tuner control by means of the Pico script.
       Can also use a different 'engine' concerning the accumulation of
       received data. Main difference is that data is not processed immediately
       (like with the original method) but only 'on request'. This means that
       all this data is being kept in memory.
       The application can be used to explore the received data; data is
       being presented in a tree-view. Data can also be stored as XML
       data (if XML based processing is active).

       Note: Because a lot of data is being kept in memory (when XML based
             processing is active) the application concumens a lot of memory
             (typically > 100 MB).
             For comparison: V0071 uses about 27 MB.

       \INSTALL\    Application
       \SOURCE\     Source code

Note: The required Indy source code is included in V100X only (Foreign\Indy).
      V007X and V008X can use this code too.


Here is an overview of the different versions, and how they share there
common source:


V0070 ----------------------------------------- V007X
        |
        -- V0.080 -- ... -- V0082 ------------- V008X
                                   |
                                   -- V1.000 -- V100X



Version history V007X

 Version   Date   Comment
  0.02   20040203 - Initial release
  0.03   20040206 - <adCpuUsage> unit slightly modified so it won't keep
                    generating errors. Instead <CollectCpuData> returns a
                    success flag.
  0.04   20040222 - Added local font
                  - Status panels added
                  - Added option to not render audi/video of DirectShow
                    (eg. NERO MEDIAPLAYER does something to system which makes
                    rendering takes forever, so the application does not start
                    and at times the application terminates with error when
                    exit).
                  - LOF lowband/higband added
                  - <Saa7146AI2C> frequency LNB also allows 'negative'
                    results for tuner frequency -> these are converted to
                    positive values. This is for C-band LOFs which give a
                    negative tuner frequency.
                  - Added manual DiSEqC commands
                  - Added DiSEqC repeats setting
                  - Added DiSEqC setting to use positioner command
                  - Additional settings, particular for DirectShow
                  - DirectShow parameter added and cleanup revised
                  - Up/Down swap option added
                  - try/except in program/event retreive (DvbFilter)
                  - Added option to disable FreeLibrary for specific plgins
  0.05   20040321 - Changes in EPG
                  - Program name in status bar
                  - .info file optional (INI parameter)
                  - Filename box added for recording (as prefix)
                  - Manual commands initiate 'transponder' change for program
                    up/down afterwards too
                  - Integer overflow <Saa7146AI2C> setting frequency resolved
                  - Fixed tags for remote control messages
                  - More extensive remote control codes, incl keyboard
                    emulation
                  - TCP Network support
                  - Also allows <MajorDvbPsi.ax> to be used (V2.01/V2.02)
                    . <DvbFilter> is now indirectly called in <DvbDirectShow>
                  - Windowless mode added in <DvbDirectShow> and as INI
                  - Graph file can be set in INI file
                  - First command line parameter can set Graph file to use
                  - INI setting added which allows all data to be send to
                    DirectShow
                  - DirectShow graph is created 'manually' if no graph file
                    given
  0.06   20041231 - Other cards supported (variable settings tuner)
                  - Added decrambled indication
                  - Auto ECM added / Prefered 'removed'
                    If 'on' will also force an update of all program info
                  - Remote control shutdown command added
                  - Fixed bug that always CSA.DLL was used instead of ini
                    setting
                  - 'CSA=Disable' disables CSA al together
                  - Multiple cards supported (Device=)
                  - Possible to run without hardware and receiving data
                  - Network update button now correctly made visible
                  - PID 0 can now also be recorded (needed for preprocessing)
                  - Try/Except surrounding DirectShow and plugins
                  - StreamLock in timer changed slightly. Menu text for TS
                    processing handled by flag.
                  - Application does not need to be called from the
                    applications main directory.
                  - Both PLUGINS and MDPLUGINS directory are scanned for
                    plugins
                  - PacketThread.Execute deadlocks removed if no signal is
                    received. Also the manual notification changed so it
                    repeats notifications until success or too much retries.
                  - Parameter changed. Now using "XXX=YYY" so parameters can
                    be used randomly.
                    Parameters are now:
                     DirectShowGraph         DirectShow file to use
                     Favourite               index   in favourite list
                     Program                 index-1 from selected favourite
                     StartRecording          Start time recording
                     StartRecordingIfExpired Start when <StartRecording>
                                             already expired
                     StopRecording           Stop time recording
                     Shutdown                Shutdown time
                     Exit                    Exit time
                     ExitAfterRecording      Exit after recording ends
                     ShutdownAfterRecording  Exit after recording ends
                     FullScreen              Full screen mode
                  - Additional time correction for above parameters
                  - Additional remote control commands besides of toggle
                    (recordon/recordoff/fullscreen/fullscreenoff/fullscreenon)
                  - 'Scan' now calls 'Scan all'
                    Scan buttons only visible when 'Transponder display'
                    active.
                    Using Tag instead of visibility of button for 'exit'.
                    Instead of SCAN.LST a unique new file is generated.
                  - New RichView component used - with 'jump' which sets
                    recording time
                    Added 'offset' in INI file for this:
                     TimeCorrectionPreRecord
                     TimeCorrectionPostRecord
                    EPG more colorfull
                  - Faster update when processing TS file
                  - Full screen mode is forced every second when active
                    ESC key reverses it
                  - Added characters which simulate left/right/down/left etc
                  - TSBufferTime bug corrected
                  - <LastBuffer> forced to valid value for correct termination
                  - Half second intervals for checking start/stop recording
                  - Termination of thread exits it immediately now (spurious
                    exit behaviour otherwise)
                  - Threads with generic try..except for spurious problems
                  - using Saa7146aCloseHandle instead of CloseHandle because
                    multiple handles for a single card s now supported
                  - ServiceId added
                    Now used instead of program index (no longer 'supported')
                  - Implemented MDAPI_GET_PROGRAM (partially?)
                  - Implemented MDAPI_GET_PROGRAM_NUMBER
                  - Single favourite also allowed (bug)
                  - Buffering of DirectShow data added to test improvement
                    of performance  -  only slight improvement (?)
                    Use DEFINE DSBUFFER to enable it
                  - Now also allows 'foreign' transponder files (eg. WinSTB /
                    www.satelliweb.com / TechnoTrend INI)
                  - Added a possible deadlock check in EventUpdate
                  - Corrected 100% load bug when very first time started
                    without any signal (returned buffer index > PacketBuffers)
                  - Added InitializationSuccess flag
                  - Added MdPluginExit in cleanup
                  - MDAPI SET_PROGRAM supported (INI setting added)
                  - For SU1278 tuner low symbolrates (<4000kS) supported
                    <Saa7146aI2c>
                  - Added CA_System82 to MdApi stuff (used by some plugins)
                  - TV/Radio/Data seletion added (sorts out lists)
                  - Mini-DiSEqC (burst) always used in DiSEqC command
                    Mini-DiSEqC only by means of INI setting
                  - DiSEqC now also includes polarity/band information
                  - Added FiltersOff flag which disables plugin filters while
                    changing data - set to TRUE and FALSE at places were
                    MdApiOnChannelChange is called
                  - Elapsed time recording added
                  - Volume control added (bidirectional)
                  - Keyboard control expanded
                  - Remote control expanded (0..9 / PP)
                  - Recording size added
                  - Name of recording now also includes PID number
                  - PID name for PID 0 also set
                  - More PIDs can be included in recording
                  - Recording of PID 0 was not saved in INI - corrected
                  - FilterLock more centralized (not in .execute)
                  - Filters removed at FormDestroy (possible reason for some
                    errors when closing apllication)
                  - EPG height can be set by user
                  - Position of form is retained
                  - Resize of form added
                  - Doubleclick on video swicthes between full screen mode
                  - Problem with some plugins who change there filter while
                    they are called resolved (was due to FilterLock)
                  - When a filter is added with an already existing name then
                    the old filter is removed (some plugins work that way ->
                    not removing the old filter but just starting a new one
                  - Default size reduced to 720x576
                  - Slider now also correctly positioned at resize
                  - Last panel of status keeps same width, Panel[8] resizes
                  - File positioner has smaller stepsize
                  - Suppression of MdApi command OnChannelChange after
                    transponder change until valid data received
                  - CAT event added - initiates PidChanged
                    PMT event initiates PidChanged after transponder change
                  - Auto retune if no lock for a second (tuner has then
                    corrected it's AGC and so to the extends, of which it will
                    not recover
                  - TransponderChanged now forces an update of the frequency
                  - Possible to use frequencies and such which are not in the
                    transponder list
                  - Manual tuning 'disabled' because of auto re-tune function
                    which will interfere
                  - Added bars for power/ C/N
                  - Network support removed
                  - Preferred language added
                  - try..except surrounding external 'plugin' code in
                    <DecodeTransportStreamData>
                  - Every plugin now has it's own set of filters
                  - Every plugin can use either 184 or 188 bytes
                  - Additional ECM information removed
                  - Channels can be marked 'disabled'
                  - Plugins can be in more subdirectories so each plugin can
                    have it's own location/settings (MDPLUGINx)
                    PLUGINS subdirectory no longer supported
                  - Remote control commands for 'language'/'disabled'
                  - <AlwaysUpdateProgram> setting added
                  - DirectShow using VMR9 only (windowless mode)
                    because of upcoming OSD
                  - None of the plugins are now freed
                  - Circular lists
                  - Variable timeout numerical keys input
                  - User defined DiSEqC settings added
                  - DirectShow filters shown in menu plus property page option
                  - RPS0 programs can be selected (0..3=simulated VSYNC)
                  - Added trick for letting DirectShow filters think no
                    debugger is active
                  - Complete rework of DirectShow (more options)
                  - Native video size (=size from stream) added
                  - Setup screen(s) added
                  - Startup parameter 'Setup' added
                  - TimeSeparator/EncodeTime used instead of fixed ':'
                  - Event mechanism of DirectShow tested -
                    not all expected events are being received so removed
                  - Available DirectShow graphs in menu
                  - Reinit in menu instead of through button
                  - Added TimeCorrectionGmt for correction on time zone
                  - Added progress bar current event
                  - EMM entry added
                  - DiSEqCReset added
                  - Wait for PMT update extended to 200 instead of 50
                    (NoSignal extended to 3 instead of 2 because of this)
                  - Revised DiSEqC setting. Old method only used as no new
                    settings used.
                  - Added FFDeCsa mechanism
                  - Manual DiSEqC command added
                  - 'Old' DirectShow also supported
                  - Without lock no packets are being processed (otherwise
                    random data)
                  - Without <AlwaysUpdateProgram> no wait is done on PMT
                    (increases switching between transponders)
                  - Multiple recordings on same transponder introduced
                  - Multiple instances of plugins allowed (if they support it)
                    -> only one plugin gets the menu command instead of all
                       plugins
                    Tried multiple instances of plugins:
                    - changing identfiers to new application identifiers does
                      not work because internal processing of the plugin does
                      not know how to handle these different identifiers (to
                      update the menu item)
                    ! Success with recording addressed plugin with
                      WM_INITMENUPOPUP but removed because of ...
                    Note: Problem of updating menu still exists though
                          (update menu items are applied to first instance
                           menu)
                  - Bug concerning DiSEqC resolved (one byte too many)
                  - Scheduler added. Also switches channels 30 seconds prior
                    to recording time.
                  - Directshow as object so multiple instances possible
                    . Note: first impression of multiple instances in same
                      process: not possible -> usrc fails
                      Same with using thread
                  - Auto registering of usrc.ax
                  - AC3 support added
                    AC3 audio internally added ('*' after audio PID text)
                  - AutoContinueOnException added as option
                  - Even less done while scanning (no DirectShow)
                  - FreezeTimeOut added as option
  0.061  20050111 - Bugfix <MajorDvbRecording>
  0.062  20050118 - <try><except> around reading <ActiveTimeBias> since this
                    can fail if the user does nat have administrator rights
  0.063  20050128 - <ProcessMessages> added in scanning (ProcessMessages was
                    otherwise only called at success of tuning, which would
                    lead to long timeout if multiple frequencies were 'dead')
                  - Added failed transponders indication in scan all
  0.064  20050129 - Added 'scrambled' options for not showing these
  0.065  20050209 - Fontsize EPG variable
  0.066  20050213 - Bug corrected: Recorded file was not processed if not
                    tuned
  0.067  20050305 - Recording size always shown
                  - Max recording size added
                  - Bug FreeAndNil of current recording corrected
                  - Events can be enabled during recording
  0.068  20050312 - Application directory also scanned for plugins
                  - Application directory explicitly removed from files
  0.070  20050417 - FlexCop support added (crude method - should be done
                    completely different, but this is a -quick- implementation
  0.071  20050603 - All PIDs in PMT can be shown
                  - Search in favourite list
                  - Smaller resolutions supported
  0.072  20051009 - Bugfix MajorDVBRecording.pas concerning valid PIDS
                  - MadExcept V3 now used
  0.073  20060429 - UDP support added (through INI only)


Version history V008X (based on V0070)

  0.080  20050529 - All tuner control by means of Pico scripts
  0.081  20050717 - Support for lower resolutions
                  - Corrected bug which did not allow valid PIDs 4095..8191
                    to be used (check assumed 12 bits instead of 13 bits) in
                    MajorDvbRecording.pas
                  - Buttons on panel which can be enabled/disabled
                  - More shown during recording if Events while recording on
                  - CardInit/CardClose script calls added
                  - Reintroduced hardware setup which now changes script file
                  - Reintroduced DiSEqC   setup which now changes script file
                  - Added <GetPart> which gets part of a comma delimited
                    string - other procedures now use this too
  0.082  20050821 - Corrected introduced bug about a missing transponder
                    frequency which was not added to the transponder list
                    (AddStringToTransponderList) due to incorrect use of
                    GetPart
                  - Card number now correctly used (also sets script)
                  - Hardware info added
                  - Card.ini no longer used: script <CardIdentify> now used
                  - Manual tuning adds and selects new transponder so it can
                    be used normally (e.g. scan and such) and it select the
                    trasnponder display
                  - Added 2nd UCSAEMU
                  - Added FEC for favourites and manual entry
                    Selected favourite file is automatically updated (using
                    auto FEC)
                  - Added special debug script call <Debug> for miscellaneous
                    debugging and user defined function <User>
                  - <Options> added in script. E.g. fine tuning
                  - <TransponderInfo> added which places result in manual
                    control fields
                  - Updated DirectX files to newer version 2.3.4
                  - Added DirectShowGetImage for screen dumps
                  - Type indication in list if more are selected (radio/TV..)
                  - Added some Application.ProcessMessages
                  - Added update system time (one time only after checking)
                  - Scanning revised
                  - More debug info on certain PIDs
                  - Recording name now also includes program name to allow
                    for more programs to be recorded at the exact same time
                  - Started adding XML support (to show info from stream)
  0.083  20051009 - MadExcept V3 now used
  0.084  20051120 - DVB-C support added (script and frequency can be float)
                  - QAM support (for DVB-C/T)
                  - Transponder list accepts real values for frequency to
                    allow for better resolution (< 1 MHz)
                  - Empty language identifiers don't crash the system no more
  0.085  20060429 - UDP support added (through INI only)




Version history V100X (based on V0082)

  1.000  20051009 - Fully revised DvbFilter which is now XML based
                    When new 'data' has been received and a callback for it
                    is active, then WmSignalling is called. This in it's turn
                    activated the callback thread which handles the processing
                    not directly done in WmSignalling
                  - Automatic inversion of QPSK demodulation added (thanks to
                    TRD about pointing this out) in script
                  - Video size also displayed in program name panel
                  - Without an INI file startup is now possible
                  - Using FastMM4 memory menager
                  - MadExcept V3 now used
                  - Extended events removed due to performance problems
                    (continuously updating and a LOT of data on some
                     transponders)
                  - Short events also removed (no special reason)
                  - Video size placed in status panel 9
  1.001  20051120 - Fully revised DvbFilter which is now XML based
                  - Automatic update of program name if one found and there
                    was no old name
                  - 4 satellite DiSEqC configuration added
                  - PatUpdate does not add orginal service to list
                  - Added LockControl for disable updating of controls while
                    'using' them
                  - Pat/Cat etc updates directly from received messages
                    instead of through timer
                  - FRichView freed in .Destoy
                  - When events during recordings are allowed, also updates
                    are allowed (e.g. other program etc) -> UpdateSettings
                  - Progress bar also displays time before next event starts
                  - Additional data stored with program
                  - QAM support (for DVB-C/T)
                  - Transponder list accepts real values for frequency to
                    allow for better resolution (< 1 MHz)
                  - Empty language identifiers don't crash the system no more
  Version V1.0XX and V0.08X combined to V1.1XX after this


  1.101  20060429 - UDP support added (through INI only)
