DDraceNetwork Documentation
Loading...
Searching...
No Matches
sounds.h
Go to the documentation of this file.
1/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
2/* If you are missing that file, acquire a complete release at teeworlds.com. */
3#ifndef GAME_CLIENT_COMPONENTS_SOUNDS_H
4#define GAME_CLIENT_COMPONENTS_SOUNDS_H
5
6#include <base/vmath.h>
7
9#include <engine/sound.h>
10
12
13class CSoundLoading : public IJob
14{
17
18public:
19 CSoundLoading(CGameClient *pGameClient, bool Render);
20 void Run() override;
21};
22
23class CSounds : public CComponent
24{
25 enum
26 {
28 };
30 {
31 public:
34 };
38 std::shared_ptr<CSoundLoading> m_pSoundJob;
40
41 void UpdateChannels();
42 int GetSampleId(int SetId);
43
44 float m_GuiSoundVolume = -1.0f;
45 float m_GameSoundVolume = -1.0f;
46 float m_MapSoundVolume = -1.0f;
48
49public:
50 // sound channels
51 enum
52 {
58 };
59
60 int Sizeof() const override { return sizeof(*this); }
61 void OnInit() override;
62 void OnReset() override;
63 void OnStateChange(int NewState, int OldState) override;
64 void OnRender() override;
65
66 void ClearQueue();
67 void Enqueue(int Channel, int SetId);
68 void Play(int Channel, int SetId, float Volume);
69 void PlayAt(int Channel, int SetId, float Volume, vec2 Position);
70 void PlayAndRecord(int Channel, int SetId, float Volume, vec2 Position);
71 void Stop(int SetId);
72 bool IsPlaying(int SetId);
73
74 ISound::CVoiceHandle PlaySample(int Channel, int SampleId, int Flags, float Volume);
75 ISound::CVoiceHandle PlaySampleAt(int Channel, int SampleId, int Flags, float Volume, vec2 Position);
76};
77
78#endif
Definition component.h:165
Definition gameclient.h:137
CGameClient * m_pGameClient
Definition sounds.h:15
void Run() override
Definition sounds.cpp:24
CSoundLoading(CGameClient *pGameClient, bool Render)
Definition sounds.cpp:17
bool m_Render
Definition sounds.h:16
Definition sounds.h:30
int m_Channel
Definition sounds.h:32
int m_SetId
Definition sounds.h:33
Definition sounds.h:24
std::shared_ptr< CSoundLoading > m_pSoundJob
Definition sounds.h:38
void OnInit() override
Definition sounds.cpp:102
float m_GameSoundVolume
Definition sounds.h:45
float m_MapSoundVolume
Definition sounds.h:46
void Stop(int SetId)
Definition sounds.cpp:207
void PlayAndRecord(int Channel, int SetId, float Volume, vec2 Position)
Definition sounds.cpp:185
void UpdateChannels()
Definition sounds.cpp:48
void Play(int Channel, int SetId, float Volume)
Definition sounds.cpp:197
float m_GuiSoundVolume
Definition sounds.h:44
void OnRender() override
Definition sounds.cpp:137
bool IsPlaying(int SetId)
Definition sounds.cpp:218
ISound::CVoiceHandle PlaySample(int Channel, int SampleId, int Flags, float Volume)
Definition sounds.cpp:230
@ CHN_GUI
Definition sounds.h:53
@ CHN_WORLD
Definition sounds.h:55
@ CHN_GLOBAL
Definition sounds.h:56
@ CHN_MUSIC
Definition sounds.h:54
@ CHN_MAPSOUND
Definition sounds.h:57
CQueueEntry m_aQueue[QUEUE_SIZE]
Definition sounds.h:35
bool m_WaitForSoundJob
Definition sounds.h:39
void OnStateChange(int NewState, int OldState) override
Definition sounds.cpp:131
int GetSampleId(int SetId)
Definition sounds.cpp:80
int Sizeof() const override
Definition sounds.h:60
void Enqueue(int Channel, int SetId)
Definition sounds.cpp:172
float m_BackgroundMusicVolume
Definition sounds.h:47
int64_t m_QueueWaitTime
Definition sounds.h:37
@ QUEUE_SIZE
Definition sounds.h:27
ISound::CVoiceHandle PlaySampleAt(int Channel, int SampleId, int Flags, float Volume, vec2 Position)
Definition sounds.cpp:241
void PlayAt(int Channel, int SetId, float Volume, vec2 Position)
Definition sounds.cpp:202
void ClearQueue()
Definition sounds.cpp:165
int m_QueuePos
Definition sounds.h:36
void OnReset() override
Definition sounds.cpp:122
IJob()
Definition jobs.cpp:7
Definition sound.h:48
vector2_base< float > vec2
Definition vmath.h:161