wsbelldata.h revision 1.2.4.2 1 1.2.4.2 skrll /* $NetBSD: wsbelldata.h,v 1.2.4.2 2017/08/28 17:52:31 skrll Exp $ */
2 1.2.4.2 skrll /*-
3 1.2.4.2 skrll * Copyright (c) 2017 Nathanial Sloss <nathanialsloss (at) yahoo.com.au>
4 1.2.4.2 skrll * All rights reserved.
5 1.2.4.2 skrll *
6 1.2.4.2 skrll * Redistribution and use in source and binary forms, with or without
7 1.2.4.2 skrll * modification, are permitted provided that the following conditions
8 1.2.4.2 skrll * are met:
9 1.2.4.2 skrll * 1. Redistributions of source code must retain the above copyright
10 1.2.4.2 skrll * notice, this list of conditions and the following disclaimer.
11 1.2.4.2 skrll * 2. Redistributions in binary form must reproduce the above copyright
12 1.2.4.2 skrll * notice, this list of conditions and the following disclaimer in the
13 1.2.4.2 skrll * documentation and/or other materials provided with the distribution.
14 1.2.4.2 skrll *
15 1.2.4.2 skrll * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
16 1.2.4.2 skrll * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17 1.2.4.2 skrll * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18 1.2.4.2 skrll * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
19 1.2.4.2 skrll * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20 1.2.4.2 skrll * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21 1.2.4.2 skrll * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 1.2.4.2 skrll * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 1.2.4.2 skrll * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24 1.2.4.2 skrll * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 1.2.4.2 skrll * POSSIBILITY OF SUCH DAMAGE.
26 1.2.4.2 skrll */
27 1.2.4.2 skrll
28 1.2.4.2 skrll #ifndef WSKBD_DEFAULT_BELL_PITCH
29 1.2.4.2 skrll #define WSKBD_DEFAULT_BELL_PITCH 1500 /* 1500Hz */
30 1.2.4.2 skrll #endif
31 1.2.4.2 skrll #ifndef WSKBD_DEFAULT_BELL_PERIOD
32 1.2.4.2 skrll #define WSKBD_DEFAULT_BELL_PERIOD 100 /* 100ms */
33 1.2.4.2 skrll #endif
34 1.2.4.2 skrll #ifndef WSKBD_DEFAULT_BELL_VOLUME
35 1.2.4.2 skrll #define WSKBD_DEFAULT_BELL_VOLUME 50 /* 50% volume */
36 1.2.4.2 skrll #endif
37 1.2.4.2 skrll
38 1.2.4.2 skrll #define SETBELL(dstp, srcp, dfltp) \
39 1.2.4.2 skrll do { \
40 1.2.4.2 skrll (dstp)->pitch = ((srcp)->which & WSKBD_BELL_DOPITCH) ? \
41 1.2.4.2 skrll (srcp)->pitch : (dfltp)->pitch; \
42 1.2.4.2 skrll (dstp)->period = ((srcp)->which & WSKBD_BELL_DOPERIOD) ? \
43 1.2.4.2 skrll (srcp)->period : (dfltp)->period; \
44 1.2.4.2 skrll (dstp)->volume = ((srcp)->which & WSKBD_BELL_DOVOLUME) ? \
45 1.2.4.2 skrll (srcp)->volume : (dfltp)->volume; \
46 1.2.4.2 skrll (dstp)->which = WSKBD_BELL_DOALL; \
47 1.2.4.2 skrll } while (0)
48 1.2.4.2 skrll
49 1.2.4.2 skrll static struct wskbd_bell_data wskbd_default_bell_data = {
50 1.2.4.2 skrll WSKBD_BELL_DOALL,
51 1.2.4.2 skrll WSKBD_DEFAULT_BELL_PITCH,
52 1.2.4.2 skrll WSKBD_DEFAULT_BELL_PERIOD,
53 1.2.4.2 skrll WSKBD_DEFAULT_BELL_VOLUME,
54 1.2.4.2 skrll };
55