added audio stuff

This commit is contained in:
2026-01-18 19:42:25 +01:00
parent 5fdcb6989f
commit f9185e7b26
13 changed files with 471 additions and 1 deletions

View File

@@ -0,0 +1,50 @@
#pragma once
#define AUDIOSOURCE typeid(AudioSource).name()
#include "Types.hpp"
#include "elements/AudioClip.hpp"
#include "elements/BehaviourScript.hpp"
#include "miniaudio.h"
#include <unordered_map>
namespace TSE
{
class AudioSource : public BehaviourScript
{
public:
std::unordered_map<string, AudioClip*> clips;
string currentlyPlaying = "";
private:
bool global = false;
float minDistance = 5;
float maxDistance = 8;
std::unordered_map<std::string, ma_sound*> sounds;
public:
float GetMinDistance();
float GetMaxDistance();
bool GetGlobal();
void SetGlobal(bool v);
void SetMinDistance(float v);
void SetMaxDistance(float v);
void AddClip(AudioClip* clip);
void RemoveClip(std::string name);
void StartClip(std::string name, bool forceRestart = true);
void StopPlaying();
void PausePlaying();
AudioClip* GetClipAt(int i);
~AudioSource();
void OnUpdate() override;
inline const char* GetName() override
{
return "Audio Source";
}
};
} // namespace TSE