summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1994-04-23 02:03:17 +0000
committerache <ache@FreeBSD.org>1994-04-23 02:03:17 +0000
commitf277d23264f50eca0c9daf658db4db6945471f90 (patch)
tree0f7f516199edda8b3ac9e0eddc4e157cc5d966e7
parent9e4ffe0fd9920898c5c3f16c09c0440127bfd4b6 (diff)
downloadFreeBSD-src-f277d23264f50eca0c9daf658db4db6945471f90.zip
FreeBSD-src-f277d23264f50eca0c9daf658db4db6945471f90.tar.gz
Sound driver updated to version 2.5
-rw-r--r--sys/conf/files.i3863
-rw-r--r--sys/i386/conf/files.i3863
-rw-r--r--sys/i386/include/soundcard.h32
-rw-r--r--sys/sys/soundcard.h32
4 files changed, 56 insertions, 14 deletions
diff --git a/sys/conf/files.i386 b/sys/conf/files.i386
index aa2caf8..970bcfc 100644
--- a/sys/conf/files.i386
+++ b/sys/conf/files.i386
@@ -1,7 +1,7 @@
# This file tells config what files go into building a kernel,
# files marked standard are always included.
#
-# $Id: files.i386,v 1.29 1994/04/07 12:10:17 davidg Exp $
+# $Id: files.i386,v 1.30 1994/04/21 14:13:43 sos Exp $
#
i386/i386/autoconf.c standard device-driver
i386/i386/cons.c standard
@@ -52,6 +52,7 @@ i386/isa/sound/gus_card.c optional snd device-driver
i386/isa/sound/gus_midi.c optional snd device-driver
i386/isa/sound/gus_vol.c optional snd device-driver
i386/isa/sound/gus_wave.c optional snd device-driver
+i386/isa/sound/ics2101.c optional snd device-driver
i386/isa/sound/midi.c optional snd device-driver
i386/isa/sound/midibuf.c optional snd device-driver
i386/isa/sound/mpu401.c optional snd device-driver
diff --git a/sys/i386/conf/files.i386 b/sys/i386/conf/files.i386
index aa2caf8..970bcfc 100644
--- a/sys/i386/conf/files.i386
+++ b/sys/i386/conf/files.i386
@@ -1,7 +1,7 @@
# This file tells config what files go into building a kernel,
# files marked standard are always included.
#
-# $Id: files.i386,v 1.29 1994/04/07 12:10:17 davidg Exp $
+# $Id: files.i386,v 1.30 1994/04/21 14:13:43 sos Exp $
#
i386/i386/autoconf.c standard device-driver
i386/i386/cons.c standard
@@ -52,6 +52,7 @@ i386/isa/sound/gus_card.c optional snd device-driver
i386/isa/sound/gus_midi.c optional snd device-driver
i386/isa/sound/gus_vol.c optional snd device-driver
i386/isa/sound/gus_wave.c optional snd device-driver
+i386/isa/sound/ics2101.c optional snd device-driver
i386/isa/sound/midi.c optional snd device-driver
i386/isa/sound/midibuf.c optional snd device-driver
i386/isa/sound/mpu401.c optional snd device-driver
diff --git a/sys/i386/include/soundcard.h b/sys/i386/include/soundcard.h
index 827611a..ce28a14 100644
--- a/sys/i386/include/soundcard.h
+++ b/sys/i386/include/soundcard.h
@@ -1,5 +1,5 @@
#ifndef _SOUNDCARD_H_
-#define _SOUNDCARD_H_ 1
+#define _SOUNDCARD_H_
/*
* Copyright by Hannu Savolainen 1993
*
@@ -34,10 +34,10 @@
*
* Regards,
* Hannu Savolainen
- * hsavolai@cs.helsinki.fi
+ * hannu@voxware.pp.fi, Hannu.Savolainen@helsinki.fi
*/
-#define SOUND_VERSION 203
+#define SOUND_VERSION 205
#define VOXWARE
#include <sys/ioctl.h>
@@ -310,6 +310,14 @@ struct patmgr_info { /* Note! size must be < 4k since kmalloc() is used */
#define CTRL_EXPRESSION 253
#define CTRL_MAIN_VOLUME 252
#define SEQ_BALANCE 11
+#define SEQ_VOLMODE 12
+
+/*
+ * Volume mode decides how volumes are used
+ */
+
+#define VOL_METHOD_ADAGIO 1
+#define VOL_METHOD_LINEAR 2
/*
* Note! SEQ_WAIT, SEQ_MIDIPUTC and SEQ_ECHO are used also as
@@ -630,7 +638,8 @@ void seqbuf_dump(void); /* This function must be provided by programs */
* }
*/
-#define SEQ_DEFINEBUF(len) unsigned char _seqbuf[len]; int _seqbuflen = len, _seqbufptr = 0
+#define SEQ_DEFINEBUF(len) unsigned char _seqbuf[len]; int _seqbuflen = len; int _seqbufptr = 0
+#define SEQ_DECLAREBUF() extern unsigned char _seqbuf[]; extern int _seqbuflen;extern int _seqbufptr
#define SEQ_PM_DEFINES struct patmgr_info _pm_info
#define _SEQ_NEEDBUF(len) if ((_seqbufptr+(len)) > _seqbuflen) seqbuf_dump()
#define _SEQ_ADVBUF(len) _seqbufptr += len
@@ -644,6 +653,17 @@ void seqbuf_dump(void); /* This function must be provided by programs */
_pm_info.parm1 = bank, _pm_info.parm2 = 128, \
ioctl(seqfd, SNDCTL_PMGR_ACCESS, &_pm_info))
+#define SEQ_VOLUME_MODE(dev, mode) {_SEQ_NEEDBUF(8);\
+ _seqbuf[_seqbufptr] = SEQ_EXTENDED;\
+ _seqbuf[_seqbufptr+1] = SEQ_VOLMODE;\
+ _seqbuf[_seqbufptr+2] = (dev);\
+ _seqbuf[_seqbufptr+3] = (mode);\
+ _seqbuf[_seqbufptr+4] = 0;\
+ _seqbuf[_seqbufptr+5] = 0;\
+ _seqbuf[_seqbufptr+6] = 0;\
+ _seqbuf[_seqbufptr+7] = 0;\
+ _SEQ_ADVBUF(8);}
+
#define SEQ_START_NOTE(dev, voice, note, vol) {_SEQ_NEEDBUF(8);\
_seqbuf[_seqbufptr] = SEQ_EXTENDED;\
_seqbuf[_seqbufptr+1] = SEQ_NOTEON;\
@@ -734,8 +754,8 @@ void seqbuf_dump(void); /* This function must be provided by programs */
_seqbuf[_seqbufptr+2] = (device);\
_seqbuf[_seqbufptr+3] = 0;\
_SEQ_ADVBUF(4);}
-#define SEQ_WRPATCH(patch, len) {if (_seqbufptr) seqbuf_dump();\
- if (write(seqfd, (char*)(patch), len)==-1) \
+#define SEQ_WRPATCH(patchx, len) {if (_seqbufptr) seqbuf_dump();\
+ if (write(seqfd, (char*)(patchx), len)==-1) \
perror("Write patch: /dev/sequencer");}
#endif
diff --git a/sys/sys/soundcard.h b/sys/sys/soundcard.h
index 827611a..ce28a14 100644
--- a/sys/sys/soundcard.h
+++ b/sys/sys/soundcard.h
@@ -1,5 +1,5 @@
#ifndef _SOUNDCARD_H_
-#define _SOUNDCARD_H_ 1
+#define _SOUNDCARD_H_
/*
* Copyright by Hannu Savolainen 1993
*
@@ -34,10 +34,10 @@
*
* Regards,
* Hannu Savolainen
- * hsavolai@cs.helsinki.fi
+ * hannu@voxware.pp.fi, Hannu.Savolainen@helsinki.fi
*/
-#define SOUND_VERSION 203
+#define SOUND_VERSION 205
#define VOXWARE
#include <sys/ioctl.h>
@@ -310,6 +310,14 @@ struct patmgr_info { /* Note! size must be < 4k since kmalloc() is used */
#define CTRL_EXPRESSION 253
#define CTRL_MAIN_VOLUME 252
#define SEQ_BALANCE 11
+#define SEQ_VOLMODE 12
+
+/*
+ * Volume mode decides how volumes are used
+ */
+
+#define VOL_METHOD_ADAGIO 1
+#define VOL_METHOD_LINEAR 2
/*
* Note! SEQ_WAIT, SEQ_MIDIPUTC and SEQ_ECHO are used also as
@@ -630,7 +638,8 @@ void seqbuf_dump(void); /* This function must be provided by programs */
* }
*/
-#define SEQ_DEFINEBUF(len) unsigned char _seqbuf[len]; int _seqbuflen = len, _seqbufptr = 0
+#define SEQ_DEFINEBUF(len) unsigned char _seqbuf[len]; int _seqbuflen = len; int _seqbufptr = 0
+#define SEQ_DECLAREBUF() extern unsigned char _seqbuf[]; extern int _seqbuflen;extern int _seqbufptr
#define SEQ_PM_DEFINES struct patmgr_info _pm_info
#define _SEQ_NEEDBUF(len) if ((_seqbufptr+(len)) > _seqbuflen) seqbuf_dump()
#define _SEQ_ADVBUF(len) _seqbufptr += len
@@ -644,6 +653,17 @@ void seqbuf_dump(void); /* This function must be provided by programs */
_pm_info.parm1 = bank, _pm_info.parm2 = 128, \
ioctl(seqfd, SNDCTL_PMGR_ACCESS, &_pm_info))
+#define SEQ_VOLUME_MODE(dev, mode) {_SEQ_NEEDBUF(8);\
+ _seqbuf[_seqbufptr] = SEQ_EXTENDED;\
+ _seqbuf[_seqbufptr+1] = SEQ_VOLMODE;\
+ _seqbuf[_seqbufptr+2] = (dev);\
+ _seqbuf[_seqbufptr+3] = (mode);\
+ _seqbuf[_seqbufptr+4] = 0;\
+ _seqbuf[_seqbufptr+5] = 0;\
+ _seqbuf[_seqbufptr+6] = 0;\
+ _seqbuf[_seqbufptr+7] = 0;\
+ _SEQ_ADVBUF(8);}
+
#define SEQ_START_NOTE(dev, voice, note, vol) {_SEQ_NEEDBUF(8);\
_seqbuf[_seqbufptr] = SEQ_EXTENDED;\
_seqbuf[_seqbufptr+1] = SEQ_NOTEON;\
@@ -734,8 +754,8 @@ void seqbuf_dump(void); /* This function must be provided by programs */
_seqbuf[_seqbufptr+2] = (device);\
_seqbuf[_seqbufptr+3] = 0;\
_SEQ_ADVBUF(4);}
-#define SEQ_WRPATCH(patch, len) {if (_seqbufptr) seqbuf_dump();\
- if (write(seqfd, (char*)(patch), len)==-1) \
+#define SEQ_WRPATCH(patchx, len) {if (_seqbufptr) seqbuf_dump();\
+ if (write(seqfd, (char*)(patchx), len)==-1) \
perror("Write patch: /dev/sequencer");}
#endif
OpenPOWER on IntegriCloud