diff options
author | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2008-05-10 10:37:22 +0000 |
---|---|---|
committer | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2008-05-10 10:37:22 +0000 |
commit | 8af89b5940bd15b013e3f48536888e352eb1c43b (patch) | |
tree | 719494bd328bff489b8e566ab620850b65ae1769 /Game/Code/Classes/UAudioCore_Bass.pas | |
parent | b122ec521106f9424ead8058cb3b4ab5cc7ac8a3 (diff) | |
download | usdx-8af89b5940bd15b013e3f48536888e352eb1c43b.tar.gz usdx-8af89b5940bd15b013e3f48536888e352eb1c43b.tar.xz usdx-8af89b5940bd15b013e3f48536888e352eb1c43b.zip |
Update to Bass 2.4. Do not forget to replace the old with the new dll.
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1080 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'Game/Code/Classes/UAudioCore_Bass.pas')
-rw-r--r-- | Game/Code/Classes/UAudioCore_Bass.pas | 46 |
1 files changed, 29 insertions, 17 deletions
diff --git a/Game/Code/Classes/UAudioCore_Bass.pas b/Game/Code/Classes/UAudioCore_Bass.pas index 442c999b..1d045b88 100644 --- a/Game/Code/Classes/UAudioCore_Bass.pas +++ b/Game/Code/Classes/UAudioCore_Bass.pas @@ -9,36 +9,50 @@ interface {$I switches.inc}
uses
- {$IFDEF MSWINDOWS}
- Windows,
- {$ENDIF}
Classes,
SysUtils,
- UMusic;
+ UMusic,
+ bass; // (Note: DWORD is defined here)
type
TAudioCore_Bass = class
private
+ constructor Create(); public
- class function ErrorGetString(): string; overload;
- class function ErrorGetString(errCode: integer): string; overload;
- class function ConvertAudioFormatToBASSFlags(Format: TAudioSampleFormat; out Flags: DWORD): boolean;
+ class function GetInstance(): TAudioCore_Bass;
+ function ErrorGetString(): string; overload;
+ function ErrorGetString(errCode: integer): string; overload;
+ function ConvertAudioFormatToBASSFlags(Format: TAudioSampleFormat; out Flags: DWORD): boolean;
end;
-
+
implementation
uses
UMain,
- ULog,
- bass;
+ ULog;
+
+var
+ Instance: TAudioCore_Bass;
+
+constructor TAudioCore_Bass.Create();
+begin + inherited; +end; +
+class function TAudioCore_Bass.GetInstance(): TAudioCore_Bass;
+begin + if not assigned(Instance) then + Instance := TAudioCore_Bass.Create(); + Result := Instance; +end; -class function TAudioCore_Bass.ErrorGetString(): string;
+function TAudioCore_Bass.ErrorGetString(): string;
begin
Result := ErrorGetString(BASS_ErrorGetCode());
end;
-class function TAudioCore_Bass.ErrorGetString(errCode: integer): string;
+function TAudioCore_Bass.ErrorGetString(errCode: integer): string;
begin
case errCode of
BASS_OK:
@@ -63,8 +77,6 @@ begin result := 'Paused/stopped';
BASS_ERROR_ALREADY:
result := 'Already created/used';
- BASS_ERROR_NOPAUSE:
- result := 'No pause';
BASS_ERROR_NOCHAN:
result := 'No free channels';
BASS_ERROR_ILLTYPE:
@@ -93,8 +105,6 @@ begin result := 'Creation error';
BASS_ERROR_NOFX:
result := 'DX8 effects unavailable';
- BASS_ERROR_PLAYING:
- result := 'Channel is playing';
BASS_ERROR_NOTAVAIL:
result := 'Not available';
BASS_ERROR_DECODE:
@@ -111,6 +121,8 @@ begin result := 'Version error';
BASS_ERROR_CODEC:
result := 'Codec not available/supported';
+ BASS_ERROR_ENDED:
+ result := 'The channel/file has ended';
BASS_ERROR_UNKNOWN:
result := 'Unknown error';
else
@@ -118,7 +130,7 @@ begin end;
end;
-class function TAudioCore_Bass.ConvertAudioFormatToBASSFlags(Format: TAudioSampleFormat; out Flags: DWORD): boolean;
+function TAudioCore_Bass.ConvertAudioFormatToBASSFlags(Format: TAudioSampleFormat; out Flags: DWORD): boolean;
begin
case Format of
asfS16:
|