home *** CD-ROM | disk | FTP | other *** search
/ PC Format Collection 48 / SENT14D.ISO / tech / delphi / disk14 / doc.pak / MPLAYER.INT < prev    next >
Encoding:
Text File  |  1995-08-24  |  4.1 KB  |  110 lines

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