2 * usounds.c -- sound handling for XBoard (through external player)
4 * Copyright 1991 by Digital Equipment Corporation, Maynard,
7 * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006,
8 * 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
10 * The following terms apply to Digital Equipment Corporation's copyright
12 * ------------------------------------------------------------------------
15 * Permission to use, copy, modify, and distribute this software and its
16 * documentation for any purpose and without fee is hereby granted,
17 * provided that the above copyright notice appear in all copies and that
18 * both that copyright notice and this permission notice appear in
19 * supporting documentation, and that the name of Digital not be
20 * used in advertising or publicity pertaining to distribution of the
21 * software without specific, written prior permission.
23 * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
24 * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
25 * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
26 * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
27 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
28 * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
30 * ------------------------------------------------------------------------
32 * The following terms apply to the enhanced version of XBoard
33 * distributed by the Free Software Foundation:
34 * ------------------------------------------------------------------------
36 * GNU XBoard is free software: you can redistribute it and/or modify
37 * it under the terms of the GNU General Public License as published by
38 * the Free Software Foundation, either version 3 of the License, or (at
39 * your option) any later version.
41 * GNU XBoard is distributed in the hope that it will be useful, but
42 * WITHOUT ANY WARRANTY; without even the implied warranty of
43 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
44 * General Public License for more details.
46 * You should have received a copy of the GNU General Public License
47 * along with this program. If not, see http://www.gnu.org/licenses/. *
49 *------------------------------------------------------------------------
50 ** See the file ChangeLog for a revision history. */
56 #include <sys/types.h>
62 #else /* not STDC_HEADERS */
63 extern char *getenv();
66 # else /* not HAVE_STRING_H */
68 # endif /* not HAVE_STRING_H */
69 #endif /* not STDC_HEADERS */
80 PlaySoundFile (char *name)
82 if (*name == NULLCHAR) {
84 } else if (strcmp(name, "$") == 0) {
85 putc(BELLCHAR, stderr);
88 char *prefix = "", *sep = "";
89 if(appData.soundProgram[0] == NULLCHAR) return 1;
90 if(!strchr(name, '/')) { prefix = appData.soundDirectory; sep = "/"; }
91 snprintf(buf, sizeof(buf), "%s '%s%s%s' &", appData.soundProgram, prefix, sep, name);
100 PlaySoundFile(appData.soundMove);
106 PlaySoundFile(appData.soundIcsWin);
112 PlaySoundFile(appData.soundIcsLoss);
118 PlaySoundFile(appData.soundIcsDraw);
122 PlayIcsUnfinishedSound ()
124 PlaySoundFile(appData.soundIcsUnfinished);
130 PlaySoundFile(appData.soundIcsAlarm);
136 PlaySoundFile(appData.soundTell);
142 return PlaySoundFile(appData.soundRoar);
146 PlaySoundForColor (ColorClass cc)
150 PlaySoundFile(appData.soundShout);
153 PlaySoundFile(appData.soundSShout);
156 PlaySoundFile(appData.soundChannel1);
159 PlaySoundFile(appData.soundChannel);
162 PlaySoundFile(appData.soundKibitz);
165 PlaySoundFile(appData.soundTell);
168 PlaySoundFile(appData.soundChallenge);
171 PlaySoundFile(appData.soundRequest);
174 PlaySoundFile(appData.soundSeek);