[BRLTTY] [PATCH] add a verbose space speech setting

Nicolas Pitre nico at fluxnic.net
Wed May 16 22:11:02 EDT 2012


This introduce another speech option to determine if whitespaces are 
explicitly spoken, or if they remain silent.

The default is to remain silent which was the autospeak behavior before 
the last set of speech enhancements.

diff --git a/Programs/brltty.c b/Programs/brltty.c
index 4ecf01b..4e7b662 100644
--- a/Programs/brltty.c
+++ b/Programs/brltty.c
@@ -571,9 +571,11 @@ speakCharacters (const ScreenCharacter *characters, size_t count, int spell) {
   int immediate = 1;
 
   if (findFirstNonblankCharacter(characters, count) < 0) {
-    wchar_t buffer[0X100];
-    size_t length = convertTextToWchars(buffer, gettext("space"), ARRAY_COUNT(buffer));
-    sayWideCharacters(buffer, NULL, length, immediate);
+    if (prefs.autospeakVerboseSpaces) {
+      wchar_t buffer[0X100];
+      size_t length = convertTextToWchars(buffer, gettext("space"), ARRAY_COUNT(buffer));
+      sayWideCharacters(buffer, NULL, length, immediate);
+    } else if (immediate) speech->mute(&spk); 
   } else if (count == 1) {
     wchar_t character = characters[0].text;
     const char *prefix = NULL;
diff --git a/Programs/config.c b/Programs/config.c
index c8ba02a..d6bccb8 100644
--- a/Programs/config.c
+++ b/Programs/config.c
@@ -1582,6 +1582,12 @@ makePreferencesMenu (void) {
     }
 
     {
+      NAME(strtext("Speak Spaces Verbosely"));
+      ITEM(newBooleanMenuItem(speechSubmenu, &prefs.autospeakVerboseSpaces, &itemName));
+      TEST(Autospeak);
+    }
+
+    {
       NAME(strtext("Show Speech Cursor"));
       ITEM(newBooleanMenuItem(speechSubmenu, &prefs.showSpeechCursor, &itemName));
     }
diff --git a/Programs/defaults.h b/Programs/defaults.h
index 664fbcf..e075c5c 100644
--- a/Programs/defaults.h
+++ b/Programs/defaults.h
@@ -107,6 +107,7 @@ extern "C" {
 #define DEFAULT_AUTOSPEAK_DELETED_CHARACTERS 1
 #define DEFAULT_AUTOSPEAK_REPLACED_CHARACTERS 1
 #define DEFAULT_AUTOSPEAK_COMPLETED_WORDS 1
+#define DEFAULT_AUTOSPEAK_VERBOSE_SPACES 0
 
 #define DEFAULT_SHOW_SPEECH_CURSOR 0
 #define DEFAULT_SPEECH_CURSOR_STYLE csLowerRightDot
diff --git a/Programs/prefs.c b/Programs/prefs.c
index 092f362..a637bfe 100644
--- a/Programs/prefs.c
+++ b/Programs/prefs.c
@@ -416,6 +416,12 @@ static const PreferenceEntry preferenceTable[] = {
     .setting = &prefs.autospeakCompletedWords
   },
 
+  { .name = "verbose-spaces",
+    .defaultValue = DEFAULT_AUTOSPEAK_VERBOSE_SPACES,
+    .settingNames = &preferenceStringTable_boolean,
+    .setting = &prefs.autospeakVerboseSpaces
+  },
+
   { .name = "show-speech-cursor",
     .defaultValue = DEFAULT_SHOW_SPEECH_CURSOR,
     .settingNames = &preferenceStringTable_boolean,
diff --git a/Programs/prefs.h b/Programs/prefs.h
index b0ed31f..50a363f 100644
--- a/Programs/prefs.h
+++ b/Programs/prefs.h
@@ -138,6 +138,7 @@ typedef struct {
   unsigned char autospeakDeletedCharacters;
   unsigned char autospeakReplacedCharacters;
   unsigned char autospeakCompletedWords;
+  unsigned char autospeakVerboseSpaces;
 
   unsigned char saveOnExit;
   unsigned char showAllItems;


More information about the BRLTTY mailing list