//------------------------------------------------------------------------ // // VisWrapperDlg.h // // Main Dialog. Please visit // http://www.ratajik.net/VisInterface for details // // ------------------------------------------------------------------- // * COPYRIGHT 2001, Greg Ratajik and Ratajik Software * // * All rights Reserved * // ------------------------------------------------------------------- // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // More information about this program can be found at: // http://www.ratajik.com/VisInterface // C H A N G E L O G // ===================================================================== // Change ID Date Programmer Description // ============ ========= =========== ================================ // 02-05-01 Ratajik Initial Development //------------------------------------------------------------------------ #pragma once #include "VisInterface.h" #include "VisList.h" #include "SampleDataLoader.h" #include "VisDataRender.h" #include "VisReg.h" const CString sRegProjectName = "software\\ratajik\\VisWrapper"; // Registry key to use. //------------------------------------------------------------------------ // // Class: CVisWrapperDlg // // Description: Dialog to show VisInterface // // Methods // of // Interest: // // // C H A N G E L O G // =================================================================== // Change ID Date Programmer Description // ============ ========= =========== ================================ // 02-21-01 Ratajik Initial Development //_________________________________________________________________________ class CVisWrapperDlg : public CDialog { // Construction public: CVisWrapperDlg(CWnd* pParent = NULL); // standard constructor ~CVisWrapperDlg( void ); // Dialog Data //{{AFX_DATA(CVisWrapperDlg) enum { IDD = IDD_VISWRAPPER_DIALOG }; CEdit m_efPlugPath; CButton m_pbBrowse; CButton m_pbStart; CButton m_ckShowWave; CButton m_ckShowSpec; CComboBox m_cbMods; CListBox m_lbPlugs; CButton m_rbRandom; CButton m_rbWave; CString m_sPlugPath; BOOL m_bShowSpec; BOOL m_bShowWave; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CVisWrapperDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam); //}}AFX_VIRTUAL // Implementation protected: HICON m_hIcon; // Generated message map functions //{{AFX_MSG(CVisWrapperDlg) virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnTimer(UINT nIDEvent); afx_msg BOOL OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct); afx_msg LRESULT OnUser(WPARAM wParam, LPARAM lParam); afx_msg LRESULT OnVisEnded(WPARAM wParam, LPARAM lParam); afx_msg void OnConfig(); afx_msg void OnPbBrowse(); afx_msg void OnKillfocusEfPlugPath(); afx_msg void OnSelchangeLbPlugs(); afx_msg void OnPbStart(); afx_msg void OnClose(); afx_msg void OnDestroy(); afx_msg void OnPbStop(); afx_msg void OnRbRandom(); afx_msg void OnRbWave(); afx_msg void OnCkShowSpec(); afx_msg void OnCkShowWave(); //}}AFX_MSG DECLARE_MESSAGE_MAP() bool BrowseForDirectory(const CWnd& parent, LPCTSTR title, CString& folderName ); bool SelectVisAndMod (CVisInterface **ppSelectedVis); void LoadDLLList ( ) ; void LoadList ( ); void LoadRegistry( ); void SaveRegistry( ); GreyControls(bool bGrey = TRUE ); private: CVisInterface *m_pcVis; // Current Selected Vis CString m_sLastPath; // Last path used for the Vis Dir. CVisList m_listVis; // The list of Vis's in the current dir. CSampleDataLoader m_theReader; // The Data Loader for this app. CVisDataRender *m_pvisRender; // The Renderer if it's up. CRegistry m_theRegistry; // Interface to the registry bool m_bRegAvailable; // TRUE if the Registry interface loaded ok. };