home *** CD-ROM | disk | FTP | other *** search
/ Master Visual C++ 1.5 / MASTERVC15.ISO / vcprog / original / ch23 / mix / mixview.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-03  |  3.0 KB  |  128 lines

  1. // mixview.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "mix.h"
  6. #include "mixview.h"
  7.  
  8. #ifdef _DEBUG
  9. #undef THIS_FILE
  10. static char BASED_CODE THIS_FILE[] = __FILE__;
  11. #endif
  12.  
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CMixView
  15.  
  16. IMPLEMENT_DYNCREATE(CMixView, CFormView)
  17.  
  18. CMixView::CMixView()
  19.     : CFormView(CMixView::IDD)
  20. {
  21.     //{{AFX_DATA_INIT(CMixView)
  22.     m_midi = NULL;
  23.     m_wav = NULL;
  24.     //}}AFX_DATA_INIT
  25. }
  26.  
  27. CMixView::~CMixView()
  28. {
  29. }
  30.  
  31. void CMixView::DoDataExchange(CDataExchange* pDX)
  32. {
  33.     CFormView::DoDataExchange(pDX);
  34.     //{{AFX_DATA_MAP(CMixView)
  35.     DDX_VBControl(pDX, IDC_TEGOMM_MIDI, m_midi);
  36.     DDX_VBControl(pDX, IDC_TEGOMM_WAV, m_wav);
  37.     //}}AFX_DATA_MAP
  38. }
  39.  
  40.  
  41. BEGIN_MESSAGE_MAP(CMixView, CFormView)
  42.     //{{AFX_MSG_MAP(CMixView)
  43.     ON_VBXEVENT(VBN_DONE, IDC_TEGOMM_WAV, OnDoneTegommWav)
  44.     ON_VBXEVENT(VBN_DONE, IDC_TEGOMM_MIDI, OnDoneTegommMidi)
  45.     //}}AFX_MSG_MAP
  46. END_MESSAGE_MAP()
  47.  
  48.  
  49. /////////////////////////////////////////////////////////////////////////////
  50. // CMixView message handlers
  51.  
  52. //////////////////////
  53. // MY CODE STARTS HERE
  54. //////////////////////
  55.  
  56. void CMixView::OnInitialUpdate()
  57. {
  58.  
  59.     // Call the base class function.
  60.     CFormView::OnInitialUpdate();
  61.  
  62.     // Open the 8KENNED3.WAV file.
  63.     m_wav->SetStrProperty("DeviceType","WaveAudio");
  64.     m_wav->SetStrProperty("FileName",
  65.                           "\\VCPROG\\WAV\\8KENNED3.WAV" );
  66.     m_wav->SetStrProperty("Command", "Open");
  67.  
  68.  
  69.     // Open the BOURBON6.MID file.
  70.     m_midi->SetStrProperty("DeviceType","Sequencer");
  71.     m_midi->SetStrProperty("FileName",
  72.                           "\\VCPROG\\MIDI\\BOURBON6.MID" );
  73.     m_midi->SetStrProperty("Command", "Open");
  74.  
  75. }
  76.  
  77. ////////////////////
  78. // MY CODE ENDS HERE
  79. ////////////////////
  80.  
  81. void CMixView::OnDoneTegommWav(UINT, int, CWnd*, LPVOID)
  82. {
  83. // TODO: Add your VBX event notification handler code here
  84.  
  85.     //////////////////////
  86.     // MY CODE STARTS HERE
  87.     //////////////////////
  88.  
  89.     // Get current position.
  90.     long position = m_wav->GetNumProperty("Position");
  91.  
  92.     // Get total length.
  93.     long length = m_wav->GetNumProperty("Length");
  94.  
  95.     // If current position is end position, rewind the tape.
  96.     if (position == length)
  97.        m_wav->SetStrProperty("Command", "Prev");
  98.  
  99.     ////////////////////
  100.     // MY CODE ENDS HERE
  101.     ////////////////////
  102.     
  103. }
  104.  
  105. void CMixView::OnDoneTegommMidi(UINT, int, CWnd*, LPVOID)
  106. {
  107.     // TODO: Add your VBX event notification handler code here
  108.  
  109.     //////////////////////
  110.     // MY CODE STARTS HERE
  111.     //////////////////////
  112.  
  113.     // Get current position.
  114.     long position = m_midi->GetNumProperty("Position");
  115.  
  116.     // Get total length.
  117.     long length = m_midi->GetNumProperty("Length");
  118.  
  119.     // If current position is end position, rewind the tape.
  120.     if (position == length)
  121.        m_midi->SetStrProperty("Command", "Prev");
  122.  
  123.     ////////////////////
  124.     // MY CODE ENDS HERE
  125.     ////////////////////
  126.     
  127. }
  128.