Etterna 0.74.4
Loading...
Searching...
No Matches
RageSoundMixBuffer.h
1/* RageSoundMixBuffer - Simple audio mixing. */
2
3#ifndef RAGE_SOUND_MIX_BUFFER_H
4#define RAGE_SOUND_MIX_BUFFER_H
5
7{
8 public:
11
12 /* Mix the given buffer of samples. */
13 void write(const float* pBuf,
14 unsigned iSize,
15 int iSourceStride = 1,
16 int iDestStride = 1);
17
18 /* Extend the buffer as if write() was called with a buffer of silence. */
19 void Extend(unsigned iSamples);
20
21 void read(int16_t* pBuf);
22 void read(float* pBuf);
23 void read_deinterlace(float** pBufs, int channels);
24 float* read() { return m_pMixbuf; }
25 unsigned size() const { return m_iBufUsed; }
26 void SetWriteOffset(int iOffset);
27
28 private:
29 float* m_pMixbuf;
30 unsigned m_iBufSize; /* actual allocated samples */
31 unsigned m_iBufUsed; /* used samples */
32 int m_iOffset;
33};
34
35#endif
Definition RageSoundMixBuffer.h:7