mixerkeytable.h

来自「miXo is a buzz machine (www.buzzmachines」· C头文件 代码 · 共 50 行

H
50
字号
// MixerKeyTable.h: interface for the CMixerKeyTable class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MIXERKEYTABLE_H__A326F3C6_4191_11D5_8DCF_BCDA7B7DD53C__INCLUDED_)
#define AFX_MIXERKEYTABLE_H__A326F3C6_4191_11D5_8DCF_BCDA7B7DD53C__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

#include <deque>
#include "MixerKeyDef.h"
#include "MiXoException.h"



using namespace std;
class CMixerKeyTable  
{
	typedef deque<CMixerKeyDef> TLstKeyDef;
	TLstKeyDef m_lstKeyDef;
	bool m_bDefTableInit;
	bool m_bLoadFromIni;
	TLstKeyDef::iterator m_ite;
	bool m_bChanged;
	bool CheckRange(int i) const { return ((i >= 0) && (i < GetSize()))?true:false; }
	string m_strAll,m_strNone;
public:
	CMixerKeyTable();
	void Clear() { m_lstKeyDef.clear(); }
	void InitDefaultTable();
	virtual ~CMixerKeyTable();
	void Save(CMachineDataOutput * const po);
	void Init(CMachineDataInput * const pi,unsigned);
	void CreateFromDef(const char *,const char *) throw (CMiXoException);
	CMixerKeyDef *GetKeyDef(const string &);
	CMixerKeyDef *GetKeyDef(int i) { if(CheckRange(i)) return &m_lstKeyDef[i]; else return NULL;}
	const string &GetNameOf(int i) const;
	int GetSize() const { return m_lstKeyDef.size(); }
	CMixerKeyDef *FindFirstKeyDefByKey(TKey);
	CMixerKeyDef *FindNextKeyDefByKey(TKey);
	bool IsChanged() { if(m_bChanged) { m_bChanged=false; return true; }else return false;}
	void SetChanged(bool b=true) { m_bChanged=b; }
	int AddKeyDef(CMixerKeyDef &);
	
};

#endif // !defined(AFX_MIXERKEYTABLE_H__A326F3C6_4191_11D5_8DCF_BCDA7B7DD53C__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?