Etterna 0.74.4
Loading...
Searching...
No Matches
RageSoundReader_Extend.h
1/* RageSoundReader_Extend - Add looping, delay and truncation and fading. */
2
3#ifndef RAGE_SOUND_READER_EXTEND
4#define RAGE_SOUND_READER_EXTEND
5
6#include "RageSoundReader_Filter.h"
7
9{
10 public:
12 int SetPosition(int iFrame) override;
13 int Read(float* pBuffer, int iFrames) override;
14 int GetNextSourceFrame() const override;
15 bool SetProperty(const std::string& sProperty, float fValue) override;
16
17 RageSoundReader_Extend* Copy() const override
18 {
19 return new RageSoundReader_Extend(*this);
20 }
21 ~RageSoundReader_Extend() override = default;
22
23 private:
24 int GetEndFrame() const;
25 int GetData(float* pBuffer, int iFrames);
26
27 int m_iPositionFrames;
28
29 enum StopMode
30 {
31 M_LOOP,
32 M_STOP,
33 M_CONTINUE
34 };
35 StopMode m_StopMode;
36 int m_iStartFrames;
37 int m_iLengthFrames;
38 int m_iFadeInFrames;
39 int m_iFadeOutFrames;
40 bool m_bIgnoreFadeInFrames;
41};
42
43#endif
Definition RageSoundReader_Extend.h:9
Definition RageSoundReader_Filter.h:10
Definition RageSoundReader.h:7