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 >
Wrap
C/C++ Source or Header
|
2001-02-09
|
8KB
|
196 lines
//======================================================================
// -- AudioDlg.cpp --
//
// MVR-D2000
// エンコード サンプルプログラム
// Encode sample program
//
// Copyright (C) 1999-2000 Canopus Co., Ltd. All rights reserved.
//======================================================================
//
// -- サンプルプログラムをご使用になる前に ---
// -- Before use this sample program... --
//
// このサンプルプログラムは、カノープス製品を使うためにご使用ください。
// Please use this sample progeam to use products of canopus.
//
//======================================================================
// AudioDlg.cpp : インプリメンテーション ファイル
//
#include "stdafx.h"
#include "Encode.h"
#include "AudioDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern int ENC_ID;
/////////////////////////////////////////////////////////////////////////////
// CAudioDlg ダイアログ
CAudioDlg::CAudioDlg(CWnd* pParent /*=NULL*/)
: CDialog(CAudioDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CAudioDlg)
// メモ - ClassWizard はこの位置にマッピング用のマクロを追加または削除します。
//}}AFX_DATA_INIT
}
void CAudioDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAudioDlg)
DDX_Control(pDX, IDC_EDIT_RIGHT_GAIN, m_Edit_Right_Gain);
DDX_Control(pDX, IDC_EDIT_LEFT_GAIN, m_Edit_Left_Gain);
DDX_Control(pDX, IDC_CHECK_MONITOR, m_Check_Monitor);
DDX_Control(pDX, IDC_CHECK_MUTE, m_Check_Mute);
DDX_Control(pDX, IDC_EDIT_LEFT, m_Edit_Left);
DDX_Control(pDX, IDC_EDIT_RIGHT, m_Edit_Right);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAudioDlg, CDialog)
//{{AFX_MSG_MAP(CAudioDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAudioDlg メッセージ ハンドラ
//----------------------------------------------------------------------
// #[ CAudioDlg::OnInitDialog ]
//
// 機能 オーディオパラメータの設定
//
// 引数: なし
//
// 戻り値: BOOL TRUE
// FALSE
//
//----------------------------------------------------------------------
// #[ CAudioDlg::OnInitDialog ]
//
// Function: Initialize audio dialog
//
// Parameters: none
//
// Return value: BOOL TRUE
// FALSE
//
//----------------------------------------------------------------------
BOOL CAudioDlg::OnInitDialog()
{
ENC_RETURN enc_return;
ENC_AUDIO_PARAMETER enc_audio_param;
CString strMessage;
char szText[32];
CDialog::OnInitDialog();
// TODO: この位置に初期化の補足処理を追加してください
enc_return = ENC_Get_Audio_Parameter(ENC_ID, &enc_audio_param);
if(enc_return != ENC_SUCCESS)
{
strMessage.LoadString(IDC_ERROR_GET_PARAMETER);
MessageBox(strMessage);
return FALSE;
}
// ボリュームの現在値を設定
// Set Volume
wsprintf(szText, "%ld", enc_audio_param.dwLeftOutputAtt);
m_Edit_Left.SetWindowText(szText);
wsprintf(szText, "%ld", enc_audio_param.dwRightOutputAtt);
m_Edit_Right.SetWindowText(szText);
// 入力ゲインの現在値を設定
// Set Gain Level
wsprintf(szText, "%d", enc_audio_param.nLeftInputGain);
m_Edit_Left_Gain.SetWindowText(szText);
wsprintf(szText, "%d", enc_audio_param.nRightInputGain);
m_Edit_Right_Gain.SetWindowText(szText);
// ミュート、モニターの状態を設定
// Check mute, output monitor
m_Check_Mute.SetCheck(enc_audio_param.fOutputMute ? TRUE : FALSE);
m_Check_Monitor.SetCheck(enc_audio_param.fOutputMonitor ? TRUE : FALSE);
return TRUE; // コントロールにフォーカスを設定しないとき、戻り値は TRUE となります
// 例外: OCX プロパティ ページの戻り値は FALSE となります
}
//----------------------------------------------------------------------
// #[ CAudioDlg::OnOK ]
//
// 機能 オーディオパラメータの設定を有効にする
//
// 引数: なし
//
// 戻り値: なし
//
//----------------------------------------------------------------------
// #[ CAudioDlg::OnOK ]
//
// Function: Set audio parameters
//
// Parameters: none
//
// Return value: none
//
//----------------------------------------------------------------------
void CAudioDlg::OnOK()
{
ENC_AUDIO_PARAMETER enc_audio_param;
ENC_RETURN enc_return;
CString strMessage;
char szText[32];
enc_return = ENC_Get_Audio_Parameter(ENC_ID, &enc_audio_param);
if(enc_return != ENC_SUCCESS)
{
strMessage.LoadString(IDC_ERROR_GET_PARAMETER);
MessageBox(strMessage);
return;
}
// ミュート、モニターの設定
// check mute, output monitor
enc_audio_param.fOutputMonitor = (m_Check_Monitor.GetCheck() ? TRUE : FALSE);
enc_audio_param.fOutputMute = (m_Check_Mute.GetCheck() ? TRUE : FALSE);
// ボリュームの設定
// set volume
m_Edit_Right.GetWindowText(szText, sizeof(szText));
enc_audio_param.dwRightOutputAtt = atol(szText);
m_Edit_Left.GetWindowText(szText, sizeof(szText));
enc_audio_param.dwLeftOutputAtt = atol(szText);
// 入力ゲインの設定
// set gain level
m_Edit_Right_Gain.GetWindowText(szText, sizeof(szText));
enc_audio_param.nRightInputGain = atoi(szText);
m_Edit_Left_Gain.GetWindowText(szText, sizeof(szText));
enc_audio_param.nLeftInputGain = atoi(szText);
// パラメータの設定
// set audio parameter
enc_return = ENC_Set_Audio_Parameter(ENC_ID, &enc_audio_param);
if(enc_return != ENC_SUCCESS)
{
strMessage.LoadString(IDC_ERROR_SET_PARAMETER);
MessageBox(strMessage);
return;
}
CDialog::OnOK();
}