📄 mixerstatus.h
字号:
// MixerStatus.h: interface for the CMixerStatus class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MIXERSTATUS_H__A326F3C0_4191_11D5_8DCF_BCDA7B7DD53C__INCLUDED_)
#define AFX_MIXERSTATUS_H__A326F3C0_4191_11D5_8DCF_BCDA7B7DD53C__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include "MixerKeyTable.h"
#include "MixerSet.h"
#include "MixerPreset.h"
#include "MachineInterface.h"
#include "Dsplib.h"
#include "WrapList.h"
class CMixerStatus;
typedef bool (CMixerStatus::*TInputProcessor)(float *,const int,float);
class CMICallbacks;
using namespace std;
class CMixerStatus
{
CMixerSet m_cSet;
CMixerPreset m_cPreset;
CMixerKeyTable m_cKeyTable;
CWrapList m_cWrapList;
int m_iCurTrack;
int m_iChanges;
bool m_bUpdate;
bool m_bBufferClear;
CMICallbacks *m_pCB;
enum { efBufferSize=MAX_BUFFER_LENGTH*4 };
float m_fBuf[efBufferSize];
unsigned m_uBufLen;
// bool CMixerStatus::*m_pfnctnInputProcessor();
protected:
CMixerTrack::TEMode m_eMode;
public:
void SetSampleDataAccuracy(int i);
CMixerStatus();
virtual ~CMixerStatus();
void Save(CMachineDataOutput * const po);
void Init(CMachineDataInput * const pi);
void AddTrack(const char*,bool);
void DeleteTrack(const char *);
void RenameTrack(const char*,const char *);
void SetTrackInputChannels(const char *,bool);
CMixerSet *GetSet() { return &m_cSet;}
CMixerPreset *GetPreset() { return &m_cPreset; }
CMixerKeyTable *GetKeyTable() { return &m_cKeyTable; }
// bool NormalProcessInput(float *,const int,float);
bool ProcessInput(float *fp,const int i,float f) ;//{ return (*m_pfnctnInputProcessor)(fp,i,f); }
bool HandleInput(int,int,int);
void SetUpdateFlag() { m_bUpdate=true; }
bool IsUpdateFlagSet() { if(m_bUpdate) {m_bUpdate=false; return true;} else return false;}
void SetCallbacks(CMICallbacks *pCB) { m_pCB=pCB; }
int GetCurrentTrack() const { return m_iCurTrack; }
float *GetBuf() { return &m_fBuf[0]; }
void ClearBuf() { DSP_Zero(m_fBuf,efBufferSize); m_uBufLen=0;}
void CopyBuf(float *pout,int n);
void CopyBufNClear(float *pout,int n) { CopyBuf(pout,n);ClearBuf(); }
string GetNameOfMixerPreset(unsigned u) const { return m_cPreset.GetNameOf(u); }
unsigned GetNumOfMixerPresets() const { return m_cPreset.GetSize(); }
void AutoAddMixerPreset() { m_cPreset.AutoAdd(m_cSet); m_cSet.SetName("Main"); }
void AddNamedMixerPreset(string s) { m_cSet.SetName(s); m_cPreset.Add(m_cSet); m_cSet.SetName("Main");}
void LoadMixerPreset(string);
CMixerTrack::TEMode GetMode() const { return m_eMode; }
void SetMode(CMixerTrack::TEMode);
CWrapList &GetWrapList() { return m_cWrapList; }
};
#endif // !defined(AFX_MIXERSTATUS_H__A326F3C0_4191_11D5_8DCF_BCDA7B7DD53C__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -