XBass - Music plugin
Code:
TYPE 01:
type
TXBassCallback = procedure(Const FPct: Integer; Const FDuration, FPosition, FCurMusicFile: WideString);
type
IXBass = Interface(IUnknown)
'{3A515F05-FBAE-4D1E-80A0-808E6FAF3187}'
function FCreate(AHandle: HWND; AFilename: WideString; ASpeed: Single; RepeatOn: Boolean; ACallback: TXBassCallback): Boolean;
function FCreateList(AHandle: HWND; AFolder: WideString; ASpeed: Single; RepeatOn: Boolean; ACallback: TXBassCallback): Boolean;
procedure Play;
procedure Stop;
procedure Pause;
procedure Resume;
function IsPaused: Boolean;
procedure Next;
procedure Prev;
function ChangeDir(const AFolder: WideString): Boolean;
function ChangeFile(const AFilename: WideString): Boolean;
function GetPosition: WideString;
function GetDuration: WideString;
function GetPct: Integer;
function GetCurFile: WideString;
function GetVolume: Integer;
procedure SetVolume(Const Vol: Integer);
procedure SeekForward(Const Sec: Integer);
procedure SeekBackward(Const Sec: Integer);
procedure DoFree;
End;
function InitXBass: IXBass;
external 'InitXBass@files:xbass_f.dll stdcall';
function DeInitXBass: Boolean;
external 'DeInitXBass@files:xbass_f.dll stdcall';
Code:
TYPE 02:
type
TXBassCallback = procedure(Const FPct: Integer; Const FDuration, FPosition, FCurMusicFile: WideString);
function xbassCreate(AHandle: HWND; AFilename: WideString; ASpeed: Single; RepeatOn: Boolean; ACallback: TXBassCallback): Boolean;
function xbassCreateList(AHandle: HWND; AFolder: WideString; ASpeed: Single; RepeatOn: Boolean; ACallback: TXBassCallback): Boolean;
procedure xbassPlay;
procedure xbassStop;
procedure xbassPause;
procedure xbassResume;
function xbaseeIsPaused: Boolean;
procedure xbassNext;
procedure xbassPrev;
function xbassChangeDir(const AFolder: WideString): Boolean;
function xbassChangeFile(const AFilename: WideString): Boolean;
function xbassGetPosition: WideString;
function xbassGetDuration: WideString;
function xbassGetPct: Integer;
function xbassGetCurFile: WideString;
function xbassGetVolume: Integer;
procedure xbassSetVolume(Const Vol: Integer);
procedure xbassSeekForward(Const Sec: Integer);
procedure xbassSeekBackward(Const Sec: Integer);
procedure xbassFree;