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

📄 mixdlg.h

📁 miXo is a buzz machine (www.buzzmachines.com) - a plugin for the freely available jeskola buzz track
💻 H
字号:
#if !defined(AFX_MIXDLG_H__02A37BE3_41CC_11D5_8DCF_EA5FA938DD34__INCLUDED_)
#define AFX_MIXDLG_H__02A37BE3_41CC_11D5_8DCF_EA5FA938DD34__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include "resource.h"
// MixDlg.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CMixDlg window
#include "AbWin.h"
#include "MixerStatus.h"
#include "TrackWin.h"
#include "KeyCmd.h"
#include "ColGen.h"
#include <deque>

class mi;

class CMixDlg : virtual public CAbWin
{
	typedef std::deque<CTrackWin> TLstTrackWin;
	CMixerStatus *m_pcMixer;
	CWinRect m_cChildRect,m_cMinRect;
	TLstTrackWin m_lstTrackWin;
	int m_iFontHt;
	CKeyHandler m_cKeyHandler;
	bool m_bAlwaysOnTop;
	CKeyDefDlg *m_pcKeyDefDlg;
	string m_strTitle;
	bool m_bOpenOnDblClk;
	static const int cm_iMaxPresetNameLen;
	static const int cm_iMaxMenuItemNameLen;
	enum {cm_iMaxColors =255 };
	typedef deque<CColGen*> TLstColGen;
//	TLstColGen m_lstpColGen;
	CColGen *m_lstpColGen[cm_iMaxColors];
	int m_iCurrColGen;
	int m_iCurUpTrack;
public:
	CMixDlg(const char *,CMixerStatus *,const char *);
	virtual ~CMixDlg();
	virtual void Init(HWND);
	virtual void DeInit();
	virtual void Create();

	virtual const char *GetTitle() const { return m_strTitle.c_str(); }
	virtual const char *GetClassName() const { return "CMiXo"; }
	virtual DWORD GetClassStyle() const { return (CS_GLOBALCLASS|CS_BYTEALIGNCLIENT); }
	virtual HBRUSH GetBgBrush() const { return (HBRUSH)(COLOR_BACKGROUND + 1); } 
	virtual HCURSOR GetCursor() const { return ::LoadCursor(NULL,IDC_ARROW); }
	virtual HICON GetIcon() const { return::LoadIcon(GetModule(),"SYSICON");}
	virtual const char *GetMenuNameString() const { return "MENU1"; }
	virtual DWORD GetExWinStyle() const { return 0;} //(WS_EX_CLIENTEDGE|WS_EX_CONTROLPARENT|WS_EX_NOPARENTNOTIFY)
	virtual DWORD GetWinStyle() const { return (WS_BORDER|WS_CAPTION|WS_THICKFRAME|WS_VISIBLE|WS_POPUP|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX); }
	virtual LRESULT WindowProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
protected:
	void StorePrs(int);
	void LoadPrs(string);
	void DoLoadPrs(int);
	void DoMute();
	void DoBypass();
	void StartKeyDefDlg();
	void InitMenu();
	void InitPrsMenu();
	void PreCreate();
	void CreateChildren();
	void NewChildren();
	void DelChildren();
	void ReGo()  {if(IsWindow()) {  NewChildren(); PreCreate(); CreateChildren(); } } //just a helper-change later
	void InitFromReg();
	void SetMenuItemText(string,int);
	void InitMainMenu();
	void SetWindowZpos();
	void DoSlidGraying();
	string ExtractPrsName(const char*);
	bool SetMixerTracks();
	void LockTrackWins(bool b);
	void ChangeColorGen(int iNew);
	void CreateColorsMenu();
	void UpdateMonitorMenu(int);
	void SetStyle(int);
public:
	void UpdateTracks();
	void DoPendingKeyEvents();
	void AddTrack(const char*sz,bool b) { DelChildren();m_pcMixer->AddTrack(sz,b); ReGo(); }
	void DeleteTrack(const char*sz)     { DelChildren();m_pcMixer->DeleteTrack(sz); ReGo(); }
	void SetTrackInputChannels(const char*sz,bool b) { m_pcMixer->SetTrackInputChannels(sz,b);}
	void RenameTrack(const char*sz,const char*sz1) { m_pcMixer->RenameTrack(sz,sz1); SetMixerTracks(); }
	bool ProcessInput(float *p,int n,float a) { assert(m_pcMixer); return m_pcMixer->ProcessInput(p,n,a); }
	bool HandleInput(int idx,int amp,int pan) { return m_pcMixer->HandleInput(idx,amp,pan); }
	int GetCurrentTrack() const { return m_pcMixer->GetCurrentTrack(); }
	bool IsOpenOnDblClk() const { return m_bOpenOnDblClk; }
	void SetMode(int);
	void LoadPreset(int);
};


//#include <windef.h>
//#include <winnt.h>
//#include <winuser.h>
/*
class CMixDlg //: public CWnd
{
// Construction
public:
	CMixDlg();
	void Initialisation();
	void DeInitialisation();
	void Creation();
// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMixDlg)
	//}}AFX_VIRTUAL

// Implementation
public:
	void Reactivate();
	virtual ~CMixDlg();

	// Generated message map functions
protected:
	HMENU m_hMenu;
	HWND m_hWnd;
	WNDCLASSEX m_sWndClass;
	//{{AFX_MSG(CMixDlg)
		// NOTE - the ClassWizard will add and remove member functions here.
	//}}AFX_MSG
//	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
*/
#endif // !defined(AFX_MIXDLG_H__02A37BE3_41CC_11D5_8DCF_EA5FA938DD34__INCLUDED_)

⌨️ 快捷键说明

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