[dasher: 3/217] Turned on speech support for Win32 app
- From: Patrick Welche <pwelche src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [dasher: 3/217] Turned on speech support for Win32 app
- Date: Sat, 27 Feb 2016 12:00:35 +0000 (UTC)
commit 5ca7758e592e2fa8b51bcc454862e445574c94e2
Author: ipomoena <ipomoena users noreply github com>
Date: Tue Jun 16 12:16:01 2015 -0700
Turned on speech support for Win32 app
Couple of uninitialized variables caused existing code to crash.
Src/Win32/Dasher.cpp | 18 ++++++++++++++++--
Src/Win32/Dasher.h | 2 +-
Src/Win32/DasherControl_vc2013.vcxproj | 13 +++++--------
Src/Win32/Dasher_vc2013.vcxproj | 8 ++++----
4 files changed, 26 insertions(+), 15 deletions(-)
---
diff --git a/Src/Win32/Dasher.cpp b/Src/Win32/Dasher.cpp
index ec98605..5de3756 100644
--- a/Src/Win32/Dasher.cpp
+++ b/Src/Win32/Dasher.cpp
@@ -43,6 +43,10 @@ CDasher::CDasher(HWND Parent, CDasherWindow *pWindow, CEdit *pEdit)
// Set up COM for the accessibility stuff
CoInitialize(NULL);
#endif
+#ifdef WIN32_SPEECH
+ pVoice = 0;
+ m_bAttemptedSpeech = false;
+#endif
DWORD dwTicks = GetTickCount();
@@ -61,6 +65,13 @@ CDasher::CDasher(HWND Parent, CDasherWindow *pWindow, CEdit *pEdit)
CDasher::~CDasher(void) {
// WriteTrainFileFull();
delete m_pCanvas;
+#ifdef WIN32_SPEECH
+ if (pVoice) {
+ pVoice->Release();
+ pVoice = 0;
+ m_bAttemptedSpeech = false;
+ }
+#endif
}
void CDasher::CreateModules() {
@@ -289,8 +300,11 @@ bool CDasher::SupportsSpeech() {
void CDasher::Speak(const string &strText, bool bInterrupt) {
//ACL TODO - take account of bInterrupt
- if (pVoice)
- pVoice->Speak(strText.c_str(), SPF_ASYNC, NULL);
+ if (pVoice) {
+ Tstring wideText;
+ UTF8string_to_wstring(strText, wideText);
+ pVoice->Speak(wideText.c_str(), SPF_ASYNC, NULL);
+ }
}
#endif
diff --git a/Src/Win32/Dasher.h b/Src/Win32/Dasher.h
index 3b4c114..23eb8e2 100644
--- a/Src/Win32/Dasher.h
+++ b/Src/Win32/Dasher.h
@@ -77,7 +77,7 @@ private:
CEdit *m_pEdit;
#ifdef WIN32_SPEECH
ISpVoice *pVoice;
- bool attemptedSpeech;
+ bool m_bAttemptedSpeech;
#endif
};
}
diff --git a/Src/Win32/DasherControl_vc2013.vcxproj b/Src/Win32/DasherControl_vc2013.vcxproj
index 1237239..a14bf60 100644
--- a/Src/Win32/DasherControl_vc2013.vcxproj
+++ b/Src/Win32/DasherControl_vc2013.vcxproj
@@ -88,7 +88,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>Common;.;$(TABLETSDK)\Include;$(EXPAT)\Source\lib;$(MICROSOFTSDK5)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_UNICODE;_STATIC;_WIN32_WINNT=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+
<PreprocessorDefinitions>WIN32;WIN32_SPEECH;_DEBUG;_WINDOWS;_UNICODE;_STATIC;_WIN32_WINNT=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
@@ -106,7 +106,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<AdditionalIncludeDirectories>Common;.;$(TABLETSDK)\Include;$(EXPAT)\Source\lib;$(MICROSOFTSDK5)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-
<PreprocessorDefinitions>WIN32;_WINDOWS;_UNICODE;_STATIC;_WIN32_WINNT=0x0500WIN32;_WIN32_WINNT=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+
<PreprocessorDefinitions>WIN32;WIN32_SPEECH;_WINDOWS;_UNICODE;_STATIC;_WIN32_WINNT=0x0500WIN32;_WIN32_WINNT=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@@ -124,7 +124,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>Common;.;$(TABLETSDK)\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_UNICODE;_STATIC;_WIN32_WINNT=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+
<PreprocessorDefinitions>WIN32;WIN32_SPEECH;_DEBUG;_WINDOWS;_UNICODE;_STATIC;_WIN32_WINNT=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
@@ -142,7 +142,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<AdditionalIncludeDirectories>Common;.;$(TABLETSDK)\Include;$(EXPAT)\Source\lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-
<PreprocessorDefinitions>WIN32;_WINDOWS;_UNICODE;_STATIC;_WIN32_WINNT=0x0500WIN32;_WIN32_WINNT=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+
<PreprocessorDefinitions>WIN32;WIN32_SPEECH;_WINDOWS;_UNICODE;_STATIC;_WIN32_WINNT=0x0500WIN32;_WIN32_WINNT=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@@ -214,9 +214,6 @@
<None Include="Widgets\Screen.inl" />
</ItemGroup>
<ItemGroup>
- <Text Include="ReadMe.txt" />
- </ItemGroup>
- <ItemGroup>
<ProjectReference Include="..\Common\Common_vc2013.vcxproj">
<Project>{4a4ceb83-fbc8-4e93-831e-009875e54794}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
@@ -229,4 +226,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
diff --git a/Src/Win32/Dasher_vc2013.vcxproj b/Src/Win32/Dasher_vc2013.vcxproj
index 1ed6c61..d1ba926 100644
--- a/Src/Win32/Dasher_vc2013.vcxproj
+++ b/Src/Win32/Dasher_vc2013.vcxproj
@@ -83,7 +83,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>WinCommon;Common;$(SPEECHSDK)\Include;$(TABLETSDK)\Include;C:\Program
Files\HTML Help
Workshop\include;$(EXPAT)\Source\lib;$(MICROSOFTSDK5)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_UNICODE;_STATIC;_WIN32_WINNT=0x0501;_WIN32_IE=0x0501;ISOLATION_AWARE_ENABLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+
<PreprocessorDefinitions>WIN32;WIN32_SPEECH;_DEBUG;_WINDOWS;_UNICODE;_STATIC;_WIN32_WINNT=0x0501;_WIN32_IE=0x0501;ISOLATION_AWARE_ENABLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
@@ -126,7 +126,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<AdditionalIncludeDirectories>WinCommon;Common;$(SPEECHSDK)\Include;$(TABLETSDK)\Include;$(EXPAT)\Source\lib;$(MICROSOFTSDK5)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-
<PreprocessorDefinitions>WIN32;_WINDOWS;_UNICODE;_STATIC;_WIN32_WINNT=0x0501;_WIN32_IE=0x0501;ISOLATION_AWARE_ENABLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+
<PreprocessorDefinitions>WIN32;WIN32_SPEECH;_WINDOWS;_UNICODE;_STATIC;_WIN32_WINNT=0x0501;_WIN32_IE=0x0501;ISOLATION_AWARE_ENABLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@@ -168,7 +168,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>WinCommon;Common;$(SPEECHSDK)\Include;$(TABLETSDK)\Include;C:\Program
Files\HTML Help Workshop\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_UNICODE;_STATIC;_WIN32_WINNT=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+
<PreprocessorDefinitions>WIN32;WIN32_SPEECH;_DEBUG;_WINDOWS;_UNICODE;_STATIC;_WIN32_WINNT=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
@@ -284,4 +284,4 @@
<UserProperties RESOURCE_FILE="Dasher.rc" />
</VisualStudio>
</ProjectExtensions>
-</Project>
+</Project>
\ No newline at end of file
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]