3#include "Queryable.hpp"
5#include "mathtypes.hpp"
7#include "AudioTypes.hpp"
9#include "ComponentWithOwner.hpp"
10#include "AudioRenderBuffer.hpp"
15 friend class AudioEngine;
16 friend class AudioSyncSystem;
19 const float* audiodata;
20 double lengthSeconds = 0;
21 uint8_t nchannels = 0;
45 inline double GetLength()
const {
return lengthSeconds;}
46 inline decltype(nchannels) GetNChanels()
const {
50 inline auto GetData()
const{
54 inline auto GetNumSamples()
const{
55 return data.sizeOneChannel();
68 bool loops : 1 =
false;
69 bool isPlaying : 1 =
false;
85 virtual void Restart() = 0;
88 inline float GetVolume()
const {
return volume; }
122 uint64_t lastPlayTime = 0;
130 inline void SetAudio(
decltype(SampledAudioDataProvider::asset) a) {
157 friend class AudioEngine;
158 friend class AudioSyncSystem;
165 inline void SetPlayer(
decltype(player) p ){
169 inline decltype(player) GetPlayer()
const{
200 Entity fakeOwner{{INVALID_ENTITY},
nullptr};
202 source(source), fakeOwner(fakeOwner,
nullptr) {}
Definition AudioSource.hpp:14
AudioAsset(InterleavedSampleBufferView interleavedData, decltype(nchannels) nchannels)
Definition AudioSource.hpp:37
Definition AudioSource.hpp:114
Definition ComponentWithOwner.hpp:6
Definition AudioTypes.hpp:20
Definition concurrentqueue.h:747
Definition Animation.hpp:6
std::span< float, std::dynamic_extent > InterleavedSampleBufferView
Definition AudioTypes.hpp:13
Definition AudioSource.hpp:185
Definition AudioSource.hpp:61
virtual void Pause()
Definition AudioSource.hpp:81
virtual void Play()
Definition AudioSource.hpp:74
void SetVolume(float vol)
Definition AudioSource.hpp:94
void SetLoop(bool loop)
Definition AudioSource.hpp:101
bool IsPlaying() const
Definition AudioSource.hpp:106
Definition AudioTypes.hpp:114
Definition AudioSource.hpp:154
Definition AudioSource.hpp:178
Definition AudioSource.hpp:209
Definition AudioSource.hpp:198
Definition AudioSource.hpp:192
Definition Queryable.hpp:21
Definition AudioSource.hpp:119
void Play() final
Definition AudioSource.cpp:124
void Pause() final
Definition AudioSource.cpp:135
void ProvideBufferData(PlanarSampleBufferInlineView &buffer, PlanarSampleBufferInlineView &scratchSpace) final
Definition AudioSource.cpp:143
void Restart() final
Definition AudioSource.cpp:131
void SetAudio(decltype(SampledAudioDataProvider::asset) a)
Definition AudioSource.hpp:130
Definition qualifier.hpp:35