This repository has been archived by the owner on Oct 29, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
README.TXT
224 lines (171 loc) · 9.02 KB
/
README.TXT
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
Synthetic Audio Library (SEAL) Development Kit
Copyright (C) 1995, 1996, 1997, 1998, 1999 Carlos Hasan
All Rights Reserved
OS/2 Sound Driver Copyright (C) 1998 Martin Amodeo
This 1.0.7 release of the Synthetic Audio Library (SEAL) lets you write
applications that conform to the 1.0 SEAL API which is able to play
digital audio waveforms and music modules on many platforms.
What's New
----------
- Source code released under the GNU Lesser General Public License (LGPL)
Features
--------
- simple and powerful API interface
- 32 simultaneous digital audio channels
- smooth pitch shifting, volume and panning controllers per channel
- smart digital filtering for improved sound quality
- efficient digital audio waveform mixing algorithms combined with
uncompromising low-level optimizations
- importing of wave and music file formats such as Protracker 1.1,
MultiTracker 1.0, Scream Tracker 3.0 and FastTracker 2.0 modules
- performance tuned for the i486 and Pentium processors
- native support in DOS for hardware wavetable accelerators such
as the Sound Blaster AWE32, Gravis Forte's UltraSound, and normal
digital audio devices such as the Sound Blaster 1.5/2.0/Pro/16,
Pro Audio Spectrum 16, Windows Sound System, Ensoniq Soundscape
and Aria soundcards
Supported platforms
-------------------
The SEAL SDK is available for DOS, Extended DOS, Windows 95, Windows NT,
OS/2, BeOS and Linux platforms. FreeBSD, SPARC SunOS, SPARC Solaris and
SGI Indigo ports are in progress. The following compilers were used to
build the library files:
- Borland C++ 4.5 compiler for DOS and Win32s
- WATCOM C/C++ 10.0 compiler for DOS and Windows
- Microsoft Visual C++ 4.1 compiler for Windows 95
- DJGPP 2.0 port of GNU C/C++ compiler for DOS
- GNU C/C++ 2.7.0 for Linux (a.out and ELF)
- Metrowerks CodeWarrior C++ for Intel BeOS Release 3
- EMX port of GNU CC 2.7.x for OS/2 platforms
The SEAL SDK contains
---------------------
- SEAL API header and library files
- SEAL audio library source code files (GPL license)
- set of example source code files
---------------------------------------------------------------------
IMPORTANT: Please make sure you understand the Copyright and License
information (in the file named LICENSE.TXT) before using this release.
---------------------------------------------------------------------
Installing the Software
-----------------------
The SEAL SDK can be installed unpacking the distribution archive
in your hard disk. For example,
C:\>PKUNZIP -d SEAL107.ZIP
The SEAL SDK include and library directories can be installed in
your C programming environment modifying the header and library
directory paths. Here are some examples to compile and link
the SEAL audio system library with your own programs:
- WATCOM C/C++32 10.0 and DOS4GW DOS Extender:
wcl386 -I\audio\include example.c \audio\lib\dos\audiowcf.lib
- DJGPP 2.0 port of GNU CC for DOS/DPMI32:
gcc -I\audio\include -o example example.c \audio\lib\dos\audiodjf.a
- Visual C/C++ 4.1 for Windows 95 and Windows NT:
cl -DWIN32 -I\audio\include example.c \audio\lib\Win32\audw32vc.lib
- Borland C++ 4.5 for Win32s:
bcc32a -WC -I\audio\include example.c \audio\lib\Win32\audw32bc.lib
- GNU CC 2.7.0 for Linux (ELF binaries):
gcc -Iaudio/include -o example example.c audio/lib/Linux/libaudio.a
- Metrowerks CodeWarrior C++ for BeOS R3:
mwcc -Iaudio/include -o example example.c audio/lib/BeOS/libaudio.a
The above examples assume that the audio system was installed at the
root directory of the current drive. For Windows 95 and Windows NT
applications you must copy the AUDIOW32.DLL dynamic-link library into
the Windows system directory, usually located at C:\WINDOWS\SYSTEM in
your hard disk.
Notes about DOS Drivers
-----------------------
For applications running in DOS, the audio system will try to detect
the hardware sound devices installed on your system. Since there can
be problems to autodetect your sound hardware, your application should
provide a way to force the use of a particular audio device driver.
Here is a list of notes for the autodetection methods used by the audio
device drivers under the DOS operating system:
- Sound Blaster 1.0/1.5/2.0/Pro/16 device drivers:
These drivers use the BLASTER environment variable to determine
the hardware I/O base port address, IRQ interrupt line and DMA
channels. The model of the card is then determined by hardware
reading the DSP version number. If you do not get sound, try
forcing other SB model by using the "T" parameter of the BLASTER
environment variable:
T1 = Sound Blaster 1.0
T2 = Sound Blaster 1.5
T3 = Sound Blaster 2.0
T4 = Sound Blaster Pro
T6 = Sound Blaster 16
- Sound Blaster AWE32 and Sound Blaster 32 device drivers:
The driver uses the BLASTER environment variable, you must
specify the EMU8000 I/O base port address parameter. If your
card does not have DRAM local sound memory, you must use the
card as a Sound Blaster 16 or earlier.
- Pro Audio Spectrum, Pro Audio Spectrum Plus/16 device drivers:
These drivers need to have the MVSOUND.SYS driver installed
in your CONFIG.SYS configuration file. The model of the card
is determined by hardware checking the card features bits.
- Gravis Ultrasound, Ultrasound MAX device drivers:
This driver uses the ULTRASND environment variable to determine
the hardware configuration of your card. For applications using
the DOS4GW extender, the GF1-IRQ number must be less than 8 to
work correctly.
- Gravis Ultrasound Daughterboard / MAX (CS4231) device drivers:
This driver uses the CS4231 codec of your GUS DB/MAX card, so
you must have the ULTRASND and ULTRA16 environment variables.
- Gravis Ultrasound PnP (Pro), InterWave-based device drivers:
This driver uses the ULTRASND and INTERWAVE environment variables
to determine the hardware configuration of your sound board.
- Windows Sound System device driver:
This driver automatically detect WSS sound devices installed
at the 530, E80, F40 or 604 I/O base port addresses and uses
by default the IRQ line #7 and DMA channel #1 for playback.
Since there can be hardware conflicts, the driver first check
for the WSSCFG environment variable which has the following
format:
SET WSSCFG=Annn In Dn
| | |
| | +-- DMA channel (0,1,3)
| +---- IRQ number (7,9,10,11)
+----- I/O port (530,E80,F40,604)
You must write the above command in your AUTOEXEC.BAT start-up
batch file. Also, some WSS clone devices need to run an utility
to put the card in WSS mode (ie. MAD16 OPTi-based cards).
- Ensoniq Soundscape, Soundscape Elite device drivers:
These drivers uses the SNDSCAPE environment variable to read
the SNDSCAPE.INI configuration file.
- Sierra Semoconductors' Aria sound card driver:
This driver uses the ARIA environment variable to read the
hardware configuration parameters.
- Ensoniq AudioPCI and Creative PCI64 sound cards:
These cards have to be configured in Legacy emulation mode
under DOS. The library will use these cards as Ensoniq
SoundScape ISA cards.
If you experience any problems, please try avoiding autodetection and
tell your application what device driver to use. Also, ensure your
system has no TSR's loaded in memory (such as SBOS for GUS cards).
Notes about Windows 95
----------------------
The SEAL audio system for DOS and Extended DOS has been sucessfully
tested under Windows 95 DOS boxes running in foreground. However,
some Windows 95 sound drivers might not be able to share the sound
hardware with DOS sessions (such as the Ultrasound drivers). In such
cases, you must either remove the Windows 95 drivers or exit to DOS
to run your DOS programs.
Notes about Linux
-----------------
The SEAL audio system for Linux uses the UNIX Sound System interface,
also known as the VoxWare Kit. The audio system can be easily ported
to other UNIX operating system running in Intel x86 platforms where
the UNIX Sound System interface is also available, such as FreeBSD,
386bsd, SCO and SVR4.2 operating systems.
Notes about BeOS
----------------
The SEAL audio library for Intel BeOS Release 3 also works with
New MediaKit sound drivers found on BeOS R4. The SEAL 1.06 library
comes with ELF binaries for Intel BeOS Release 4.
Contacting the Author
---------------------
If you have questions, problems or comments you can contact the author
at the following email address: chasan@dcc.uchile.cl.
Closing Words
-------------
I would like to thank all the beta testers and specially to Jon L.
for the music module file used by the example programs, and to all
the IRC friends at the #coders channel.