diff options
Diffstat (limited to 'Game/Code/Classes/UAudioCore_Bass.pas')
-rw-r--r-- | Game/Code/Classes/UAudioCore_Bass.pas | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/Game/Code/Classes/UAudioCore_Bass.pas b/Game/Code/Classes/UAudioCore_Bass.pas index 1f754be2..beb2db16 100644 --- a/Game/Code/Classes/UAudioCore_Bass.pas +++ b/Game/Code/Classes/UAudioCore_Bass.pas @@ -16,13 +16,13 @@ uses type TAudioCore_Bass = class - private - constructor Create(); public + constructor Create(); class function GetInstance(): TAudioCore_Bass; function ErrorGetString(): string; overload; function ErrorGetString(errCode: integer): string; overload; function ConvertAudioFormatToBASSFlags(Format: TAudioSampleFormat; out Flags: DWORD): boolean; + function ConvertBASSFlagsToAudioFormat(Flags: DWORD; out Format: TAudioSampleFormat): boolean; end; implementation @@ -41,7 +41,7 @@ end; class function TAudioCore_Bass.GetInstance(): TAudioCore_Bass; begin - if not assigned(Instance) then + if (not Assigned(Instance)) then Instance := TAudioCore_Bass.Create(); Result := Instance; end; @@ -108,4 +108,16 @@ begin Result := true; end; +function TAudioCore_Bass.ConvertBASSFlagsToAudioFormat(Flags: DWORD; out Format: TAudioSampleFormat): boolean; +begin + if ((Flags and BASS_SAMPLE_FLOAT) <> 0) then + Format := asfFloat + else if ((Flags and BASS_SAMPLE_8BITS) <> 0) then + Format := asfU8 + else + Format := asfS16; + + Result := true; +end; + end. |