SoundGraphAccess.cpp
changeset 4 0b9403db32ef
parent 3 e4cac218e73f
child 5 d8eb6be0f3d5
     1.1 --- a/SoundGraphAccess.cpp	Fri Feb 08 17:43:02 2013 +0100
     1.2 +++ b/SoundGraphAccess.cpp	Fri Feb 08 18:40:08 2013 +0100
     1.3 @@ -11,6 +11,7 @@
     1.4  #define WM_IMON_UNINIT					WM_APP + 1102
     1.5  #define WM_IMON_IS_INIT					WM_APP + 1103
     1.6  #define WM_IMON_IS_PLUGIN_MODE_ENABLED	WM_APP + 1104
     1.7 +#define WM_IMON_DISPLAY_SET_VFD_TEXT	WM_APP + 1105
     1.8  
     1.9  //
    1.10  #define MAX_LOADSTRING 100
    1.11 @@ -31,6 +32,11 @@
    1.12  
    1.13  char gBufferReceiver[256];
    1.14  char gBufferSender[256];
    1.15 +//
    1.16 +char gTextFirstLine[256];
    1.17 +char gTextSecondLine[256];
    1.18 +wchar_t gTextFirstLine16[256];
    1.19 +wchar_t gTextSecondLine16[256];
    1.20  
    1.21  //
    1.22  HWND gWnd;
    1.23 @@ -59,6 +65,8 @@
    1.24  const char KMsgUninit[]="uninit:";
    1.25  const char KMsgIsInit[]="is-init:";
    1.26  const char KMsgIsPluginModeEnabled[]="is-plugin-mode-enabled:";
    1.27 +const char KMsgSetVfdText[]="set-vfd-text:";
    1.28 +
    1.29  
    1.30  /**
    1.31  Send a message to our server.
    1.32 @@ -103,6 +111,18 @@
    1.33  		SendMessageToServer(KRspPending);
    1.34  		PostMessage(gWnd,WM_IMON_IS_INIT,0,0);		
    1.35  		}
    1.36 +	else if (strstr(aMsg,KMsgSetVfdText)==aMsg)
    1.37 +		{
    1.38 +		int textLen=strlen(aMsg)-strlen(KMsgSetVfdText);
    1.39 +		strncpy(gTextFirstLine,aMsg+strlen(KMsgSetVfdText),textLen);
    1.40 +		gTextFirstLine[textLen]='\0';
    1.41 +		OutputDebugStringA(gTextFirstLine);
    1.42 +		int convertedChars = MultiByteToWideChar(CP_UTF8, 0, gTextFirstLine, -1, gTextFirstLine16, sizeof(gTextFirstLine16));
    1.43 +		OutputDebugString(gTextFirstLine16);
    1.44 +		//IMON API call need to be done from window thread for some reason
    1.45 +		SendMessageToServer(KRspPending);
    1.46 +		PostMessage(gWnd,WM_IMON_DISPLAY_SET_VFD_TEXT,0,0);		
    1.47 +		}
    1.48  	else
    1.49  		{		
    1.50  		SendMessageToServer(KRspUnknown);
    1.51 @@ -191,6 +211,12 @@
    1.52  	UNREFERENCED_PARAMETER(hPrevInstance);
    1.53  	UNREFERENCED_PARAMETER(lpCmdLine);
    1.54  
    1.55 +	gTextFirstLine[0]='\0';
    1.56 +	gTextSecondLine[0]='\0';
    1.57 +	gTextFirstLine16[0]='\0';
    1.58 +	gTextSecondLine16[0]='\0';
    1.59 +
    1.60 +
    1.61  	// TODO: Place code here.
    1.62  	MSG msg;
    1.63  	HACCEL hAccelTable;
    1.64 @@ -427,7 +453,17 @@
    1.65  			SendMessageToServer(KRspFalse);
    1.66  			}
    1.67  		break;
    1.68 -
    1.69 +	//
    1.70 +	case WM_IMON_DISPLAY_SET_VFD_TEXT:
    1.71 +		if (DSP_SUCCEEDED==IMON_Display_SetVfdText(gTextFirstLine16,gTextSecondLine16))
    1.72 +			{
    1.73 +			SendMessageToServer(KRspDone);
    1.74 +			}
    1.75 +		else
    1.76 +			{
    1.77 +			SendMessageToServer(KRspError);
    1.78 +			}
    1.79 +		break;
    1.80  
    1.81  	case WM_DSP_PLUGIN_NOTIFY:
    1.82  		switch(wParam)