1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271
|
Snd
Snd is a sound editor. It currently runs on the SGI, Sun, UnixWare,
OpenServer, HPUX, DEC Alpha, Linux, MkLinux/LinuxPPC, and in Windoze
using either Cygwin with Lesstif, or MS C with a commercial Motif. To
build Snd, get the sources from
ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-3.tar.gz
tar xf snd-3.tar
cd snd-3
./configure
make
If this fails, or you want to customize your version of Snd in some
way, see snd.h for a discussion of the various compile-time switches,
and fixup the relevant makefile:
SGI: make -f makefile.sgi
Linux: make -f makefile.linux or makefile.lesstif
Unixware 2: make -f makefile.uw2
Unixware 7: make -f makefile.uw7
OpenServer 5: make -f makefile.sco5
Sun/Solaris: make -f makefile.solaris
DEC Alpha: make -f makefile.alpha
NeXT: make -f makefile.next
MkLinux/LinuxPPC: make -f makefile.mklinux or makefile.lesstif
Windoze/Cygwin: make -f makefile.cygwin
Linux with all possible bells and whistles: makefile.xlinux
In HPUX, fixup the makefile.hpux include and library paths, then:
make -f makefile.hpux
If the configure/make process fails, please send me
(bil@ccrma.stanford.edu) the files config.h and makefile, created (or
updated) by configure.
The configure program has 7 Snd-related arguments:
--with-alsa use ALSA if possible
--with-clm include the CLM module
--with-xmhtml include the XmHTML library
--with-big-colormap use big colormap
--with-snd-conf look for /etc/snd.conf at startup
--without-guile omit Guile even if it is available
--with-snd-as-widget make Snd a loadable widget, not a standalone program
It is not impossible that the 'make' targets clean, install and
uninstall will also work -- they didn't destroy my disk, but I'm no
make expert.
If you're using guile-1.3.2 or later, and not going through the
configure process (i.e. you're using one of the pre-built makefiles),
add the switch -DHAVE_MAKE_SMOB_TYPE to CFLAGS. (This will go away
eventually; I'm leaving the Guile 1.3 support in for a while).
If you're using guile-1.3.4 or later, you need to
(use-modules (ice-9 debug))
in your .snd file, or in the lisp listener, if you want any backtrace
displayed when a Scheme error is encountered.
The customization/extension language is Guile, available in the Gnu
distributions (prep.ai.mit.edu) or from ftp.red-bean.com. To include
guile in snd, go to the relevant makefile, set the CFLAGS variable to
include the option -DHAVE_GUILE and whatever 'guile-config compile'
reports, and set the LIBS variable to include whatever 'guile-config
link' prints out. Only guile 1.3 or later is supported. Without
Guile, Snd supplies a very simple string-parser to handle
customization -- all the functions/variable are accessible from what
looks like Scheme, but nothing fancy is implemented.
Another extension is the XmHTML widget available from
http://www.xs4all.nl/~ripley/XmHTML. If you have this, add
-DHAVE_XmHTML=1 to the CFLAGS variable, and the libXmHTML.a path to
LIBS in the relevant makefile. This widget is used, if it is
available, in the Help sections of Snd. The XmHTML widget needs
access to snd.html and extsnd.html. If these are not in the current
directory, nor in /usr/doc/snd-3 (the RPM documentation location), then
you need to set the htmldir resource (see snd.html).
The XPM library, if it is available, is used to create some cute
icons. If the relevant makefile does not include -DXPM and you have
the library, add -DXPM to CFLAGS and -lXpm to LIBS.
If you want bigger colormaps and have the requisite video memory,
define WITH_BIG_COLORMAP (see snd.h).
In all cases you need Motif or Lesstif to build Snd from the sources.
Snd is C++ compatible.
There are precompiled binaries available at the ccrma-ftp site
mentioned above: sgi-snd for the SGI, and linux-snd for Linux on a PC;
also RPM (Redhat package management) files that contain the Linux/PC
version, (snd-3-4.i386.rpm), the sources (snd-3-4.src.rpm), and the
mkLinux/LinuxPPC version (snd-3-4.ppc.rpm). snd-3-4 requires Guile 1.3.4;
if you are running 1.3, you'll need to build from sources.
Included with Snd are five command-line programs that might
be of interest: sndplay, sndrecord, sndinfo, sndsine, and audinfo.
You can make these by using the same makefile as before
and:
make sndplay
or
make -f makefile.sgi sndplay
or whatever.
The documentation is in snd.html (.txt) and extsnd.html (.txt).
A brief change log is in HISTORY.Snd.
The mailing list for Snd is the same as that for Common Music:
cmdist@ccrma.stanford.edu. To get your address added to or removed
from this list, send the request to cmdist-request@ccrma.stanford.edu.
This software is available to anyone who is interested, free gratis
for nothing, without warranties of any kind (see the file COPYING for
legalese). Send bug reports or suggestions to bil@ccrma.stanford.edu.
The OpenServer and UnixWare ports are courtesy of Larry Plona.
The Solaris port is thanks to Volker Kuhlmann and Seppo Ingalsuo.
The HPUX port is thanks to Seppo Ingalsuo.
The DEC Alpha port is due to the persistence of Juan Reyes.
The Linux Alpha port is thanks to Guenter Geiger.
The ALSA port is thanks to Paul Barton-Davis.
--------------------------------
TROUBLES:
There's no support yet for playing or recording sounds on the Alpha --
I don't have any idea how audio works on this system. Any information
would be much appreciated!
In Linux, Snd sometimes can't seem to play or record when other
applications are happy -- if this happens, please run the function
describe-audio-state (via M-x) and send me whatever it prints out.
LinuxPPC does not yet support recording, I believe.
In Windoze using Cygwin, I think the audio support is limited to
PlaySound, which I haven't tied into Snd yet. In MS C using the
Hummingbird XDK package, Snd compiles and loads, but dies upon being
executed with an access violation -- I know nothing about Microsoft C,
so this has been put aside for a rainy day.
If Snd complains that it can't find various colors upon startup, the
problem is that some other program (probably Netscape) has grabbed all
the color cells -- exit it and try Snd again, or (if you have the
video RAM), increase your "depth" to 16.
In Linux, if you get the error "No such file or directory" when you
try to execute linux-snd, the problem is probably that you're running
a libc5-based Linux; linux-snd is built with glibc (the newer libc).
Snd mostly works with Lesstif, a free version of Motif available at
http://www.lesstif.org (get version 0.88 or later). If lesstif is
used with Metrolink's mwm, you are logged out each time Snd runs (use
LessTif's mwm). Embedded scales are apparently gadgets, which means
their color has to be set at initialization time. (There are still
a number of glitches in Lesstif, but they are making rapid progress).
To get the listener activatable in lesstif, comment out
the first block (line 826 in version 0.89) of lib/Xm/TextIn.c:
#if 0
if (Text_EditMode(tw) != XmSINGLE_LINE_EDIT)
{
return;
}
#endif
If you're using Lesstif and get this error:
snd-xmain.o: In function `snd_doit':
/space/home/bil/snd/snd-xmain.c:894: undefined reference to `xmNotebookWidgetClass'
it means you've built Snd with Lesstif's Motif 2 headers, but are trying to
load Lesstif's Motif 1 libraries -- you need to make Motif 2 the default
in Lesstif via the configure arg --enable-default-20. For example (in
the lesstif directory):
make clean
./configure --enable-default-20 --disable-default-12 --enable-static --prefix=/space/home/bil/test/local
make
If you try to install the rpm package and get this:
rpm --install snd-3-1.ppc.rpm
error: failed dependencies:
libMrm.so.1 is needed by snd-3-1
libXm.so.1 is needed by snd-3-1
it means you don't have Motif installed; either get Motif, or use
the pre-loaded images such as linux-snd.
If Snd then refuses to run with the error:
./snd: error in loading shared libraries: libMrm.so.1: cannot open shared
object file: No such file or directory
you need to add the relevant path to the loader's list of
paths (thanks to Juan Pampin for this info): add the path to
/etc/ld.so.conf and then 'ldconfig -v'.
On the NeXT, Snd compiles and loads, but dies during start up while
trying to create a text widget.
The Record dialog only works in Linux (OSS, perhaps ALSA) and on some
SGI systems. On a good day, it tries real hard on a Sun, but drops
samples; on a bad day, it just sits there. Since the Sun output
buffer size is enormous and not settable by mortals, the control panel
sliders are very sluggish. If anyone knows of a freeware Sun
recording package, I'd like to look at it.
If you get a complaint along the lines of "ice-9/boot-9.scm not found",
it means you're running a version of Snd that has Guile loaded, but
Guile isn't installed locally. You need to install Guile. If Guile
is installed, try running 'guile-config info' to find out where it
thinks its boot files are. If you're using a prebuilt image from
ccrma-ftp, the relevant files should be in /usr/local/share/guile/1.3.n
where 'n' is something like 2 or 4 (or absent altogether). It's not
impossible that running snd under strace would show you what the
actual desired path is. In the copious strace output, you should
be able to find lines like:
stat("/usr/local/share/guile/1.3.4/ice-9/boot-9.scm"...)
If the snd rpm process can't find the guile library, yet you have it
in /usr/local/lib, try the --nodeps switch to rpm (thanks to Charles
Waldman for this tip).
If Snd dies with a segfault after you upgrade Linux, first, recompile
guile from scratch, if you're using guile (i.e. make clean, make,
make install). Then remake Snd. If Snd dies with a complaint
about __setfpucw, you need to recompile Snd (that portion of
glibc changed between versions 1 and 2, or something like that).
In Snd versions after 7-Oct-99, hooks are no-ops unless you have
Guile 1.3.4 or later.
----------------
URLS:
Some pointers to guile/scheme stuff:
http://www.cs.indiana.edu/scheme-repository
http://www.gnu.org/software/guile/guile.html
http://vicarious-existence.mit.edu/scwm/
http://www.schemers.org/
http://www.cs.rice.edu/~dorai/t-y-scheme/t-y-scheme.html
http://www.cs.utexas.edu/users/wilson/schintro/schintro_toc.html
CCRMA:
http://www-ccrma.stanford.edu/
Snd stuff:
http://www.cosy.sbg.ac.at/~gwesp/mma-sound.html (Mathematica)
http://www.linuxpower.com/display_item.phtml?id=139 (Movies)
|