1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-21 20:38:45 +00:00

Add audio/snd, a multitracking, GUILE-extensible sound editor.

This commit is contained in:
Trevor Johnson 2000-10-08 18:53:47 +00:00
parent f65b3ad332
commit 656bf2fdab
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=33588
11 changed files with 285 additions and 0 deletions

View File

@ -117,6 +117,7 @@
SUBDIR += shorten
SUBDIR += shout
SUBDIR += sidplay
SUBDIR += snd
SUBDIR += snowstar
SUBDIR += soundtracker
SUBDIR += sox

105
audio/snd/Makefile Normal file
View File

@ -0,0 +1,105 @@
# New ports collection makefile for: snd
# Date created: 2000-10-05
# Whom: trevor
#
# $FreeBSD$
#
PORTNAME= snd
PORTVERSION= 4.6
CATEGORIES= audio
MASTER_SITES= ftp://ccrma-ftp.stanford.edu/pub/Lisp/ \
${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
MAINTAINER= trevor@FreeBSD.org
LIB_DEPENDS= intl.1:${PORTSDIR}/devel/gettext
.if defined(WITHOUT_X)
WITHOUT_GTKEXTRA= yes
.endif
.if !defined(WITHOUT_GTKEXTRA)
LIB_DEPENDS+= gtkextra.10:${PORTSDIR}/x11-toolkits/gtkextra
.endif
.if !defined(WITHOUT_GUILE)
LIB_DEPENDS+= guile.9:${PORTSDIR}/lang/guile
.if !defined(WITHOUT_X)
LIB_DEPENDS+= guilegtk-1.2:${PORTSDIR}/x11-toolkits/guile-gtk
.endif
.endif
ALL_TARGET= audinfo snd sndinfo sndplay sndrecord sndsine
CONFIGURE_ARGS= --with-float-samples \
--with-multifile
.if !defined(WITHOUT_X)
CONFIGURE_ARGS+= --with-gtk \
--with-gtkrc-colors \
--with-float-samples
.endif
.if defined(WITHOUT_GUILE)
CONFIGURE_ARGS+= --without-guile
.endif
.if !defined(WITHOUT_GTKEXTRA)
CONFIGURE_ARGS+= --with-gtk-extra
.endif
.if defined(WITHOUT_X)
CONFIGURE_ARGS+= --without-gui
.endif
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib"
GNU_CONFIGURE= yes
MAKEFILE= makefile
PREFIX= /
.if !defined(WITHOUT_X)
USE_GLIB= yes
USE_GTK= yes
USE_XLIB= yes
.endif
WRKSRC= ${WRKDIR}/snd-4
post-configure:
@${PERL} -pi -e "s:^LIBS = :LIBS = -lm:g" ${WRKSRC}/makefile
do-install:
.for i in audinfo sndinfo sndplay sndrecord sndsine
${INSTALL_PROGRAM} ${WRKSRC}/${i} ${LOCALBASE}/bin
.endfor
.if !defined(WITHOUT_X)
${INSTALL_PROGRAM} ${WRKSRC}/snd ${X11BASE}/bin
${INSTALL_DATA} ${WRKSRC}/Snd.ad ${X11BASE}/lib/X11/app-defaults/
.else
${INSTALL_PROGRAM} ${WRKSRC}/snd ${LOCALBASE}/bin
.endif
.if !defined(NOPORTDOCS)
${MKDIR} ${LOCALBASE}/share/doc/snd
${RM} -f ${WRKSRC}/auto.png
.for i in COPYING HISTORY.Snd README.Snd
${INSTALL_DATA} ${WRKSRC}/${i} ${LOCALBASE}/share/doc/snd
.endfor
${INSTALL_DATA} \
${WRKSRC}/*.html \
${WRKSRC}/*.png \
${WRKSRC}/*.txt \
${LOCALBASE}/share/doc/snd
.if !defined(WITHOUT_GUILE)
${INSTALL_DATA} ${WRKSRC}/*.scm ${LOCALBASE}/share/doc/snd
.endif
.endif
pre-build:
${CP} ${PKGDIR}/pkg-plist-in ${PLIST}
.if !defined(WITHOUT_GUILE)
${CAT} ${PKGDIR}/pkg-plist-guile >> ${PLIST}
.endif
.if !defined(WITHOUT_X)
${ECHO} "%%X11BASE%%/bin/snd" >> ${PLIST}
${ECHO} "%%X11BASE%%/lib/X11/app-defaults/Snd.ad" >> ${PLIST}
.else
${ECHO} "%%LOCALBASE%%/bin/snd" >> ${PLIST}
.endif
.if !defined(NOPORTDOCS)
${ECHO} "@dirrm %%LOCALBASE%%/share/doc/snd" >> ${PLIST}
.endif
.include <bsd.port.mk>

1
audio/snd/distinfo Normal file
View File

@ -0,0 +1 @@
MD5 (snd-4.6.tar.gz) = cfe4b8a8926d9762f53555c81695141b

View File

@ -0,0 +1,73 @@
--- audio.c.orig Mon Sep 18 12:08:54 2000
+++ audio.c Fri Oct 6 17:34:16 2000
@@ -1830,7 +1830,7 @@
break;
}
if (audio_out == -1) return(error_exit(MUS_AUDIO_CANT_OPEN,audio_out));
- if (ioctl(audio_out,SNDCTL_DSP_CHANNELS,&chans) == -1) return(error_exit(MUS_AUDIO_CHANNELS_NOT_AVAILABLE,audio_out));
+ if (ioctl(audio_out,SOUND_PCM_READ_CHANNELS,&chans) == -1) return(error_exit(MUS_AUDIO_CHANNELS_NOT_AVAILABLE,audio_out));
return(audio_out);
}
@@ -1844,7 +1844,7 @@
return error_exit(MUS_AUDIO_CANT_OPEN, audio_out);
if ((ioctl(audio_out,SNDCTL_DSP_SETFMT,&oss_format) == -1) || (oss_format != to_oss_format(format)))
return(error_exit(MUS_AUDIO_FORMAT_NOT_AVAILABLE,audio_out));
- if (ioctl(audio_out,SNDCTL_DSP_CHANNELS,&chans) == -1)
+ if (ioctl(audio_out,SOUND_PCM_READ_CHANNELS,&chans) == -1)
return(error_exit(MUS_AUDIO_CHANNELS_NOT_AVAILABLE,audio_out));
if (ioctl(audio_out,SNDCTL_DSP_SPEED,&srate) == -1)
return(error_exit(MUS_AUDIO_SRATE_NOT_AVAILABLE,audio_out));
@@ -1880,7 +1880,7 @@
if ((ioctl(audio_out,SNDCTL_DSP_SETFMT,&oss_format) == -1) || (oss_format != to_oss_format(format)))
return(error_exit(MUS_AUDIO_FORMAT_NOT_AVAILABLE,audio_out));
#ifdef NEW_OSS
- if (ioctl(audio_out,SNDCTL_DSP_CHANNELS,&chans) == -1) return(error_exit(MUS_AUDIO_CHANNELS_NOT_AVAILABLE,audio_out));
+ if (ioctl(audio_out,SOUND_PCM_READ_CHANNELS,&chans) == -1) return(error_exit(MUS_AUDIO_CHANNELS_NOT_AVAILABLE,audio_out));
#else
if (chans == 2) stereo = 1; else stereo = 0;
if ((ioctl(audio_out,SNDCTL_DSP_STEREO,&stereo) == -1) || ((chans == 2) && (stereo == 0))) return(error_exit(MUS_AUDIO_CHANNELS_NOT_AVAILABLE,audio_out));
@@ -1947,7 +1947,7 @@
break;
}
if (audio_fd == -1) return(error_exit(MUS_AUDIO_NO_INPUT_AVAILABLE,-1));
- if (ioctl(audio_fd,SNDCTL_DSP_CHANNELS,&chans) == -1) return(error_exit(MUS_AUDIO_CHANNELS_NOT_AVAILABLE,audio_fd));
+ if (ioctl(audio_fd,SOUND_PCM_READ_CHANNELS,&chans) == -1) return(error_exit(MUS_AUDIO_CHANNELS_NOT_AVAILABLE,audio_fd));
return(audio_fd);
}
@@ -1961,7 +1961,7 @@
return(error_exit(MUS_AUDIO_CANT_OPEN, audio_fd));
if ((ioctl(audio_fd,SNDCTL_DSP_SETFMT,&oss_format) == -1) || (oss_format != to_oss_format(format)))
return(error_exit(MUS_AUDIO_FORMAT_NOT_AVAILABLE,audio_fd));
- if (ioctl(audio_fd,SNDCTL_DSP_CHANNELS,&chans) == -1)
+ if (ioctl(audio_fd,SOUND_PCM_READ_CHANNELS,&chans) == -1)
return(error_exit(MUS_AUDIO_CHANNELS_NOT_AVAILABLE,audio_fd));
if (ioctl(audio_fd,SNDCTL_DSP_SPEED,&srate) == -1)
return(error_exit(MUS_AUDIO_SRATE_NOT_AVAILABLE,audio_fd));
@@ -1992,7 +1992,6 @@
else
{
err = 0;
- err = ioctl(audio_fd,SNDCTL_DSP_SETDUPLEX,&err); /* not always a no-op! */
/* if (err == -1) AUDIO_ERROR = MUS_AUDIO_NO_INPUT_AVAILABLE; */
/* this damned thing returns -1 even when full duplex is available */
}
@@ -2023,7 +2022,7 @@
if ((ioctl(audio_fd,SNDCTL_DSP_SETFMT,&oss_format) == -1) || (oss_format != to_oss_format(format)))
return(error_exit(MUS_AUDIO_FORMAT_NOT_AVAILABLE,audio_fd));
#ifdef NEW_OSS
- if (ioctl(audio_fd,SNDCTL_DSP_CHANNELS,&chans) == -1) return(error_exit(MUS_AUDIO_CHANNELS_NOT_AVAILABLE,audio_fd));
+ if (ioctl(audio_fd,SOUND_PCM_READ_CHANNELS,&chans) == -1) return(error_exit(MUS_AUDIO_CHANNELS_NOT_AVAILABLE,audio_fd));
#else
if (chans == 2) stereo = 1; else stereo = 0;
if ((ioctl(audio_fd,SNDCTL_DSP_STEREO,&stereo) == -1) || ((chans == 2) && (stereo == 0))) return(error_exit(MUS_AUDIO_CHANNELS_NOT_AVAILABLE,audio_fd));
@@ -2467,7 +2466,7 @@
static char *synth_name(int i)
{
- if ((i>0) && (i<=SNDCARD_UART401))
+ if ((i>0) && (i<=SNDCARD_NSS))
return(synth_names[i]);
return("unknown");
}

View File

@ -0,0 +1,8 @@
--- snd-file.c.orig Mon Sep 18 12:09:20 2000
+++ snd-file.c Fri Oct 6 17:34:16 2000
@@ -1,3 +1,5 @@
+#include <sys/param.h>
+#include <sys/mount.h>
#include "snd.h"
#if defined(NEXT) || defined(HAVE_SYS_DIR_H)

View File

@ -0,0 +1,11 @@
--- snd-gmain.c.orig Mon Sep 18 12:09:22 2000
+++ snd-gmain.c Sun Oct 8 06:26:00 2000
@@ -191,7 +191,7 @@
#if TRAP_SEGFAULT
#include <setjmp.h>
/* stolen from scwm.c */
-static jmp_buf envHandleEventsLoop;
+static sigjmp_buf envHandleEventsLoop;
static RETSIGTYPE segv(int ignored)
{

View File

@ -0,0 +1,10 @@
--- sndplay.c.orig Mon Sep 18 12:09:42 2000
+++ sndplay.c Fri Oct 6 17:34:16 2000
@@ -18,6 +18,7 @@
#include <errno.h>
#include "sndlib.h"
+#include "sndlib-strings.h"
#if MACOS
#include <console.h>

1
audio/snd/pkg-comment Normal file
View File

@ -0,0 +1 @@
Multitracking sound editor and utilities

22
audio/snd/pkg-descr Normal file
View File

@ -0,0 +1,22 @@
Snd is a sound editor modeled loosely after Emacs and an old, sorely-missed
PDP-10 sound editor named Dpysnd. It can accommodate any number of sounds each
with any number of channels, and can be customized and extended using guile and
guile-gtk. It is under LGPL.
Included with it are some command-line utilities:
- sndinfo prints a description of a sound file.
- sndplay plays a sound file.
- sndrecord records sound from a microphone.
- audinfo describes the current state of the audio hardware.
- sndsine writes a mono NeXT/Sun sound file of a 440 Hz sine wave.
To build without the GUI, define WITHOUT_X. To build without the
enhanced file-selection dialog, define WITHOUT_GTKEXTRA. To omit
support for GUILE, define WITHOUT_GUILE.
Saving a selection from the Edit menu does not work.
WWW: http://www-ccrma.stanford.edu/software/snd/
Trevor Johnson
trevor@jpj.net

21
audio/snd/pkg-plist-guile Normal file
View File

@ -0,0 +1,21 @@
%%LOCALBASE%%/share/doc/snd/bell.scm
%%LOCALBASE%%/share/doc/snd/snd-gtk.scm
%%LOCALBASE%%/share/doc/snd/snd-test.scm
%%LOCALBASE%%/share/doc/snd/effects.scm
%%LOCALBASE%%/share/doc/snd/env.scm
%%LOCALBASE%%/share/doc/snd/examp.scm
%%LOCALBASE%%/share/doc/snd/fmv.scm
%%LOCALBASE%%/share/doc/snd/glfft.scm
%%LOCALBASE%%/share/doc/snd/gm.scm
%%LOCALBASE%%/share/doc/snd/goopsnd.scm
%%LOCALBASE%%/share/doc/snd/index.scm
%%LOCALBASE%%/share/doc/snd/loop.scm
%%LOCALBASE%%/share/doc/snd/marks.scm
%%LOCALBASE%%/share/doc/snd/mix.scm
%%LOCALBASE%%/share/doc/snd/moog.scm
%%LOCALBASE%%/share/doc/snd/old-sndlib2scm.scm
%%LOCALBASE%%/share/doc/snd/pqwvox.scm
%%LOCALBASE%%/share/doc/snd/pvoc.scm
%%LOCALBASE%%/share/doc/snd/rgb.scm
%%LOCALBASE%%/share/doc/snd/v.scm
%%LOCALBASE%%/share/doc/snd/zip.scm

32
audio/snd/pkg-plist-in Normal file
View File

@ -0,0 +1,32 @@
%%LOCALBASE%%/bin/audinfo
%%LOCALBASE%%/bin/sndinfo
%%LOCALBASE%%/bin/sndplay
%%LOCALBASE%%/bin/sndrecord
%%LOCALBASE%%/bin/sndsine
%%LOCALBASE%%/share/doc/snd/COPYING
%%LOCALBASE%%/share/doc/snd/HISTORY.Snd
%%LOCALBASE%%/share/doc/snd/README.Snd
%%LOCALBASE%%/share/doc/snd/clm.html
%%LOCALBASE%%/share/doc/snd/controls.png
%%LOCALBASE%%/share/doc/snd/d.png
%%LOCALBASE%%/share/doc/snd/energy.png
%%LOCALBASE%%/share/doc/snd/env.png
%%LOCALBASE%%/share/doc/snd/extsnd.html
%%LOCALBASE%%/share/doc/snd/extsnd.txt
%%LOCALBASE%%/share/doc/snd/files.png
%%LOCALBASE%%/share/doc/snd/grfsnd.html
%%LOCALBASE%%/share/doc/snd/grfsnd.txt
%%LOCALBASE%%/share/doc/snd/hfft.png
%%LOCALBASE%%/share/doc/snd/mixer.png
%%LOCALBASE%%/share/doc/snd/n.png
%%LOCALBASE%%/share/doc/snd/rec.png
%%LOCALBASE%%/share/doc/snd/reclin.png
%%LOCALBASE%%/share/doc/snd/regions.png
%%LOCALBASE%%/share/doc/snd/s.png
%%LOCALBASE%%/share/doc/snd/snd-contents.html
%%LOCALBASE%%/share/doc/snd/snd.html
%%LOCALBASE%%/share/doc/snd/snd.txt
%%LOCALBASE%%/share/doc/snd/snd1.html
%%LOCALBASE%%/share/doc/snd/sndlib.html
%%LOCALBASE%%/share/doc/snd/sndlib.txt
%%LOCALBASE%%/share/doc/snd/title.png