Fixing character conversion upon receiving text.
authorStephaneLenclud
Sun, 14 Apr 2013 22:40:46 +0200
changeset 83031cd3ebd1e
parent 7 ad71cf47d037
child 9 fc2b0679eaff
Fixing character conversion upon receiving text.
Adding our modified FrontView API sample allowing us to display every character supported by our VFD.
SoundGraphAccess.cpp
iMONDisplayApiSample/DisplayTest.sln
iMONDisplayApiSample/DisplayTest.suo
iMONDisplayApiSample/DisplayTest.v11.suo
iMONDisplayApiSample/DisplayTest/DisplayTest.aps
iMONDisplayApiSample/DisplayTest/DisplayTest.cpp
iMONDisplayApiSample/DisplayTest/DisplayTest.h
iMONDisplayApiSample/DisplayTest/DisplayTest.rc
iMONDisplayApiSample/DisplayTest/DisplayTest.vcproj
iMONDisplayApiSample/DisplayTest/DisplayTest.vcproj.SLION-HTPC.sl.user
iMONDisplayApiSample/DisplayTest/DisplayTestDlg.cpp
iMONDisplayApiSample/DisplayTest/DisplayTestDlg.h
iMONDisplayApiSample/DisplayTest/ReadMe.txt
iMONDisplayApiSample/DisplayTest/iMONDisplay.dll
iMONDisplayApiSample/DisplayTest/res/DisplayTest.ico
iMONDisplayApiSample/DisplayTest/res/DisplayTest.rc2
iMONDisplayApiSample/DisplayTest/resource.h
iMONDisplayApiSample/DisplayTest/stdafx.cpp
iMONDisplayApiSample/DisplayTest/stdafx.h
     1.1 --- a/SoundGraphAccess.cpp	Sat Apr 13 00:45:13 2013 +0200
     1.2 +++ b/SoundGraphAccess.cpp	Sun Apr 14 22:40:46 2013 +0200
     1.3 @@ -193,12 +193,23 @@
     1.4  
     1.5  		//Convert first line
     1.6  		OutputDebugStringA(gTextFirstLine);
     1.7 -		int convertedChars = MultiByteToWideChar(CP_UTF8, 0, gTextFirstLine, -1, gTextFirstLine16, sizeof(gTextFirstLine16));
     1.8 -		OutputDebugString(gTextFirstLine16);
     1.9 +		//int convertedChars = MultiByteToWideChar(CP_UTF8, 0, gTextFirstLine, -1, gTextFirstLine16, sizeof(gTextFirstLine16));
    1.10 +		for (int i=0;i<=strlen(gTextFirstLine);i++)
    1.11 +			{
    1.12 +			unsigned char myChar=(unsigned char)gTextFirstLine[i];
    1.13 +			gTextFirstLine16[i]=myChar;
    1.14 +			}
    1.15 +		OutputDebugStringW(gTextFirstLine16);
    1.16  		//Convert second line
    1.17  		OutputDebugStringA(gTextSecondLine);
    1.18 -		convertedChars = MultiByteToWideChar(CP_UTF8, 0, gTextSecondLine, -1, gTextSecondLine16, sizeof(gTextSecondLine16));
    1.19 -		OutputDebugString(gTextSecondLine16);
    1.20 +		//convertedChars = MultiByteToWideChar(CP_UTF8, 0, gTextSecondLine, -1, gTextSecondLine16, sizeof(gTextSecondLine16));
    1.21 +		for (int i=0;i<=strlen(gTextSecondLine);i++)
    1.22 +			{
    1.23 +			unsigned char myChar=(unsigned char)gTextSecondLine[i];
    1.24 +			gTextSecondLine16[i]=myChar;
    1.25 +			}
    1.26 +
    1.27 +		OutputDebugStringW(gTextSecondLine16);
    1.28  
    1.29  		//IMON API call need to be done from window thread for some reason
    1.30  		SendMessageToServer(KRspPending);
    1.31 @@ -555,7 +566,11 @@
    1.32  		break;
    1.33  	//
    1.34  	case WM_IMON_DISPLAY_SET_VFD_TEXT:
    1.35 +#ifdef _UNICODE
    1.36  		if (DSP_SUCCEEDED==IMON_Display_SetVfdText(gTextFirstLine16,gTextSecondLine16))
    1.37 +#else
    1.38 +		if (DSP_SUCCEEDED==IMON_Display_SetVfdText(gTextFirstLine,gTextSecondLine))
    1.39 +#endif
    1.40  			{
    1.41  			SendMessageToServer(KRspDone);
    1.42  			}
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/iMONDisplayApiSample/DisplayTest.sln	Sun Apr 14 22:40:46 2013 +0200
     2.3 @@ -0,0 +1,20 @@
     2.4 +
     2.5 +Microsoft Visual Studio Solution File, Format Version 10.00
     2.6 +# Visual Studio 2008
     2.7 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DisplayTest", "DisplayTest\DisplayTest.vcproj", "{FE6179B9-6E3E-4157-BE52-C4A6B202306F}"
     2.8 +EndProject
     2.9 +Global
    2.10 +	GlobalSection(SolutionConfigurationPlatforms) = preSolution
    2.11 +		Debug|Win32 = Debug|Win32
    2.12 +		Release|Win32 = Release|Win32
    2.13 +	EndGlobalSection
    2.14 +	GlobalSection(ProjectConfigurationPlatforms) = postSolution
    2.15 +		{FE6179B9-6E3E-4157-BE52-C4A6B202306F}.Debug|Win32.ActiveCfg = Debug|Win32
    2.16 +		{FE6179B9-6E3E-4157-BE52-C4A6B202306F}.Debug|Win32.Build.0 = Debug|Win32
    2.17 +		{FE6179B9-6E3E-4157-BE52-C4A6B202306F}.Release|Win32.ActiveCfg = Release|Win32
    2.18 +		{FE6179B9-6E3E-4157-BE52-C4A6B202306F}.Release|Win32.Build.0 = Release|Win32
    2.19 +	EndGlobalSection
    2.20 +	GlobalSection(SolutionProperties) = preSolution
    2.21 +		HideSolutionNode = FALSE
    2.22 +	EndGlobalSection
    2.23 +EndGlobal
     3.1 Binary file iMONDisplayApiSample/DisplayTest.suo has changed
     4.1 Binary file iMONDisplayApiSample/DisplayTest.v11.suo has changed
     5.1 Binary file iMONDisplayApiSample/DisplayTest/DisplayTest.aps has changed
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/iMONDisplayApiSample/DisplayTest/DisplayTest.cpp	Sun Apr 14 22:40:46 2013 +0200
     6.3 @@ -0,0 +1,78 @@
     6.4 +// DisplayTest.cpp : Defines the class behaviors for the application.
     6.5 +//
     6.6 +
     6.7 +#include "stdafx.h"
     6.8 +#include "DisplayTest.h"
     6.9 +#include "DisplayTestDlg.h"
    6.10 +
    6.11 +#ifdef _DEBUG
    6.12 +#define new DEBUG_NEW
    6.13 +#endif
    6.14 +
    6.15 +
    6.16 +// CDisplayTestApp
    6.17 +
    6.18 +BEGIN_MESSAGE_MAP(CDisplayTestApp, CWinApp)
    6.19 +	ON_COMMAND(ID_HELP, &CWinApp::OnHelp)
    6.20 +END_MESSAGE_MAP()
    6.21 +
    6.22 +
    6.23 +// CDisplayTestApp construction
    6.24 +
    6.25 +CDisplayTestApp::CDisplayTestApp()
    6.26 +{
    6.27 +	// TODO: add construction code here,
    6.28 +	// Place all significant initialization in InitInstance
    6.29 +}
    6.30 +
    6.31 +
    6.32 +// The one and only CDisplayTestApp object
    6.33 +
    6.34 +CDisplayTestApp theApp;
    6.35 +
    6.36 +
    6.37 +// CDisplayTestApp initialization
    6.38 +
    6.39 +BOOL CDisplayTestApp::InitInstance()
    6.40 +{
    6.41 +	// InitCommonControlsEx() is required on Windows XP if an application
    6.42 +	// manifest specifies use of ComCtl32.dll version 6 or later to enable
    6.43 +	// visual styles.  Otherwise, any window creation will fail.
    6.44 +	INITCOMMONCONTROLSEX InitCtrls;
    6.45 +	InitCtrls.dwSize = sizeof(InitCtrls);
    6.46 +	// Set this to include all the common control classes you want to use
    6.47 +	// in your application.
    6.48 +	InitCtrls.dwICC = ICC_WIN95_CLASSES;
    6.49 +	InitCommonControlsEx(&InitCtrls);
    6.50 +
    6.51 +	CWinApp::InitInstance();
    6.52 +
    6.53 +	AfxEnableControlContainer();
    6.54 +
    6.55 +	// Standard initialization
    6.56 +	// If you are not using these features and wish to reduce the size
    6.57 +	// of your final executable, you should remove from the following
    6.58 +	// the specific initialization routines you do not need
    6.59 +	// Change the registry key under which our settings are stored
    6.60 +	// TODO: You should modify this string to be something appropriate
    6.61 +	// such as the name of your company or organization
    6.62 +	SetRegistryKey(_T("Local AppWizard-Generated Applications"));
    6.63 +
    6.64 +	CDisplayTestDlg dlg;
    6.65 +	m_pMainWnd = &dlg;
    6.66 +	INT_PTR nResponse = dlg.DoModal();
    6.67 +	if (nResponse == IDOK)
    6.68 +	{
    6.69 +		// TODO: Place code here to handle when the dialog is
    6.70 +		//  dismissed with OK
    6.71 +	}
    6.72 +	else if (nResponse == IDCANCEL)
    6.73 +	{
    6.74 +		// TODO: Place code here to handle when the dialog is
    6.75 +		//  dismissed with Cancel
    6.76 +	}
    6.77 +
    6.78 +	// Since the dialog has been closed, return FALSE so that we exit the
    6.79 +	//  application, rather than start the application's message pump.
    6.80 +	return FALSE;
    6.81 +}
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/iMONDisplayApiSample/DisplayTest/DisplayTest.h	Sun Apr 14 22:40:46 2013 +0200
     7.3 @@ -0,0 +1,31 @@
     7.4 +// DisplayTest.h : main header file for the PROJECT_NAME application
     7.5 +//
     7.6 +
     7.7 +#pragma once
     7.8 +
     7.9 +#ifndef __AFXWIN_H__
    7.10 +	#error "include 'stdafx.h' before including this file for PCH"
    7.11 +#endif
    7.12 +
    7.13 +#include "resource.h"		// main symbols
    7.14 +
    7.15 +
    7.16 +// CDisplayTestApp:
    7.17 +// See DisplayTest.cpp for the implementation of this class
    7.18 +//
    7.19 +
    7.20 +class CDisplayTestApp : public CWinApp
    7.21 +{
    7.22 +public:
    7.23 +	CDisplayTestApp();
    7.24 +
    7.25 +// Overrides
    7.26 +	public:
    7.27 +	virtual BOOL InitInstance();
    7.28 +
    7.29 +// Implementation
    7.30 +
    7.31 +	DECLARE_MESSAGE_MAP()
    7.32 +};
    7.33 +
    7.34 +extern CDisplayTestApp theApp;
    7.35 \ No newline at end of file
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/iMONDisplayApiSample/DisplayTest/DisplayTest.rc	Sun Apr 14 22:40:46 2013 +0200
     8.3 @@ -0,0 +1,261 @@
     8.4 +// Microsoft Visual C++ generated resource script.
     8.5 +//
     8.6 +#include "resource.h"
     8.7 +
     8.8 +#define APSTUDIO_READONLY_SYMBOLS
     8.9 +/////////////////////////////////////////////////////////////////////////////
    8.10 +//
    8.11 +// Generated from the TEXTINCLUDE 2 resource.
    8.12 +//
    8.13 +#include "afxres.h"
    8.14 +
    8.15 +/////////////////////////////////////////////////////////////////////////////
    8.16 +#undef APSTUDIO_READONLY_SYMBOLS
    8.17 +
    8.18 +/////////////////////////////////////////////////////////////////////////////
    8.19 +// Korean resources
    8.20 +
    8.21 +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
    8.22 +#ifdef _WIN32
    8.23 +LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
    8.24 +#pragma code_page(949)
    8.25 +#endif //_WIN32
    8.26 +
    8.27 +#ifdef APSTUDIO_INVOKED
    8.28 +/////////////////////////////////////////////////////////////////////////////
    8.29 +//
    8.30 +// TEXTINCLUDE
    8.31 +//
    8.32 +
    8.33 +1 TEXTINCLUDE 
    8.34 +BEGIN
    8.35 +    "resource.h\0"
    8.36 +END
    8.37 +
    8.38 +2 TEXTINCLUDE 
    8.39 +BEGIN
    8.40 +    "#include ""afxres.h""\r\n"
    8.41 +    "\0"
    8.42 +END
    8.43 +
    8.44 +3 TEXTINCLUDE 
    8.45 +BEGIN
    8.46 +    "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
    8.47 +    "#define _AFX_NO_OLE_RESOURCES\r\n"
    8.48 +    "#define _AFX_NO_TRACKER_RESOURCES\r\n"
    8.49 +    "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
    8.50 +    "\r\n"
    8.51 +    "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)\r\n"
    8.52 +    "LANGUAGE 18, 1\r\n"
    8.53 +    "#pragma code_page(949)\r\n"
    8.54 +    "#include ""res\\DisplayTest.rc2""  // non-Microsoft Visual C++ edited resources\r\n"
    8.55 +    "#include ""afxres.rc""     // Standard components\r\n"
    8.56 +    "#endif\r\n"
    8.57 +    "\0"
    8.58 +END
    8.59 +
    8.60 +#endif    // APSTUDIO_INVOKED
    8.61 +
    8.62 +
    8.63 +/////////////////////////////////////////////////////////////////////////////
    8.64 +//
    8.65 +// Icon
    8.66 +//
    8.67 +
    8.68 +// Icon with lowest ID value placed first to ensure application icon
    8.69 +// remains consistent on all systems.
    8.70 +IDR_MAINFRAME           ICON                    "res\\DisplayTest.ico"
    8.71 +
    8.72 +/////////////////////////////////////////////////////////////////////////////
    8.73 +//
    8.74 +// Dialog
    8.75 +//
    8.76 +
    8.77 +IDD_ABOUTBOX DIALOGEX 0, 0, 235, 55
    8.78 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
    8.79 +CAPTION "About DisplayTest"
    8.80 +FONT 8, "MS Shell Dlg", 0, 0, 0x1
    8.81 +BEGIN
    8.82 +    ICON            IDR_MAINFRAME,IDC_STATIC,11,17,20,20
    8.83 +    LTEXT           "DisplayTest Version 1.0",IDC_STATIC,40,10,119,8,SS_NOPREFIX
    8.84 +    LTEXT           "Copyright (C) 2010",IDC_STATIC,40,25,119,8
    8.85 +    DEFPUSHBUTTON   "OK",IDOK,178,7,50,16,WS_GROUP
    8.86 +END
    8.87 +
    8.88 +IDD_DISPLAYTEST_DIALOG DIALOGEX 0, 0, 403, 269
    8.89 +STYLE DS_SETFONT | DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
    8.90 +EXSTYLE WS_EX_APPWINDOW
    8.91 +CAPTION "DisplayTest"
    8.92 +FONT 9, "Tahoma", 400, 0, 0x0
    8.93 +BEGIN
    8.94 +    PUSHBUTTON      "Init Plug-in",IDC_BUTTON1,7,7,62,16
    8.95 +    GROUPBOX        "VFD Display",IDC_STATIC,7,32,189,102
    8.96 +    GROUPBOX        "LCD Display",IDC_STATIC,207,32,189,66
    8.97 +    EDITTEXT        IDC_EDIT1,49,44,131,12,ES_AUTOHSCROLL
    8.98 +    EDITTEXT        IDC_EDIT2,49,59,131,12,ES_AUTOHSCROLL
    8.99 +    LTEXT           "1st Line",IDC_STATIC,15,46,28,8
   8.100 +    LTEXT           "2nd Line",IDC_STATIC,15,61,28,8
   8.101 +    PUSHBUTTON      "Send Text",IDC_BUTTON2,33,74,62,16
   8.102 +    PUSHBUTTON      "Start Random EQ",IDC_BUTTON3,100,74,62,16
   8.103 +    LTEXT           "Static",IDC_STATIC_INFO,78,11,318,10
   8.104 +    EDITTEXT        IDC_EDIT3,217,51,165,12,ES_AUTOHSCROLL
   8.105 +    PUSHBUTTON      "Send Text",IDC_BUTTON4,234,74,62,16
   8.106 +    PUSHBUTTON      "Start Random EQ",IDC_BUTTON5,302,74,62,16
   8.107 +    CONTROL         "1",IDC_ORANGE1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,41,154,20,10
   8.108 +    CONTROL         "2",IDC_ORANGE2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,157,20,10
   8.109 +    CONTROL         "3",IDC_ORANGE3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,167,20,10
   8.110 +    CONTROL         "4",IDC_ORANGE4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,178,20,10
   8.111 +    CONTROL         "5",IDC_ORANGE5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,41,182,20,10
   8.112 +    CONTROL         "6",IDC_ORANGE6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,64,177,20,10
   8.113 +    CONTROL         "7",IDC_ORANGE7,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,64,167,20,10
   8.114 +    CONTROL         "8",IDC_ORANGE8,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,64,157,20,10
   8.115 +    CONTROL         "0",IDC_ORANGE0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,78,187,20,10
   8.116 +    CONTROL         "MUSIC",IDC_MUSIC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,115,155,36,10
   8.117 +    CONTROL         "MOVIE",IDC_MOVIE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,154,155,37,10
   8.118 +    CONTROL         "PHOTO",IDC_PHOTO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,195,155,39,10
   8.119 +    CONTROL         "CD/DVD",IDC_CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,239,155,41,10
   8.120 +    CONTROL         "TV",IDC_TV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,115,165,25,10
   8.121 +    CONTROL         "WEBCASTING",IDC_WEBCASTING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,165,59,10
   8.122 +    CONTROL         "NEWS/WEATHER",IDC_NEWS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,210,165,71,10
   8.123 +    CONTROL         "L",IDC_SPK_L,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,299,156,19,10
   8.124 +    CONTROL         "C",IDC_SPK_C,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,327,156,20,10
   8.125 +    CONTROL         "R",IDC_SPK_R,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,363,156,20,10
   8.126 +    CONTROL         "SL",IDC_SPK_SL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,299,166,23,10
   8.127 +    CONTROL         "LFE",IDC_SPK_LFE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,327,166,27,10
   8.128 +    CONTROL         "SR",IDC_SPK_SR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,363,166,24,10
   8.129 +    CONTROL         "RL",IDC_SPK_RL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,299,176,23,10
   8.130 +    CONTROL         "S/PDIF",IDC_SPK_SPDIF,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,327,176,34,10
   8.131 +    CONTROL         "RR",IDC_SPK_RR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,363,176,24,10
   8.132 +    CONTROL         "SRC",IDC_AR_SRC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,306,200,28,10
   8.133 +    CONTROL         "FIT",IDC_AR_FIT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,343,200,26,10
   8.134 +    CONTROL         "TV",IDC_AR_TV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,306,210,25,10
   8.135 +    CONTROL         "HDTV",IDC_AR_HDTV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,343,210,34,10
   8.136 +    CONTROL         "SCR1",IDC_AR_SCR1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,306,220,32,10
   8.137 +    CONTROL         "SCR2",IDC_AR_SCR2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,343,220,32,10
   8.138 +    CONTROL         "MPG",IDC_AV_MPG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,199,31,10
   8.139 +    CONTROL         "DIVX",IDC_AV_DIVX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,159,199,31,10
   8.140 +    CONTROL         "XVID",IDC_AV_XVID,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,199,31,10
   8.141 +    CONTROL         "WMV",IDC_AV_WMV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,241,199,31,10
   8.142 +    CONTROL         "MPG",IDC_AV_MPA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,209,31,10
   8.143 +    CONTROL         "AC3",IDC_AV_AC3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,159,209,33,10
   8.144 +    CONTROL         "DTS",IDC_AV_DTS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,209,33,10
   8.145 +    CONTROL         "WMA",IDC_AV_WMA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,241,209,33,10
   8.146 +    CONTROL         "MP3",IDC_A_MP3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,220,40,9
   8.147 +    CONTROL         "OGG",IDC_A_OGG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,159,220,40,9
   8.148 +    CONTROL         "WMA",IDC_A_WMA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,220,40,9
   8.149 +    CONTROL         "WAV",IDC_A_WAV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,241,220,40,9
   8.150 +    CONTROL         "REP",IDC_REPEAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,200,35,9
   8.151 +    CONTROL         "SFL",IDC_SHUFFLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,57,200,29,9
   8.152 +    CONTROL         "ALARM",IDC_ALARM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,210,35,9
   8.153 +    CONTROL         "REC",IDC_REC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,57,210,29,9
   8.154 +    CONTROL         "TIME",IDC_TIME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,57,220,35,9
   8.155 +    CONTROL         "VOL",IDC_VOL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,220,29,9
   8.156 +    GROUPBOX        "LCD Icon & Progress",IDC_STATIC,7,141,389,121
   8.157 +    CONTROL         "",IDC_SLIDER1,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,88,235,227,18
   8.158 +    PUSHBUTTON      "Start Char Scroll",IDC_BUTTON6,69,98,62,16
   8.159 +    PUSHBUTTON      "Next Char",IDC_BUTTON7,138,98,47,16
   8.160 +    PUSHBUTTON      "Previous Char",IDC_BUTTON8,16,98,47,16
   8.161 +END
   8.162 +
   8.163 +
   8.164 +/////////////////////////////////////////////////////////////////////////////
   8.165 +//
   8.166 +// Version
   8.167 +//
   8.168 +
   8.169 +VS_VERSION_INFO VERSIONINFO
   8.170 + FILEVERSION 1,0,0,1
   8.171 + PRODUCTVERSION 1,0,0,1
   8.172 + FILEFLAGSMASK 0x3fL
   8.173 +#ifdef _DEBUG
   8.174 + FILEFLAGS 0x1L
   8.175 +#else
   8.176 + FILEFLAGS 0x0L
   8.177 +#endif
   8.178 + FILEOS 0x4L
   8.179 + FILETYPE 0x1L
   8.180 + FILESUBTYPE 0x0L
   8.181 +BEGIN
   8.182 +    BLOCK "StringFileInfo"
   8.183 +    BEGIN
   8.184 +        BLOCK "040904e4"
   8.185 +        BEGIN
   8.186 +            VALUE "CompanyName", "SoundGraph, Inc."
   8.187 +            VALUE "FileDescription", "iMON Display Plug-in Test Program"
   8.188 +            VALUE "FileVersion", "1.0.0.1"
   8.189 +            VALUE "InternalName", "DisplayTest.exe"
   8.190 +            VALUE "LegalCopyright", "Copyright (C) 2010  SoundGraph, Inc."
   8.191 +            VALUE "OriginalFilename", "DisplayTest.exe"
   8.192 +            VALUE "ProductName", "iMON Display Plug-in Test Program"
   8.193 +            VALUE "ProductVersion", "1.0.0.1"
   8.194 +        END
   8.195 +    END
   8.196 +    BLOCK "VarFileInfo"
   8.197 +    BEGIN
   8.198 +        VALUE "Translation", 0x409, 1252
   8.199 +    END
   8.200 +END
   8.201 +
   8.202 +
   8.203 +/////////////////////////////////////////////////////////////////////////////
   8.204 +//
   8.205 +// DESIGNINFO
   8.206 +//
   8.207 +
   8.208 +#ifdef APSTUDIO_INVOKED
   8.209 +GUIDELINES DESIGNINFO 
   8.210 +BEGIN
   8.211 +    IDD_ABOUTBOX, DIALOG
   8.212 +    BEGIN
   8.213 +        LEFTMARGIN, 7
   8.214 +        RIGHTMARGIN, 228
   8.215 +        TOPMARGIN, 7
   8.216 +        BOTTOMMARGIN, 48
   8.217 +    END
   8.218 +
   8.219 +    IDD_DISPLAYTEST_DIALOG, DIALOG
   8.220 +    BEGIN
   8.221 +        LEFTMARGIN, 7
   8.222 +        RIGHTMARGIN, 396
   8.223 +        TOPMARGIN, 7
   8.224 +        BOTTOMMARGIN, 262
   8.225 +    END
   8.226 +END
   8.227 +#endif    // APSTUDIO_INVOKED
   8.228 +
   8.229 +
   8.230 +/////////////////////////////////////////////////////////////////////////////
   8.231 +//
   8.232 +// String Table
   8.233 +//
   8.234 +
   8.235 +STRINGTABLE 
   8.236 +BEGIN
   8.237 +    IDS_ABOUTBOX            "&About DisplayTest..."
   8.238 +END
   8.239 +
   8.240 +#endif    // Korean resources
   8.241 +/////////////////////////////////////////////////////////////////////////////
   8.242 +
   8.243 +
   8.244 +
   8.245 +#ifndef APSTUDIO_INVOKED
   8.246 +/////////////////////////////////////////////////////////////////////////////
   8.247 +//
   8.248 +// Generated from the TEXTINCLUDE 3 resource.
   8.249 +//
   8.250 +#define _AFX_NO_SPLITTER_RESOURCES
   8.251 +#define _AFX_NO_OLE_RESOURCES
   8.252 +#define _AFX_NO_TRACKER_RESOURCES
   8.253 +#define _AFX_NO_PROPERTY_RESOURCES
   8.254 +
   8.255 +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
   8.256 +LANGUAGE 18, 1
   8.257 +#pragma code_page(949)
   8.258 +#include "res\DisplayTest.rc2"  // non-Microsoft Visual C++ edited resources
   8.259 +#include "afxres.rc"     // Standard components
   8.260 +#endif
   8.261 +
   8.262 +/////////////////////////////////////////////////////////////////////////////
   8.263 +#endif    // not APSTUDIO_INVOKED
   8.264 +
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/iMONDisplayApiSample/DisplayTest/DisplayTest.vcproj	Sun Apr 14 22:40:46 2013 +0200
     9.3 @@ -0,0 +1,272 @@
     9.4 +<?xml version="1.0" encoding="ks_c_5601-1987"?>
     9.5 +<VisualStudioProject
     9.6 +	ProjectType="Visual C++"
     9.7 +	Version="9.00"
     9.8 +	Name="DisplayTest"
     9.9 +	ProjectGUID="{FE6179B9-6E3E-4157-BE52-C4A6B202306F}"
    9.10 +	RootNamespace="DisplayTest"
    9.11 +	Keyword="MFCProj"
    9.12 +	TargetFrameworkVersion="131072"
    9.13 +	>
    9.14 +	<Platforms>
    9.15 +		<Platform
    9.16 +			Name="Win32"
    9.17 +		/>
    9.18 +	</Platforms>
    9.19 +	<ToolFiles>
    9.20 +	</ToolFiles>
    9.21 +	<Configurations>
    9.22 +		<Configuration
    9.23 +			Name="Debug|Win32"
    9.24 +			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
    9.25 +			IntermediateDirectory="$(ConfigurationName)"
    9.26 +			ConfigurationType="1"
    9.27 +			UseOfMFC="1"
    9.28 +			CharacterSet="1"
    9.29 +			>
    9.30 +			<Tool
    9.31 +				Name="VCPreBuildEventTool"
    9.32 +			/>
    9.33 +			<Tool
    9.34 +				Name="VCCustomBuildTool"
    9.35 +			/>
    9.36 +			<Tool
    9.37 +				Name="VCXMLDataGeneratorTool"
    9.38 +			/>
    9.39 +			<Tool
    9.40 +				Name="VCWebServiceProxyGeneratorTool"
    9.41 +			/>
    9.42 +			<Tool
    9.43 +				Name="VCMIDLTool"
    9.44 +				PreprocessorDefinitions="_DEBUG"
    9.45 +				MkTypLibCompatible="false"
    9.46 +				ValidateParameters="false"
    9.47 +			/>
    9.48 +			<Tool
    9.49 +				Name="VCCLCompilerTool"
    9.50 +				Optimization="0"
    9.51 +				PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG"
    9.52 +				MinimalRebuild="true"
    9.53 +				BasicRuntimeChecks="3"
    9.54 +				RuntimeLibrary="1"
    9.55 +				UsePrecompiledHeader="2"
    9.56 +				WarningLevel="3"
    9.57 +				Detect64BitPortabilityProblems="true"
    9.58 +				DebugInformationFormat="4"
    9.59 +			/>
    9.60 +			<Tool
    9.61 +				Name="VCManagedResourceCompilerTool"
    9.62 +			/>
    9.63 +			<Tool
    9.64 +				Name="VCResourceCompilerTool"
    9.65 +				PreprocessorDefinitions="_DEBUG"
    9.66 +				Culture="1033"
    9.67 +				AdditionalIncludeDirectories="$(IntDir)"
    9.68 +			/>
    9.69 +			<Tool
    9.70 +				Name="VCPreLinkEventTool"
    9.71 +			/>
    9.72 +			<Tool
    9.73 +				Name="VCLinkerTool"
    9.74 +				LinkIncremental="2"
    9.75 +				GenerateDebugInformation="true"
    9.76 +				SubSystem="2"
    9.77 +				RandomizedBaseAddress="1"
    9.78 +				DataExecutionPrevention="0"
    9.79 +				TargetMachine="1"
    9.80 +			/>
    9.81 +			<Tool
    9.82 +				Name="VCALinkTool"
    9.83 +			/>
    9.84 +			<Tool
    9.85 +				Name="VCManifestTool"
    9.86 +			/>
    9.87 +			<Tool
    9.88 +				Name="VCXDCMakeTool"
    9.89 +			/>
    9.90 +			<Tool
    9.91 +				Name="VCBscMakeTool"
    9.92 +			/>
    9.93 +			<Tool
    9.94 +				Name="VCFxCopTool"
    9.95 +			/>
    9.96 +			<Tool
    9.97 +				Name="VCAppVerifierTool"
    9.98 +			/>
    9.99 +			<Tool
   9.100 +				Name="VCPostBuildEventTool"
   9.101 +			/>
   9.102 +		</Configuration>
   9.103 +		<Configuration
   9.104 +			Name="Release|Win32"
   9.105 +			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
   9.106 +			IntermediateDirectory="$(ConfigurationName)"
   9.107 +			ConfigurationType="1"
   9.108 +			UseOfMFC="1"
   9.109 +			CharacterSet="1"
   9.110 +			WholeProgramOptimization="1"
   9.111 +			>
   9.112 +			<Tool
   9.113 +				Name="VCPreBuildEventTool"
   9.114 +			/>
   9.115 +			<Tool
   9.116 +				Name="VCCustomBuildTool"
   9.117 +			/>
   9.118 +			<Tool
   9.119 +				Name="VCXMLDataGeneratorTool"
   9.120 +			/>
   9.121 +			<Tool
   9.122 +				Name="VCWebServiceProxyGeneratorTool"
   9.123 +			/>
   9.124 +			<Tool
   9.125 +				Name="VCMIDLTool"
   9.126 +				PreprocessorDefinitions="NDEBUG"
   9.127 +				MkTypLibCompatible="false"
   9.128 +				ValidateParameters="false"
   9.129 +			/>
   9.130 +			<Tool
   9.131 +				Name="VCCLCompilerTool"
   9.132 +				PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
   9.133 +				MinimalRebuild="false"
   9.134 +				RuntimeLibrary="0"
   9.135 +				UsePrecompiledHeader="2"
   9.136 +				WarningLevel="3"
   9.137 +				Detect64BitPortabilityProblems="true"
   9.138 +				DebugInformationFormat="3"
   9.139 +			/>
   9.140 +			<Tool
   9.141 +				Name="VCManagedResourceCompilerTool"
   9.142 +			/>
   9.143 +			<Tool
   9.144 +				Name="VCResourceCompilerTool"
   9.145 +				PreprocessorDefinitions="NDEBUG"
   9.146 +				Culture="1033"
   9.147 +				AdditionalIncludeDirectories="$(IntDir)"
   9.148 +			/>
   9.149 +			<Tool
   9.150 +				Name="VCPreLinkEventTool"
   9.151 +			/>
   9.152 +			<Tool
   9.153 +				Name="VCLinkerTool"
   9.154 +				LinkIncremental="1"
   9.155 +				IgnoreDefaultLibraryNames="msvcr80.lib"
   9.156 +				GenerateDebugInformation="true"
   9.157 +				SubSystem="2"
   9.158 +				OptimizeReferences="2"
   9.159 +				EnableCOMDATFolding="2"
   9.160 +				RandomizedBaseAddress="1"
   9.161 +				DataExecutionPrevention="0"
   9.162 +				TargetMachine="1"
   9.163 +			/>
   9.164 +			<Tool
   9.165 +				Name="VCALinkTool"
   9.166 +			/>
   9.167 +			<Tool
   9.168 +				Name="VCManifestTool"
   9.169 +			/>
   9.170 +			<Tool
   9.171 +				Name="VCXDCMakeTool"
   9.172 +			/>
   9.173 +			<Tool
   9.174 +				Name="VCBscMakeTool"
   9.175 +			/>
   9.176 +			<Tool
   9.177 +				Name="VCFxCopTool"
   9.178 +			/>
   9.179 +			<Tool
   9.180 +				Name="VCAppVerifierTool"
   9.181 +			/>
   9.182 +			<Tool
   9.183 +				Name="VCPostBuildEventTool"
   9.184 +			/>
   9.185 +		</Configuration>
   9.186 +	</Configurations>
   9.187 +	<References>
   9.188 +	</References>
   9.189 +	<Files>
   9.190 +		<Filter
   9.191 +			Name="¼Ò½º ÆÄÀÏ"
   9.192 +			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
   9.193 +			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
   9.194 +			>
   9.195 +			<File
   9.196 +				RelativePath=".\DisplayTest.cpp"
   9.197 +				>
   9.198 +			</File>
   9.199 +			<File
   9.200 +				RelativePath=".\DisplayTestDlg.cpp"
   9.201 +				>
   9.202 +			</File>
   9.203 +			<File
   9.204 +				RelativePath=".\stdafx.cpp"
   9.205 +				>
   9.206 +				<FileConfiguration
   9.207 +					Name="Debug|Win32"
   9.208 +					>
   9.209 +					<Tool
   9.210 +						Name="VCCLCompilerTool"
   9.211 +						UsePrecompiledHeader="1"
   9.212 +					/>
   9.213 +				</FileConfiguration>
   9.214 +				<FileConfiguration
   9.215 +					Name="Release|Win32"
   9.216 +					>
   9.217 +					<Tool
   9.218 +						Name="VCCLCompilerTool"
   9.219 +						UsePrecompiledHeader="1"
   9.220 +					/>
   9.221 +				</FileConfiguration>
   9.222 +			</File>
   9.223 +		</Filter>
   9.224 +		<Filter
   9.225 +			Name="Çì´õ ÆÄÀÏ"
   9.226 +			Filter="h;hpp;hxx;hm;inl;inc;xsd"
   9.227 +			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
   9.228 +			>
   9.229 +			<File
   9.230 +				RelativePath=".\DisplayTest.h"
   9.231 +				>
   9.232 +			</File>
   9.233 +			<File
   9.234 +				RelativePath=".\DisplayTestDlg.h"
   9.235 +				>
   9.236 +			</File>
   9.237 +			<File
   9.238 +				RelativePath=".\Resource.h"
   9.239 +				>
   9.240 +			</File>
   9.241 +			<File
   9.242 +				RelativePath=".\stdafx.h"
   9.243 +				>
   9.244 +			</File>
   9.245 +		</Filter>
   9.246 +		<Filter
   9.247 +			Name="¸®¼Ò½º ÆÄÀÏ"
   9.248 +			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
   9.249 +			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
   9.250 +			>
   9.251 +			<File
   9.252 +				RelativePath=".\res\DisplayTest.ico"
   9.253 +				>
   9.254 +			</File>
   9.255 +			<File
   9.256 +				RelativePath=".\DisplayTest.rc"
   9.257 +				>
   9.258 +			</File>
   9.259 +			<File
   9.260 +				RelativePath=".\res\DisplayTest.rc2"
   9.261 +				>
   9.262 +			</File>
   9.263 +		</Filter>
   9.264 +		<File
   9.265 +			RelativePath=".\ReadMe.txt"
   9.266 +			>
   9.267 +		</File>
   9.268 +	</Files>
   9.269 +	<Globals>
   9.270 +		<Global
   9.271 +			Name="RESOURCE_FILE"
   9.272 +			Value="DisplayTest.rc"
   9.273 +		/>
   9.274 +	</Globals>
   9.275 +</VisualStudioProject>
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/iMONDisplayApiSample/DisplayTest/DisplayTest.vcproj.SLION-HTPC.sl.user	Sun Apr 14 22:40:46 2013 +0200
    10.3 @@ -0,0 +1,65 @@
    10.4 +<?xml version="1.0" encoding="ks_c_5601-1987"?>
    10.5 +<VisualStudioUserFile
    10.6 +	ProjectType="Visual C++"
    10.7 +	Version="9.00"
    10.8 +	ShowAllFiles="false"
    10.9 +	>
   10.10 +	<Configurations>
   10.11 +		<Configuration
   10.12 +			Name="Debug|Win32"
   10.13 +			>
   10.14 +			<DebugSettings
   10.15 +				Command="$(TargetPath)"
   10.16 +				WorkingDirectory=""
   10.17 +				CommandArguments=""
   10.18 +				Attach="false"
   10.19 +				DebuggerType="3"
   10.20 +				Remote="1"
   10.21 +				RemoteMachine="SLION-HTPC"
   10.22 +				RemoteCommand=""
   10.23 +				HttpUrl=""
   10.24 +				PDBPath=""
   10.25 +				SQLDebugging=""
   10.26 +				Environment=""
   10.27 +				EnvironmentMerge="true"
   10.28 +				DebuggerFlavor=""
   10.29 +				MPIRunCommand=""
   10.30 +				MPIRunArguments=""
   10.31 +				MPIRunWorkingDirectory=""
   10.32 +				ApplicationCommand=""
   10.33 +				ApplicationArguments=""
   10.34 +				ShimCommand=""
   10.35 +				MPIAcceptMode=""
   10.36 +				MPIAcceptFilter=""
   10.37 +			/>
   10.38 +		</Configuration>
   10.39 +		<Configuration
   10.40 +			Name="Release|Win32"
   10.41 +			>
   10.42 +			<DebugSettings
   10.43 +				Command="$(TargetPath)"
   10.44 +				WorkingDirectory=""
   10.45 +				CommandArguments=""
   10.46 +				Attach="false"
   10.47 +				DebuggerType="3"
   10.48 +				Remote="1"
   10.49 +				RemoteMachine="SLION-HTPC"
   10.50 +				RemoteCommand=""
   10.51 +				HttpUrl=""
   10.52 +				PDBPath=""
   10.53 +				SQLDebugging=""
   10.54 +				Environment=""
   10.55 +				EnvironmentMerge="true"
   10.56 +				DebuggerFlavor=""
   10.57 +				MPIRunCommand=""
   10.58 +				MPIRunArguments=""
   10.59 +				MPIRunWorkingDirectory=""
   10.60 +				ApplicationCommand=""
   10.61 +				ApplicationArguments=""
   10.62 +				ShimCommand=""
   10.63 +				MPIAcceptMode=""
   10.64 +				MPIAcceptFilter=""
   10.65 +			/>
   10.66 +		</Configuration>
   10.67 +	</Configurations>
   10.68 +</VisualStudioUserFile>
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/iMONDisplayApiSample/DisplayTest/DisplayTestDlg.cpp	Sun Apr 14 22:40:46 2013 +0200
    11.3 @@ -0,0 +1,614 @@
    11.4 +// DisplayTestDlg.cpp : implementation file
    11.5 +//
    11.6 +
    11.7 +#include "stdafx.h"
    11.8 +#include "DisplayTest.h"
    11.9 +#include "DisplayTestDlg.h"
   11.10 +
   11.11 +#ifdef _DEBUG
   11.12 +#define new DEBUG_NEW
   11.13 +#endif
   11.14 +
   11.15 +static WCHAR staticCh=1;
   11.16 +
   11.17 +// CAboutDlg dialog used for App About
   11.18 +
   11.19 +class CAboutDlg : public CDialog
   11.20 +{
   11.21 +public:
   11.22 +	CAboutDlg();
   11.23 +
   11.24 +// Dialog Data
   11.25 +	enum { IDD = IDD_ABOUTBOX };
   11.26 +
   11.27 +	protected:
   11.28 +	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
   11.29 +
   11.30 +// Implementation
   11.31 +protected:
   11.32 +	DECLARE_MESSAGE_MAP()
   11.33 +};
   11.34 +
   11.35 +CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
   11.36 +{
   11.37 +}
   11.38 +
   11.39 +void CAboutDlg::DoDataExchange(CDataExchange* pDX)
   11.40 +{
   11.41 +	CDialog::DoDataExchange(pDX);
   11.42 +}
   11.43 +
   11.44 +BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
   11.45 +END_MESSAGE_MAP()
   11.46 +
   11.47 +
   11.48 +// CDisplayTestDlg dialog
   11.49 +
   11.50 +CDisplayTestDlg::CDisplayTestDlg(CWnd* pParent /*=NULL*/)
   11.51 +	: CDialog(CDisplayTestDlg::IDD, pParent)
   11.52 +{
   11.53 +	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
   11.54 +	
   11.55 +	m_strLine1 = _T("");
   11.56 +	m_strLine2 = _T("");
   11.57 +	m_strLine3 = _T("");
   11.58 +
   11.59 +	m_uEqTimer = 0;
   11.60 +	m_uEqTimer2 = 0;
   11.61 +	m_bVfdConnected = FALSE;
   11.62 +	m_bLcdConnected = FALSE;
   11.63 +}
   11.64 +
   11.65 +void CDisplayTestDlg::DoDataExchange(CDataExchange* pDX)
   11.66 +{
   11.67 +	CDialog::DoDataExchange(pDX);
   11.68 +
   11.69 +	DDX_Text(pDX, IDC_EDIT1, m_strLine1);
   11.70 +	DDX_Text(pDX, IDC_EDIT2, m_strLine2);
   11.71 +	DDX_Text(pDX, IDC_EDIT3, m_strLine3);
   11.72 +}
   11.73 +
   11.74 +BEGIN_MESSAGE_MAP(CDisplayTestDlg, CDialog)
   11.75 +	ON_WM_SYSCOMMAND()
   11.76 +	ON_WM_PAINT()
   11.77 +	ON_WM_QUERYDRAGICON()
   11.78 +	ON_WM_DESTROY()
   11.79 +	ON_WM_TIMER()
   11.80 +	//}}AFX_MSG_MAP
   11.81 +	ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButtonInit)
   11.82 +	ON_BN_CLICKED(IDC_BUTTON2, OnBnClickedButtonVfdSendText)
   11.83 +	ON_BN_CLICKED(IDC_BUTTON3, OnBnClickedButtonVfdRandomEq)
   11.84 +	ON_BN_CLICKED(IDC_BUTTON4, OnBnClickedButtonLcdSendText)
   11.85 +	ON_BN_CLICKED(IDC_BUTTON5, OnBnClickedButtonLcdRandomEq)
   11.86 +
   11.87 +	ON_BN_CLICKED(IDC_ORANGE1, OnLcdOrangeIcon)
   11.88 +	ON_BN_CLICKED(IDC_ORANGE2, OnLcdOrangeIcon)
   11.89 +	ON_BN_CLICKED(IDC_ORANGE3, OnLcdOrangeIcon)
   11.90 +	ON_BN_CLICKED(IDC_ORANGE4, OnLcdOrangeIcon)
   11.91 +	ON_BN_CLICKED(IDC_ORANGE5, OnLcdOrangeIcon)
   11.92 +	ON_BN_CLICKED(IDC_ORANGE6, OnLcdOrangeIcon)
   11.93 +	ON_BN_CLICKED(IDC_ORANGE7, OnLcdOrangeIcon)
   11.94 +	ON_BN_CLICKED(IDC_ORANGE8, OnLcdOrangeIcon)
   11.95 +	ON_BN_CLICKED(IDC_ORANGE0, OnLcdOrangeIcon)
   11.96 +	ON_BN_CLICKED(IDC_MUSIC, OnLcdMediaTypeIcon)
   11.97 +	ON_BN_CLICKED(IDC_MOVIE, OnLcdMediaTypeIcon)
   11.98 +	ON_BN_CLICKED(IDC_PHOTO, OnLcdMediaTypeIcon)
   11.99 +	ON_BN_CLICKED(IDC_CD, OnLcdMediaTypeIcon)
  11.100 +	ON_BN_CLICKED(IDC_TV, OnLcdMediaTypeIcon)
  11.101 +	ON_BN_CLICKED(IDC_WEBCASTING, OnLcdMediaTypeIcon)
  11.102 +	ON_BN_CLICKED(IDC_NEWS, OnLcdMediaTypeIcon)
  11.103 +	ON_BN_CLICKED(IDC_SPK_L, OnLcdSpeakerIcon)
  11.104 +	ON_BN_CLICKED(IDC_SPK_C, OnLcdSpeakerIcon)
  11.105 +	ON_BN_CLICKED(IDC_SPK_R, OnLcdSpeakerIcon)
  11.106 +	ON_BN_CLICKED(IDC_SPK_SL, OnLcdSpeakerIcon)
  11.107 +	ON_BN_CLICKED(IDC_SPK_LFE, OnLcdSpeakerIcon)
  11.108 +	ON_BN_CLICKED(IDC_SPK_SR, OnLcdSpeakerIcon)
  11.109 +	ON_BN_CLICKED(IDC_SPK_RL, OnLcdSpeakerIcon)
  11.110 +	ON_BN_CLICKED(IDC_SPK_SPDIF, OnLcdSpeakerIcon)
  11.111 +	ON_BN_CLICKED(IDC_SPK_RR, OnLcdSpeakerIcon)
  11.112 +	ON_BN_CLICKED(IDC_AV_MPG, OnLcdVideoCodecIcon)
  11.113 +	ON_BN_CLICKED(IDC_AV_DIVX, OnLcdVideoCodecIcon)
  11.114 +	ON_BN_CLICKED(IDC_AV_XVID, OnLcdVideoCodecIcon)
  11.115 +	ON_BN_CLICKED(IDC_AV_WMV, OnLcdVideoCodecIcon)
  11.116 +	ON_BN_CLICKED(IDC_AV_MPA, OnLcdVideoCodecIcon)
  11.117 +	ON_BN_CLICKED(IDC_AV_AC3, OnLcdVideoCodecIcon)
  11.118 +	ON_BN_CLICKED(IDC_AV_DTS, OnLcdVideoCodecIcon)
  11.119 +	ON_BN_CLICKED(IDC_AV_WMA, OnLcdVideoCodecIcon)
  11.120 +	ON_BN_CLICKED(IDC_A_MP3, OnLcdAudioCodecIcon)
  11.121 +	ON_BN_CLICKED(IDC_A_OGG, OnLcdAudioCodecIcon)
  11.122 +	ON_BN_CLICKED(IDC_A_WMA, OnLcdAudioCodecIcon)
  11.123 +	ON_BN_CLICKED(IDC_A_WAV, OnLcdAudioCodecIcon)
  11.124 +	ON_BN_CLICKED(IDC_AR_SRC, OnLcdAspectRatioIcon)
  11.125 +	ON_BN_CLICKED(IDC_AR_FIT, OnLcdAspectRatioIcon)
  11.126 +	ON_BN_CLICKED(IDC_AR_TV, OnLcdAspectRatioIcon)
  11.127 +	ON_BN_CLICKED(IDC_AR_HDTV, OnLcdAspectRatioIcon)
  11.128 +	ON_BN_CLICKED(IDC_AR_SCR1, OnLcdAspectRatioIcon)
  11.129 +	ON_BN_CLICKED(IDC_AR_SCR2, OnLcdAspectRatioIcon)
  11.130 +	ON_BN_CLICKED(IDC_REPEAT, OnLcdEtcIcon)
  11.131 +	ON_BN_CLICKED(IDC_SHUFFLE, OnLcdEtcIcon)
  11.132 +	ON_BN_CLICKED(IDC_ALARM, OnLcdEtcIcon)
  11.133 +	ON_BN_CLICKED(IDC_REC, OnLcdEtcIcon)
  11.134 +	ON_BN_CLICKED(IDC_VOL, OnLcdEtcIcon)
  11.135 +	ON_BN_CLICKED(IDC_TIME, OnLcdEtcIcon)
  11.136 +	ON_WM_HSCROLL()
  11.137 +
  11.138 +	ON_MESSAGE(WM_DSP_PLUGIN_NOTIFY, OnDisplayPluginNotify)
  11.139 +	ON_BN_CLICKED(IDC_BUTTON6, &CDisplayTestDlg::OnBnClickedScrollChar)
  11.140 +	ON_BN_CLICKED(IDC_BUTTON7, &CDisplayTestDlg::OnBnClickedNextChar)
  11.141 +	ON_BN_CLICKED(IDC_BUTTON8, &CDisplayTestDlg::OnBnClickedPreviousChar)
  11.142 +END_MESSAGE_MAP()
  11.143 +
  11.144 +
  11.145 +
  11.146 +
  11.147 +// CDisplayTestDlg message handlers
  11.148 +
  11.149 +BOOL CDisplayTestDlg::OnInitDialog()
  11.150 +{
  11.151 +	CDialog::OnInitDialog();
  11.152 +
  11.153 +	// Add "About..." menu item to system menu.
  11.154 +
  11.155 +	// IDM_ABOUTBOX must be in the system command range.
  11.156 +	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
  11.157 +	ASSERT(IDM_ABOUTBOX < 0xF000);
  11.158 +
  11.159 +	CMenu* pSysMenu = GetSystemMenu(FALSE);
  11.160 +	if (pSysMenu != NULL)
  11.161 +	{
  11.162 +		CString strAboutMenu;
  11.163 +		strAboutMenu.LoadString(IDS_ABOUTBOX);
  11.164 +		if (!strAboutMenu.IsEmpty())
  11.165 +		{
  11.166 +			pSysMenu->AppendMenu(MF_SEPARATOR);
  11.167 +			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
  11.168 +		}
  11.169 +	}
  11.170 +
  11.171 +	// Set the icon for this dialog.  The framework does this automatically
  11.172 +	//  when the application's main window is not a dialog
  11.173 +	SetIcon(m_hIcon, TRUE);			// Set big icon
  11.174 +	SetIcon(m_hIcon, FALSE);		// Set small icon
  11.175 +
  11.176 +	// TODO: Add extra initialization here
  11.177 +	m_strLine1 = _T("SoundGraph, Inc.");
  11.178 +	m_strLine2 = _T("iMON Display API");
  11.179 +	m_strLine3 = _T("SoundGraph, Inc. iMON Display API");
  11.180 +
  11.181 +	UpdateControlUI();
  11.182 +
  11.183 +	CSliderCtrl* pSliderCtrl = (CSliderCtrl*)GetDlgItem(IDC_SLIDER1);
  11.184 +	if(pSliderCtrl)
  11.185 +	{
  11.186 +		pSliderCtrl->SetRange(0, 100);
  11.187 +		pSliderCtrl->SetPos(0);
  11.188 +	}
  11.189 +
  11.190 +	UpdateData(FALSE);
  11.191 +
  11.192 +	return TRUE;  // return TRUE  unless you set the focus to a control
  11.193 +}
  11.194 +
  11.195 +void CDisplayTestDlg::OnSysCommand(UINT nID, LPARAM lParam)
  11.196 +{
  11.197 +	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
  11.198 +	{
  11.199 +		CAboutDlg dlgAbout;
  11.200 +		dlgAbout.DoModal();
  11.201 +	}
  11.202 +	else
  11.203 +	{
  11.204 +		CDialog::OnSysCommand(nID, lParam);
  11.205 +	}
  11.206 +}
  11.207 +
  11.208 +// If you add a minimize button to your dialog, you will need the code below
  11.209 +//  to draw the icon.  For MFC applications using the document/view model,
  11.210 +//  this is automatically done for you by the framework.
  11.211 +
  11.212 +void CDisplayTestDlg::OnPaint()
  11.213 +{
  11.214 +	if (IsIconic())
  11.215 +	{
  11.216 +		CPaintDC dc(this); // device context for painting
  11.217 +
  11.218 +		SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
  11.219 +
  11.220 +		// Center icon in client rectangle
  11.221 +		int cxIcon = GetSystemMetrics(SM_CXICON);
  11.222 +		int cyIcon = GetSystemMetrics(SM_CYICON);
  11.223 +		CRect rect;
  11.224 +		GetClientRect(&rect);
  11.225 +		int x = (rect.Width() - cxIcon + 1) / 2;
  11.226 +		int y = (rect.Height() - cyIcon + 1) / 2;
  11.227 +
  11.228 +		// Draw the icon
  11.229 +		dc.DrawIcon(x, y, m_hIcon);
  11.230 +	}
  11.231 +	else
  11.232 +	{
  11.233 +		CDialog::OnPaint();
  11.234 +	}
  11.235 +}
  11.236 +
  11.237 +// The system calls this function to obtain the cursor to display while the user drags
  11.238 +//  the minimized window.
  11.239 +HCURSOR CDisplayTestDlg::OnQueryDragIcon()
  11.240 +{
  11.241 +	return static_cast<HCURSOR>(m_hIcon);
  11.242 +}
  11.243 +
  11.244 +void CDisplayTestDlg::OnDestroy() 
  11.245 +{
  11.246 +	CDialog::OnDestroy();
  11.247 +
  11.248 +	IMON_Display_Uninit();
  11.249 +}
  11.250 +
  11.251 +void CDisplayTestDlg::OnTimer(UINT nIDEvent) 
  11.252 +{
  11.253 +	if(nIDEvent == 101)
  11.254 +	{
  11.255 +
  11.256 +		DSPEQDATA eqData;
  11.257 +		for(int i=0; i<16;i++)
  11.258 +		{
  11.259 +			eqData.BandData[i] = rand()%100;
  11.260 +		}
  11.261 +		IMON_Display_SetVfdEqData(&eqData);		
  11.262 +	}
  11.263 +	else if(nIDEvent == 102)
  11.264 +	{
  11.265 +		DSPEQDATA eqDataL;
  11.266 +		DSPEQDATA eqDataR;
  11.267 +		for(int i=0; i<16;i++)
  11.268 +		{
  11.269 +			eqDataL.BandData[i] = rand()%100;
  11.270 +			eqDataR.BandData[i] = rand()%100;
  11.271 +		}
  11.272 +		IMON_Display_SetLcdEqData(&eqDataL, &eqDataR);
  11.273 +	}
  11.274 +	else if (nIDEvent == 103)
  11.275 +	{
  11.276 +		//Char scroll
  11.277 +		WCHAR myStr[17];
  11.278 +
  11.279 +		WCHAR myCh=staticCh;
  11.280 +
  11.281 +		for (int i=0;i<16;i++)
  11.282 +		{
  11.283 +			myStr[i]=myCh;
  11.284 +			myCh++;
  11.285 +		}
  11.286 +
  11.287 +		staticCh++;
  11.288 +		myStr[16]=0;
  11.289 +		//
  11.290 +		//myCh--;
  11.291 +
  11.292 +		CString counter;
  11.293 +		counter.Format(TEXT("%d - %d"),myStr[0],myStr[15]);
  11.294 +
  11.295 +		IMON_Display_SetVfdText(myStr, (LPCTSTR)counter);
  11.296 +
  11.297 +	}
  11.298 +
  11.299 +	CDialog::OnTimer(nIDEvent);
  11.300 +}
  11.301 +
  11.302 +
  11.303 +void CDisplayTestDlg::OnBnClickedButtonInit()
  11.304 +{
  11.305 +	if(IMON_Display_IsInited() != DSP_S_INITED)		Init();
  11.306 +	else											Uninit();
  11.307 +}
  11.308 +
  11.309 +void CDisplayTestDlg::OnBnClickedButtonVfdSendText()
  11.310 +{
  11.311 +	UpdateData(TRUE);
  11.312 +	IMON_Display_SetVfdText((LPCTSTR)m_strLine1, (LPCTSTR)m_strLine2);
  11.313 +}
  11.314 +
  11.315 +void CDisplayTestDlg::OnBnClickedButtonVfdRandomEq()
  11.316 +{
  11.317 +	if(m_uEqTimer)
  11.318 +	{	
  11.319 +		KillTimer(101);		m_uEqTimer = 0;		
  11.320 +		GetDlgItem(IDC_BUTTON3)->SetWindowText(_T("Start Random EQ"));
  11.321 +	}
  11.322 +	else
  11.323 +	{
  11.324 +		m_uEqTimer = SetTimer(101, 100, NULL);
  11.325 +		GetDlgItem(IDC_BUTTON3)->SetWindowText(_T("Stop Random EQ"));
  11.326 +	}
  11.327 +}
  11.328 +
  11.329 +void CDisplayTestDlg::OnBnClickedScrollChar()
  11.330 +{
  11.331 +	if(m_uEqTimer)
  11.332 +	{	
  11.333 +		KillTimer(103);		m_uEqTimer = 0;		
  11.334 +		GetDlgItem(IDC_BUTTON6)->SetWindowText(_T("Start Scroll Char"));
  11.335 +	}
  11.336 +	else
  11.337 +	{
  11.338 +		m_uEqTimer = SetTimer(103, 500, NULL);
  11.339 +		GetDlgItem(IDC_BUTTON6)->SetWindowText(_T("Stop Scroll Char"));
  11.340 +	}
  11.341 +}
  11.342 +
  11.343 +void CDisplayTestDlg::OnBnClickedNextChar()
  11.344 +{
  11.345 +	//staticCh++;
  11.346 +	OnTimer(103);
  11.347 +}
  11.348 +
  11.349 +void CDisplayTestDlg::OnBnClickedPreviousChar()
  11.350 +{
  11.351 +	staticCh-=2;
  11.352 +	OnTimer(103);
  11.353 +}
  11.354 +
  11.355 +
  11.356 +
  11.357 +void CDisplayTestDlg::OnBnClickedButtonLcdSendText()
  11.358 +{
  11.359 +	UpdateData(TRUE);
  11.360 +	IMON_Display_SetLcdText((LPCTSTR)m_strLine3);
  11.361 +}
  11.362 +
  11.363 +void CDisplayTestDlg::OnBnClickedButtonLcdRandomEq()
  11.364 +{
  11.365 +	if(m_uEqTimer2)
  11.366 +	{	
  11.367 +		KillTimer(102);		m_uEqTimer2 = 0;		
  11.368 +		GetDlgItem(IDC_BUTTON5)->SetWindowText(_T("Start Random EQ"));
  11.369 +	}
  11.370 +	else
  11.371 +	{
  11.372 +		m_uEqTimer2 = SetTimer(102, 40, NULL);
  11.373 +		GetDlgItem(IDC_BUTTON5)->SetWindowText(_T("Stop Random EQ"));
  11.374 +	}
  11.375 +}
  11.376 +
  11.377 +void CDisplayTestDlg::OnLcdOrangeIcon()
  11.378 +{
  11.379 +	BYTE data[2];
  11.380 +	memset(data, 0, sizeof(BYTE)*2);
  11.381 +
  11.382 +	if(((CButton*)GetDlgItem(IDC_ORANGE1))->GetCheck())		data[0] |= 0x80;
  11.383 +	if(((CButton*)GetDlgItem(IDC_ORANGE2))->GetCheck())		data[0] |= 0x40;
  11.384 +	if(((CButton*)GetDlgItem(IDC_ORANGE3))->GetCheck())		data[0] |= 0x20;
  11.385 +	if(((CButton*)GetDlgItem(IDC_ORANGE4))->GetCheck())		data[0] |= 0x10;
  11.386 +	if(((CButton*)GetDlgItem(IDC_ORANGE5))->GetCheck())		data[0] |= 0x08;
  11.387 +	if(((CButton*)GetDlgItem(IDC_ORANGE6))->GetCheck())		data[0] |= 0x04;
  11.388 +	if(((CButton*)GetDlgItem(IDC_ORANGE7))->GetCheck())		data[0] |= 0x02;
  11.389 +	if(((CButton*)GetDlgItem(IDC_ORANGE8))->GetCheck())		data[0] |= 0x01;
  11.390 +	if(((CButton*)GetDlgItem(IDC_ORANGE0))->GetCheck())		data[1] |= 0x80;
  11.391 +
  11.392 +	IMON_Display_SetLcdOrangeIcon(data[0], data[1]);
  11.393 +}
  11.394 +
  11.395 +void CDisplayTestDlg::OnLcdMediaTypeIcon()
  11.396 +{
  11.397 +	BYTE data = 0;
  11.398 +
  11.399 +	if(((CButton*)GetDlgItem(IDC_MUSIC))->GetCheck())		data |= 0x80;
  11.400 +	if(((CButton*)GetDlgItem(IDC_MOVIE))->GetCheck())		data |= 0x40;
  11.401 +	if(((CButton*)GetDlgItem(IDC_PHOTO))->GetCheck())		data |= 0x20;
  11.402 +	if(((CButton*)GetDlgItem(IDC_CD))->GetCheck())			data |= 0x10;
  11.403 +	if(((CButton*)GetDlgItem(IDC_TV))->GetCheck())			data |= 0x08;
  11.404 +	if(((CButton*)GetDlgItem(IDC_WEBCASTING))->GetCheck())	data |= 0x04;
  11.405 +	if(((CButton*)GetDlgItem(IDC_NEWS))->GetCheck())		data |= 0x02;
  11.406 +
  11.407 +	IMON_Display_SetLcdMediaTypeIcon(data);
  11.408 +}
  11.409 +
  11.410 +void CDisplayTestDlg::OnLcdSpeakerIcon()
  11.411 +{
  11.412 +	BYTE data[2];
  11.413 +	memset(data, 0, sizeof(BYTE)*2);
  11.414 +
  11.415 +	if(((CButton*)GetDlgItem(IDC_SPK_L))->GetCheck())		data[0] |= 0x80;
  11.416 +	if(((CButton*)GetDlgItem(IDC_SPK_C))->GetCheck())		data[0] |= 0x40;
  11.417 +	if(((CButton*)GetDlgItem(IDC_SPK_R))->GetCheck())		data[0] |= 0x20;
  11.418 +	if(((CButton*)GetDlgItem(IDC_SPK_SL))->GetCheck())		data[0] |= 0x10;
  11.419 +	if(((CButton*)GetDlgItem(IDC_SPK_LFE))->GetCheck())		data[0] |= 0x08;
  11.420 +	if(((CButton*)GetDlgItem(IDC_SPK_SR))->GetCheck())		data[0] |= 0x04;
  11.421 +	if(((CButton*)GetDlgItem(IDC_SPK_RL))->GetCheck())		data[0] |= 0x02;
  11.422 +	if(((CButton*)GetDlgItem(IDC_SPK_SPDIF))->GetCheck())	data[0] |= 0x01;
  11.423 +	if(((CButton*)GetDlgItem(IDC_SPK_RR))->GetCheck())		data[1] |= 0x80;
  11.424 +
  11.425 +	IMON_Display_SetLcdSpeakerIcon(data[0], data[1]);
  11.426 +}
  11.427 +
  11.428 +void CDisplayTestDlg::OnLcdVideoCodecIcon()
  11.429 +{
  11.430 +	BYTE data = 0;
  11.431 +
  11.432 +	if(((CButton*)GetDlgItem(IDC_AV_MPG))->GetCheck())		data |= 0x80;
  11.433 +	if(((CButton*)GetDlgItem(IDC_AV_DIVX))->GetCheck())		data |= 0x40;
  11.434 +	if(((CButton*)GetDlgItem(IDC_AV_XVID))->GetCheck())		data |= 0x20;
  11.435 +	if(((CButton*)GetDlgItem(IDC_AV_WMV))->GetCheck())		data |= 0x10;
  11.436 +	if(((CButton*)GetDlgItem(IDC_AV_MPA))->GetCheck())		data |= 0x08;
  11.437 +	if(((CButton*)GetDlgItem(IDC_AV_AC3))->GetCheck())		data |= 0x04;
  11.438 +	if(((CButton*)GetDlgItem(IDC_AV_DTS))->GetCheck())		data |= 0x02;
  11.439 +	if(((CButton*)GetDlgItem(IDC_AV_WMA))->GetCheck())		data |= 0x01;
  11.440 +
  11.441 +	IMON_Display_SetLcdVideoCodecIcon(data);
  11.442 +}
  11.443 +
  11.444 +void CDisplayTestDlg::OnLcdAudioCodecIcon()
  11.445 +{
  11.446 +	BYTE data = 0;
  11.447 +
  11.448 +	if(((CButton*)GetDlgItem(IDC_A_MP3))->GetCheck())		data |= 0x80;
  11.449 +	if(((CButton*)GetDlgItem(IDC_A_OGG))->GetCheck())		data |= 0x40;
  11.450 +	if(((CButton*)GetDlgItem(IDC_A_WMA))->GetCheck())		data |= 0x20;
  11.451 +	if(((CButton*)GetDlgItem(IDC_A_WAV))->GetCheck())		data |= 0x10;
  11.452 +
  11.453 +	IMON_Display_SetLcdAudioCodecIcon(data);
  11.454 +}
  11.455 +
  11.456 +void CDisplayTestDlg::OnLcdAspectRatioIcon()
  11.457 +{
  11.458 +	BYTE data = 0;
  11.459 +
  11.460 +	if(((CButton*)GetDlgItem(IDC_AR_SRC))->GetCheck())		data |= 0x80;
  11.461 +	if(((CButton*)GetDlgItem(IDC_AR_FIT))->GetCheck())		data |= 0x40;
  11.462 +	if(((CButton*)GetDlgItem(IDC_AR_TV))->GetCheck())		data |= 0x20;
  11.463 +	if(((CButton*)GetDlgItem(IDC_AR_HDTV))->GetCheck())		data |= 0x10;
  11.464 +	if(((CButton*)GetDlgItem(IDC_AR_SCR1))->GetCheck())		data |= 0x08;
  11.465 +	if(((CButton*)GetDlgItem(IDC_AR_SCR2))->GetCheck())		data |= 0x04;
  11.466 +
  11.467 +	IMON_Display_SetLcdAspectRatioIcon(data);
  11.468 +}
  11.469 +
  11.470 +void CDisplayTestDlg::OnLcdEtcIcon()
  11.471 +{
  11.472 +	BYTE data = 0;
  11.473 +
  11.474 +	if(((CButton*)GetDlgItem(IDC_REPEAT))->GetCheck())		data |= 0x80;
  11.475 +	if(((CButton*)GetDlgItem(IDC_SHUFFLE))->GetCheck())		data |= 0x40;
  11.476 +	if(((CButton*)GetDlgItem(IDC_ALARM))->GetCheck())		data |= 0x20;
  11.477 +	if(((CButton*)GetDlgItem(IDC_REC))->GetCheck())			data |= 0x10;
  11.478 +	if(((CButton*)GetDlgItem(IDC_VOL))->GetCheck())			data |= 0x08;
  11.479 +	if(((CButton*)GetDlgItem(IDC_TIME))->GetCheck())		data |= 0x04;
  11.480 +
  11.481 +	IMON_Display_SetLcdEtcIcon(data);
  11.482 +}
  11.483 +
  11.484 +void CDisplayTestDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
  11.485 +{
  11.486 +	CSliderCtrl* pSliderCtrl = (CSliderCtrl*)GetDlgItem(IDC_SLIDER1);
  11.487 +	if( pSliderCtrl && pSliderCtrl->GetSafeHwnd() && 
  11.488 +		pScrollBar && pScrollBar->GetSafeHwnd() == pSliderCtrl->GetSafeHwnd() )
  11.489 +	{
  11.490 +		IMON_Display_SetLcdProgress(pSliderCtrl->GetPos(), 100);
  11.491 +	}
  11.492 +	CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
  11.493 +}
  11.494 +
  11.495 +LRESULT CDisplayTestDlg::OnDisplayPluginNotify(WPARAM wParam, LPARAM lParam)
  11.496 +{
  11.497 +	if(!GetSafeHwnd() || !IsWindow(GetSafeHwnd()))		return 0;
  11.498 +
  11.499 +	switch(wParam)
  11.500 +	{
  11.501 +	case DSPNM_PLUGIN_SUCCEED:
  11.502 +	case DSPNM_IMON_RESTARTED:
  11.503 +	case DSPNM_HW_CONNECTED:
  11.504 +		{
  11.505 +			GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);
  11.506 +			m_bVfdConnected = FALSE;
  11.507 +			m_bLcdConnected = FALSE;
  11.508 +			if((lParam & DSPN_DSP_VFD) == DSPN_DSP_VFD)		m_bVfdConnected = TRUE;
  11.509 +			if((lParam & DSPN_DSP_LCD) == DSPN_DSP_LCD)		m_bLcdConnected = TRUE;
  11.510 +			UpdateControlUI();
  11.511 +
  11.512 +			DisplayPluginMessage(wParam, FALSE);
  11.513 +		}
  11.514 +		break;
  11.515 +
  11.516 +	case DSPNM_PLUGIN_FAILED:
  11.517 +	case DSPNM_HW_DISCONNECTED:
  11.518 +	case DSPNM_IMON_CLOSED:
  11.519 +		{
  11.520 +			GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);
  11.521 +			m_bVfdConnected = FALSE;
  11.522 +			m_bLcdConnected = FALSE;
  11.523 +			UpdateControlUI();
  11.524 +
  11.525 +			DisplayPluginMessage(lParam, TRUE);
  11.526 +		}
  11.527 +		break;
  11.528 +
  11.529 +	case DSPNM_LCD_TEXT_SCROLL_DONE:
  11.530 +		{
  11.531 +			TRACE(_T("LCD Text Scroll Finished.\n"));
  11.532 +		}
  11.533 +		break;
  11.534 +	}
  11.535 +	return 0;
  11.536 +}
  11.537 +
  11.538 +void CDisplayTestDlg::Init()
  11.539 +{
  11.540 +	Uninit();
  11.541 +
  11.542 +	IMON_Display_Init(this->GetSafeHwnd(), WM_DSP_PLUGIN_NOTIFY);
  11.543 +	GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);
  11.544 +}
  11.545 +
  11.546 +void CDisplayTestDlg::Uninit()
  11.547 +{
  11.548 +	IMON_Display_Uninit();
  11.549 +
  11.550 +	m_bVfdConnected = FALSE;
  11.551 +	m_bLcdConnected = FALSE;
  11.552 +
  11.553 +	for(int i=IDC_ORANGE1;i<=IDC_AR_SCR2;i++)
  11.554 +	{
  11.555 +		if(GetDlgItem(i))
  11.556 +			((CButton*)GetDlgItem(i))->SetCheck(FALSE);
  11.557 +	}
  11.558 +	CSliderCtrl* pSliderCtrl = (CSliderCtrl*)GetDlgItem(IDC_SLIDER1);
  11.559 +	if(pSliderCtrl)	pSliderCtrl->SetPos(0);
  11.560 +
  11.561 +	UpdateControlUI();
  11.562 +}
  11.563 +
  11.564 +void CDisplayTestDlg::DisplayPluginMessage(UINT uErrCode, BOOL bError)
  11.565 +{
  11.566 +	CString strErrMsg = _T("");
  11.567 +
  11.568 +	if(bError)
  11.569 +	{
  11.570 +		switch(uErrCode)
  11.571 +		{
  11.572 +		case DSPN_ERR_IN_USED:			strErrMsg = _T("Display Plug-in is Already Used by Other Application.");		break;
  11.573 +		case DSPN_ERR_HW_DISCONNECTED:	strErrMsg = _T("iMON HW is Not Connected.");									break;
  11.574 +		case DSPN_ERR_NOT_SUPPORTED_HW:	strErrMsg = _T("The Connected iMON HW doesn't Support Display Plug-in.");		break;
  11.575 +		case DSPN_ERR_PLUGIN_DISABLED:	strErrMsg = _T("Display Plug-in Mode Option is Disabled.");						break;
  11.576 +		case DSPN_ERR_IMON_NO_REPLY:	strErrMsg = _T("The Latest iMON is Not Installed or iMON Not Running.");		break;
  11.577 +		case DSPN_ERR_UNKNOWN:			strErrMsg = _T("Unknown Failure.");												break;
  11.578 +		}
  11.579 +	}
  11.580 +	else
  11.581 +	{
  11.582 +		switch(uErrCode)
  11.583 +		{
  11.584 +		case DSPNM_PLUGIN_SUCCEED:		strErrMsg = _T("Plug-in Mode Inited Successfully.");		break;
  11.585 +		case DSPNM_IMON_RESTARTED:		strErrMsg = _T("iMON Started and Plug-in Mode Inited.");		break;
  11.586 +		case DSPNM_HW_CONNECTED:		strErrMsg = _T("iMON HW Connected and Plug-in Mode Inited.");	break;
  11.587 +		}
  11.588 +	}
  11.589 +	GetDlgItem(IDC_STATIC_INFO)->SetWindowText((LPCTSTR)strErrMsg);
  11.590 +}
  11.591 +
  11.592 +void CDisplayTestDlg::UpdateControlUI()
  11.593 +{
  11.594 +	GetDlgItem(IDC_STATIC_INFO)->SetWindowText(_T(""));
  11.595 +	
  11.596 +	if(IMON_Display_IsInited() != DSP_S_INITED)		GetDlgItem(IDC_BUTTON1)->SetWindowText(_T("Init Plug-in"));
  11.597 +	else											GetDlgItem(IDC_BUTTON1)->SetWindowText(_T("Uninit Plug-in"));
  11.598 +
  11.599 +	for(int i=IDC_EDIT1;i<=IDC_BUTTON3;i++)
  11.600 +	{
  11.601 +		if(GetDlgItem(i))
  11.602 +			GetDlgItem(i)->EnableWindow(m_bVfdConnected);
  11.603 +	}
  11.604 +	for(int i=IDC_BUTTON6;i<=IDC_BUTTON8;i++)
  11.605 +	{
  11.606 +		if(GetDlgItem(i))
  11.607 +			GetDlgItem(i)->EnableWindow(m_bVfdConnected);
  11.608 +	}
  11.609 +	for(int i=IDC_EDIT3;i<=IDC_SLIDER1;i++)
  11.610 +	{
  11.611 +		if(GetDlgItem(i))
  11.612 +			GetDlgItem(i)->EnableWindow(m_bLcdConnected);
  11.613 +	}
  11.614 +}
  11.615 +
  11.616 +
  11.617 +
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/iMONDisplayApiSample/DisplayTest/DisplayTestDlg.h	Sun Apr 14 22:40:46 2013 +0200
    12.3 @@ -0,0 +1,67 @@
    12.4 +// DisplayTestDlg.h : header file
    12.5 +//
    12.6 +
    12.7 +#pragma once
    12.8 +
    12.9 +#define WM_DSP_PLUGIN_NOTIFY	WM_APP + 1001
   12.10 +
   12.11 +// CDisplayTestDlg dialog
   12.12 +class CDisplayTestDlg : public CDialog
   12.13 +{
   12.14 +// Construction
   12.15 +public:
   12.16 +	CDisplayTestDlg(CWnd* pParent = NULL);	// standard constructor
   12.17 +
   12.18 +// Dialog Data
   12.19 +	enum { IDD = IDD_DISPLAYTEST_DIALOG };
   12.20 +	CString m_strLine1;
   12.21 +	CString m_strLine2;
   12.22 +	CString m_strLine3;
   12.23 +
   12.24 +	protected:
   12.25 +	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
   12.26 +
   12.27 +
   12.28 +// Implementation
   12.29 +protected:
   12.30 +	HICON m_hIcon;
   12.31 +
   12.32 +	UINT m_uEqTimer;
   12.33 +	UINT m_uEqTimer2;
   12.34 +	BOOL m_bVfdConnected;
   12.35 +	BOOL m_bLcdConnected;
   12.36 +
   12.37 +	void Init();
   12.38 +	void Uninit();
   12.39 +	void DisplayPluginMessage(UINT uErrCode, BOOL bError);
   12.40 +	void UpdateControlUI();
   12.41 +
   12.42 +	// Generated message map functions
   12.43 +	virtual BOOL OnInitDialog();
   12.44 +	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
   12.45 +	afx_msg void OnPaint();
   12.46 +	afx_msg HCURSOR OnQueryDragIcon();
   12.47 +	afx_msg void OnDestroy();
   12.48 +	afx_msg void OnTimer(UINT nIDEvent);
   12.49 +	DECLARE_MESSAGE_MAP()
   12.50 +
   12.51 +	afx_msg void OnBnClickedButtonInit();
   12.52 +	afx_msg void OnBnClickedButtonVfdSendText();
   12.53 +	afx_msg void OnBnClickedButtonVfdRandomEq();
   12.54 +	afx_msg void OnBnClickedButtonLcdSendText();
   12.55 +	afx_msg void OnBnClickedButtonLcdRandomEq();
   12.56 +	afx_msg void OnLcdOrangeIcon();
   12.57 +	afx_msg void OnLcdMediaTypeIcon();
   12.58 +	afx_msg void OnLcdSpeakerIcon();
   12.59 +	afx_msg void OnLcdVideoCodecIcon();
   12.60 +	afx_msg void OnLcdAudioCodecIcon();
   12.61 +	afx_msg void OnLcdAspectRatioIcon();
   12.62 +	afx_msg void OnLcdEtcIcon();
   12.63 +	afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
   12.64 +
   12.65 +	afx_msg LRESULT OnDisplayPluginNotify(WPARAM, LPARAM);
   12.66 +public:
   12.67 +	afx_msg void OnBnClickedScrollChar();
   12.68 +	afx_msg void OnBnClickedNextChar();
   12.69 +	afx_msg void OnBnClickedPreviousChar();
   12.70 +};
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/iMONDisplayApiSample/DisplayTest/ReadMe.txt	Sun Apr 14 22:40:46 2013 +0200
    13.3 @@ -0,0 +1,93 @@
    13.4 +================================================================================
    13.5 +    MICROSOFT FOUNDATION CLASS LIBRARY : DisplayTest Project Overview
    13.6 +===============================================================================
    13.7 +
    13.8 +The application wizard has created this DisplayTest application for 
    13.9 +you.  This application not only demonstrates the basics of using the Microsoft 
   13.10 +Foundation Classes but is also a starting point for writing your application.
   13.11 +
   13.12 +This file contains a summary of what you will find in each of the files that
   13.13 +make up your DisplayTest application.
   13.14 +
   13.15 +DisplayTest.vcproj
   13.16 +    This is the main project file for VC++ projects generated using an application wizard. 
   13.17 +    It contains information about the version of Visual C++ that generated the file, and 
   13.18 +    information about the platforms, configurations, and project features selected with the
   13.19 +    application wizard.
   13.20 +
   13.21 +DisplayTest.h
   13.22 +    This is the main header file for the application.  It includes other
   13.23 +    project specific headers (including Resource.h) and declares the
   13.24 +    CDisplayTestApp application class.
   13.25 +
   13.26 +DisplayTest.cpp
   13.27 +    This is the main application source file that contains the application
   13.28 +    class CDisplayTestApp.
   13.29 +
   13.30 +DisplayTest.rc
   13.31 +    This is a listing of all of the Microsoft Windows resources that the
   13.32 +    program uses.  It includes the icons, bitmaps, and cursors that are stored
   13.33 +    in the RES subdirectory.  This file can be directly edited in Microsoft
   13.34 +    Visual C++. Your project resources are in 1033.
   13.35 +
   13.36 +res\DisplayTest.ico
   13.37 +    This is an icon file, which is used as the application's icon.  This
   13.38 +    icon is included by the main resource file DisplayTest.rc.
   13.39 +
   13.40 +res\DisplayTest.rc2
   13.41 +    This file contains resources that are not edited by Microsoft 
   13.42 +    Visual C++. You should place all resources not editable by
   13.43 +    the resource editor in this file.
   13.44 +
   13.45 +
   13.46 +/////////////////////////////////////////////////////////////////////////////
   13.47 +
   13.48 +The application wizard creates one dialog class:
   13.49 +
   13.50 +DisplayTestDlg.h, DisplayTestDlg.cpp - the dialog
   13.51 +    These files contain your CDisplayTestDlg class.  This class defines
   13.52 +    the behavior of your application's main dialog.  The dialog's template is
   13.53 +    in DisplayTest.rc, which can be edited in Microsoft Visual C++.
   13.54 +
   13.55 +
   13.56 +/////////////////////////////////////////////////////////////////////////////
   13.57 +
   13.58 +Other Features:
   13.59 +
   13.60 +ActiveX Controls
   13.61 +    The application includes support to use ActiveX controls.
   13.62 +
   13.63 +/////////////////////////////////////////////////////////////////////////////
   13.64 +
   13.65 +Other standard files:
   13.66 +
   13.67 +StdAfx.h, StdAfx.cpp
   13.68 +    These files are used to build a precompiled header (PCH) file
   13.69 +    named DisplayTest.pch and a precompiled types file named StdAfx.obj.
   13.70 +
   13.71 +Resource.h
   13.72 +    This is the standard header file, which defines new resource IDs.
   13.73 +    Microsoft Visual C++ reads and updates this file.
   13.74 +
   13.75 +DisplayTest.manifest
   13.76 +	Application manifest files are used by Windows XP to describe an applications 
   13.77 +	dependency on specific versions of Side-by-Side assemblies. The loader uses this 
   13.78 +	information to load the appropriate assembly from the assembly cache or private 
   13.79 +	from the application. The Application manifest  maybe included for redistribution 
   13.80 +	as an external .manifest file that is installed in the same folder as the application 
   13.81 +	executable or it may be included in the executable in the form of a resource. 
   13.82 +/////////////////////////////////////////////////////////////////////////////
   13.83 +
   13.84 +Other notes:
   13.85 +
   13.86 +The application wizard uses "TODO:" to indicate parts of the source code you
   13.87 +should add to or customize.
   13.88 +
   13.89 +If your application uses MFC in a shared DLL, you will need 
   13.90 +to redistribute the MFC DLLs. If your application is in a language 
   13.91 +other than the operating system's locale, you will also have to 
   13.92 +redistribute the corresponding localized resources MFC80XXX.DLL. 
   13.93 +For more information on both of these topics, please see the section on 
   13.94 +redistributing Visual C++ applications in MSDN documentation. 
   13.95 +
   13.96 +/////////////////////////////////////////////////////////////////////////////
    14.1 Binary file iMONDisplayApiSample/DisplayTest/iMONDisplay.dll has changed
    15.1 Binary file iMONDisplayApiSample/DisplayTest/res/DisplayTest.ico has changed
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/iMONDisplayApiSample/DisplayTest/res/DisplayTest.rc2	Sun Apr 14 22:40:46 2013 +0200
    16.3 @@ -0,0 +1,13 @@
    16.4 +//
    16.5 +// DisplayTest.RC2 - resources Microsoft Visual C++ does not edit directly
    16.6 +//
    16.7 +
    16.8 +#ifdef APSTUDIO_INVOKED
    16.9 +#error this file is not editable by Microsoft Visual C++
   16.10 +#endif //APSTUDIO_INVOKED
   16.11 +
   16.12 +
   16.13 +/////////////////////////////////////////////////////////////////////////////
   16.14 +// Add manually edited resources here...
   16.15 +
   16.16 +/////////////////////////////////////////////////////////////////////////////
    17.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.2 +++ b/iMONDisplayApiSample/DisplayTest/resource.h	Sun Apr 14 22:40:46 2013 +0200
    17.3 @@ -0,0 +1,82 @@
    17.4 +//{{NO_DEPENDENCIES}}
    17.5 +// Microsoft Visual C++ generated include file.
    17.6 +// Used by DisplayTest.rc
    17.7 +//
    17.8 +#define IDM_ABOUTBOX                    0x0010
    17.9 +#define IDD_ABOUTBOX                    100
   17.10 +#define IDS_ABOUTBOX                    101
   17.11 +#define IDD_DISPLAYTEST_DIALOG          102
   17.12 +#define IDR_MAINFRAME                   128
   17.13 +#define IDC_BUTTON1                     1000
   17.14 +#define IDC_EDIT1                       1001
   17.15 +#define IDC_EDIT2                       1002
   17.16 +#define IDC_BUTTON2                     1003
   17.17 +#define IDC_BUTTON3                     1004
   17.18 +#define IDC_STATIC_INFO                 1005
   17.19 +#define IDC_EDIT3                       1006
   17.20 +#define IDC_BUTTON4                     1007
   17.21 +#define IDC_BUTTON5                     1008
   17.22 +#define IDC_ORANGE1                     1009
   17.23 +#define IDC_ORANGE2                     1010
   17.24 +#define IDC_ORANGE3                     1011
   17.25 +#define IDC_ORANGE4                     1012
   17.26 +#define IDC_ORANGE5                     1013
   17.27 +#define IDC_ORANGE6                     1014
   17.28 +#define IDC_ORANGE7                     1015
   17.29 +#define IDC_ORANGE8                     1016
   17.30 +#define IDC_ORANGE0                     1017
   17.31 +#define IDC_MUSIC                       1018
   17.32 +#define IDC_MOVIE                       1019
   17.33 +#define IDC_PHOTO                       1020
   17.34 +#define IDC_CD                          1021
   17.35 +#define IDC_TV                          1022
   17.36 +#define IDC_WEBCASTING                  1023
   17.37 +#define IDC_NEWS                        1024
   17.38 +#define IDC_SPK_L                       1025
   17.39 +#define IDC_SPK_C                       1026
   17.40 +#define IDC_SPK_R                       1027
   17.41 +#define IDC_SPK_SL                      1028
   17.42 +#define IDC_SPK_LFE                     1029
   17.43 +#define IDC_SPK_SR                      1030
   17.44 +#define IDC_SPK_RL                      1031
   17.45 +#define IDC_SPK_SPDIF                   1032
   17.46 +#define IDC_SPK_RR                      1033
   17.47 +#define IDC_REPEAT                      1034
   17.48 +#define IDC_SHUFFLE                     1035
   17.49 +#define IDC_ALARM                       1036
   17.50 +#define IDC_REC                         1037
   17.51 +#define IDC_VOL                         1038
   17.52 +#define IDC_TIME                        1039
   17.53 +#define IDC_AV_MPG                      1040
   17.54 +#define IDC_AV_DIVX                     1041
   17.55 +#define IDC_AV_XVID                     1042
   17.56 +#define IDC_AV_WMV                      1043
   17.57 +#define IDC_AV_MPA                      1044
   17.58 +#define IDC_AV_AC3                      1045
   17.59 +#define IDC_AV_DTS                      1046
   17.60 +#define IDC_AV_WMA                      1047
   17.61 +#define IDC_A_MP3                       1048
   17.62 +#define IDC_A_OGG                       1049
   17.63 +#define IDC_A_WMA                       1050
   17.64 +#define IDC_A_WAV                       1051
   17.65 +#define IDC_AR_SRC                      1052
   17.66 +#define IDC_AR_FIT                      1053
   17.67 +#define IDC_AR_TV                       1054
   17.68 +#define IDC_AR_HDTV                     1055
   17.69 +#define IDC_AR_SCR1                     1056
   17.70 +#define IDC_AR_SCR2                     1057
   17.71 +#define IDC_SLIDER1                     1058
   17.72 +#define IDC_BUTTON6                     1059
   17.73 +#define IDC_BUTTON7                     1060
   17.74 +#define IDC_BUTTON8                     1062
   17.75 +
   17.76 +// Next default values for new objects
   17.77 +// 
   17.78 +#ifdef APSTUDIO_INVOKED
   17.79 +#ifndef APSTUDIO_READONLY_SYMBOLS
   17.80 +#define _APS_NEXT_RESOURCE_VALUE        129
   17.81 +#define _APS_NEXT_COMMAND_VALUE         32771
   17.82 +#define _APS_NEXT_CONTROL_VALUE         1059
   17.83 +#define _APS_NEXT_SYMED_VALUE           101
   17.84 +#endif
   17.85 +#endif
    18.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.2 +++ b/iMONDisplayApiSample/DisplayTest/stdafx.cpp	Sun Apr 14 22:40:46 2013 +0200
    18.3 @@ -0,0 +1,7 @@
    18.4 +// stdafx.cpp : source file that includes just the standard includes
    18.5 +// DisplayTest.pch will be the pre-compiled header
    18.6 +// stdafx.obj will contain the pre-compiled type information
    18.7 +
    18.8 +#include "stdafx.h"
    18.9 +
   18.10 +
    19.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.2 +++ b/iMONDisplayApiSample/DisplayTest/stdafx.h	Sun Apr 14 22:40:46 2013 +0200
    19.3 @@ -0,0 +1,72 @@
    19.4 +// stdafx.h : include file for standard system include files,
    19.5 +// or project specific include files that are used frequently,
    19.6 +// but are changed infrequently
    19.7 +
    19.8 +#pragma once
    19.9 +
   19.10 +#ifndef _SECURE_ATL
   19.11 +#define _SECURE_ATL 1
   19.12 +#endif
   19.13 +
   19.14 +#ifndef VC_EXTRALEAN
   19.15 +#define VC_EXTRALEAN		// Exclude rarely-used stuff from Windows headers
   19.16 +#endif
   19.17 +
   19.18 +// Modify the following defines if you have to target a platform prior to the ones specified below.
   19.19 +// Refer to MSDN for the latest info on corresponding values for different platforms.
   19.20 +#ifndef WINVER				// Allow use of features specific to Windows XP or later.
   19.21 +#define WINVER 0x0501		// Change this to the appropriate value to target other versions of Windows.
   19.22 +#endif
   19.23 +
   19.24 +#ifndef _WIN32_WINNT		// Allow use of features specific to Windows XP or later.                   
   19.25 +#define _WIN32_WINNT 0x0501	// Change this to the appropriate value to target other versions of Windows.
   19.26 +#endif						
   19.27 +
   19.28 +#ifndef _WIN32_WINDOWS		// Allow use of features specific to Windows 98 or later.
   19.29 +#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
   19.30 +#endif
   19.31 +
   19.32 +#ifndef _WIN32_IE			// Allow use of features specific to IE 6.0 or later.
   19.33 +#define _WIN32_IE 0x0600	// Change this to the appropriate value to target other versions of IE.
   19.34 +#endif
   19.35 +
   19.36 +#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS	// some CString constructors will be explicit
   19.37 +
   19.38 +// turns off MFC's hiding of some common and often safely ignored warning messages
   19.39 +#define _AFX_ALL_WARNINGS
   19.40 +
   19.41 +#include <afxwin.h>         // MFC core and standard components
   19.42 +#include <afxext.h>         // MFC extensions
   19.43 +
   19.44 +
   19.45 +#include <afxdisp.h>        // MFC Automation classes
   19.46 +
   19.47 +
   19.48 +
   19.49 +#ifndef _AFX_NO_OLE_SUPPORT
   19.50 +#include <afxdtctl.h>		// MFC support for Internet Explorer 4 Common Controls
   19.51 +#endif
   19.52 +#ifndef _AFX_NO_AFXCMN_SUPPORT
   19.53 +#include <afxcmn.h>			// MFC support for Windows Common Controls
   19.54 +#endif // _AFX_NO_AFXCMN_SUPPORT
   19.55 +
   19.56 +#include "..\\..\\API\\iMONDisplayAPI.h"
   19.57 +#pragma comment(lib, "..\\..\\API\\iMONDisplay.lib")
   19.58 +
   19.59 +
   19.60 +
   19.61 +
   19.62 +
   19.63 +#ifdef _UNICODE
   19.64 +#if defined _M_IX86
   19.65 +#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
   19.66 +#elif defined _M_IA64
   19.67 +#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
   19.68 +#elif defined _M_X64
   19.69 +#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
   19.70 +#else
   19.71 +#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
   19.72 +#endif
   19.73 +#endif
   19.74 +
   19.75 +