Skip to content

Commit 29233a1

Browse files
committed
Replace AudioPlayerFactory with AudioOutput
1 parent 8476153 commit 29233a1

File tree

16 files changed

+101
-101
lines changed

16 files changed

+101
-101
lines changed

src/audio/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ endif()
1616
target_sources(scratchcpp-audio
1717
PUBLIC
1818
iaudioplayer.h
19-
iaudioplayerfactory.h
20-
audioplayerfactory.cpp
21-
audioplayerfactory.h
19+
iaudiooutput.h
20+
audiooutput.cpp
21+
audiooutput.h
2222
)
2323

2424
if (LIBSCRATCHCPP_AUDIO_SUPPORT)
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: Apache-2.0
22

3-
#include "audioplayerfactory.h"
3+
#include "audiooutput.h"
44

55
#ifdef LIBSCRATCHCPP_AUDIO_SUPPORT
66
#include "internal/audioplayer.h"
@@ -10,18 +10,18 @@
1010

1111
using namespace libscratchcpp;
1212

13-
std::shared_ptr<AudioPlayerFactory> AudioPlayerFactory::m_instance = std::make_shared<AudioPlayerFactory>();
13+
std::shared_ptr<IAudioOutput> AudioOutput::m_instance = std::make_shared<AudioOutput>();
1414

15-
AudioPlayerFactory::AudioPlayerFactory()
15+
AudioOutput::AudioOutput()
1616
{
1717
}
1818

19-
std::shared_ptr<AudioPlayerFactory> AudioPlayerFactory::instance()
19+
std::shared_ptr<IAudioOutput> AudioOutput::instance()
2020
{
2121
return m_instance;
2222
}
2323

24-
std::shared_ptr<IAudioPlayer> AudioPlayerFactory::create() const
24+
std::shared_ptr<IAudioPlayer> AudioOutput::createAudioPlayer() const
2525
{
2626
#ifdef LIBSCRATCHCPP_AUDIO_SUPPORT
2727
return std::make_shared<AudioPlayer>();

src/audio/audiooutput.h

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// SPDX-License-Identifier: Apache-2.0
2+
3+
#pragma once
4+
5+
#include "iaudiooutput.h"
6+
7+
namespace libscratchcpp
8+
{
9+
10+
class AudioOutput : public IAudioOutput
11+
{
12+
public:
13+
AudioOutput();
14+
15+
static std::shared_ptr<IAudioOutput> instance();
16+
17+
std::shared_ptr<IAudioPlayer> createAudioPlayer() const override;
18+
19+
private:
20+
static std::shared_ptr<IAudioOutput> m_instance;
21+
};
22+
23+
} // namespace libscratchcpp

src/audio/audioplayerfactory.h

Lines changed: 0 additions & 22 deletions
This file was deleted.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ namespace libscratchcpp
99

1010
class IAudioPlayer;
1111

12-
class IAudioPlayerFactory
12+
class IAudioOutput
1313
{
1414
public:
15-
virtual ~IAudioPlayerFactory() { }
15+
virtual ~IAudioOutput() { }
1616

17-
virtual std::shared_ptr<IAudioPlayer> create() const = 0;
17+
virtual std::shared_ptr<IAudioPlayer> createAudioPlayer() const = 0;
1818
};
1919

2020
} // namespace libscratchcpp

src/scratch/sound.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
#include <iostream>
55

66
#include "sound_p.h"
7-
#include "audio/audioplayerfactory.h"
87

98
using namespace libscratchcpp;
109

src/scratch/sound_p.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
// SPDX-License-Identifier: Apache-2.0
22

33
#include "sound_p.h"
4-
#include "audio/audioplayerfactory.h"
4+
#include "audio/audiooutput.h"
55

66
using namespace libscratchcpp;
77

8-
IAudioPlayerFactory *SoundPrivate::playerFactory = nullptr;
8+
IAudioOutput *SoundPrivate::audioOutput = nullptr;
99

1010
SoundPrivate::SoundPrivate()
1111
{
12-
// NOTE: playerFactory must be initialized in the constructor to avoid static initialization order fiasco
13-
if (!playerFactory)
14-
playerFactory = AudioPlayerFactory::instance().get();
12+
// NOTE: audioOutput must be initialized in the constructor to avoid static initialization order fiasco
13+
if (!audioOutput)
14+
audioOutput = AudioOutput::instance().get();
1515

16-
player = playerFactory->create();
16+
player = audioOutput->createAudioPlayer();
1717
}

src/scratch/sound_p.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
#include <string>
66

7-
#include "audio/iaudioplayerfactory.h"
7+
#include "audio/iaudiooutput.h"
88
#include "audio/iaudioplayer.h"
99

1010
namespace libscratchcpp
@@ -17,7 +17,7 @@ struct SoundPrivate
1717

1818
int rate = 0;
1919
int sampleCount = 0;
20-
static IAudioPlayerFactory *playerFactory;
20+
static IAudioOutput *audioOutput;
2121
std::shared_ptr<IAudioPlayer> player = nullptr;
2222
};
2323

test/assets/sound_test.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#include <scratchcpp/sound.h>
22
#include <scratch/sound_p.h>
3-
#include <audioplayerfactorymock.h>
3+
#include <audiooutputmock.h>
44
#include <audioplayermock.h>
55

66
#include "../common.h"
@@ -15,13 +15,13 @@ class SoundTest : public testing::Test
1515
void SetUp() override
1616
{
1717
m_player = std::make_shared<AudioPlayerMock>();
18-
SoundPrivate::playerFactory = &m_playerFactory;
19-
EXPECT_CALL(m_playerFactory, create()).WillOnce(Return(m_player));
18+
SoundPrivate::audioOutput = &m_playerFactory;
19+
EXPECT_CALL(m_playerFactory, createAudioPlayer()).WillOnce(Return(m_player));
2020
}
2121

22-
void TearDown() override { SoundPrivate::playerFactory = nullptr; }
22+
void TearDown() override { SoundPrivate::audioOutput = nullptr; }
2323

24-
AudioPlayerFactoryMock m_playerFactory;
24+
AudioOutputMock m_playerFactory;
2525
std::shared_ptr<AudioPlayerMock> m_player;
2626
};
2727

@@ -98,5 +98,5 @@ TEST_F(SoundTest, IsPlaying)
9898
EXPECT_CALL(*m_player, isPlaying()).WillOnce(Return(false));
9999
ASSERT_FALSE(sound.isPlaying());
100100

101-
SoundPrivate::playerFactory = nullptr;
101+
SoundPrivate::audioOutput = nullptr;
102102
}

test/audio/CMakeLists.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
if (LIBSCRATCHCPP_AUDIO_SUPPORT)
2-
# audioplayerfactory_test
2+
# audiooutput_test
33
add_executable(
4-
audioplayerfactory_test
5-
audioplayerfactory_test.cpp
4+
audiooutput_test
5+
audiooutput_test.cpp
66
)
77

88
target_link_libraries(
9-
audioplayerfactory_test
9+
audiooutput_test
1010
GTest::gtest_main
1111
scratchcpp
1212
)
1313

14-
gtest_discover_tests(audioplayerfactory_test)
14+
gtest_discover_tests(audiooutput_test)
1515
endif()

0 commit comments

Comments
 (0)