Skip to content

Commit 7e77597

Browse files
author
tai-prg3
committed
static functions in audiosystem for deleting all buffers and sources
1 parent c2e1aa7 commit 7e77597

File tree

4 files changed

+17
-6
lines changed

4 files changed

+17
-6
lines changed

include/audio_buffer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class AudioBuffer
2626

2727
bool isStreamed();
2828

29-
private:
29+
protected:
3030
std::string m_fileName = "";
3131
ALuint m_buffer = 0;
3232
bool m_isStreamed = false;

include/audio_source.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class AudioSource
5151
bool isPaused();
5252
bool isStopped();
5353

54-
private:
54+
protected:
5555
ALuint m_source;
5656
ALuint m_streamBuffer[BUFFERS_NUM];
5757
bool m_isLoop = false;

include/audio_system.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ class AudioSystem
1414

1515
static void Init();
1616
static void Deinit();
17+
static void DeleteAllBuffers();
18+
static void DeleteAllSources();
1719

1820
static void SetListenerPosition (float* position);
1921
static void SetListenerOrientation(float* orientation);

src/audio_system.cpp

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,15 +125,24 @@ void AudioSystem::Deinit()
125125
{
126126
std:: cout << "Shutting down OpenAL..." << std::endl;
127127

128-
for (auto source : audioSources)
129-
delete source;
130-
audioSources.clear();
128+
DeleteAllSources();
129+
DeleteAllBuffers();
131130

131+
alureShutdownDevice();
132+
}
133+
134+
void AudioSystem::DeleteAllBuffers()
135+
{
132136
for (auto buffer : audioBuffers)
133137
delete buffer;
134138
audioBuffers.clear();
139+
}
135140

136-
alureShutdownDevice();
141+
void AudioSystem::DeleteAllSources()
142+
{
143+
for (auto source : audioSources)
144+
delete source;
145+
audioSources.clear();
137146
}
138147

139148
void AudioSystem::SetListenerPosition(float* position)

0 commit comments

Comments
 (0)