📄 mixertrack.h
字号:
// MixerTrack.h: interface for the CMixerTrack class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MIXERTRACK_H__A326F3C8_4191_11D5_8DCF_BCDA7B7DD53C__INCLUDED_)
#define AFX_MIXERTRACK_H__A326F3C8_4191_11D5_8DCF_BCDA7B7DD53C__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include <mdk.h>
#include <string>
#include <math.h>
#include "Key.h"
#include "TrackValues.h"
using namespace std;
//simple class for storing two float values for left and right
class CSampleData
{
float m_f1,m_f2;
public:
CSampleData() : m_f1(0.0f),m_f2(0.0f) {}
CSampleData(const CSampleData &c) : m_f1(c.m_f1),m_f2(c.m_f2) {}
void Set(const float f) { m_f1=m_f2=f; }
void Set(bool bStereo,const float f1,const float f2) {
if(bStereo) {
m_f1=f1;
m_f2=f2;
}else{
m_f1=m_f2=f1;
}
};
float GetAverage() const { return fabs(( ((m_f1+m_f2)/2.0f) / (32768.0))); }
virtual ~CSampleData() {}
};
class CMixerTrack
{
string m_strName; //Name of the associated InputMachine
// string m_strKeySet; //KeySet
int m_iKeySet;
float m_fIncrement;
float m_fSlow;
bool m_bStereo;
// float m_fSampleData;
mutable CSampleData m_cSampleData;
enum { defSampleDataAccuracy=10 };
int m_iSampleDataAccuracy;
int m_iSampleDataCounter;
CTrackValues *m_pcMixingValues;
CTrackValues m_cRealValues,m_cHelperValues;
public:
typedef enum { em_Normal=0,em_Mute,em_Bypass,em_Unknown }TEMode;
protected:
TEMode m_eMode;
public:
TEMode GetMode() const { return m_eMode; }
void SetMode(TEMode);
public:
CMixerTrack();
CMixerTrack(const CMixerTrack &c);/* : m_strKeySet(c.m_strKeySet),m_strName(c.m_strName),
m_bStereo(c.m_bStereo),m_iKeySet(c.m_iKeySet),
m_fSampleData(c.m_fSampleData),m_fSlow(c.m_fSlow),
m_iSampleDataAccuracy(c.m_iSampleDataAccuracy),
m_cRealValues(c.m_cRealValues),m_cHelperValues(c.m_cHelperValues),
m_eMode(em_Unknown),m_fIncrement(c.m_fIncrement),
m_iSampleDataCounter(c.m_iSampleDataCounter),m_pcMixingValues(&m_cRealValues)
{ SetMode(c.m_eMode); }
*/
virtual ~CMixerTrack();
void SetKeySetId(int i) { m_iKeySet=i; }
int GetKeySetId() const { return m_iKeySet; }
void SetLevel(float f) { m_cRealValues.SetLevel(f); }
float GetRealLevel() const { return m_cRealValues.GetRealLevel(); }
float GetRealTargetLevel() const { return m_cRealValues.GetRealTargetLevel(); }
void SetIncrement(float fInc) { m_fIncrement=fInc; }
float GetIncrement() const { return m_fIncrement; }
void Save(CMachineDataOutput * const po);
void Init(CMachineDataInput * const pi,unsigned);
void SetStereo(bool b) { m_bStereo=b; }
bool IsStereo() const { return m_bStereo; }
void SetName(const char *szName) { m_strName=szName; }
const string &GetName() const { return m_strName; }
bool ProcessInput(float *,int ,float*,float);
// float GetSampleData() const { return m_fSampleData; }
float GetSampleData() const { return m_cSampleData.GetAverage(); }
// void TakeSampleData(float f) { m_fSampleData=fabs((f/(1.0*32768.0)));}
void DoCmd(cmd::TCmd,float,float,float);
void FilterCmd(cmd::TCmd cmd,cmd::TCmd mode,int iKeyDefId,float f1,float f2,float f3);
void SetSampleData(const float f) const { m_cSampleData.Set(0.0); }
void SetSampleDataAccuracy(int i) { m_iSampleDataCounter=m_iSampleDataAccuracy=i; }
int GetSampleDataAccuracy() const { return m_iSampleDataAccuracy; }
};
#endif // !defined(AFX_MIXERTRACK_H__A326F3C8_4191_11D5_8DCF_BCDA7B7DD53C__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -