Basic support for VFD text API.
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)