home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1996 August / VPR9608A.BIN / del20try / install / data.z / MPLAYER.INT < prev    next >
Text File  |  1996-05-08  |  4KB  |  124 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Delphi Visual Component Library                 }
  5. {                                                       }
  6. {       Copyright (c) 1995,96 Borland International     }
  7. {                                                       }
  8. {*******************************************************}
  9.  
  10. unit MPlayer;
  11.  
  12. {$R-}
  13.  
  14. interface
  15.  
  16. uses Windows, Classes, Controls, Forms, Graphics, Messages,
  17.   MMSystem, Dialogs, SysUtils;
  18.  
  19. type
  20.   TMPBtnType = (btPlay, btPause, btStop, btNext, btPrev, btStep, btBack,
  21.     btRecord, btEject);
  22.   TButtonSet = set of TMPBtnType;
  23.  
  24.   TMPGlyph = (mgEnabled, mgDisabled, mgColored);
  25.   TMPButton = record
  26.     Visible: Boolean;
  27.     Enabled: Boolean;
  28.     Colored: Boolean;
  29.     Auto: Boolean;
  30.     Bitmaps: array[TMPGlyph] of TBitmap;
  31.   end;
  32.  
  33.   TMPDeviceTypes = (dtAutoSelect, dtAVIVideo, dtCDAudio, dtDAT, dtDigitalVideo, dtMMMovie,
  34.     dtOther, dtOverlay, dtScanner, dtSequencer, dtVCR, dtVideodisc, dtWaveAudio);
  35.   TMPTimeFormats = (tfMilliseconds, tfHMS, tfMSF, tfFrames, tfSMPTE24, tfSMPTE25,
  36.     tfSMPTE30, tfSMPTE30Drop, tfBytes, tfSamples, tfTMSF);
  37.   TMPModes = (mpNotReady, mpStopped, mpPlaying, mpRecording, mpSeeking,
  38.     mpPaused, mpOpen);
  39.   TMPNotifyValues = (nvSuccessful, nvSuperseded, nvAborted, nvFailure);
  40.     
  41.   TMPDevCaps = (mpCanStep, mpCanEject, mpCanPlay, mpCanRecord, mpUsesWindow);
  42.   TMPDevCapsSet = set of TMPDevCaps;
  43.   
  44.   EMPNotify = procedure (Sender: TObject; Button: TMPBtnType;
  45.     var DoDefault: Boolean) of object;
  46.   EMPPostNotify = procedure (Sender: TObject; Button: TMPBtnType) of object;
  47.  
  48.   EMCIDeviceError = class(Exception);
  49.   
  50.   TMediaPlayer = class(TCustomControl)
  51.   protected
  52.     procedure Loaded; override;
  53.     procedure AutoButtonSet(Btn: TMPBtnType); dynamic;
  54.     procedure Notification(AComponent: TComponent; Operation: TOperation); override;
  55.     procedure Paint; override;
  56.     procedure MMNotify(var Message: TMessage); message MM_MCINOTIFY;
  57.     procedure Click(Button: TMPBtnType; var DoDefault: Boolean); dynamic;
  58.     procedure PostClick(Button: TMPBtnType); dynamic;
  59.     procedure DoNotify; dynamic;
  60.     procedure Updated; override;
  61.   public
  62.     constructor Create(AOwner: TComponent); override;
  63.     destructor Destroy; override;
  64.     procedure Open;
  65.     procedure Close;
  66.     procedure Play;
  67.     procedure Stop;
  68.     procedure Pause; {Pause & Resume/Play}
  69.     procedure Step;
  70.     procedure Back;
  71.     procedure Previous;
  72.     procedure Next;
  73.     procedure StartRecording;
  74.     procedure Eject;
  75.     procedure Save;
  76.     procedure PauseOnly;
  77.     procedure Resume;
  78.     procedure Rewind;
  79.     property TrackLength[TrackNum: Integer]: Longint;
  80.     property TrackPosition[TrackNum: Integer]: Longint;
  81.     property Capabilities: TMPDevCapsSet;
  82.     property Error: Longint;
  83.     property ErrorMessage: string;
  84.     property Start: Longint;
  85.     property Length: Longint;
  86.     property Tracks: Longint;
  87.     property Frames: Longint;
  88.     property Mode: TMPModes;
  89.     property Position: Longint;
  90.     property Wait: Boolean;
  91.     property Notify: Boolean;
  92.     property NotifyValue: TMPNotifyValues;
  93.     property StartPos: Longint;
  94.     property EndPos: Longint;
  95.     property DeviceID: Word;
  96.     property TimeFormat: TMPTimeFormats;
  97.     property DisplayRect: TRect;
  98.   published
  99.     property ColoredButtons: TButtonSet default [btPlay, btPause, btStop, btNext, btPrev, btStep, btBack, btRecord, btEject];
  100.     property Enabled;
  101.     property EnabledButtons: TButtonSet default [btPlay, btPause, btStop, btNext, btPrev, btStep, btBack, btRecord, btEject];
  102.     property VisibleButtons: TButtonSet default [btPlay, btPause, btStop, btNext, btPrev, btStep, btBack, btRecord, btEject];
  103.     property AutoEnable: Boolean default True;
  104.     property AutoOpen: Boolean default False;
  105.     property AutoRewind: Boolean default True;
  106.     property DeviceType: TMPDeviceTypes default dtAutoSelect;
  107.     property Display: TWinControl;
  108.     property FileName: string;
  109.     property Shareable: Boolean default False;
  110.     property Visible;
  111.     property ParentShowHint;
  112.     property ShowHint;
  113.     property PopupMenu;
  114.     property TabOrder;
  115.     property TabStop;
  116.     property OnClick: EMPNotify;
  117.     property OnEnter;
  118.     property OnExit;
  119.     property OnPostClick: EMPPostNotify;
  120.     property OnNotify: TNotifyEvent;
  121.   end;
  122.  
  123. implementation
  124.