removed the conversion patches too. use aucat instead. ok?
-- [email protected] SDF Public Access UNIX System - http://sdf.lonestar.org Index: Makefile =================================================================== RCS file: /cvs/ports/audio/nspmod/Makefile,v retrieving revision 1.20 diff -N -u -p Makefile --- Makefile 15 Sep 2007 21:26:02 -0000 1.20 +++ Makefile 20 Dec 2009 06:14:53 -0000 @@ -2,6 +2,7 @@ COMMENT= MOD/S3M/MTM tracker that does its own DSP DISTNAME= nspmod-0.1 +PKGNAME= ${DISTNAME}p0 CATEGORIES= audio MASTER_SITES= ${MASTER_SITE_SUNSITE:=apps/sound/players/} @@ -9,7 +10,7 @@ PERMIT_PACKAGE_CDROM= Yes PERMIT_PACKAGE_FTP= Yes PERMIT_DISTFILES_CDROM= Yes PERMIT_DISTFILES_FTP= Yes -WANTLIB= c ossaudio +WANTLIB= c sndio MAKE_ENV= CC=${CC} Index: patches/patch-Makefile =================================================================== RCS file: /cvs/ports/audio/nspmod/patches/patch-Makefile,v retrieving revision 1.1 diff -N -u -p patches/patch-Makefile --- patches/patch-Makefile 26 Oct 2007 20:28:51 -0000 1.1 +++ patches/patch-Makefile 20 Dec 2009 06:14:53 -0000 @@ -11,7 +11,7 @@ $OpenBSD: patch-Makefile,v 1.1 2007/10/26 20:28:51 aja +CFLAGS_HIOPT_ = $(CFLAGS) $(CFLAGS_HIOPT) LDFLAGS = $(LDFLAGS_OS) $(LDFLAGS_EXT) -LIBS = $(LIBS_EXT) $(LIBS_OS) -+LIBS = $(LIBS_EXT) $(LIBS_OS) -lossaudio ++LIBS = $(LIBS_EXT) $(LIBS_OS) -lsndio PROG = nspmod all: $(PROG) Index: patches/patch-dacio-linux_c =================================================================== RCS file: /cvs/ports/audio/nspmod/patches/patch-dacio-linux_c,v retrieving revision 1.1 diff -N -u -p patches/patch-dacio-linux_c --- patches/patch-dacio-linux_c 26 Oct 2007 20:28:51 -0000 1.1 +++ patches/patch-dacio-linux_c 20 Dec 2009 06:14:53 -0000 @@ -1,177 +1,126 @@ $OpenBSD: patch-dacio-linux_c,v 1.1 2007/10/26 20:28:51 ajacoutot Exp $ ---- dacio-linux.c.orig Sun Sep 17 14:51:43 1995 -+++ dacio-linux.c Fri Oct 26 22:12:40 2007 -@@ -3,7 +3,11 @@ - #include <fcntl.h> /*O_WRONLY*/ - #include <sys/ioctl.h> /*(ioctl)*/ +--- dacio-linux.c.orig Sun Sep 17 05:51:43 1995 ++++ dacio-linux.c Sat Dec 19 22:00:33 2009 +@@ -1,10 +1,8 @@ + #line 2 "dacio-linux.c" ++#include <stdlib.h> + #include <stdio.h> /*(perror)*/ +-#include <fcntl.h> /*O_WRONLY*/ +-#include <sys/ioctl.h> /*(ioctl)*/ #include <unistd.h> /*(write)*/ -+#if defined(LINUX) - #include <sys/soundcard.h> /*SNDCTL_XXX*/ -+#else -+#include <soundcard.h> -+#endif - #include <errno.h> /*EINTR*/ +-#include <sys/soundcard.h> /*SNDCTL_XXX*/ +-#include <errno.h> /*EINTR*/ ++#include <sndio.h> #include "defs.h" /*u8,u16*/ #include "dacio.h" /*(dacioXXX)*/ -@@ -47,7 +51,7 @@ dacioInit(void) - static struct { - union { - u8 *p8; -- u16 *p16; -+ i15 *p16; - } p; - u8 *top; - u8 *bot; -@@ -67,11 +71,39 @@ dacioConf(DacioConfInfo *dcp) + #include "mem.h" /*(memPerm)*/ +@@ -27,18 +25,14 @@ makeLim(void) + } + #endif + +-static int fd; ++static struct sio_hdl *hdl; + +-#ifndef DAC_DEV +-#define DAC_DEV "/dev/dsp" +-#endif +- + void + dacioInit(void) + { +- fd = open(DAC_DEV, O_WRONLY); +- if (fd < 0) { +- perror("dacioInit"); ++ hdl = sio_open(NULL, SIO_PLAY, 0); ++ if (hdl == NULL) { ++ fprintf(stderr, "dacioInit failed"); exit(1); } - #endif + /*makeLim();*/ +@@ -59,52 +53,42 @@ static DacioConfInfo dci; + void + dacioConf(DacioConfInfo *dcp) + { +- int tmp; ++ struct sio_par par; + +-#if 0 +- if (ioctl(fd, SNDCTL_DSP_RESET) < 0) { +- perror("dacioConf"); +- exit(1); +- } +-#endif - tmp = AFMT_U8; -+ switch (dcp->bits) { -+ case 0: -+ case 8: -+ dcp->bits = 8; -+ tmp = AFMT_U8; break; -+ case 16: -+ tmp = AFMT_S16_LE; break; -+ default: -+ fprintf(stderr, "Don't know how to handle %d bit output.\n", dcp->bits); -+ exit(1); -+ break; -+ } -+ - if (ioctl(fd, SNDCTL_DSP_SETFMT, &tmp) < 0) { - perror("dacioConf"); +- if (ioctl(fd, SNDCTL_DSP_SETFMT, &tmp) < 0) { +- perror("dacioConf"); +- exit(1); +- } +- /*fprintf(stderr, "fmt = 0x%x\n", tmp);*/ ++ sio_initpar(&par); ++ par.bits = 8; ++ par.sig = 0; ++ par.pchan = dcp->stereo + 1; ++ par.rate = dcp->speed; + +- if (ioctl(fd, SNDCTL_DSP_STEREO, &dcp->stereo) < 0) { +- perror("dacioConf"); ++ if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) { ++ fprintf(stderr, "dacioConf failed: set/get\n"); exit(1); } -+ -+ switch (tmp) { -+ case AFMT_U8: -+ if (dcp->bits != 8) { -+ fprintf(stderr, "soundcard doesn't support 8bits.\n"); -+ exit(1); -+ } -+ break; -+ case AFMT_S16_LE: -+ if (dcp->bits != 16) { -+ fprintf(stderr, "soundcard doesn't support 16bits.\n"); -+ exit(1); -+ } -+ break; -+ } -+ - /*fprintf(stderr, "fmt = 0x%x\n", tmp);*/ +- /*fprintf(stderr, "stereo = %d\n", dcp->stereo);*/ - if (ioctl(fd, SNDCTL_DSP_STEREO, &dcp->stereo) < 0) { -@@ -90,10 +122,15 @@ dacioConf(DacioConfInfo *dcp) - perror("dacioConf"); +- if (ioctl(fd, SNDCTL_DSP_SPEED, &dcp->speed) < 0) { +- perror("dacioConf"); ++ if (par.bits != 8 || par.sig != 0 || par.pchan != dcp->stereo + 1 || ++ par.rate != dcp->speed) { ++ fprintf(stderr, "dacioConf failed: inappropriate settings\n"); exit(1); } -+ /*fprintf(stderr, "sound buffer size = 0x%x\n", buf.size);*/ -+ tmp = buf.size; -+ while (tmp <= (0.1 * (dcp->speed * (dcp->stereo+1) * (dcp->bits/8)))) -+ tmp += buf.size; -+ buf.size = tmp; - /*fprintf(stderr, "buffer size = 0x%x\n", buf.size);*/ +- /*fprintf(stderr, "speed = %d\n", dcp->speed);*/ + +- if (ioctl(fd, SNDCTL_DSP_GETBLKSIZE, &buf.size) < 0) { +- perror("dacioConf"); +- exit(1); +- } +- /*fprintf(stderr, "buffer size = 0x%x\n", buf.size);*/ ++ buf.size = par.round * par.bps * par.pchan; ++ dci = *dcp; /*if (buf.top != NULL) free(buf.top);*/ -- buf.top = memPerm(buf.size * sizeof(u8)); -+ buf.top = memPerm(buf.size); + buf.top = memPerm(buf.size * sizeof(u8)); buf.p.p8 = buf.top; buf.bot = buf.top + buf.size; - } -@@ -115,7 +152,14 @@ dacioFlush(void) - int s; - - if (buf.p.p8 <= buf.top) return; -- for ( ; buf.p.p8 < buf.bot; buf.p.p8++) *buf.p.p8 = 128; -+ switch (dci.bits) { -+ case 8: -+ for ( ; buf.p.p8 < buf.bot; buf.p.p8++) *buf.p.p8 = 128; -+ break; -+ case 16: -+ for ( ; buf.p.p8 < buf.bot; buf.p.p16++) *buf.p.p16 = 0; -+ break; ++ ++ if (!sio_start(hdl)) { ++ fprintf(stderr, "dacioConf failed: couldn't start\n"); ++ exit(1); + } - RETRY: - s = write(fd, buf.top, buf.size); - if (s < buf.size) { -@@ -179,6 +223,8 @@ dacioGlobalVol(i15x v) - (tmpvar & ~255)? ~tmpvar >> 16 : tmpvar ) /* 16 will be OK */ - /* ~(tmpvar >> 16) makes longer asm */ - #endif -+#define to16bit(x) \ -+ (((x) * gv) >> 12) - - /* stereo */ - static void -@@ -186,14 +232,26 @@ dacioOutHirevS(i15x n) - { - const i31 *inbufp = inbuf.p; - u8 *u8p = buf.p.p8; -+ i15 *s15p = buf.p.p16; - -- for (; n > 0; n--) { -- i31x tmp; -- *u8p++ = to8bit(*inbufp++, tmp); /* L */ -- *u8p++ = to8bit(*inbufp++, tmp); /* R */ -+ switch (dci.bits) { -+ case 8: -+ for (; n > 0; n--) { -+ i31x tmp; -+ *u8p++ = to8bit(*inbufp++, tmp); /* L */ -+ *u8p++ = to8bit(*inbufp++, tmp); /* R */ -+ } -+ buf.p.p8 = u8p; -+ break; -+ case 16: -+ for (; n > 0; n--) { -+ *s15p++ = to16bit(*inbufp++); /* L */ -+ *s15p++ = to16bit(*inbufp++); /* R */ -+ } -+ buf.p.p16 = s15p; -+ break; - } - inbuf.p = inbufp; -- buf.p.p8 = u8p; } - /* mono */ -@@ -202,19 +260,31 @@ dacioOutHirevM(i15x n) + void + dacioSync(void) { - const i31 *inbufp = inbuf.p; - u8 *u8p = buf.p.p8; -+ i15 *s16p = buf.p.p16; - -- for (; n > 0; n--) { -- i31x tmp; -- *u8p++ = to8bit(*inbufp, tmp); -- inbufp += 2; -+ switch (dci.bits) { -+ case 8: -+ for (; n > 0; n--) { -+ i31x tmp; -+ *u8p++ = to8bit(*inbufp, tmp); -+ inbufp += 2; -+ } -+ buf.p.p8 = u8p; -+ break; -+ case 16: -+ for (; n > 0; n--) { -+ *s16p++ = to16bit(*inbufp); -+ inbufp += 2; -+ } -+ buf.p.p16 = s16p; -+ break; - } - inbuf.p = inbufp; -- buf.p.p8 = u8p; +- if (ioctl(fd, SNDCTL_DSP_SYNC, NULL) < 0) { +- perror("dacioSync"); +- exit(1); +- } } - #define dacioOutHirev(x) \ - if (dci.stereo) dacioOutHirevS(x); else dacioOutHirevM(x) --#define bufRest() (dci.stereo? (buf.bot - buf.p.p8)/2 : buf.bot - buf.p.p8) -+#define bufRest() ((dci.stereo? (buf.bot - buf.p.p8)/2 : buf.bot - buf.p.p8)/(dci.bits/8)) + /* OS independent part (?) */ +@@ -116,12 +100,10 @@ dacioFlush(void) - void - dacioOut(void) + if (buf.p.p8 <= buf.top) return; + for ( ; buf.p.p8 < buf.bot; buf.p.p8++) *buf.p.p8 = 128; +- RETRY: +- s = write(fd, buf.top, buf.size); ++ s = sio_write(hdl, buf.top, buf.size); + if (s < buf.size) { +- if (s < 0) { +- if (errno == EINTR) goto RETRY; +- perror("dacioFlush"); ++ if (s == 0) { ++ fprintf(stderr, "dacioFlush: write failed\n"); + } else fprintf(stderr, "wrote only %d bytes\n", s); + exit(1); + } Index: patches/patch-dacio_h =================================================================== RCS file: /cvs/ports/audio/nspmod/patches/patch-dacio_h,v retrieving revision 1.1 diff -N -u -p patches/patch-dacio_h --- patches/patch-dacio_h 26 Oct 2007 20:28:51 -0000 1.1 +++ /dev/null 20 Dec 2009 05:31:01 -0000 @@ -1,11 +0,0 @@ -$OpenBSD: patch-dacio_h,v 1.1 2007/10/26 20:28:51 ajacoutot Exp $ ---- dacio.h.orig Sat Sep 16 09:01:08 1995 -+++ dacio.h Fri Oct 26 22:12:40 2007 -@@ -3,6 +3,7 @@ - #endif - - typedef struct { -+ int bits; - int speed; - int stereo; - } DacioConfInfo; Index: patches/patch-nspmod_c =================================================================== RCS file: /cvs/ports/audio/nspmod/patches/patch-nspmod_c,v retrieving revision 1.1 diff -N -u -p patches/patch-nspmod_c --- patches/patch-nspmod_c 26 Oct 2007 20:28:51 -0000 1.1 +++ /dev/null 20 Dec 2009 05:31:01 -0000 @@ -1,36 +0,0 @@ -$OpenBSD: patch-nspmod_c,v 1.1 2007/10/26 20:28:51 ajacoutot Exp $ ---- nspmod.c.orig Sat Sep 16 10:10:37 1995 -+++ nspmod.c Fri Oct 26 22:12:40 2007 -@@ -1,4 +1,5 @@ - #include <stdio.h> /*(perror)*/ -+#include <sys/types.h> - #include <sys/mman.h> /*PROT_READ,MAP_xxx*/ - #include <fcntl.h> /*O_RDONLY*/ - #include <sys/stat.h> /*stat*/ -@@ -35,6 +36,7 @@ help(const char *argv0) - printf("NSPmod version " LIT(VERSION_MAJOR) "." LIT(VERSION_MINOR) "\n"); - printf("Usage: %s [options] modfile\n", argv0); - printf("Options:\n"); -+ printf(" -b # number of bits to output (8 or 16)\n"); - printf(" -c # play only the channel\n"); - printf(" -e show events\n"); - printf(" -f # output sample rate\n"); -@@ -62,8 +64,9 @@ main(int argc, char *argv[]) - oi.outRate = DEF_OUTRATE; - oi.ovsFreq = -1; - /*oi.repLimit = 1;*/ -- while ((optChar = getopt(argc, argv, "c:ef:il:mo:rs:v:")) > 0) { -+ while ((optChar = getopt(argc, argv, "b:c:ef:il:mo:rs:v:")) > 0) { - switch (optChar) { -+ case 'b': oi.bits = (i15x)strtol(optarg, NULL, 0); break; - case 'c': oi.onlyCh = (i15x)strtol(optarg, NULL, 0) | 0x100; break; - case 'e': oi.showEvents++; break; - case 'f': oi.outRate = (u16x)strtol(optarg, NULL, 0); break; -@@ -116,6 +119,7 @@ main(int argc, char *argv[]) - - lookOverFile(p, statbuf.st_size); - dacioInit(); -+ dci.bits = oi.bits; - dci.speed = oi.outRate; - dci.stereo = !oi.mono; - dacioConf(&dci); Index: patches/patch-nspmod_h =================================================================== RCS file: /cvs/ports/audio/nspmod/patches/patch-nspmod_h,v retrieving revision 1.1 diff -N -u -p patches/patch-nspmod_h --- patches/patch-nspmod_h 26 Oct 2007 20:28:51 -0000 1.1 +++ /dev/null 20 Dec 2009 05:31:01 -0000 @@ -1,11 +0,0 @@ -$OpenBSD: patch-nspmod_h,v 1.1 2007/10/26 20:28:51 ajacoutot Exp $ ---- nspmod.h.orig Sat Sep 16 08:50:32 1995 -+++ nspmod.h Fri Oct 26 22:12:40 2007 -@@ -3,6 +3,7 @@ - #endif - - typedef struct { -+ i15x bits; /* -b # */ - i15x onlyCh; /* -c # */ - i15x showEvents; /* -e, -ee */ - u16x outRate; /* -f # */ Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/audio/nspmod/pkg/PLIST,v retrieving revision 1.3 diff -N -u -p pkg/PLIST --- pkg/PLIST 6 Aug 2004 14:37:28 -0000 1.3 +++ pkg/PLIST 20 Dec 2009 06:14:53 -0000 @@ -1,3 +1,3 @@ @comment $OpenBSD: PLIST,v 1.3 2004/08/06 14:37:28 espie Exp $ -bin/nspmod +...@bin bin/nspmod @man man/man1/nspmod.1
