r-type  0.0.0
R-Type main
Loading...
Searching...
No Matches
IAudio.hpp
Go to the documentation of this file.
1///
2/// @file IAudio.hpp
3/// @brief This file contains the Audio interface
4/// @namespace eng
5///
6
7#pragma once
8
9#include <string>
10
12
13namespace eng
14{
15
16 enum class Status
17 {
18 Stopped,
19 Paused,
21 };
22
23 ///
24 /// @class IAudio
25 /// @brief Interface for the audio
26 /// @namespace eng
27 ///
28 class IAudio : public utl::IPlugin
29 {
30 public:
31 virtual void createAudio(const std::string &path, float volume, bool loop, const std::string &name) = 0;
32 virtual void playAudio(const std::string &name) = 0;
33
34 virtual void setVolume(const std::string &name, float volume) = 0;
35 virtual void setLoop(const std::string &name, bool loop) = 0;
36 virtual void stopAudio(const std::string &name) = 0;
37 virtual Status isPlaying(const std::string &name) = 0;
38
39 private:
40 }; // class IAudio
41
42} // namespace eng
This file contains the plugin interface.
Interface for the audio.
Definition IAudio.hpp:29
virtual void setVolume(const std::string &name, float volume)=0
virtual void createAudio(const std::string &path, float volume, bool loop, const std::string &name)=0
virtual void playAudio(const std::string &name)=0
virtual Status isPlaying(const std::string &name)=0
virtual void setLoop(const std::string &name, bool loop)=0
virtual void stopAudio(const std::string &name)=0
Interface for plugins.
Definition IPlugin.hpp:29
Status
Definition IAudio.hpp:17