index 5e1c811fe994d0b119aca6cf3cb8347507e9d797..d0db4fed1fa09f7332b8b70cd4dd798127d8bbff 100644 (file)
-(* Copyright (C) DooM 2D:Forever Developers
+(* Copyright (C) Doom 2D: Forever Developers
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
fmod,
fmodtypes,
fmoderrors,
fmod,
fmodtypes,
fmoderrors,
- mempool,
+ {$IFDEF USE_MEMPOOL}mempool,{$ENDIF}
e_log,
SysUtils;
e_log,
SysUtils;
nRefs: Integer;
end;
nRefs: Integer;
end;
- TBasicSound = class(TPoolObject)
+ TBasicSound = class{$IFDEF USE_MEMPOOL}(TPoolObject){$ENDIF}
private
FChannel: FMOD_CHANNEL;
private
FChannel: FMOD_CHANNEL;
function TryInitWithOutput(Output: FMOD_OUTPUTTYPE; OutputName: String): FMOD_RESULT;
begin
function TryInitWithOutput(Output: FMOD_OUTPUTTYPE; OutputName: String): FMOD_RESULT;
begin
- e_WriteLog('Trying with ' + OutputName + '...', MSG_WARNING);
+ e_WriteLog('Trying with ' + OutputName + '...', TMsgType.Warning);
Result := FMOD_System_SetOutput(F_System, Output);
if Result <> FMOD_OK then
begin
Result := FMOD_System_SetOutput(F_System, Output);
if Result <> FMOD_OK then
begin
- e_WriteLog('Error setting FMOD output to ' + OutputName + '!', MSG_WARNING);
- e_WriteLog(FMOD_ErrorString(Result), MSG_WARNING);
+ e_WriteLog('Error setting FMOD output to ' + OutputName + '!', TMsgType.Warning);
+ e_WriteLog(FMOD_ErrorString(Result), TMsgType.Warning);
Exit;
end;
Result := FMOD_System_Init(F_System, N_CHANNELS, FMOD_INIT_NORMAL, nil);
if Result <> FMOD_OK then
begin
Exit;
end;
Result := FMOD_System_Init(F_System, N_CHANNELS, FMOD_INIT_NORMAL, nil);
if Result <> FMOD_OK then
begin
- e_WriteLog('Error initializing FMOD system!', MSG_WARNING);
- e_WriteLog(FMOD_ErrorString(Result), MSG_WARNING);
+ e_WriteLog('Error initializing FMOD system!', TMsgType.Warning);
+ e_WriteLog(FMOD_ErrorString(Result), TMsgType.Warning);
Exit;
end;
end;
Exit;
end;
end;
begin
Result := False;
begin
Result := False;
- e_WriteLog(Format('Trying to initialize FMOD with %d', [Freq]), MSG_NOTIFY);
+ e_WriteLog(Format('Trying to initialize FMOD with %d', [Freq]), TMsgType.Notify);
res := FMOD_System_Create(F_System);
if res <> FMOD_OK then
begin
res := FMOD_System_Create(F_System);
if res <> FMOD_OK then
begin
- e_WriteLog('Error creating FMOD system:', MSG_FATALERROR);
- e_WriteLog(FMOD_ErrorString(res), MSG_FATALERROR);
+ e_WriteLog('Error creating FMOD system:', TMsgType.Fatal);
+ e_WriteLog(FMOD_ErrorString(res), TMsgType.Fatal);
Exit;
end;
res := FMOD_System_GetVersion(F_System, ver);
if res <> FMOD_OK then
begin
Exit;
end;
res := FMOD_System_GetVersion(F_System, ver);
if res <> FMOD_OK then
begin
- e_WriteLog('Error getting FMOD version:', MSG_FATALERROR);
- e_WriteLog(FMOD_ErrorString(res), MSG_FATALERROR);
+ e_WriteLog('Error getting FMOD version:', TMsgType.Fatal);
+ e_WriteLog(FMOD_ErrorString(res), TMsgType.Fatal);
Exit;
end;
if ver < FMOD_VERSION then
begin
Exit;
end;
if ver < FMOD_VERSION then
begin
- e_WriteLog('FMOD library version is too old! Need '+IntToStr(FMOD_VERSION), MSG_FATALERROR);
+ e_WriteLog('FMOD library version is too old! Need '+IntToStr(FMOD_VERSION), TMsgType.Fatal);
Exit;
end;
res := FMOD_System_SetSoftwareFormat(F_System, Freq, FMOD_SOUND_FORMAT_PCM16, 0, 0, FMOD_DSP_RESAMPLER_LINEAR);
if res <> FMOD_OK then
begin
Exit;
end;
res := FMOD_System_SetSoftwareFormat(F_System, Freq, FMOD_SOUND_FORMAT_PCM16, 0, 0, FMOD_DSP_RESAMPLER_LINEAR);
if res <> FMOD_OK then
begin
- e_WriteLog('Error setting FMOD software format!', MSG_FATALERROR);
- e_WriteLog(FMOD_ErrorString(res), MSG_FATALERROR);
+ e_WriteLog('Error setting FMOD software format!', TMsgType.Fatal);
+ e_WriteLog(FMOD_ErrorString(res), TMsgType.Fatal);
Exit;
end;
Exit;
end;
res := TryInitWithOutput(FMOD_OUTPUTTYPE_NOSOUND, 'OUTPUTTYPE_NOSOUND');
if res <> FMOD_OK then
begin
res := TryInitWithOutput(FMOD_OUTPUTTYPE_NOSOUND, 'OUTPUTTYPE_NOSOUND');
if res <> FMOD_OK then
begin
- e_WriteLog('FMOD: Giving up, can''t init with NOSOUND.', MSG_FATALERROR);
+ e_WriteLog('FMOD: Giving up, can''t init with NOSOUND.', TMsgType.Fatal);
Exit;
end;
end
Exit;
end;
end
res := FMOD_System_Init(F_System, N_CHANNELS, FMOD_INIT_NORMAL, nil);
if res <> FMOD_OK then
begin
res := FMOD_System_Init(F_System, N_CHANNELS, FMOD_INIT_NORMAL, nil);
if res <> FMOD_OK then
begin
- e_WriteLog('Error initializing FMOD system!', MSG_WARNING);
- e_WriteLog(FMOD_ErrorString(res), MSG_WARNING);
+ e_WriteLog('Error initializing FMOD system!', TMsgType.Warning);
+ e_WriteLog(FMOD_ErrorString(res), TMsgType.Warning);
{$IFDEF LINUX}
res := TryInitWithOutput(FMOD_OUTPUTTYPE_ALSA, 'OUTPUTTYPE_ALSA');
{$IFDEF LINUX}
res := TryInitWithOutput(FMOD_OUTPUTTYPE_ALSA, 'OUTPUTTYPE_ALSA');
res := TryInitWithOutput(FMOD_OUTPUTTYPE_NOSOUND, 'OUTPUTTYPE_NOSOUND');
if res <> FMOD_OK then
begin
res := TryInitWithOutput(FMOD_OUTPUTTYPE_NOSOUND, 'OUTPUTTYPE_NOSOUND');
if res <> FMOD_OK then
begin
- e_WriteLog('FMOD: Giving up, can''t init any output.', MSG_FATALERROR);
+ e_WriteLog('FMOD: Giving up, can''t init any output.', TMsgType.Fatal);
Exit;
end;
end;
Exit;
end;
end;
res := FMOD_System_GetOutput(F_System, output);
if res <> FMOD_OK then
res := FMOD_System_GetOutput(F_System, output);
if res <> FMOD_OK then
- e_WriteLog('Error getting FMOD output!', MSG_WARNING)
+ e_WriteLog('Error getting FMOD output!', TMsgType.Warning)
else
case output of
else
case output of
- FMOD_OUTPUTTYPE_NOSOUND: e_WriteLog('FMOD Output Method: NOSOUND', MSG_NOTIFY);
- FMOD_OUTPUTTYPE_NOSOUND_NRT: e_WriteLog('FMOD Output Method: NOSOUND_NRT', MSG_NOTIFY);
- FMOD_OUTPUTTYPE_DSOUND: e_WriteLog('FMOD Output Method: DSOUND', MSG_NOTIFY);
- FMOD_OUTPUTTYPE_WINMM: e_WriteLog('FMOD Output Method: WINMM', MSG_NOTIFY);
- FMOD_OUTPUTTYPE_OPENAL: e_WriteLog('FMOD Output Method: OPENAL', MSG_NOTIFY);
- FMOD_OUTPUTTYPE_WASAPI: e_WriteLog('FMOD Output Method: WASAPI', MSG_NOTIFY);
- FMOD_OUTPUTTYPE_ASIO: e_WriteLog('FMOD Output Method: ASIO', MSG_NOTIFY);
- FMOD_OUTPUTTYPE_OSS: e_WriteLog('FMOD Output Method: OSS', MSG_NOTIFY);
- FMOD_OUTPUTTYPE_ALSA: e_Writelog('FMOD Output Method: ALSA', MSG_NOTIFY);
- else e_WriteLog('FMOD Output Method: Unknown', MSG_NOTIFY);
+ FMOD_OUTPUTTYPE_NOSOUND: e_WriteLog('FMOD Output Method: NOSOUND', TMsgType.Notify);
+ FMOD_OUTPUTTYPE_NOSOUND_NRT: e_WriteLog('FMOD Output Method: NOSOUND_NRT', TMsgType.Notify);
+ FMOD_OUTPUTTYPE_DSOUND: e_WriteLog('FMOD Output Method: DSOUND', TMsgType.Notify);
+ FMOD_OUTPUTTYPE_WINMM: e_WriteLog('FMOD Output Method: WINMM', TMsgType.Notify);
+ FMOD_OUTPUTTYPE_OPENAL: e_WriteLog('FMOD Output Method: OPENAL', TMsgType.Notify);
+ FMOD_OUTPUTTYPE_WASAPI: e_WriteLog('FMOD Output Method: WASAPI', TMsgType.Notify);
+ FMOD_OUTPUTTYPE_ASIO: e_WriteLog('FMOD Output Method: ASIO', TMsgType.Notify);
+ FMOD_OUTPUTTYPE_OSS: e_WriteLog('FMOD Output Method: OSS', TMsgType.Notify);
+ FMOD_OUTPUTTYPE_ALSA: e_Writelog('FMOD Output Method: ALSA', TMsgType.Notify);
+ else e_WriteLog('FMOD Output Method: Unknown', TMsgType.Notify);
end;
res := FMOD_System_GetDriver(F_System, drv);
if res <> FMOD_OK then
end;
res := FMOD_System_GetDriver(F_System, drv);
if res <> FMOD_OK then
- e_WriteLog('Error getting FMOD driver!', MSG_WARNING)
+ e_WriteLog('Error getting FMOD driver!', TMsgType.Warning)
else
else
- e_WriteLog('FMOD driver id: '+IntToStr(drv), MSG_NOTIFY);
+ e_WriteLog('FMOD driver id: '+IntToStr(drv), TMsgType.Notify);
Result := True;
end;
Result := True;
end;
begin
Result := False;
begin
Result := False;
- e_WriteLog('Loading sound '+FileName+'...', MSG_NOTIFY);
+ e_WriteLog('Loading sound '+FileName+'...', TMsgType.Notify);
find_id := FindESound();
find_id := FindESound();
res := FMOD_Sound_Release(e_SoundsArray[ID].Sound);
if res <> FMOD_OK then
begin
res := FMOD_Sound_Release(e_SoundsArray[ID].Sound);
if res <> FMOD_OK then
begin
- e_WriteLog('Error releasing sound:', MSG_WARNING);
- e_WriteLog(FMOD_ErrorString(res), MSG_WARNING);
+ e_WriteLog('Error releasing sound:', TMsgType.Warning);
+ e_WriteLog(FMOD_ErrorString(res), TMsgType.Warning);
end;
e_SoundsArray[ID].Sound := nil;
end;
e_SoundsArray[ID].Sound := nil;
res := FMOD_System_Close(F_System);
if res <> FMOD_OK then
begin
res := FMOD_System_Close(F_System);
if res <> FMOD_OK then
begin
- e_WriteLog('Error closing FMOD system!', MSG_FATALERROR);
- e_WriteLog(FMOD_ErrorString(res), MSG_FATALERROR);
+ e_WriteLog('Error closing FMOD system!', TMsgType.Fatal);
+ e_WriteLog(FMOD_ErrorString(res), TMsgType.Fatal);
Exit;
end;
res := FMOD_System_Release(F_System);
if res <> FMOD_OK then
begin
Exit;
end;
res := FMOD_System_Release(F_System);
if res <> FMOD_OK then
begin
- e_WriteLog('Error releasing FMOD system!', MSG_FATALERROR);
- e_WriteLog(FMOD_ErrorString(res), MSG_FATALERROR);
+ e_WriteLog('Error releasing FMOD system!', TMsgType.Fatal);
+ e_WriteLog(FMOD_ErrorString(res), TMsgType.Fatal);
end;
end;
end;
end;