This commit is contained in:
romkazvo
2023-08-07 19:29:24 +08:00
commit 34d6c5d489
4832 changed files with 1389451 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
#pragma once
#include <SmartPtr.h>
class CMusicPattern;
struct IMusicPatternDecoderInstance;
class CMusicPatternInstance
{
protected:
int m_nRefs;
CMusicPattern *m_pPattern;
IMusicPatternDecoderInstance *m_pDecoderInstance;
public:
CMusicPatternInstance(CMusicPattern *pPattern);
virtual ~CMusicPatternInstance();
void AddRef()
{
m_nRefs++;
}
void Release()
{
m_nRefs--;
if (m_nRefs<=0)
delete this;
}
CMusicPattern* GetPattern() { return m_pPattern; }
//! Seek to beginning of pattern (if nDelay is set it will wait nDelay-samples before starting playback).
bool Seek0(int nDelay=0);
bool GetPCMData(signed long *pDataOut, int nSamples, bool bLoop=true);
int GetSamplesToNextFadePoint();
int GetSamplesToLastFadePoint();
int GetSamplesToEnd();
};