openbsd-ports/audio/nspmod/patches/patch-nspmod_c
2007-10-26 20:25:39 +00:00

37 lines
1.4 KiB
Plaintext

$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);