home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2001 July / VPR0107B.BIN / DRIVER / CANOPUS / MVR32 / mvr32.exe / data1.cab / Development_Kit / Vc / Samples / Encode / AudioDlg.cpp next >
C/C++ Source or Header  |  2001-02-09  |  8KB  |  196 lines

  1. //======================================================================
  2. // -- AudioDlg.cpp --                                                   
  3. //                                                                      
  4. //  MVR-D2000                                                           
  5. //                                  エンコード  サンプルプログラム      
  6. //                                  Encode      sample program          
  7. //                                                                      
  8. // Copyright (C) 1999-2000 Canopus Co., Ltd. All rights reserved.       
  9. //======================================================================
  10. //                                                                      
  11. // -- サンプルプログラムをご使用になる前に ---                          
  12. // -- Before use this sample program... --                              
  13. //                                                                      
  14. // このサンプルプログラムは、カノープス製品を使うためにご使用ください。 
  15. //  Please use this sample progeam to use products of canopus.          
  16. //                                                                      
  17. //======================================================================
  18. // AudioDlg.cpp : インプリメンテーション ファイル
  19. //
  20.  
  21. #include "stdafx.h"
  22. #include "Encode.h"
  23. #include "AudioDlg.h"
  24.  
  25. #ifdef _DEBUG
  26. #define new DEBUG_NEW
  27. #undef THIS_FILE
  28. static char THIS_FILE[] = __FILE__;
  29. #endif
  30.  
  31. extern    int    ENC_ID;
  32.  
  33. /////////////////////////////////////////////////////////////////////////////
  34. // CAudioDlg ダイアログ
  35.  
  36.  
  37. CAudioDlg::CAudioDlg(CWnd* pParent /*=NULL*/)
  38.     : CDialog(CAudioDlg::IDD, pParent)
  39. {
  40.     //{{AFX_DATA_INIT(CAudioDlg)
  41.         // メモ - ClassWizard はこの位置にマッピング用のマクロを追加または削除します。
  42.     //}}AFX_DATA_INIT
  43. }
  44.  
  45.  
  46. void CAudioDlg::DoDataExchange(CDataExchange* pDX)
  47. {
  48.     CDialog::DoDataExchange(pDX);
  49.     //{{AFX_DATA_MAP(CAudioDlg)
  50.     DDX_Control(pDX, IDC_EDIT_RIGHT_GAIN, m_Edit_Right_Gain);
  51.     DDX_Control(pDX, IDC_EDIT_LEFT_GAIN, m_Edit_Left_Gain);
  52.     DDX_Control(pDX, IDC_CHECK_MONITOR, m_Check_Monitor);
  53.     DDX_Control(pDX, IDC_CHECK_MUTE, m_Check_Mute);
  54.     DDX_Control(pDX, IDC_EDIT_LEFT, m_Edit_Left);
  55.     DDX_Control(pDX, IDC_EDIT_RIGHT, m_Edit_Right);
  56.     //}}AFX_DATA_MAP
  57. }
  58.  
  59.  
  60. BEGIN_MESSAGE_MAP(CAudioDlg, CDialog)
  61.     //{{AFX_MSG_MAP(CAudioDlg)
  62.     //}}AFX_MSG_MAP
  63. END_MESSAGE_MAP()
  64.  
  65. /////////////////////////////////////////////////////////////////////////////
  66. // CAudioDlg メッセージ ハンドラ
  67.  
  68.  
  69. //----------------------------------------------------------------------
  70. // #[ CAudioDlg::OnInitDialog ]                                         
  71. //                                                                      
  72. // 機能     オーディオパラメータの設定                                  
  73. //                                                                      
  74. //  引数:      なし                                                    
  75. //                                                                      
  76. //  戻り値:    BOOL    TRUE                                            
  77. //                      FALSE                                           
  78. //                                                                      
  79. //----------------------------------------------------------------------
  80. // #[ CAudioDlg::OnInitDialog ]                                         
  81. //                                                                      
  82. //  Function:   Initialize audio dialog                                 
  83. //                                                                      
  84. //      Parameters:     none                                            
  85. //                                                                      
  86. //      Return value:   BOOL    TRUE                                    
  87. //                              FALSE                                   
  88. //                                                                      
  89. //----------------------------------------------------------------------
  90. BOOL CAudioDlg::OnInitDialog() 
  91. {
  92.     ENC_RETURN  enc_return;
  93.     ENC_AUDIO_PARAMETER     enc_audio_param;
  94.     CString     strMessage;
  95.     char    szText[32];
  96.  
  97.     CDialog::OnInitDialog();
  98.     
  99.     // TODO: この位置に初期化の補足処理を追加してください
  100.     enc_return = ENC_Get_Audio_Parameter(ENC_ID, &enc_audio_param);
  101.     if(enc_return != ENC_SUCCESS)
  102.     {
  103.         strMessage.LoadString(IDC_ERROR_GET_PARAMETER);
  104.         MessageBox(strMessage);
  105.         return FALSE;
  106.     }
  107.  
  108.     // ボリュームの現在値を設定
  109.     // Set Volume
  110.     wsprintf(szText, "%ld", enc_audio_param.dwLeftOutputAtt);
  111.     m_Edit_Left.SetWindowText(szText);
  112.     wsprintf(szText, "%ld", enc_audio_param.dwRightOutputAtt);
  113.     m_Edit_Right.SetWindowText(szText);
  114.  
  115.     // 入力ゲインの現在値を設定
  116.     // Set Gain Level
  117.     wsprintf(szText, "%d", enc_audio_param.nLeftInputGain);
  118.     m_Edit_Left_Gain.SetWindowText(szText);
  119.     wsprintf(szText, "%d", enc_audio_param.nRightInputGain);
  120.     m_Edit_Right_Gain.SetWindowText(szText);
  121.  
  122.     // ミュート、モニターの状態を設定
  123.     // Check mute, output monitor
  124.     m_Check_Mute.SetCheck(enc_audio_param.fOutputMute ? TRUE : FALSE);
  125.     m_Check_Monitor.SetCheck(enc_audio_param.fOutputMonitor ? TRUE : FALSE);
  126.  
  127.     return TRUE;  // コントロールにフォーカスを設定しないとき、戻り値は TRUE となります
  128.                   // 例外: OCX プロパティ ページの戻り値は FALSE となります
  129. }
  130.  
  131. //----------------------------------------------------------------------
  132. // #[ CAudioDlg::OnOK ]                                                 
  133. //                                                                      
  134. // 機能     オーディオパラメータの設定を有効にする                      
  135. //                                                                      
  136. //  引数:      なし                                                    
  137. //                                                                      
  138. //  戻り値:    なし                                                    
  139. //                                                                      
  140. //----------------------------------------------------------------------
  141. // #[ CAudioDlg::OnOK ]                                                 
  142. //                                                                      
  143. //  Function:   Set audio parameters                                    
  144. //                                                                      
  145. //      Parameters:     none                                            
  146. //                                                                      
  147. //      Return value:   none                                            
  148. //                                                                      
  149. //----------------------------------------------------------------------
  150. void CAudioDlg::OnOK() 
  151. {
  152.     ENC_AUDIO_PARAMETER     enc_audio_param;
  153.     ENC_RETURN  enc_return;
  154.     CString     strMessage;
  155.     char    szText[32];
  156.  
  157.     enc_return = ENC_Get_Audio_Parameter(ENC_ID, &enc_audio_param);
  158.     if(enc_return != ENC_SUCCESS)
  159.     {
  160.         strMessage.LoadString(IDC_ERROR_GET_PARAMETER);
  161.         MessageBox(strMessage);
  162.         return;
  163.     }
  164.  
  165.     // ミュート、モニターの設定
  166.     // check mute, output monitor
  167.     enc_audio_param.fOutputMonitor = (m_Check_Monitor.GetCheck() ? TRUE : FALSE);
  168.     enc_audio_param.fOutputMute = (m_Check_Mute.GetCheck() ? TRUE : FALSE);
  169.  
  170.     // ボリュームの設定
  171.     // set volume
  172.     m_Edit_Right.GetWindowText(szText, sizeof(szText));
  173.     enc_audio_param.dwRightOutputAtt = atol(szText);
  174.     m_Edit_Left.GetWindowText(szText, sizeof(szText));
  175.     enc_audio_param.dwLeftOutputAtt = atol(szText);
  176.  
  177.     // 入力ゲインの設定
  178.     // set gain level
  179.     m_Edit_Right_Gain.GetWindowText(szText, sizeof(szText));
  180.     enc_audio_param.nRightInputGain = atoi(szText);
  181.     m_Edit_Left_Gain.GetWindowText(szText, sizeof(szText));
  182.     enc_audio_param.nLeftInputGain = atoi(szText);
  183.  
  184.     // パラメータの設定
  185.     // set audio parameter
  186.     enc_return = ENC_Set_Audio_Parameter(ENC_ID, &enc_audio_param);
  187.     if(enc_return != ENC_SUCCESS)
  188.     {
  189.         strMessage.LoadString(IDC_ERROR_SET_PARAMETER);
  190.         MessageBox(strMessage);
  191.         return;
  192.     }
  193.  
  194.     CDialog::OnOK();
  195. }
  196.