summaryrefslogtreecommitdiff
path: root/audio/maplay
diff options
context:
space:
mode:
authorJordan K. Hubbard <jkh@FreeBSD.org>1995-02-14 08:32:41 +0000
committerJordan K. Hubbard <jkh@FreeBSD.org>1995-02-14 08:32:41 +0000
commitb957235ce2b4bcf36ac6a776b5d839c54c22ed7f (patch)
tree10fdd5ec1944421959d0e95ca339677892e67d5f /audio/maplay
parentcorrect bogus path for the app-defaults file (diff)
maplay port.
Notes
Notes: svn path=/head/; revision=976
Diffstat (limited to 'audio/maplay')
-rw-r--r--audio/maplay/Makefile18
-rw-r--r--audio/maplay/distinfo1
-rw-r--r--audio/maplay/files/patch-ab31
-rw-r--r--audio/maplay/pkg-comment1
-rw-r--r--audio/maplay/pkg-descr186
-rw-r--r--audio/maplay/pkg-plist1
6 files changed, 238 insertions, 0 deletions
diff --git a/audio/maplay/Makefile b/audio/maplay/Makefile
new file mode 100644
index 000000000000..84c56562a8f5
--- /dev/null
+++ b/audio/maplay/Makefile
@@ -0,0 +1,18 @@
+# New ports collection makefile for: maplay
+# Version required: 1.2
+# Date created: Feb 13 1995
+# Whom: jkh
+#
+# $Id: Makefile,v 1.6 1995/02/09 21:03:52 ache Exp $
+#
+
+DISTNAME= maplay1_2
+EXTRACT_SUFX= .tar.Z
+MASTER_SITES= ftp://ftp.iuma.com/audio_utils/mpeg_players/Workstations/
+NO_WRKSUBDIR= yes
+PATCH_STRIP= -p2
+
+pre-configure:
+ @(cd ${WRKSRC}; make pre-install)
+
+.include <bsd.port.mk>
diff --git a/audio/maplay/distinfo b/audio/maplay/distinfo
new file mode 100644
index 000000000000..96dfaae0aefb
--- /dev/null
+++ b/audio/maplay/distinfo
@@ -0,0 +1 @@
+MD5 (maplay1_2.tar.Z) = 2e3e0cd4d200fa476360eda0c9195ea1
diff --git a/audio/maplay/files/patch-ab b/audio/maplay/files/patch-ab
new file mode 100644
index 000000000000..0007783c7492
--- /dev/null
+++ b/audio/maplay/files/patch-ab
@@ -0,0 +1,31 @@
+*** work/Makefile.orig Tue Feb 14 08:18:41 1995
+--- work/Makefile Tue Feb 14 08:19:52 1995
+***************
+*** 39,45 ****
+
+ .SUFFIXES: .cc
+
+! install:
+ @./configuration.sh
+
+ all: maplay
+--- 39,45 ----
+
+ .SUFFIXES: .cc
+
+! pre-install:
+ @./configuration.sh
+
+ all: maplay
+***************
+*** 47,52 ****
+--- 47,55 ----
+ maplay: $(OBJS)
+ $(COMPILER) $(CFLAGS) $(OBJS) -o $@ $(LIBRARIES) -lm
+ -strip $@
++
++ install: all
++ ${INSTALL} -s -c -m 755 maplay ${PREFIX}/bin
+
+ .cc.o:
+ $(COMPILER) -c $(CFLAGS) $(INCLUDEDIRS) $*.cc -o $@
diff --git a/audio/maplay/pkg-comment b/audio/maplay/pkg-comment
new file mode 100644
index 000000000000..474401ade1e0
--- /dev/null
+++ b/audio/maplay/pkg-comment
@@ -0,0 +1 @@
+maplay, an MPEG audio player/decoder that decodes layer I and layer II MPEG audio streams
diff --git a/audio/maplay/pkg-descr b/audio/maplay/pkg-descr
new file mode 100644
index 000000000000..5eb691764c05
--- /dev/null
+++ b/audio/maplay/pkg-descr
@@ -0,0 +1,186 @@
+/*
+ * @(#) MPEG Audio Player maplay 1.2, last edit of this file: 6/23/94 13:02:49
+ * @(#) Copyright (C) 1993, 1994 Tobias Bading (bading@cs.tu-berlin.de)
+ * @(#) Berlin University of Technology
+ *
+ * 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.
+ */
+
+
+This is the README file of the MPEG Audio Player maplay, Version 1.2.
+Besides this file, you should now own a copy of the following files:
+
+ ANNOUNCEMENT the announcement for this release
+ INSTALL infos about compiling and installing the program
+ COPYING the GNU General Public License
+ Makefile a makefile
+ configuration.sh a shell script used by the makefile
+
+and the source files
+
+ all.h maplay.cc subband_layer_1.h
+ crc.cc obuffer.cc subband_layer_2.cc
+ crc.h obuffer.h subband_layer_2.h
+ header.cc scalefactors.cc synthesis_filter.cc
+ header.h scalefactors.h synthesis_filter.h
+ ibitstream.cc subband.h ulaw.cc
+ ibitstream.h subband_layer_1.cc ulaw.h
+
+-------------------------------------------------------------------------------
+
+0) Introduction
+
+MPEG is a standard created by the ISO (International Organization for
+Standardization) and the IEC (International Electrotechnical Commission).
+The full name of this standard is "ISO/IEC DIS 11172: Information
+Technology - Coding of moving pictures and associated audio for digital
+storage media ut to about 1.5 Mbit/s". As the name already states,
+it deals with digital video and audio. The video part of this standard has
+inspired many people to write decoders and a few encoders for it.
+Best known should be the Berkeley player. Players for the audio part on
+the other hand are very rare. The ones I know are the XING player for Windoze
+and a sample implementation of the ISO, which also includes an encoder.
+
+The audio part of the MPEG standard specifies three layers, whereat each
+layer specifies its own file format. All three layers are using similar
+audio coding techniques, but they vary in efficiency and complexity.
+Layer I needs the fewest calculation time for en-/decoding a stream, layer III
+the most. But a layer I MPEG audio stream is bigger than a layer III stream
+at the same quality. This program is able to decode and play only layer I
+and II streams, layer III is not supported (yet?!?).
+
+Like the MPEG video standard, the audio part also uses a lossy compression
+algorithm, which means that you can't get back 100% the original from a
+MPEG audio stream. Layer II MPEG audio streams are compressed by ratios
+from 1:3 up to 1:24 compared to raw PCM data, like on an audio CD.
+But the quality is still very (very) near to the original at ratios between
+1:5 and 1:12. You'll love it... :-)
+
+-------------------------------------------------------------------------------
+
+1) What does maplay?
+
+maplay version 1.2 is the second release of my MPEG audio player/decoder.
+It decodes layer I and layer II MPEG audio streams and plays them
+using a CD-quality audio device. Currently supported devices are the
+dbri device of SPARC 10 computers and the audio ports of Silicon
+Graphics Indigo machines. Thanks to Louis P. Kruger (lpkruger@phoenix.
+Princeton.EDU), maplay 1.2 can also use the /dev/dsp device under Linux.
+Louis has tested it with the Pro Audio Spectrum 16 soundcard. Sound Blaster 16
+and Gravis Ultrasound cards should also work, but a bug in the dsp driver
+prevents stereo playback on Gravis Ultrasound cards. An amd device of a
+SPARC 2/IPX/... machine can be used, too, but this device is only capable of
+producing audio output at 8 kHz in u-law format, which sounds like transmitted
+through a telephone. Other audio device are not supported directly, but can be
+used with the "decode to stdout" option and an audio format converter.
+Besides it shouldn't be a problem to adapt the program to other audio devices.
+
+The player supports all modes, which are single channel, stereo,
+joint stereo and dual channel, and all bitrates except free mode.
+The missing free mode support should not be a problem for now,
+because I haven't seen such a stream yet.
+
+maplay needs approximately 46% CPU time on SPARC 10/40 machines and 50%
+on Indigos for realtime stereo playback of a 44.1 kHz 128 kbit/s stream.
+Single channel playback needs about the half CPU time. On a SPARCstation IPX,
+maplay needs about 43% CPU time for realtime mono playback. Stereo playback
+is not possible via an amd device.
+
+Besides realtime playing of audio streams, maplay can decode streams to
+stdout for further conversions. The output consists of 16 bit signed PCM
+values. For stereo streams, the values are interleaved, which means that
+a value for the left channel is followed by a value for the right channel
+and so on. If maplay has been compiled for u-law output, the output consists
+of 8 bit u-law samples at a rate of 8 kHz, no matter what frequency the stream
+uses.
+
+-------------------------------------------------------------------------------
+
+2) How to create a maplay binary?
+
+Please read the install file for this topic.
+
+-------------------------------------------------------------------------------
+
+3) How to start the program?
+
+For a quick mono test enter "./maplay -v -l filename", where filename is the
+name of an audio stream, like "things.mp2". This stream has been posted along
+with the sources and is the beginning of Roxette's song "Things Will Never Be
+The Same". It is coded in joint stereo mode with 128 kbit/s, which is a
+compression ratio of 1:11. If the output is ok, you can test stereo playback
+by leaving out the -l option. If the stereo output stutters, the problem is
+not enough free CPU time in most cases. Stereo output is not possible when
+using an amd u-law device. If maplay shows error messages like
+"ioctl AUDIO_GETDEV on /dev/audio: ..."
+and maplay was compiled for u-law output, please try out the -amd option.
+This option forces maplay to treat /dev/audio as an amd device and may be
+required on SPARC clones.
+
+To convert a MPEG audio stream into other audio formats, you can use
+"maplay -v -s filename | your_converter". Unfortunately, I can't be of much
+help for you to find such a converter. The only good converter I know is the
+"soundfiler" on Indigos. But if you would have an Indigo, you wouldn't need a
+converter...
+
+-------------------------------------------------------------------------------
+
+4) Command line options
+
+maplay [-v] [-s] [-l] [-r] [-us] [-uh] [-ul] [-amd] [-c] [-f ushort] filename
+
+with these options:
+ filename filename of a MPEG audio stream or - for stdin
+ -h short help
+ -v verbose mode
+ You will get information about the stream, like mode, bitrate,
+ copyright etc., if you use this option.
+ -s stdout mode
+ This option tells the program to decode the stream to stdout.
+ The created output contains 16 bit signed PCM samples. If the
+ binary has been compiled for 8 kHz u-law format usage, the
+ output consists of 8 bit u-law samples at a 8 kHz rate. If the
+ stream is in stereo mode, the samples of both channels are
+ interleaved, the sample for the left channel first.
+ -l maplay decodes (and plays) the left channel of stereo streams
+ only. This option halves the required CPU time.
+ -r Same as above, but decodes the right channel only
+ -us, -uh These options are available on SPARCstations only.
+ They specify where the audio signal should be send to:
+ "-us" means speaker and "-uh" headphone jack.
+ -ul This option is available on machines with the dbri device
+ and sends the audio output to the line out jack.
+ -amd This option forces maplay to treat /dev/audio as an amd
+ device. Use it if your SPARC clone has an amd device, but
+ maplay doesn't recognize it. You may also use this option on a
+ machine with a dbri device, because the dbri device can also
+ produce u-law output. But I suggest to recompile the program
+ without the ULAW define in this case to get the CD-quality
+ output.
+ -c This option instructs the program to report filter range
+ violations to stderr. Sometimes PCM values calculated by
+ the synthesis filter exceede the 16 bit boundary and must
+ be mapped to these boundaries. If you can hear this, you
+ may use the next option.
+ -f ushort maplay uses this scalefactor instead of the default value 32768
+ for the synthesis filter. You can reduce or eliminate range
+ violations with this option, but lower scalefactor values
+ reduce the signal-to-noise ratio, too. I can't remember when
+ I used this option the last time myself.
+
+
+Ok, that's all for now and this release,
+I hope you like it,
+ Tobias Bading (bading@cs.tu-berlin.de)
diff --git a/audio/maplay/pkg-plist b/audio/maplay/pkg-plist
new file mode 100644
index 000000000000..2135816542b4
--- /dev/null
+++ b/audio/maplay/pkg-plist
@@ -0,0 +1 @@
+bin/maplay