Date: Fri, 30 Jan 1998 21:48:38 -0800 (PST) From: dburr@POBoxes.com To: FreeBSD-gnats-submit@FreeBSD.ORG Subject: ports/5607: NEW PORT: timidity-luigi [category audio] Message-ID: <199801310548.VAA10803@colossus.dyn.ml.org>
next in thread | raw e-mail | index | archive | help
>Number: 5607 >Category: ports >Synopsis: NEW PORT: timidity-luigi [category audio] >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Jan 30 21:50:01 PST 1998 >Last-Modified: >Originator: Donald Burr >Organization: Colossus: The Forbin Project >Release: FreeBSD 2.2.5-RELEASE i386 >Environment: Built on a 2.2.5 system, but should work with any modern FreeBSD release. Requires Luigi Rizzo's new sound drivers. >Description: This is a version of the "timidity" port (a MIDI-to-PCM converter and player, aka a poor man's "wave table sound card" emulated in software) that will work with Luigi Rizzo's new FreeBSD sound driver. >How-To-Repeat: >Fix: #!/bin/sh # This is a shell archive (produced by GNU sharutils 4.1.4). # To extract the files from this archive, save it to some FILE, remove # everything before the `!/bin/sh' line above, then type `sh FILE'. # # Made on 1998-01-30 21:44 PST by <dburr@control.colossus.dyn.ml.org>. # Source directory was `/usr/ports/audio'. # # Existing files will *not* be overwritten unless `-c' is specified. # # This shar contains: # length mode name # ------ ---------- ------------------------------------------ # 116 -rw-r--r-- timidity-luigi/files/md5 # 5884 -rw-r--r-- timidity-luigi/files/linux_a.c # 1766 -rw-r--r-- timidity-luigi/patches/patch-aa # 4059 -rw-r--r-- timidity-luigi/patches/patch-ab # 1090 -rw-r--r-- timidity-luigi/patches/patch-ac # 211 -rw-r--r-- timidity-luigi/patches/patch-ad # 11690 -rw-r--r-- timidity-luigi/patches/patch-ae # 77 -rw-r--r-- timidity-luigi/pkg/COMMENT # 322 -rw-r--r-- timidity-luigi/pkg/DESCR # 6246 -rw-r--r-- timidity-luigi/pkg/PLIST # 993 -rw-r--r-- timidity-luigi/Makefile # touch -am 1231235999 $$.touch >/dev/null 2>&1 if test ! -f 1231235999 && test -f $$.touch; then shar_touch=touch else shar_touch=: echo echo 'WARNING: not restoring timestamps. Consider getting and' echo "installing GNU \`touch', distributed in GNU File Utilities..." echo fi rm -f 1231235999 $$.touch # # ============= timidity-luigi/files/md5 ============== if test ! -d 'timidity-luigi'; then echo 'x - creating directory timidity-luigi' mkdir 'timidity-luigi' fi if test ! -d 'timidity-luigi/files'; then echo 'x - creating directory timidity-luigi/files' mkdir 'timidity-luigi/files' fi if test -f 'timidity-luigi/files/md5' && test X"$1" != X"-c"; then echo 'x - skipping timidity-luigi/files/md5 (file already exists)' else echo 'x - extracting timidity-luigi/files/md5 (text)' sed 's/^X//' << 'SHAR_EOF' > 'timidity-luigi/files/md5' && MD5 (dgguspat.zip) = 94affd73c5b53ff0d5e12df1bc55c53d MD5 (timidity-0.2i.tar.gz) = 7dedd75232aaa7729e50c76cdd379b82 SHAR_EOF $shar_touch -am 0120232098 'timidity-luigi/files/md5' && chmod 0644 'timidity-luigi/files/md5' || echo 'restore of timidity-luigi/files/md5 failed' shar_count="`wc -c < 'timidity-luigi/files/md5'`" test 116 -eq "$shar_count" || echo "timidity-luigi/files/md5: original size 116, current size $shar_count" fi # ============= timidity-luigi/files/linux_a.c ============== if test -f 'timidity-luigi/files/linux_a.c' && test X"$1" != X"-c"; then echo 'x - skipping timidity-luigi/files/linux_a.c (file already exists)' else echo 'x - extracting timidity-luigi/files/linux_a.c (text)' sed 's/^X//' << 'SHAR_EOF' > 'timidity-luigi/files/linux_a.c' && /* X * TiMidity -- Experimental MIDI to WAVE converter Copyright (C) 1995 Tuukka X * Toivonen <toivonen@clinet.fi> X * X * This program is free software; you can redistribute it and/or modify it under X * the terms of the GNU General Public License as published by the Free X * Software Foundation; either version 2 of the License, or (at your option) X * any later version. X * X * This program is distributed in the hope that it will be useful, but WITHOUT X * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or X * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for X * more details. X * X * You should have received a copy of the GNU General Public License along with X * this program; if not, write to the Free Software Foundation, Inc., 675 X * Mass Ave, Cambridge, MA 02139, USA. X * X * linux_audio.c X * X * Functions to play sound on the VoxWare audio driver (Linux or FreeBSD) X * X */ X #include <unistd.h> #include <fcntl.h> #include <errno.h> X #ifdef linux #include <sys/ioctl.h> /* new with 1.2.0? Didn't need this under X * 1.1.64 */ #include <linux/soundcard.h> #endif X #ifdef __FreeBSD__ #include <stdio.h> #include <machine/soundcard.h> #endif X #include "config.h" #include "output.h" #include "controls.h" X static int open_output(void); /* 0=success, 1=warning, -1=fatal X * error */ static void close_output(void); static void output_data(int32 * buf, int32 count); static void flush_output(void); static void purge_output(void); X /* export the playback mode */ X #define dpm linux_play_mode X PlayMode dpm = { X DEFAULT_RATE, PE_16BIT | PE_SIGNED, X -1, X {0}, /* default: get all the buffer fragments you X * can */ X "Linux dsp device", 'd', X "/dev/dsp", X open_output, X close_output, X output_data, X flush_output, X purge_output }; X X /*************************************************************************/ /* X * We currently only honor the PE_MONO bit, the sample rate, and the number X * of buffer fragments. We try 16-bit signed data first, and then 8-bit X * unsigned if it fails. If you have a sound device that can't handle either, X * let me know. X */ X static int open_output(void) { X int fd, tmp, i, warnings = 0; X X /* Open the audio device */ X fd = open(dpm.name, O_RDWR /* | O_NDELAY */); X if (fd < 0) { X ctl->cmsg(CMSG_ERROR, VERB_NORMAL, "%s: %s", X dpm.name, sys_errlist[errno]); X return -1; X } X /* They can't mean these */ X dpm.encoding &= ~(PE_ULAW | PE_BYTESWAP); X X X /* X * Set sample width to whichever the user wants. If it fails, try the X * other one. X */ X X i = tmp = (dpm.encoding & PE_16BIT) ? 16 : 8; X if (dpm.encoding & PE_16BIT) { X int fmt = AFMT_S16_LE ; X X if (ioctl(fd, SNDCTL_DSP_SETFMT, &fmt) < 0 || fmt != AFMT_S16_LE) { X fmt = AFMT_U8 ; X if (ioctl(fd, SNDCTL_DSP_SETFMT, &fmt) < 0 || fmt != AFMT_U8) { X ctl->cmsg(CMSG_ERROR, VERB_NORMAL, X "%s doesn't support 16- or 8-bit sample width", X dpm.name); X close(fd); X return -1; X } X ctl->cmsg(CMSG_WARNING, VERB_VERBOSE, X "Sample width adjusted to %d bits", tmp); X dpm.encoding ^= PE_16BIT; X warnings = 1; X } X } X if (dpm.encoding & PE_16BIT) X dpm.encoding |= PE_SIGNED; X else X dpm.encoding &= ~PE_SIGNED; X X X /* X * Try stereo or mono, whichever the user wants. If it fails, try the X * other. X */ X X i = tmp = (dpm.encoding & PE_MONO) ? 0 : 1; X if ((ioctl(fd, SNDCTL_DSP_STEREO, &tmp) < 0) || tmp != i) { X i = tmp = (dpm.encoding & PE_MONO) ? 1 : 0; X X if ((ioctl(fd, SNDCTL_DSP_STEREO, &tmp) < 0) || tmp != i) { X ctl->cmsg(CMSG_ERROR, VERB_NORMAL, X "%s doesn't support mono or stereo samples", X dpm.name); X close(fd); X return -1; X } X if (tmp == 0) X dpm.encoding |= PE_MONO; X else X dpm.encoding &= ~PE_MONO; X ctl->cmsg(CMSG_WARNING, VERB_VERBOSE, "Sound adjusted to %sphonic", X (tmp == 0) ? "mono" : "stereo"); X warnings = 1; X } X /* Set the sample rate */ X X tmp = dpm.rate; X if (ioctl(fd, SNDCTL_DSP_SPEED, &tmp) < 0) { X ctl->cmsg(CMSG_ERROR, VERB_NORMAL, X "%s doesn't support a %d Hz sample rate", X dpm.name, dpm.rate); X close(fd); X return -1; X } X if (tmp != dpm.rate) { X dpm.rate = tmp; X ctl->cmsg(CMSG_WARNING, VERB_VERBOSE, X "Output rate adjusted to %d Hz", dpm.rate); X warnings = 1; X } X /* Older VoxWare drivers don't have buffer fragment capabilities */ #ifdef SNDCTL_DSP_SETFRAGMENT X /* Set buffer fragments (in extra_param[0]) */ X X tmp = 2+ AUDIO_BUFFER_BITS ; X if (!(dpm.encoding & PE_MONO)) X tmp++; X if (dpm.encoding & PE_16BIT) X tmp++; X tmp |= (dpm.extra_param[0] << 16); X i = tmp; X if (ioctl(fd, SNDCTL_DSP_SETFRAGMENT, &tmp) < 0) { X ctl->cmsg(CMSG_WARNING, VERB_NORMAL, X "%s doesn't support %d-byte buffer fragments", dpm.name, (1 << i)); X /* X * It should still work in some fashion. We should use a secondary X * buffer anyway -- 64k isn't enough. X */ X warnings = 1; X } #else X if (dpm.extra_param[0]) { X ctl->cmsg(CMSG_WARNING, VERB_NORMAL, X "%s doesn't support buffer fragments", dpm.name); X warnings = 1; X } #endif X X dpm.fd = fd; X X return warnings; } X static void output_data(int32 * buf, int32 count) { X char *p; X int res, l; X X if (!(dpm.encoding & PE_MONO)) X count *= 2; /* Stereo samples */ X X if (dpm.encoding & PE_16BIT) { X /* Convert data to signed 16-bit PCM */ X s32tos16(buf, count); X res = count*2; X } else { X /* Convert to 8-bit unsigned and write out. */ X s32tou8(buf, count); X res = count ; X } X for (p = buf ; res > 0 ; res -= l ) { X l = write(dpm.fd, p, res); X if (l < 0) return ; X p += l ; X } } X static void close_output(void) { X close(dpm.fd); } X static void flush_output(void) { X ioctl(dpm.fd, SNDCTL_DSP_SYNC); } X static void purge_output(void) { X ioctl(dpm.fd, SNDCTL_DSP_RESET); } SHAR_EOF $shar_touch -am 0120232298 'timidity-luigi/files/linux_a.c' && chmod 0644 'timidity-luigi/files/linux_a.c' || echo 'restore of timidity-luigi/files/linux_a.c failed' shar_count="`wc -c < 'timidity-luigi/files/linux_a.c'`" test 5884 -eq "$shar_count" || echo "timidity-luigi/files/linux_a.c: original size 5884, current size $shar_count" fi # ============= timidity-luigi/patches/patch-aa ============== if test ! -d 'timidity-luigi/patches'; then echo 'x - creating directory timidity-luigi/patches' mkdir 'timidity-luigi/patches' fi if test -f 'timidity-luigi/patches/patch-aa' && test X"$1" != X"-c"; then echo 'x - skipping timidity-luigi/patches/patch-aa (file already exists)' else echo 'x - extracting timidity-luigi/patches/patch-aa (text)' sed 's/^X//' << 'SHAR_EOF' > 'timidity-luigi/patches/patch-aa' && *** config.h.orig Sat Jun 1 16:54:49 1996 --- config.h Sun Nov 17 10:00:29 1996 *************** *** 217,222 **** --- 217,238 ---- X # endif X #endif /* linux */ X + #ifdef __FreeBSD__ + #include <errno.h> + #include <machine/endian.h> + #if BYTE_ORDER == LITTLE_ENDIAN + #undef BIG_ENDIAN + #undef PDP_ENDIAN + #elif BYTE_ORDER == BIG_ENDIAN + #undef LITTLE_ENDIAN + #undef PDP_ENDIAN + #else + # error No valid byte sex defined + #endif + #define USE_LDEXP + #define PI M_PI + #endif + X /* Win32 on Intel machines */ X #ifdef __WIN32__ X # define LITTLE_ENDIAN *************** *** 254,266 **** --- 270,292 ---- X #ifdef LITTLE_ENDIAN X #define LE_SHORT(x) x X #define LE_LONG(x) x + #ifdef __FreeBSD__ + #define BE_SHORT(x) __byte_swap_word(x) + #define BE_LONG(x) __byte_swap_long(x) + #else X #define BE_SHORT(x) XCHG_SHORT(x) X #define BE_LONG(x) XCHG_LONG(x) + #endif X #else X #define BE_SHORT(x) x X #define BE_LONG(x) x + #ifdef __FreeBSD__ + #define LE_SHORT(x) __byte_swap_word(x) + #define LE_LONG(x) __byte_swap_long(x) + #else X #define LE_SHORT(x) XCHG_SHORT(x) X #define LE_LONG(x) XCHG_LONG(x) + #endif X #endif X X #define MAX_AMPLIFICATION 800 *** mix.c.orig Mon May 20 17:09:46 1996 --- mix.c Sun Nov 17 10:01:36 1996 *************** *** 23,29 **** --- 23,33 ---- X X #include <math.h> X #include <stdio.h> + #ifdef __FreeBSD__ + #include <stdlib.h> + #else X #include <malloc.h> + #endif X X #include "config.h" X #include "common.h" *** resample.c.orig Mon May 20 17:09:47 1996 --- resample.c Sun Nov 17 09:59:29 1996 *************** *** 22,28 **** --- 22,32 ---- X X #include <math.h> X #include <stdio.h> + #ifdef __FreeBSD__ + #include <stdlib.h> + #else X #include <malloc.h> + #endif X X #include "config.h" X #include "common.h" SHAR_EOF $shar_touch -am 0120232098 'timidity-luigi/patches/patch-aa' && chmod 0644 'timidity-luigi/patches/patch-aa' || echo 'restore of timidity-luigi/patches/patch-aa failed' shar_count="`wc -c < 'timidity-luigi/patches/patch-aa'`" test 1766 -eq "$shar_count" || echo "timidity-luigi/patches/patch-aa: original size 1766, current size $shar_count" fi # ============= timidity-luigi/patches/patch-ab ============== if test -f 'timidity-luigi/patches/patch-ab' && test X"$1" != X"-c"; then echo 'x - skipping timidity-luigi/patches/patch-ab (file already exists)' else echo 'x - extracting timidity-luigi/patches/patch-ab (text)' sed 's/^X//' << 'SHAR_EOF' > 'timidity-luigi/patches/patch-ab' && *** Makefile.orig Sun May 26 13:26:46 1996 --- Makefile Sun Nov 17 13:09:19 1996 *************** *** 24,45 **** X # But where to change without revealing my secret identity? X X ########### Compiler and flags. ! CC = gcc ! DEBUGFLAGS = -Wall -O2 X X ########### Install. ! INSTALL = /usr/bin/install X X # Where to install the executable ! BIN_DIR = /usr/local/bin X X # Where to install the manual pages ! MAN_DIR = /usr/local/man/man1 X X # Where to install the patches, config files, and MIDI files. X # If you change this, it's a good idea to recompile the binary, X # or you'll need to invoke timidity with the -L option. ! TIMID_DIR = /usr/local/lib/timidity X X # Where to install the Tcl code, if you use the Tcl code that is. X TCL_DIR = $(TIMID_DIR) --- 24,45 ---- X # But where to change without revealing my secret identity? X X ########### Compiler and flags. ! #CC = gcc ! DEBUGFLAGS = -Wall X X ########### Install. ! #INSTALL = /usr/bin/install X X # Where to install the executable ! BIN_DIR = ${PREFIX}/bin X X # Where to install the manual pages ! MAN_DIR = ${PREFIX}/man/man1 X X # Where to install the patches, config files, and MIDI files. X # If you change this, it's a good idea to recompile the binary, X # or you'll need to invoke timidity with the -L option. ! TIMID_DIR = ${PREFIX}/lib/timidity X X # Where to install the Tcl code, if you use the Tcl code that is. X TCL_DIR = $(TIMID_DIR) *************** *** 93,100 **** X # Select the ncurses full-screen interface X SYSTEM += -DIA_NCURSES X SYSEXTRAS += ncurs_c.c ! EXTRAINCS += -I/usr/include/ncurses ! EXTRALIBS += -lncurses X X ## Select the S-Lang full-screen interface X #SYSTEM += -DIA_SLANG --- 93,100 ---- X # Select the ncurses full-screen interface X SYSTEM += -DIA_NCURSES X SYSEXTRAS += ncurs_c.c ! #EXTRAINCS += -I/usr/include/ncurses ! EXTRALIBS += -lncurses -lmytinfo X X ## Select the S-Lang full-screen interface X #SYSTEM += -DIA_SLANG *************** *** 112,120 **** X #EXTRALIBS += -lgen X X # Select the Tcl/Tk interface ! SYSTEM += -DTCLTK -DWISH=\"wishx\" -DTKPROGPATH=\"$(TCL_DIR)/tkmidity.tcl\" ! SYSEXTRAS += tk_c.c ! INST_TK = install.tk X #EXTRAINCS += X #EXTRALIBS += X --- 112,120 ---- X #EXTRALIBS += -lgen X X # Select the Tcl/Tk interface ! #SYSTEM += -DTCLTK -DWISH=\"wishx\" -DTKPROGPATH=\"$(TCL_DIR)/tkmidity.tcl\" ! #SYSEXTRAS += tk_c.c ! #INST_TK = install.tk X #EXTRAINCS += X #EXTRALIBS += X *************** *** 136,142 **** X SDIST = timidity-lib-$(SUPPVERSION).tar.gz X SDISTZIP = tilib$(FNSUPPVERSION).zip X ! CFLAGS= $(DEBUGFLAGS) -DDEFAULT_PATH=\"$(TIMID_DIR)\" \ X -DTIMID_VERSION=\"$(VERSION)\" $(SYSTEM) $(EXTRAINCS) X X ########### All relevant files.. Anybody know autoconf? --- 136,142 ---- X SDIST = timidity-lib-$(SUPPVERSION).tar.gz X SDISTZIP = tilib$(FNSUPPVERSION).zip X ! CFLAGS+= $(DEBUGFLAGS) -DDEFAULT_PATH=\"$(TIMID_DIR)\" \ X -DTIMID_VERSION=\"$(VERSION)\" $(SYSTEM) $(EXTRAINCS) X X ########### All relevant files.. Anybody know autoconf? *************** *** 228,237 **** X wav2pat: wav2pat.c X $(CC) $(CFLAGS) -o wav2pat wav2pat.c X ! depends depend dep: ! $(CC) $(CFLAGS) -MM $(CSRCS) $(OPTSRCS) $(TOOLSRCS) > depends ! ! include depends X X ########### Installation targets X --- 228,237 ---- X wav2pat: wav2pat.c X $(CC) $(CFLAGS) -o wav2pat wav2pat.c X ! #depends depend dep: ! # $(CC) $(CFLAGS) -MM $(CSRCS) $(OPTSRCS) $(TOOLSRCS) > depends ! # ! #include depends X X ########### Installation targets X *************** *** 262,270 **** X mkdir -p $(TIMID_DIR) X $(INSTALL) -m 644 $(CONFIGF) $(TIMID_DIR) X ! install.patch: $(PATCHF) X mkdir -p $(TIMID_DIR)/patch ! $(INSTALL) -m 644 $(PATCHF) $(TIMID_DIR)/patch X X install.tk: $(ALLTCLF) X $(INSTALL) -m 644 $(ALLTCLF) $(TCL_DIR) --- 262,270 ---- X mkdir -p $(TIMID_DIR) X $(INSTALL) -m 644 $(CONFIGF) $(TIMID_DIR) X ! install.patch: #$(PATCHF) X mkdir -p $(TIMID_DIR)/patch ! # $(INSTALL) -m 644 $(PATCHF) $(TIMID_DIR)/patch X X install.tk: $(ALLTCLF) X $(INSTALL) -m 644 $(ALLTCLF) $(TCL_DIR) SHAR_EOF $shar_touch -am 0120232098 'timidity-luigi/patches/patch-ab' && chmod 0644 'timidity-luigi/patches/patch-ab' || echo 'restore of timidity-luigi/patches/patch-ab failed' shar_count="`wc -c < 'timidity-luigi/patches/patch-ab'`" test 4059 -eq "$shar_count" || echo "timidity-luigi/patches/patch-ab: original size 4059, current size $shar_count" fi # ============= timidity-luigi/patches/patch-ac ============== if test -f 'timidity-luigi/patches/patch-ac' && test X"$1" != X"-c"; then echo 'x - skipping timidity-luigi/patches/patch-ac (file already exists)' else echo 'x - extracting timidity-luigi/patches/patch-ac (text)' sed 's/^X//' << 'SHAR_EOF' > 'timidity-luigi/patches/patch-ac' && *** timidity.cfg.bak Mon May 22 02:40:27 1995 --- timidity.cfg Sun Nov 17 10:50:44 1996 *************** *** 34,42 **** X # This sets up the default patches in the TiMidity support package X # "timidity-lib-0.1.tar.gz": X ! bank 0 ! 0 patch/acpiano.pat ! 24 patch/nylongt2.pat X X ############################################################################## X # If you have Dustin McCartney's "wowpats" patches, you can source the --- 34,42 ---- X # This sets up the default patches in the TiMidity support package X # "timidity-lib-0.1.tar.gz": X ! #bank 0 ! # 0 patch/acpiano.pat ! # 24 patch/nylongt2.pat X X ############################################################################## X # If you have Dustin McCartney's "wowpats" patches, you can source the *************** *** 67,73 **** X # Note that midia.cfg sources gravis.cfg in turn, since the filenames are X # almost identical. X # ! #source midia.cfg X # X X --- 67,73 ---- X # Note that midia.cfg sources gravis.cfg in turn, since the filenames are X # almost identical. X # ! source midia.cfg X # X X SHAR_EOF $shar_touch -am 0120232098 'timidity-luigi/patches/patch-ac' && chmod 0644 'timidity-luigi/patches/patch-ac' || echo 'restore of timidity-luigi/patches/patch-ac failed' shar_count="`wc -c < 'timidity-luigi/patches/patch-ac'`" test 1090 -eq "$shar_count" || echo "timidity-luigi/patches/patch-ac: original size 1090, current size $shar_count" fi # ============= timidity-luigi/patches/patch-ad ============== if test -f 'timidity-luigi/patches/patch-ad' && test X"$1" != X"-c"; then echo 'x - skipping timidity-luigi/patches/patch-ad (file already exists)' else echo 'x - extracting timidity-luigi/patches/patch-ad (text)' sed 's/^X//' << 'SHAR_EOF' > 'timidity-luigi/patches/patch-ad' && *** gravis.cfg.bak Mon May 20 20:10:15 1996 --- gravis.cfg Sun Nov 17 12:43:31 1996 *************** *** 3,8 **** --- 3,10 ---- X # programs. X # X + dir %PREFIX%/lib/timidity/patch + X bank 0 X X 0 acpiano SHAR_EOF $shar_touch -am 0120232098 'timidity-luigi/patches/patch-ad' && chmod 0644 'timidity-luigi/patches/patch-ad' || echo 'restore of timidity-luigi/patches/patch-ad failed' shar_count="`wc -c < 'timidity-luigi/patches/patch-ad'`" test 211 -eq "$shar_count" || echo "timidity-luigi/patches/patch-ad: original size 211, current size $shar_count" fi # ============= timidity-luigi/patches/patch-ae ============== if test -f 'timidity-luigi/patches/patch-ae' && test X"$1" != X"-c"; then echo 'x - skipping timidity-luigi/patches/patch-ae (file already exists)' else echo 'x - extracting timidity-luigi/patches/patch-ae (text)' sed 's/^X//' << 'SHAR_EOF' > 'timidity-luigi/patches/patch-ae' && --- linux_a.c.orig Mon May 20 06:09:46 1996 +++ linux_a.c Tue Jan 20 23:57:41 1998 @@ -1,34 +1,34 @@ -/* - - TiMidity -- Experimental MIDI to WAVE converter - Copyright (C) 1995 Tuukka Toivonen <toivonen@clinet.fi> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - linux_audio.c - - Functions to play sound on the VoxWare audio driver (Linux or FreeBSD) - -*/ +/* + * TiMidity -- Experimental MIDI to WAVE converter Copyright (C) 1995 Tuukka + * Toivonen <toivonen@clinet.fi> + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free + * Software Foundation; either version 2 of the License, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, Inc., 675 + * Mass Ave, Cambridge, MA 02139, USA. + * + * linux_audio.c + * + * Functions to play sound on the VoxWare audio driver (Linux or FreeBSD) + * + */ X X #include <unistd.h> X #include <fcntl.h> X #include <errno.h> X X #ifdef linux -#include <sys/ioctl.h> /* new with 1.2.0? Didn't need this under 1.1.64 */ +#include <sys/ioctl.h> /* new with 1.2.0? Didn't need this under + * 1.1.64 */ X #include <linux/soundcard.h> X #endif X @@ -41,189 +41,198 @@ X #include "output.h" X #include "controls.h" X -static int open_output(void); /* 0=success, 1=warning, -1=fatal error */ -static void close_output(void); -static void output_data(int32 *buf, int32 count); -static void flush_output(void); -static void purge_output(void); +static int open_output(void); /* 0=success, 1=warning, -1=fatal + * error */ +static void close_output(void); +static void output_data(int32 * buf, int32 count); +static void flush_output(void); +static void purge_output(void); X X /* export the playback mode */ X X #define dpm linux_play_mode X -PlayMode dpm = { - DEFAULT_RATE, PE_16BIT|PE_SIGNED, - -1, - {0}, /* default: get all the buffer fragments you can */ - "Linux dsp device", 'd', - "/dev/dsp", - open_output, - close_output, - output_data, - flush_output, - purge_output +PlayMode dpm = { + DEFAULT_RATE, PE_16BIT | PE_SIGNED, + -1, + {0}, /* default: get all the buffer fragments you + * can */ + "Linux dsp device", 'd', + "/dev/dsp", + open_output, + close_output, + output_data, + flush_output, + purge_output X }; X X X /*************************************************************************/ -/* We currently only honor the PE_MONO bit, the sample rate, and the - number of buffer fragments. We try 16-bit signed data first, and - then 8-bit unsigned if it fails. If you have a sound device that - can't handle either, let me know. */ +/* + * We currently only honor the PE_MONO bit, the sample rate, and the number + * of buffer fragments. We try 16-bit signed data first, and then 8-bit + * unsigned if it fails. If you have a sound device that can't handle either, + * let me know. + */ X -static int open_output(void) +static int +open_output(void) X { - int fd, tmp, i, warnings=0; - - /* Open the audio device */ - fd=open(dpm.name, O_RDWR | O_NDELAY); - if (fd<0) - { - ctl->cmsg(CMSG_ERROR, VERB_NORMAL, "%s: %s", - dpm.name, sys_errlist[errno]); - return -1; - } - - /* They can't mean these */ - dpm.encoding &= ~(PE_ULAW|PE_BYTESWAP); - - - /* Set sample width to whichever the user wants. If it fails, try - the other one. */ - - i=tmp=(dpm.encoding & PE_16BIT) ? 16 : 8; - if (ioctl(fd, SNDCTL_DSP_SAMPLESIZE, &tmp)<0 || tmp!=i) - { - /* Try the other one */ - i=tmp=(dpm.encoding & PE_16BIT) ? 8 : 16; - if (ioctl(fd, SNDCTL_DSP_SAMPLESIZE, &tmp)<0 || tmp!=i) - { - ctl->cmsg(CMSG_ERROR, VERB_NORMAL, - "%s doesn't support 16- or 8-bit sample width", - dpm.name); - close(fd); - return -1; - } - ctl->cmsg(CMSG_WARNING, VERB_VERBOSE, - "Sample width adjusted to %d bits", tmp); - dpm.encoding ^= PE_16BIT; - warnings=1; - } - if (dpm.encoding & PE_16BIT) - dpm.encoding |= PE_SIGNED; - else - dpm.encoding &= ~PE_SIGNED; - - - /* Try stereo or mono, whichever the user wants. If it fails, try - the other. */ - - i=tmp=(dpm.encoding & PE_MONO) ? 0 : 1; - if ((ioctl(fd, SNDCTL_DSP_STEREO, &tmp)<0) || tmp!=i) - { - i=tmp=(dpm.encoding & PE_MONO) ? 1 : 0; - - if ((ioctl(fd, SNDCTL_DSP_STEREO, &tmp)<0) || tmp!=i) - { - ctl->cmsg(CMSG_ERROR, VERB_NORMAL, - "%s doesn't support mono or stereo samples", - dpm.name); - close(fd); - return -1; + int fd, tmp, i, warnings = 0; + + /* Open the audio device */ + fd = open(dpm.name, O_RDWR /* | O_NDELAY */); + if (fd < 0) { + ctl->cmsg(CMSG_ERROR, VERB_NORMAL, "%s: %s", + dpm.name, sys_errlist[errno]); + return -1; + } + /* They can't mean these */ + dpm.encoding &= ~(PE_ULAW | PE_BYTESWAP); + + + /* + * Set sample width to whichever the user wants. If it fails, try the + * other one. + */ + + i = tmp = (dpm.encoding & PE_16BIT) ? 16 : 8; + if (dpm.encoding & PE_16BIT) { + int fmt = AFMT_S16_LE ; + + if (ioctl(fd, SNDCTL_DSP_SETFMT, &fmt) < 0 || fmt != AFMT_S16_LE) { + fmt = AFMT_U8 ; + if (ioctl(fd, SNDCTL_DSP_SETFMT, &fmt) < 0 || fmt != AFMT_U8) { + ctl->cmsg(CMSG_ERROR, VERB_NORMAL, + "%s doesn't support 16- or 8-bit sample width", + dpm.name); + close(fd); + return -1; + } + ctl->cmsg(CMSG_WARNING, VERB_VERBOSE, + "Sample width adjusted to %d bits", tmp); + dpm.encoding ^= PE_16BIT; + warnings = 1; X } - if (tmp==0) dpm.encoding |= PE_MONO; - else dpm.encoding &= ~PE_MONO; - ctl->cmsg(CMSG_WARNING, VERB_VERBOSE, "Sound adjusted to %sphonic", - (tmp==0) ? "mono" : "stereo"); - warnings=1; X } - - - /* Set the sample rate */ - - tmp=dpm.rate; - if (ioctl(fd, SNDCTL_DSP_SPEED, &tmp)<0) - { - ctl->cmsg(CMSG_ERROR, VERB_NORMAL, - "%s doesn't support a %d Hz sample rate", - dpm.name, dpm.rate); - close(fd); - return -1; - } - if (tmp != dpm.rate) - { - dpm.rate=tmp; - ctl->cmsg(CMSG_WARNING, VERB_VERBOSE, - "Output rate adjusted to %d Hz", dpm.rate); - warnings=1; + if (dpm.encoding & PE_16BIT) + dpm.encoding |= PE_SIGNED; + else + dpm.encoding &= ~PE_SIGNED; + + + /* + * Try stereo or mono, whichever the user wants. If it fails, try the + * other. + */ + + i = tmp = (dpm.encoding & PE_MONO) ? 0 : 1; + if ((ioctl(fd, SNDCTL_DSP_STEREO, &tmp) < 0) || tmp != i) { + i = tmp = (dpm.encoding & PE_MONO) ? 1 : 0; + + if ((ioctl(fd, SNDCTL_DSP_STEREO, &tmp) < 0) || tmp != i) { + ctl->cmsg(CMSG_ERROR, VERB_NORMAL, + "%s doesn't support mono or stereo samples", + dpm.name); + close(fd); + return -1; + } + if (tmp == 0) + dpm.encoding |= PE_MONO; + else + dpm.encoding &= ~PE_MONO; + ctl->cmsg(CMSG_WARNING, VERB_VERBOSE, "Sound adjusted to %sphonic", + (tmp == 0) ? "mono" : "stereo"); + warnings = 1; + } + /* Set the sample rate */ + + tmp = dpm.rate; + if (ioctl(fd, SNDCTL_DSP_SPEED, &tmp) < 0) { + ctl->cmsg(CMSG_ERROR, VERB_NORMAL, + "%s doesn't support a %d Hz sample rate", + dpm.name, dpm.rate); + close(fd); + return -1; + } + if (tmp != dpm.rate) { + dpm.rate = tmp; + ctl->cmsg(CMSG_WARNING, VERB_VERBOSE, + "Output rate adjusted to %d Hz", dpm.rate); + warnings = 1; X } - - /* Older VoxWare drivers don't have buffer fragment capabilities */ + /* Older VoxWare drivers don't have buffer fragment capabilities */ X #ifdef SNDCTL_DSP_SETFRAGMENT - /* Set buffer fragments (in extra_param[0]) */ - - tmp=AUDIO_BUFFER_BITS; - if (!(dpm.encoding & PE_MONO)) tmp++; - if (dpm.encoding & PE_16BIT) tmp++; - tmp |= (dpm.extra_param[0]<<16); - i=tmp; - if (ioctl(fd, SNDCTL_DSP_SETFRAGMENT, &tmp)<0) - { - ctl->cmsg(CMSG_WARNING, VERB_NORMAL, - "%s doesn't support %d-byte buffer fragments", dpm.name, (1<<i)); - /* It should still work in some fashion. We should use a - secondary buffer anyway -- 64k isn't enough. */ - warnings=1; + /* Set buffer fragments (in extra_param[0]) */ + + tmp = 2+ AUDIO_BUFFER_BITS ; + if (!(dpm.encoding & PE_MONO)) + tmp++; + if (dpm.encoding & PE_16BIT) + tmp++; + tmp |= (dpm.extra_param[0] << 16); + i = tmp; + if (ioctl(fd, SNDCTL_DSP_SETFRAGMENT, &tmp) < 0) { + ctl->cmsg(CMSG_WARNING, VERB_NORMAL, + "%s doesn't support %d-byte buffer fragments", dpm.name, (1 << i)); + /* + * It should still work in some fashion. We should use a secondary + * buffer anyway -- 64k isn't enough. + */ + warnings = 1; X } X #else - if (dpm.extra_param[0]) - { - ctl->cmsg(CMSG_WARNING, VERB_NORMAL, - "%s doesn't support buffer fragments", dpm.name); - warnings=1; + if (dpm.extra_param[0]) { + ctl->cmsg(CMSG_WARNING, VERB_NORMAL, + "%s doesn't support buffer fragments", dpm.name); + warnings = 1; X } X #endif X - dpm.fd=fd; - - return warnings; + dpm.fd = fd; + + return warnings; X } X -static void output_data(int32 *buf, int32 count) +static void +output_data(int32 * buf, int32 count) X { - if (!(dpm.encoding & PE_MONO)) count*=2; /* Stereo samples */ - - if (dpm.encoding & PE_16BIT) - { - /* Convert data to signed 16-bit PCM */ - s32tos16(buf, count); - - /* Write the data out. Linux likes to give an EINTR if you suspend - a program while waiting on a write, so we may need to retry. */ - while ((-1==write(dpm.fd, buf, count * 2)) && errno==EINTR) - ; - } - else - { - /* Convert to 8-bit unsigned and write out. */ - s32tou8(buf, count); - - while ((-1==write(dpm.fd, buf, count)) && errno==EINTR) - ; + char *p; + int res, l; + + if (!(dpm.encoding & PE_MONO)) + count *= 2; /* Stereo samples */ + + if (dpm.encoding & PE_16BIT) { + /* Convert data to signed 16-bit PCM */ + s32tos16(buf, count); + res = count*2; + } else { + /* Convert to 8-bit unsigned and write out. */ + s32tou8(buf, count); + res = count ; + } + for (p = buf ; res > 0 ; res -= l ) { + l = write(dpm.fd, p, res); + if (l < 0) return ; + p += l ; X } X } X -static void close_output(void) +static void +close_output(void) X { - close(dpm.fd); + close(dpm.fd); X } X -static void flush_output(void) +static void +flush_output(void) X { - ioctl(dpm.fd, SNDCTL_DSP_SYNC); + ioctl(dpm.fd, SNDCTL_DSP_SYNC); X } X -static void purge_output(void) +static void +purge_output(void) X { - ioctl(dpm.fd, SNDCTL_DSP_RESET); + ioctl(dpm.fd, SNDCTL_DSP_RESET); X } SHAR_EOF $shar_touch -am 0120235798 'timidity-luigi/patches/patch-ae' && chmod 0644 'timidity-luigi/patches/patch-ae' || echo 'restore of timidity-luigi/patches/patch-ae failed' shar_count="`wc -c < 'timidity-luigi/patches/patch-ae'`" test 11690 -eq "$shar_count" || echo "timidity-luigi/patches/patch-ae: original size 11690, current size $shar_count" fi # ============= timidity-luigi/pkg/COMMENT ============== if test ! -d 'timidity-luigi/pkg'; then echo 'x - creating directory timidity-luigi/pkg' mkdir 'timidity-luigi/pkg' fi if test -f 'timidity-luigi/pkg/COMMENT' && test X"$1" != X"-c"; then echo 'x - skipping timidity-luigi/pkg/COMMENT (file already exists)' else echo 'x - extracting timidity-luigi/pkg/COMMENT (text)' sed 's/^X//' << 'SHAR_EOF' > 'timidity-luigi/pkg/COMMENT' && MIDI to WAV renderer and player, configured for the new FreeBSD sound driver SHAR_EOF $shar_touch -am 0120232198 'timidity-luigi/pkg/COMMENT' && chmod 0644 'timidity-luigi/pkg/COMMENT' || echo 'restore of timidity-luigi/pkg/COMMENT failed' shar_count="`wc -c < 'timidity-luigi/pkg/COMMENT'`" test 77 -eq "$shar_count" || echo "timidity-luigi/pkg/COMMENT: original size 77, current size $shar_count" fi # ============= timidity-luigi/pkg/DESCR ============== if test -f 'timidity-luigi/pkg/DESCR' && test X"$1" != X"-c"; then echo 'x - skipping timidity-luigi/pkg/DESCR (file already exists)' else echo 'x - extracting timidity-luigi/pkg/DESCR (text)' sed 's/^X//' << 'SHAR_EOF' > 'timidity-luigi/pkg/DESCR' && TiMidity is a MIDI to WAVE converter using Gravis Ultra- sound-compatible patch files to generate digital audio data from General MIDI files. The data can be stored in a file for processing, or played in real time through an audio device. X This version is configured for Luigi Rizzo's new FreeBSD sound driver. SHAR_EOF $shar_touch -am 0120232198 'timidity-luigi/pkg/DESCR' && chmod 0644 'timidity-luigi/pkg/DESCR' || echo 'restore of timidity-luigi/pkg/DESCR failed' shar_count="`wc -c < 'timidity-luigi/pkg/DESCR'`" test 322 -eq "$shar_count" || echo "timidity-luigi/pkg/DESCR: original size 322, current size $shar_count" fi # ============= timidity-luigi/pkg/PLIST ============== if test -f 'timidity-luigi/pkg/PLIST' && test X"$1" != X"-c"; then echo 'x - skipping timidity-luigi/pkg/PLIST (file already exists)' else echo 'x - extracting timidity-luigi/pkg/PLIST (text)' sed 's/^X//' << 'SHAR_EOF' > 'timidity-luigi/pkg/PLIST' && bin/timidity bin/bag bin/wav2pat man/man1/timidity.1.gz lib/timidity/timidity.cfg lib/timidity/gsdrum.cfg lib/timidity/gravis.cfg lib/timidity/midia.cfg lib/timidity/wowpats.cfg lib/timidity/mt32.cfg lib/timidity/patch/acbass.pat lib/timidity/patch/accordn.pat lib/timidity/patch/acguitar.pat lib/timidity/patch/acpiano.pat lib/timidity/patch/agogo.pat lib/timidity/patch/agogohi.pat lib/timidity/patch/agogolo.pat lib/timidity/patch/altosax.pat lib/timidity/patch/applause.pat lib/timidity/patch/atmosphr.pat lib/timidity/patch/aurora.pat lib/timidity/patch/bagpipes.pat lib/timidity/patch/banjo.pat lib/timidity/patch/barisax.pat lib/timidity/patch/basslead.pat lib/timidity/patch/bassoon.pat lib/timidity/patch/belltree.pat lib/timidity/patch/blank.pat lib/timidity/patch/bongohi.pat lib/timidity/patch/bongolo.pat lib/timidity/patch/bottle.pat lib/timidity/patch/bowglass.pat lib/timidity/patch/britepno.pat lib/timidity/patch/c550kc_1.pat lib/timidity/patch/c550sn10.pat lib/timidity/patch/c550sn_6.pat lib/timidity/patch/c550vibs.pat lib/timidity/patch/cabasa.pat lib/timidity/patch/calliope.pat lib/timidity/patch/carillon.pat lib/timidity/patch/castinet.pat lib/timidity/patch/celeste.pat lib/timidity/patch/cello.pat lib/timidity/patch/charang.pat lib/timidity/patch/chiflead.pat lib/timidity/patch/choir.pat lib/timidity/patch/church.pat lib/timidity/patch/claps.pat lib/timidity/patch/clarinet.pat lib/timidity/patch/clave.pat lib/timidity/patch/clavinet.pat lib/timidity/patch/cleangtr.pat lib/timidity/patch/concrtna.pat lib/timidity/patch/congahi1.pat lib/timidity/patch/congahi2.pat lib/timidity/patch/congalo.pat lib/timidity/patch/contraba.pat lib/timidity/patch/cowbell.pat lib/timidity/patch/crystal.pat lib/timidity/patch/cuica1.pat lib/timidity/patch/cuica2.pat lib/timidity/patch/cymbell.pat lib/timidity/patch/cymchina.pat lib/timidity/patch/cymcrsh1.pat lib/timidity/patch/cymcrsh2.pat lib/timidity/patch/cymride1.pat lib/timidity/patch/cymride2.pat lib/timidity/patch/cymsplsh.pat lib/timidity/patch/distgtr.pat lib/timidity/patch/doo.pat lib/timidity/patch/echovox.pat lib/timidity/patch/englhorn.pat lib/timidity/patch/epiano1.pat lib/timidity/patch/epiano2.pat lib/timidity/patch/fantasia.pat lib/timidity/patch/fiddle.pat lib/timidity/patch/flute.pat lib/timidity/patch/fngrbass.pat lib/timidity/patch/frenchrn.pat lib/timidity/patch/freshair.pat lib/timidity/patch/fretless.pat lib/timidity/patch/fx-blow.pat lib/timidity/patch/fx-fret.pat lib/timidity/patch/ghostie.pat lib/timidity/patch/glocken.pat lib/timidity/patch/gtrharm.pat lib/timidity/patch/guiro1.pat lib/timidity/patch/guiro2.pat lib/timidity/patch/halopad.pat lib/timidity/patch/harmonca.pat lib/timidity/patch/harp.pat lib/timidity/patch/helicptr.pat lib/timidity/patch/highq.pat lib/timidity/patch/hihatcl.pat lib/timidity/patch/hihatop.pat lib/timidity/patch/hihatpd.pat lib/timidity/patch/hitbrass.pat lib/timidity/patch/homeorg.pat lib/timidity/patch/honky.pat lib/timidity/patch/hrpschrd.pat lib/timidity/patch/jazzgtr.pat lib/timidity/patch/jingles.pat lib/timidity/patch/jungle.pat lib/timidity/patch/kalimba.pat lib/timidity/patch/kick1.pat lib/timidity/patch/kick2.pat lib/timidity/patch/koto.pat lib/timidity/patch/lead5th.pat lib/timidity/patch/maracas.pat lib/timidity/patch/marcato.pat lib/timidity/patch/marimba.pat lib/timidity/patch/metalpad.pat lib/timidity/patch/metbell.pat lib/timidity/patch/metclick.pat lib/timidity/patch/musicbox.pat lib/timidity/patch/mutegtr.pat lib/timidity/patch/mutetrum.pat lib/timidity/patch/nyguitar.pat lib/timidity/patch/oboe.pat lib/timidity/patch/ocarina.pat lib/timidity/patch/odguitar.pat lib/timidity/patch/orchhit.pat lib/timidity/patch/percorg.pat lib/timidity/patch/piccolo.pat lib/timidity/patch/pickbass.pat lib/timidity/patch/pistol.pat lib/timidity/patch/pizzcato.pat lib/timidity/patch/polysyn.pat lib/timidity/patch/recorder.pat lib/timidity/patch/reedorg.pat lib/timidity/patch/revcym.pat lib/timidity/patch/ringwhsl.pat lib/timidity/patch/rockorg.pat lib/timidity/patch/santur.pat lib/timidity/patch/sawwave.pat lib/timidity/patch/scratch1.pat lib/timidity/patch/scratch2.pat lib/timidity/patch/seashore.pat lib/timidity/patch/shakazul.pat lib/timidity/patch/shaker.pat lib/timidity/patch/shamisen.pat lib/timidity/patch/shannai.pat lib/timidity/patch/sitar.pat lib/timidity/patch/slap.pat lib/timidity/patch/slapbas1.pat lib/timidity/patch/slapbas2.pat lib/timidity/patch/slowstr.pat lib/timidity/patch/snare1.pat lib/timidity/patch/snare2.pat lib/timidity/patch/soundtrk.pat lib/timidity/patch/sprnosax.pat lib/timidity/patch/sqrclick.pat lib/timidity/patch/sqrwave.pat lib/timidity/patch/startrak.pat lib/timidity/patch/steeldrm.pat lib/timidity/patch/stickrim.pat lib/timidity/patch/sticks.pat lib/timidity/patch/surdo1.pat lib/timidity/patch/surdo2.pat lib/timidity/patch/sweeper.pat lib/timidity/patch/synbass1.pat lib/timidity/patch/synbass2.pat lib/timidity/patch/synbras1.pat lib/timidity/patch/synbras2.pat lib/timidity/patch/synpiano.pat lib/timidity/patch/synstr1.pat lib/timidity/patch/synstr2.pat lib/timidity/patch/syntom.pat lib/timidity/patch/taiko.pat lib/timidity/patch/tamborin.pat lib/timidity/patch/telephon.pat lib/timidity/patch/tenorsax.pat lib/timidity/patch/timbaleh.pat lib/timidity/patch/timbalel.pat lib/timidity/patch/timpani.pat lib/timidity/patch/tomhi1.pat lib/timidity/patch/tomhi2.pat lib/timidity/patch/tomlo1.pat lib/timidity/patch/tomlo2.pat lib/timidity/patch/tommid1.pat lib/timidity/patch/tommid2.pat lib/timidity/patch/toms.pat lib/timidity/patch/tremstr.pat lib/timidity/patch/triangl1.pat lib/timidity/patch/triangl2.pat lib/timidity/patch/trombone.pat lib/timidity/patch/trumpet.pat lib/timidity/patch/tuba.pat lib/timidity/patch/tubebell.pat lib/timidity/patch/unicorn.pat lib/timidity/patch/vibes.pat lib/timidity/patch/vibslap.pat lib/timidity/patch/viola.pat lib/timidity/patch/violin.pat lib/timidity/patch/voices.pat lib/timidity/patch/voxlead.pat lib/timidity/patch/warmpad.pat lib/timidity/patch/whistle.pat lib/timidity/patch/whistle1.pat lib/timidity/patch/whistle2.pat lib/timidity/patch/woodblk.pat lib/timidity/patch/woodblk1.pat lib/timidity/patch/woodblk2.pat lib/timidity/patch/woodflut.pat lib/timidity/patch/xylophon.pat SHAR_EOF $shar_touch -am 0120232098 'timidity-luigi/pkg/PLIST' && chmod 0644 'timidity-luigi/pkg/PLIST' || echo 'restore of timidity-luigi/pkg/PLIST failed' shar_count="`wc -c < 'timidity-luigi/pkg/PLIST'`" test 6246 -eq "$shar_count" || echo "timidity-luigi/pkg/PLIST: original size 6246, current size $shar_count" fi # ============= timidity-luigi/Makefile ============== if test -f 'timidity-luigi/Makefile' && test X"$1" != X"-c"; then echo 'x - skipping timidity-luigi/Makefile (file already exists)' else echo 'x - extracting timidity-luigi/Makefile (text)' sed 's/^X//' << 'SHAR_EOF' > 'timidity-luigi/Makefile' && # New ports collection makefile for: timidity # Homepage: http://www.cgs.fi/~tt/timidity/ # Version required: 0.2i # Date created: 17 Nov 1996 # Whom: ache # # $Id: Makefile,v 1.5 1997/09/07 22:08:13 ache Exp $ # X DISTNAME= timidity-0.2i PKGNAME= ${DISTNAME}-luigi_sound CATEGORIES= audio MASTER_SITES= ftp://ftp.cdrom.com/pub/demos/music/samples/ \ X http://www.cgs.fi/~tt/timidity/ TIINS= dgguspat.zip DISTFILES= ${TIINS} ${DISTNAME}.tar.gz X MAINTAINER= ache@FreeBSD.ORG X NO_CDROM= "Uses copyrighted patches" X BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip X EXTRACT_ONLY= ${DISTNAME}.tar.gz INSTALL_TARGET= install.all MAN1= timidity.1 X do-configure: X @cd ${WRKSRC} && \ X sed "s=%PREFIX%=${PREFIX}=" < gravis.cfg > gravis.cfg.new && \ X mv gravis.cfg.new gravis.cfg X pre-build: X @echo ${FILESDIR} X post-install: X cd ${PREFIX}/lib/timidity/patch && \ X unzip -o -q -L ${DISTDIR}/${TIINS} X X.include <bsd.port.mk> SHAR_EOF $shar_touch -am 0120232498 'timidity-luigi/Makefile' && chmod 0644 'timidity-luigi/Makefile' || echo 'restore of timidity-luigi/Makefile failed' shar_count="`wc -c < 'timidity-luigi/Makefile'`" test 993 -eq "$shar_count" || echo "timidity-luigi/Makefile: original size 993, current size $shar_count" fi exit 0 >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801310548.VAA10803>