4#ifndef RAGE_SOUND_READER_SPEED_CHANGE_H
5#define RAGE_SOUND_READER_SPEED_CHANGE_H
10#include "RageSoundReader_Filter.h"
17 virtual int SetPosition(
int iFrame);
18 virtual int Read(
float* pBuf,
int iFrames);
23 virtual bool SetProperty(
const std::string& sProperty,
float fValue);
24 virtual int GetNextSourceFrame()
const;
25 virtual float GetStreamToSourceRatio()
const;
27 void SetSpeedRatio(
float fRatio);
32 bool NextReadWillStep()
const {
return GetCursorAvail() == 0; }
35 float GetRatio()
const {
return m_fSpeedRatio; }
38 int FillData(
int iMax);
39 void EraseData(
int iToDelete);
43 int GetCursorAvail()
const;
45 int GetWindowSizeFrames()
const;
46 int GetToleranceFrames()
const {
return GetWindowSizeFrames() / 4; }
48 int m_iDataBufferAvailFrames;
51 std::vector<float> m_DataBuffer;
53 int m_iLastCorrelatedPos;
55 std::vector<ChannelInfo> m_Channels;
57 int m_iUncorrelatedPos;
61 float m_fTrailingSpeedRatio;
64 const int m_iWindowSize;
65 const bool m_bMidSideEncoding;
Definition RageSoundReader_Filter.h:10
Definition RageSoundReader_SpeedChange.h:13
Definition RageSoundReader.h:7
Definition RageSoundReader_SpeedChange.h:50