Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/isaki-audio2]: src/sys Move dev/audiobell* -> dev/audio/audiobell*.
details: https://anonhg.NetBSD.org/src/rev/ec9f76e7eb33
branches: isaki-audio2
changeset: 451020:ec9f76e7eb33
user: isaki <isaki%NetBSD.org@localhost>
date: Sat May 04 06:13:46 2019 +0000
description:
Move dev/audiobell* -> dev/audio/audiobell*.
diffstat:
sys/arch/arm/iomd/vidcaudio.c | 6 +-
sys/dev/audio/audiobell.c | 149 ++++++++++++++++++++++++++++++++++++++++++
sys/dev/audio/audiobellvar.h | 41 +++++++++++
sys/dev/audiobell.c | 149 ------------------------------------------
sys/dev/audiobellvar.h | 41 -----------
sys/dev/files.audio | 4 +-
sys/dev/spkr_audio.c | 6 +-
7 files changed, 198 insertions(+), 198 deletions(-)
diffs (truncated from 468 to 300 lines):
diff -r c1b7f15d86a8 -r ec9f76e7eb33 sys/arch/arm/iomd/vidcaudio.c
--- a/sys/arch/arm/iomd/vidcaudio.c Sat May 04 04:51:20 2019 +0000
+++ b/sys/arch/arm/iomd/vidcaudio.c Sat May 04 06:13:46 2019 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: vidcaudio.c,v 1.57.2.1 2019/04/21 09:12:34 isaki Exp $ */
+/* $NetBSD: vidcaudio.c,v 1.57.2.2 2019/05/04 06:13:46 isaki Exp $ */
/*
* Copyright (c) 1995 Melvin Tang-Richardson
@@ -65,7 +65,7 @@
#include <sys/param.h> /* proc.h */
-__KERNEL_RCSID(0, "$NetBSD: vidcaudio.c,v 1.57.2.1 2019/04/21 09:12:34 isaki Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vidcaudio.c,v 1.57.2.2 2019/05/04 06:13:46 isaki Exp $");
#include <sys/audioio.h>
#include <sys/conf.h> /* autoconfig functions */
@@ -78,7 +78,7 @@
#include <uvm/uvm_extern.h>
#include <dev/audio_if.h>
-#include <dev/audiobellvar.h>
+#include <dev/audio/audiobellvar.h>
#include <dev/audio/mulaw.h>
#include <machine/intr.h>
diff -r c1b7f15d86a8 -r ec9f76e7eb33 sys/dev/audio/audiobell.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/dev/audio/audiobell.c Sat May 04 06:13:46 2019 +0000
@@ -0,0 +1,149 @@
+/* $NetBSD: audiobell.c,v 1.1.2.1 2019/05/04 06:13:47 isaki Exp $ */
+
+/*
+ * Copyright (c) 1999 Richard Earnshaw
+ * Copyright (c) 2004 Ben Harris
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the RiscBSD team.
+ * 4. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/types.h>
+__KERNEL_RCSID(0, "$NetBSD: audiobell.c,v 1.1.2.1 2019/05/04 06:13:47 isaki Exp $");
+
+#include <sys/audioio.h>
+#include <sys/conf.h>
+#include <sys/device.h>
+#include <sys/malloc.h>
+#include <sys/systm.h>
+#include <sys/uio.h>
+
+#include <dev/audio_if.h>
+#include <dev/audio/audiovar.h>
+#include <dev/audio/audiodef.h>
+#include <dev/audio/audiobellvar.h>
+
+/* 44.1 kHz should reduce hum at higher pitches. */
+#define BELL_SAMPLE_RATE 44100
+
+/*
+ * dev is a device_t for the audio device to use.
+ * pitch is the pitch of the bell in Hz,
+ * period is the length in ms,
+ * volume is the amplitude in % of max,
+ * poll is no longer used.
+ */
+void
+audiobell(void *dev, u_int pitch, u_int period, u_int volume, int poll)
+{
+ dev_t audio;
+ int16_t *buf;
+ struct audiobell_arg bellarg;
+ audio_file_t *file;
+ audio_track_t *ptrack;
+ struct uio auio;
+ struct iovec aiov;
+ int i;
+ int remaincount;
+ int remainlen;
+ int wave1count;
+ int wave1len;
+ int len;
+ int16_t vol;
+
+ KASSERT(volume <= 100);
+
+ /* The audio system isn't built for polling. */
+ if (poll)
+ return;
+
+ /* Limit the pitch from 20Hz to Nyquist frequency. */
+ if (pitch > BELL_SAMPLE_RATE / 2)
+ pitch = BELL_SAMPLE_RATE;
+ if (pitch < 20)
+ pitch = 20;
+
+ buf = NULL;
+ audio = AUDIO_DEVICE | device_unit((device_t)dev);
+
+ memset(&bellarg, 0, sizeof(bellarg));
+ bellarg.encoding = AUDIO_ENCODING_SLINEAR_NE;
+ bellarg.precision = 16;
+ bellarg.channels = 1;
+ bellarg.sample_rate = BELL_SAMPLE_RATE;
+
+ /* If not configured, we can't beep. */
+ if (audiobellopen(audio, &bellarg) != 0)
+ return;
+
+ file = bellarg.file;
+ ptrack = file->ptrack;
+
+ /* msec to sample count. */
+ remaincount = period * BELL_SAMPLE_RATE / 1000;
+ remainlen = remaincount * sizeof(int16_t);
+
+ wave1count = BELL_SAMPLE_RATE / pitch;
+ wave1len = wave1count * sizeof(int16_t);
+
+ buf = malloc(wave1len, M_TEMP, M_WAITOK);
+ if (buf == NULL)
+ goto out;
+
+ /* Generate single square wave. It's enough to beep. */
+ vol = 32767 * volume / 100;
+ for (i = 0; i < wave1count / 2; i++) {
+ buf[i] = vol;
+ }
+ vol = -vol;
+ for (; i < wave1count; i++) {
+ buf[i] = vol;
+ }
+
+ /* Write while paused to avoid begin inserted silence. */
+ ptrack->is_pause = true;
+ for (; remainlen > 0; remainlen -= wave1len) {
+ len = uimin(remainlen, wave1len);
+ aiov.iov_base = (void *)buf;
+ aiov.iov_len = len;
+ auio.uio_iov = &aiov;
+ auio.uio_iovcnt = 1;
+ auio.uio_offset = 0;
+ auio.uio_resid = len;
+ auio.uio_rw = UIO_WRITE;
+ UIO_SETUP_SYSSPACE(&auio);
+ if (audiobellwrite(file, &auio) != 0)
+ goto out;
+
+ if (ptrack->usrbuf.used >= ptrack->usrbuf_blksize * NBLKHW)
+ ptrack->is_pause = false;
+ }
+ /* Here we go! */
+ ptrack->is_pause = false;
+out:
+ if (buf != NULL)
+ free(buf, M_TEMP);
+ audiobellclose(file);
+}
diff -r c1b7f15d86a8 -r ec9f76e7eb33 sys/dev/audio/audiobellvar.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/dev/audio/audiobellvar.h Sat May 04 06:13:46 2019 +0000
@@ -0,0 +1,41 @@
+/* $NetBSD: audiobellvar.h,v 1.1.2.1 2019/05/04 06:13:47 isaki Exp $ */
+
+/*-
+ * Copyright (c) 2004 Ben Harris
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * To make a noise, call audiobell(dev, pitch, period, volume, poll).
+ * dev is a device_t for the audio device to use.
+ * pitch is the pitch of the bell in Hz,
+ * period is the length in ms,
+ * volume is the amplitude in % of max,
+ * poll is TRUE if we may not block or use interrupts.
+ *
+ * This function is designed to be passed to pckbd_hookup_bell() and
+ * equivalents.
+ */
+void audiobell(void *, u_int, u_int, u_int, int);
diff -r c1b7f15d86a8 -r ec9f76e7eb33 sys/dev/audiobell.c
--- a/sys/dev/audiobell.c Sat May 04 04:51:20 2019 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/* $NetBSD: audiobell.c,v 1.26.2.1 2019/04/21 04:28:59 isaki Exp $ */
-
-/*
- * Copyright (c) 1999 Richard Earnshaw
- * Copyright (c) 2004 Ben Harris
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the RiscBSD team.
- * 4. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <sys/types.h>
-__KERNEL_RCSID(0, "$NetBSD: audiobell.c,v 1.26.2.1 2019/04/21 04:28:59 isaki Exp $");
-
-#include <sys/audioio.h>
-#include <sys/conf.h>
-#include <sys/device.h>
-#include <sys/malloc.h>
-#include <sys/systm.h>
-#include <sys/uio.h>
-
-#include <dev/audio_if.h>
-#include <dev/audio/audiovar.h>
-#include <dev/audio/audiodef.h>
-#include <dev/audiobellvar.h>
-
-/* 44.1 kHz should reduce hum at higher pitches. */
-#define BELL_SAMPLE_RATE 44100
-
-/*
- * dev is a device_t for the audio device to use.
- * pitch is the pitch of the bell in Hz,
- * period is the length in ms,
- * volume is the amplitude in % of max,
- * poll is no longer used.
- */
-void
-audiobell(void *dev, u_int pitch, u_int period, u_int volume, int poll)
-{
- dev_t audio;
- int16_t *buf;
- struct audiobell_arg bellarg;
- audio_file_t *file;
- audio_track_t *ptrack;
- struct uio auio;
- struct iovec aiov;
- int i;
- int remaincount;
- int remainlen;
- int wave1count;
Home |
Main Index |
Thread Index |
Old Index