Changeset View
Changeset View
Standalone View
Standalone View
source/soundmanager/ISoundManager.h
/* Copyright (C) 2021 Wildfire Games. | /* Copyright (C) 2021 Wildfire Games. | ||||
Lint: Inaccurate Copyright Year: Inaccurate Copyright Year | |||||
* This file is part of 0 A.D. | * This file is part of 0 A.D. | ||||
* | * | ||||
* 0 A.D. is free software: you can redistribute it and/or modify | * 0 A.D. is free software: you can redistribute it and/or modify | ||||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | ||||
* the Free Software Foundation, either version 2 of the License, or | * the Free Software Foundation, either version 2 of the License, or | ||||
* (at your option) any later version. | * (at your option) any later version. | ||||
* | * | ||||
* 0 A.D. is distributed in the hope that it will be useful, | * 0 A.D. is distributed in the hope that it will be useful, | ||||
Show All 9 Lines | |||||
#define INCLUDED_ISOUNDMANAGER_H | #define INCLUDED_ISOUNDMANAGER_H | ||||
#include "lib/config2.h" | #include "lib/config2.h" | ||||
#include "lib/file/vfs/vfs_path.h" | #include "lib/file/vfs/vfs_path.h" | ||||
#include "ps/CStr.h" | #include "ps/CStr.h" | ||||
#include "simulation2/system/Entity.h" | #include "simulation2/system/Entity.h" | ||||
class CVector3D; | class CVector3D; | ||||
class ISoundItem; | |||||
class Path; | |||||
using VfsPath = Path; | |||||
class CSoundData; | |||||
class ISoundManager | class ISoundManager | ||||
{ | { | ||||
public: | public: | ||||
virtual ~ISoundManager() {}; | virtual ~ISoundManager() {}; | ||||
static void CreateSoundManager(); | static void CreateSoundManager(); | ||||
static void SetEnabled(bool doEnable); | static void SetEnabled(bool doEnable); | ||||
static void CloseGame(); | static void CloseGame(); | ||||
virtual ISoundItem* ItemForEntity(entity_id_t source, CSoundData* sndData) = 0; | |||||
virtual void StartWorker() = 0; | virtual void StartWorker() = 0; | ||||
virtual void ClearPlayListItems() = 0; | |||||
virtual void SetMusicEnabled(bool isEnabled) = 0; | |||||
virtual void StartPlayList(bool doLoop) = 0; | |||||
virtual void AddPlayListItem(const VfsPath& itemPath) = 0; | |||||
virtual void IdleTask() = 0; | virtual void IdleTask() = 0; | ||||
virtual void Pause(bool pauseIt) = 0; | virtual void Pause(bool pauseIt) = 0; | ||||
virtual void PauseMusic(bool pauseIt) = 0; | virtual void PauseMusic(bool pauseIt) = 0; | ||||
virtual void PauseAmbient(bool pauseIt) = 0; | virtual void PauseAmbient(bool pauseIt) = 0; | ||||
virtual void PauseAction(bool pauseIt) = 0; | virtual void PauseAction(bool pauseIt) = 0; | ||||
virtual void SetMasterGain(float gain) = 0; | virtual void SetMasterGain(float gain) = 0; | ||||
virtual void SetMusicGain(float gain) = 0; | virtual void SetMusicGain(float gain) = 0; | ||||
virtual void SetAmbientGain(float gain) = 0; | virtual void SetAmbientGain(float gain) = 0; | ||||
virtual void SetActionGain(float gain) = 0; | virtual void SetActionGain(float gain) = 0; | ||||
virtual void SetUIGain(float gain) = 0; | virtual void SetUIGain(float gain) = 0; | ||||
virtual long GetBufferCount() = 0; | |||||
virtual long GetBufferSize() = 0; | |||||
virtual void RunHardwareDetection() = 0; | virtual void RunHardwareDetection() = 0; | ||||
virtual CStr8 GetSoundCardNames() const = 0; | virtual CStr8 GetSoundCardNames() const = 0; | ||||
virtual CStr8 GetOpenALVersion() const = 0; | virtual CStr8 GetOpenALVersion() const = 0; | ||||
virtual void PlayAsUI(const VfsPath& itemPath, bool looping) = 0; | virtual void PlayAsUI(const VfsPath& itemPath, bool looping) = 0; | ||||
virtual void PlayAsMusic(const VfsPath& itemPath, bool looping) = 0; | virtual void PlayAsMusic(const VfsPath& itemPath, bool looping) = 0; | ||||
virtual void PlayAsAmbient(const VfsPath& itemPath, bool looping) = 0; | virtual void PlayAsAmbient(const VfsPath& itemPath, bool looping) = 0; | ||||
virtual void PlayAsGroup(const VfsPath& groupPath, const CVector3D& sourcePos, entity_id_t source, bool ownedSound) = 0; | virtual void PlayAsGroup(const VfsPath& groupPath, const CVector3D& sourcePos, entity_id_t source, bool ownedSound) = 0; | ||||
virtual bool InDistress() = 0; | virtual bool InDistress() = 0; | ||||
virtual void SetDistressThroughError() = 0; | |||||
virtual void SetAmbientItem(ISoundItem* anItem) = 0; | |||||
}; | }; | ||||
extern ISoundManager* g_SoundManager; | extern ISoundManager* g_SoundManager; | ||||
#endif // INCLUDED_ISOUNDMANAGER_H | #endif // INCLUDED_ISOUNDMANAGER_H | ||||
Wildfire Games · Phabricator
Inaccurate Copyright Year