⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mixerstatus.h

📁 miXo is a buzz machine (www.buzzmachines.com) - a plugin for the freely available jeskola buzz track
💻 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 + -