Capycore Engine  0.1.0
A simple and lightweight game engine written in C++ based on the Unity API architecture.
Loading...
Searching...
No Matches
sound_instance.h
Go to the documentation of this file.
1#pragma once
2
4
5#include <memory>
6#include <string>
7
15 public:
16 explicit SoundInstance(std::shared_ptr<SoundResource> resource,
17 float volume = 1.0f);
18 virtual ~SoundInstance() = default;
19
20 virtual void play() {}
21 virtual void pause() {}
22 virtual void resume() {}
23 virtual void stop() {}
24
25 [[nodiscard]] virtual bool is_playing() const noexcept;
26 [[nodiscard]] virtual bool is_paused() const noexcept;
27 [[nodiscard]] virtual bool is_finished();
28
29 [[nodiscard]] const std::shared_ptr<SoundResource>& resource() const noexcept;
30 [[nodiscard]] float volume() const noexcept;
31 void volume(float volume) noexcept;
32
33 [[nodiscard]] bool finished() const noexcept;
34 void finished(bool finished) noexcept;
35
36 [[nodiscard]] bool loop() const noexcept;
37 void loop(bool loop) noexcept;
38
39 protected:
40 std::shared_ptr<SoundResource> resource_;
41
42 bool loop_{false};
43 bool playing_{false};
44 bool paused_{false};
45 bool finished_{false};
46 float volume_{1.0f};
47};
Represents an instance of a generic sound within the audio system. The reason for separating SoundIns...
Definition sound_instance.h:14
bool finished_
Definition sound_instance.h:45
SoundInstance(std::shared_ptr< SoundResource > resource, float volume=1.0f)
bool loop_
Definition sound_instance.h:42
const std::shared_ptr< SoundResource > & resource() const noexcept
bool playing_
Definition sound_instance.h:43
virtual void play()
Definition sound_instance.h:20
float volume() const noexcept
bool loop() const noexcept
bool finished() const noexcept
virtual ~SoundInstance()=default
bool paused_
Definition sound_instance.h:44
virtual void resume()
Definition sound_instance.h:22
std::shared_ptr< SoundResource > resource_
Definition sound_instance.h:40
float volume_
Definition sound_instance.h:46
virtual bool is_playing() const noexcept
virtual void stop()
Definition sound_instance.h:23
virtual void pause()
Definition sound_instance.h:21
virtual bool is_finished()
virtual bool is_paused() const noexcept
Represents a generic sound resource in the audio engine. This class serves as a base for specific sou...
Definition sound_resource.h:12