Skip site navigation (1)Skip section navigation (2)
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>