📄 mixerpreset.h
字号:
// MixerPreset.h: interface for the CMixerPreset class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MIXERPRESET_H__EB90A740_41A6_11D5_8DCF_BCDA7B7DD53C__INCLUDED_)
#define AFX_MIXERPRESET_H__EB90A740_41A6_11D5_8DCF_BCDA7B7DD53C__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include <mdk.h>
#include <deque>
#include <string>
#include <algorithm>
#include <functional>
#include "MixerSet.h"
namespace HS_AddTrack {
template<class T> struct TPL_TrackStruct : public unary_function<T, void>
{
const char *m_sz;
int m_i;
bool m_b;
TPL_TrackStruct(const char *sz,int i,bool b) : m_sz(sz),m_i(i),m_b(b) {};
void operator() (T &x) { x.AddTrack(m_sz,m_i,m_b); }
};
};
namespace HS_DelTrack {
template<class T> struct TPL_TrackStruct : public unary_function<T, void>
{
const char *m_sz;
bool m_b;
TPL_TrackStruct(const char *sz) : m_sz(sz) {};
void operator() (T &x) { x.DeleteTrack(m_sz); }
};
};
namespace HS_RenameTrack {
template<class T> struct TPL_TrackStruct : public unary_function<T, void>
{
const char *m_sz,*m_sz1;
TPL_TrackStruct(const char *sz,const char *sz1) : m_sz(sz),m_sz1(sz1){};
void operator() (T &x) { x.RenameTrack(m_sz,m_sz1); }
};
};
namespace HS_SetTrackInputChannels {
template<class T> struct TPL_TrackStruct : public unary_function<T, void>
{
const char *m_sz;
bool m_b;
TPL_TrackStruct(const char *sz,bool b) : m_sz(sz),m_b(b) {};
void operator() (T &x) { x.SetTrackInputChannels(m_sz,m_b); }
};
};
namespace HS_SRAccuracy {
template<class T> struct TPL_TrackStruct : public unary_function<T, void>
{
int m_i;
TPL_TrackStruct(int i) : m_i(i) {};
void operator() (T &x) { x.SetSampleDataAccuracy(m_i); }
};
};
using namespace std;
class CMixerPreset
{
typedef deque<CMixerSet>TLstSet;
TLstSet m_lstSet;
public:
CMixerPreset();
virtual ~CMixerPreset();
void Save(CMachineDataOutput * const po);
void Init(CMachineDataInput * const pi,unsigned);
void Add(const CMixerSet &c);
void AutoAdd(CMixerSet &c);
CMixerSet *Get(string);
void AddTrack(const char *sz,int i,bool b) {
for_each(m_lstSet.begin(),m_lstSet.end(),HS_AddTrack::TPL_TrackStruct<CMixerSet>(sz,i,b));
}
void DeleteTrack(const char *sz) {
for_each(m_lstSet.begin(),m_lstSet.end(),HS_DelTrack::TPL_TrackStruct<CMixerSet>(sz));
}
void RenameTrack(const char *sz,const char *sz1) {
for_each(m_lstSet.begin(),m_lstSet.end(),HS_RenameTrack::TPL_TrackStruct<CMixerSet>(sz,sz1));
}
void SetTrackInputChannels(const char *sz,bool b) {
for_each(m_lstSet.begin(),m_lstSet.end(),HS_SetTrackInputChannels::TPL_TrackStruct<CMixerSet>(sz,b));
}
void SetSampleDataAccuracy(int i) {
for_each(m_lstSet.begin(),m_lstSet.end(),HS_SRAccuracy::TPL_TrackStruct<CMixerSet>(i));
}
unsigned GetSize() const { return m_lstSet.size(); }
string GetNameOf(unsigned u) const { return m_lstSet[u].GetName(); }
protected:
};
#endif // !defined(AFX_MIXERPRESET_H__EB90A740_41A6_11D5_8DCF_BCDA7B7DD53C__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -