Add -analysisBell option to use move sound in analysis mode
authorH.G.Muller <hgm@hgm-xboard.(none)>
Thu, 24 Mar 2016 22:46:01 +0000 (23:46 +0100)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Tue, 29 Mar 2016 14:51:34 +0000 (16:51 +0200)
The persistent integer option -analysisBell can be used to let the
move sound play in analysis mode for every PV that arrives after the
dely (in seconds) it specifies has elapsed since the current analysis
search started.

args.h
backend.c
common.h
xboard.texi

diff --git a/args.h b/args.h
index 30ffe16..67d195e 100644 (file)
--- a/args.h
+++ b/args.h
@@ -716,6 +716,7 @@ ArgDescriptor argDescriptors[] = {
   { "messageSuppress", ArgString, (void *) &appData.suppress, XBOARD, (ArgIniType) "" },
   { "fen", ArgString, (void *) &appData.fen, FALSE, (ArgIniType) "" },
   { "men", ArgString, (void *) &appData.men, FALSE, (ArgIniType) "" },
+  { "analysisBell", ArgInt, (void *) &appData.analysisBell, TRUE, (ArgIniType) 0 },
 
 #if ZIPPY
   { "zippyTalk", ArgBoolean, (void *) &appData.zippyTalk, FALSE, (ArgIniType) ZIPPY_TALK },
index 216afc8..4a97a87 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -8057,6 +8057,9 @@ SendProgramStatsToFrontend (ChessProgramState * cps, ChessProgramStats * cpstats
 
     if(stats.pv && stats.pv[0]) safeStrCpy(lastPV[stats.which], stats.pv, sizeof(lastPV[stats.which])/sizeof(lastPV[stats.which][0])); // [HGM] pv: remember last PV of each
 
+    if( gameMode == AnalyzeMode && stats.pv && stats.pv[0]
+        && appData.analysisBell && stats.time >= 100*appData.analysisBell ) RingBell();
+
     SetProgramStats( &stats );
 }
 
index b0a30c3..c557257 100644 (file)
--- a/common.h
+++ b/common.h
@@ -553,6 +553,7 @@ typedef struct {
     char *historyFont;
     char *gameListFont;
     char *icsFont;
+    int analysisBell;
     Boolean ringBellAfterMoves;
     Boolean autoCallFlag;
     Boolean flipView;
index 2f7f3f4..32a7630 100644 (file)
@@ -3459,6 +3459,11 @@ Default: false.
 Sets the Move Sound menu option.  @xref{Options Menu}.  Default: false.
 For compatibility with old XBoard versions, -bell/-xbell are also 
 accepted as abbreviations for this option.
+@item -analysisBell N
+@cindex analysisBell, option
+When N is non-zero, the Move Sound will be played whenever a new
+PV arrives in analysis mode after more than N seconds of analysis.
+Default: 0.
 @item -exit/-xexit or -popupExitMessage true/false
 @cindex exit, option
 @cindex popupExitMessage, option