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

Reply via email to