176 lines
3.8 KiB
Text
176 lines
3.8 KiB
Text
$NetBSD: patch-aa,v 1.4 1998/08/07 10:36:22 agc Exp $
|
|
|
|
--- ../xmmix-1.2/Imakefile Sun Jul 14 19:48:56 1996
|
|
+++ ./Imakefile Fri Oct 24 23:34:17 1997
|
|
@@ -43,7 +43,7 @@
|
|
* #include "Motif.tmpl"
|
|
* #include "Motif.rules"
|
|
*/
|
|
-LOCAL_LIBRARIES= XmClientLibs
|
|
+LOCAL_LIBRARIES= -lXm -lXt -lX11 -lossaudio
|
|
|
|
|
|
/*
|
|
--- ../xmmix-1.2/appenv.h Sun Jul 14 19:48:59 1996
|
|
+++ ./appenv.h Fri Oct 24 23:33:47 1997
|
|
@@ -59,7 +59,13 @@
|
|
#include <sys/types.h>
|
|
#include <sys/stat.h>
|
|
#include <sys/ioctl.h>
|
|
+#ifdef __NetBSD__
|
|
+#include <soundcard.h>
|
|
+/* Ensure we SIGIO */
|
|
+#undef _POSIX_SOURCE
|
|
+#else
|
|
#include <sys/soundcard.h>
|
|
+#endif
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <errno.h>
|
|
--- ../xmmix-1.2/main.c Thu Nov 7 17:01:43 1996
|
|
+++ ./main.c Mon Aug 11 23:12:51 1997
|
|
@@ -159,7 +159,7 @@
|
|
post_realize_config(&widgets);
|
|
|
|
/* Register callback routines */
|
|
- register_callbacks(&widgets);
|
|
+ register_callbacks(&widgets, app);
|
|
|
|
/* Initialize screen controls */
|
|
mx_start(&widgets);
|
|
--- ../xmmix-1.2/mixer.c Thu Nov 7 17:00:26 1996
|
|
+++ ./mixer.c Mon Aug 11 23:20:15 1997
|
|
@@ -104,6 +104,14 @@
|
|
***********************/
|
|
|
|
|
|
+#ifdef __NetBSD__
|
|
+void
|
|
+mxchg(int sig)
|
|
+{
|
|
+ deliverSIGIO();
|
|
+}
|
|
+#endif
|
|
+
|
|
/*
|
|
* do_ioctl
|
|
* Perform ioctl command. If file is not yet open or if we
|
|
@@ -681,11 +689,13 @@
|
|
/* Query sound driver version */
|
|
if ((fp = fopen("/dev/sndstat", "r")) == NULL) {
|
|
if (!app_data.demo) {
|
|
+#ifndef __NetBSD__
|
|
fprintf(errfp, "%s: %s: %s\n",
|
|
PROGNAME,
|
|
"Cannot open /dev/sndstat",
|
|
"assuming pre-3.0 sound driver.");
|
|
maxdevs = MAXDEVS_V2;
|
|
+#endif
|
|
}
|
|
return;
|
|
}
|
|
@@ -915,6 +925,7 @@
|
|
mx_start(widgets_t *m)
|
|
{
|
|
char msg[256];
|
|
+ int one = 1;
|
|
|
|
if (app_data.autoload != NULL && app_data.autoload[0] != '\0' &&
|
|
strcmp(app_data.autoload, "/dev/null") != 0) {
|
|
@@ -930,6 +941,14 @@
|
|
}
|
|
}
|
|
|
|
+#if defined(__NetBSD__)
|
|
+ signal(SIGIO, mxchg);
|
|
+ ioctl(dev_fd, FIOASYNC, &one);
|
|
+#endif
|
|
+
|
|
+ /* Query hardware mixer settings */
|
|
+ mx_queryhw(&widgets);
|
|
+
|
|
/* Update screen controls to match current status */
|
|
mx_updctl(m);
|
|
}
|
|
@@ -1531,6 +1550,22 @@
|
|
if (p->reason != XmCR_FOCUS || form == (Widget) NULL)
|
|
return;
|
|
|
|
+ /* Query hardware mixer settings */
|
|
+ mx_queryhw(&widgets);
|
|
+
|
|
+ /* Update screen controls */
|
|
+ mx_updctl(&widgets);
|
|
+}
|
|
+
|
|
+
|
|
+/*
|
|
+ * mx_change
|
|
+ * Mixer device has changed
|
|
+ */
|
|
+/*ARGSUSED*/
|
|
+void
|
|
+mx_change(XtPointer client_data)
|
|
+{
|
|
/* Query hardware mixer settings */
|
|
mx_queryhw(&widgets);
|
|
|
|
--- ../xmmix-1.2/mixer.h Sun Jul 14 19:49:04 1996
|
|
+++ ./mixer.h Mon Aug 11 23:19:17 1997
|
|
@@ -78,6 +78,7 @@
|
|
extern void mx_fsok_btn(Widget, XtPointer, XtPointer);
|
|
extern void mx_fscancel_btn(Widget, XtPointer, XtPointer);
|
|
extern void mx_focuschg(Widget, XtPointer, XtPointer);
|
|
+extern void mx_change(XtPointer);
|
|
|
|
#endif /* __MIXER_H__ */
|
|
|
|
--- ../xmmix-1.2/widget.c Sun Jul 14 19:49:09 1996
|
|
+++ ./widget.c Sat Oct 25 00:24:43 1997
|
|
@@ -973,6 +973,10 @@
|
|
delw = XmInternAtom(display, "WM_DELETE_WINDOW", False);
|
|
}
|
|
|
|
+static XtSignalId sigid;
|
|
+void deliverSIGIO() {
|
|
+ XtNoticeSignal(sigid);
|
|
+}
|
|
|
|
/*
|
|
* register_callbacks
|
|
@@ -985,7 +989,7 @@
|
|
* Nothing
|
|
*/
|
|
void
|
|
-register_callbacks(widgets_t *m)
|
|
+register_callbacks(widgets_t *m, XtAppContext app)
|
|
{
|
|
int i;
|
|
|
|
@@ -1126,6 +1130,15 @@
|
|
XmNfocusCallback,
|
|
(XtCallbackProc) mx_focuschg, (XtPointer) m->form
|
|
);
|
|
+
|
|
+#ifdef __NetBSD__
|
|
+ /*
|
|
+ * Mixer SIGIO change callback
|
|
+ */
|
|
+ sigid = XtAppAddSignal(app,
|
|
+ (XtSignalCallbackProc) mx_change, (XtPointer) 0
|
|
+ );
|
|
+#endif
|
|
|
|
/*
|
|
* Install WM_DELETE_WINDOW handler
|
|
--- ../xmmix-1.2/widget.h Sun Jul 14 19:49:10 1996
|
|
+++ ./widget.h Mon Aug 11 23:13:43 1997
|
|
@@ -119,7 +119,7 @@
|
|
extern void widget_init(widgets_t *);
|
|
extern void create_widgets(widgets_t *);
|
|
extern void post_realize_config(widgets_t *);
|
|
-extern void register_callbacks(widgets_t *);
|
|
+extern void register_callbacks(widgets_t *, XtAppContext);
|
|
|
|
#endif /* __WIDGET_H__ */
|
|
|