home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 16
/
amigaformatcd16.iso
/
-in_the_mag-
/
top100_shareware
/
sound
/
ahi
/
history
< prev
next >
Wrap
Text File
|
1997-04-21
|
16KB
|
394 lines
Revision history
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ahi.device
¯¯¯¯¯¯¯¯¯¯
1.32
AHI is no longer a library, but a device ("ahi.device").
Doubled volume for stereo modes without panning.
Changed the audio IDs for paula and wavetools.
Moved the audio drivers from LIBS:AHI to DEVS:AHI.
1.286
'Cancel' text in the requester defaulted to the swedish
word for cancel. Oops.
AHI_GetAudioAttrsA() now takes 3 arguments instead of 2.
Improved mixing rutines for AHIST_M8U samples a bit. More
changes are needed!
AHI_SetEffect() now only takes 2 arguments, and cannot be
called from interrupts anymore.
Added the first effect: AHIET_MASTERVOLUME.
Removed some useless mixing routines and added a few other.
When not using panning things should be faster now.
Added a new database tag: AHIDB_Realtime.
AHI_ControlAudioA() now returns an error code.
More new data base tags: AHIDB_MaxPlaySamples,
AHIDB_MaxRecordSamples and AHIDB_MixFreq.
The way audio drivers tell ahi.device it can be used for
recording has changed.
Added second effect: AHIET_OUTPUTBUFFER.
Sample frequencies can now be up to 131071 Hz, which should be
enough for most users.
Improved most of the mixing routines. Fixed some bugs in the 16
bit routines aswell.
The requester now has menus and is keyboard controllable.
Yet another new database tag: AHIDB_FullDuplex.
Samples can now be played backwards (AHIST_LOOP sounds, however,
cannot. ).
I had to change the AHIAudioCtrl structure a little. Old drivers
will NOT work any longer - they will probably crash! Hey, it's
still a beta version - I'm allowed to do such things!
The requester tags has been redefined, a recompile is neccessary.
Removed a memory leak in AHI_AudioRequestA().
New tags for AHI_ControlAudioA(): AHIC_MonitorVolume and
AHIC_MonitorVolume_Query.
Removed the AHIDB_MixFreq tag in AHI_GetAudioAttrsA() and added
AHIC_MixFreq_Query for AHI_ControlAudioA().
Cursor keys can now control the audio mode requester.
Added 32 bit mixing routines with linear interpolation.
2.4
New field in the AHIAudioCtrlDrv structure: ahiac_BuffType.
Rewrote parts of the mixing routines. Sometimes they read one
sample to much, causing clicks. Hopefully they work now. The new
routine is a little faster, by the way...
Fixed the 32 bit linear interpolation mixing routines; they
ALWAYS read at least one sample too much, sometimes two.
Loads of new tags for AHI_ControlAudioA(): AHIC_InputGain,
AHIC_InputGain_Query, AHIC_OutputVolume, AHIC_OutputVolume_Query,
AHIC_Input, AHIC_Input_Query, AHIC_Output, and AHIC_Output_Query.
Even more new tags for AHI_GetAudioAttrsA(): AHIDB_MinMonitorVolume,
AHIDB_MaxMonitorVolume, AHIDB_MinInputGain, AHIDB_MaxInputGain,
AHIDB_MinOutputVolume, AHIDB_MaxOutputVolume, AHIDB_Inputs,
AHIDB_InputArg, AHIDB_Input, AHIDB_Outputs, AHIDB_OutputArg and
AHIDB_Output.
Increased the maximum frequency a sample can be played at to 262143
Hz.
Previously, the requested number of channels was rounded to an
even power of two, i.e. an 18 channel song actually used 32
channels. This is no longer the case.
2.23
Fixed a bug in AHI_GetAudioAttrsA(): Strings was not always NULL-
terminated.
CloseDevice() trashed some registers it shouldn't. Not so anymore.
By mistake I used the function graphics.library/SetRPAttrs() in
the requester code, which caused AHI to crash on pre-39 machines.
Fixed some bugs in the autodocs AHI_AllocAudioA()/AHIA_RecordFunc.
Note that the RecordFunc must return NULL from now on!
All PlayerFreq related values should now be Fixed instead of
ULONG. A kludge has been added to keep old programs going for some
time.
3.861
Small bug fix in the requester code.
AHI_DEFAULT_ID as AHIA_AudioID tag data (AHI_AllocAudioA())
didn't work.
New function: AHI_PlayA().
MC68000-version added.
New mode for audio drivers: AHISB_CANPOSTPROCESS.
Bug fix: Turning off the AHIET_OUTPUTBUFFER effect resulted in an
endless loop.
Surround support added.
New effects: AHIET_DSPMASK and AHIET_DSPECHO.
New function: AHI_SampleFrameSize().
New (private) functions: AHI_AddAudioMode(), AHI_RemoveAudioMode()
and AHI_LoadModeFile().
AddAudioModes does not have to be run before AHI can be used
anymore. When 'ahi.device' is loaded, it will check if the audio
mode database is loaded. If not, it will automatically scan
DEVS:AudioModes/ for mode files and add them.
Rewrote the last three non-critical functions in C instead of
assembly.
Added the new tag AHIB_Dizzy to AHI_BestAudioIDA().
New "effect": AHIET_CHANNELINFO.
The first two device commands added: CMD_READ and CMD_WRITE
The (obsolete) MultiLoop feature is not totally gone.
Removed a bunch of mixing routines that almost never were used
anyway.
AHI_LoadSound() does not handle unsigned 8 bit samples anymore.
You'll have to convert such samples before they can be played from
now on.
Added Storm C include files.
More device commands: CMD_RESET, CMD_STOP, CMD_START and CMD_FLUSH.
Stereo sounds can now be used too.
Max frequency for AHI_SetFreq() increased once again: 1048575.
Added two functions to calculate CPU usage and avoid lockups
(ahiac_PreTimer and ahiac_PostTimer).
Localized it.
3.948
AHIR_Locale should work now.
AHIDB_MaxChannels didn't work in AHI_BestAudioID().
The users preferred audio mode can now be selected in the requester,
by setting AHIR_DoDefaultMode to TRUE.
Added an infowindow to the requester.
All functions that take an audio mode id as input can now use
AHI_DEFAULT_ID as well.
CMD_READ should actually work now. I hope.
Faster 16 bit mixing of 16 bit samples when using a "fast" mode.
New flag for OpenDevice(): AHIDF_NOMODESCAN (private).
(Wrote user docs.)
(Updated "Programming Guidelines".)
3.1080
CMD_STOP and CMD_START should work better now?
The freqgadget wasn't ghosted if the requester was opened with
audioid set to AHI_DEFAULT_ID. Now it is.
Up to 4 device units are now available.
No more alignment restriction for CMD_WRITE.
Removed IORequest size check for OpenDevice(AHI_NO_UNIT) in order
to make some programs that open V3 without a valid V3 AHIRequest
work.
AHIST_INPUT redefined.
Rewrote AHI_LoadSound() and AHI_UnloadSound() in C.
Playing 16 bit stereo samples in mono-not-fast mode did not work.
AHI_BestAudioID() and FilterTags in the audio mode requester had got
the FullDuplex flag all wrong.
The audio mode requester can now handle AHIR_PubScreenName set to
NULL, meaning that is should open on the default public screen.
The echo routines is now rewritten. "Fast echo" routines added.
"No-cross-Full-mix" too.
I tried to get AHIST_INPUT working, but I couldn't make the recording
and playback sync. I suspect the problem is in the Paula driver,
but I don't know...
3.1091
Major bug in the device interface code fixed. It could crash, and
never used more that one channel.
Amiga E modules added.
4.20
Bumped version to 4.
(Transformed "Programming Guidelines" into "AHI Developer's Guide".)
Added AHIE_HALFDUPLEX error code.
4.26
Some tweaks...
AHIET_DSPMASK didn't work! Now it does.
AHI preferences
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
0.1
There is now a prefs program, written by Ruediger Sopp, that can
be used to select default audio mode, frequency etc.
1.0
New preferences program, rewritten from scratch. This one (barely)
fits on a 640×200 screen using Topaz 8.
4.3
Bumped version to 4.
Localized it.
"Reset to Defaults" didn't reset the Global Options.
"Restore" fixed (always loaded ENV:Sys/ahi.prefs, even if invoked
with a FROM argument.
AddAudioModes
¯¯¯¯¯¯¯¯¯¯¯¯¯
1.1
AddAudioModes rewritten. New switch: REMOVE.
1.2
AddAudioModes got another switch, DBLSCAN, which tries to open
and then immediately close a native, double-scan screen. At least
CyberGraphX keeps the scan rate when ECS/AGA screens are closed, so
this enables >28 kHz sample rates for graphic card owners. My guess
is that this requires V39 or greater to work, but it should work
with both ECS and AGA. Don't forget to install a doublescan monior
driver if you don't already have one.
1.5
AddAudioModes DBLSCAN now scans the audio mode database for the
screen mode that allows highest sample rates.
The device is now opened with the AHIDF_NOMODESCAN flag.
4.1
Bumped version to 4.
Bug in mixing routines fixed.
AHI-Handler
¯¯¯¯¯¯¯¯¯¯¯
1.8
Changed the priority of the AUDIO: handler to 5.
4.1
Bumped version to 4.
4.2
Much improved error handling.
Catalogs
¯¯¯¯¯¯¯¯
Swedish translation added.
Norwegian translation added.
Dutch translation added.
Frensh translation added.
Finnish translation added.
delfina.audio
¯¯¯¯¯¯¯¯¯¯¯¯¯
Note: delfina.audio is ©1996-1997 Petsoff Limited Partnership and
written by Teemu Suikki. The latest release of this driver can be
found at <URL:ftp://spot.lnet.lut.fi/pub/delfina/>.
2.0
Incuded in the AHI archive.
2.1
Gain and volume values are now linear instead of logaritmic
Gain range starts at 1.0
Recording works now (AHIRecordMessage had invalid buffer pointer)
Now uses variable sized buffer, no more delay!
filesave.audio
¯¯¯¯¯¯¯¯¯¯¯¯¯¯
1.0
First version.
1.1
Updated for HiFi (32 bit) mixing routines.
2.0
Bumped version to 2.
Bug fix: Previously called AslRequest instead of AslRequestTags,
resulting in an Enforcer hit.
2.1
Minor bug fixes.
Added sampler emulation. This means that this driver can now be
used to simulate a sound card with sampler. Just select an audio
file when the requester pops up. (This feature is only for
programmers and requires OS 3.0 or higher, because
datatypes.library is used to load the audio file.)
2.2
Now works with 2.0 systems, too. The file should be a raw 8 bit
signed sample (i.e. no headers).
2.3
Changed the number of avalable mixing/sampling frequencies.
2.4
MC68000-version added.
Minor improvements and larger buffer makes it several times faster.
Fixed a bug in AHIsub_Enable().
AHIsub_AllocAudio() did not return the correct error code on failure.
2.5
Now displays a requester instead of an alert if asl.library cannot be
opened.
paula.audio
¯¯¯¯¯¯¯¯¯¯¯
2.0
Bumped version to 2.
Bug fix: 14 bit uncalibrated mode now works as it should.
2.2
Various bugfixes.
Added support for parallel port samplers (only generic mono this
time).
Changed the number of avalable mixing/sampling frequencies.
The video mode is now checked to see if mixing frequencies above
28867 Hz is possible.
2.3
Bug fix: Driver reported wrong resolution for 14 bit modes.
MC68000-version added.
Bug fix: Distortion because of playing samples from an odd
address. Kinda lame bug: I made sure the length was even, but
forgot the start address.
2.4
Can now use the Aura sound card as sampler instead of one in the
parallel port.
2.5
Better handling of the Aura sampler. The driver is now defined to
have two inputs, instead of using two separate mode files.
3.0
Added protection against CPU overload.
3.1
The variable AHIpaulaFilterFreq is now checked when the audio
is allocated.
4.1
Bumped version to 4.
4.2
This is unbelievable, but I had swapped the left and right channel!
prelude.audio
¯¯¯¯¯¯¯¯¯¯¯¯¯
Note: prelude.audio is ©1996-1997 A.C.T. and written by Thomas
Wenzel. The latest release of this driver and documentation can
be found at <URL:http://linux.rz.fh-hannover.de/~wenzel/Prelude.html>.
2.17
First public release
2.18
AHI_GetAudioAttrs() returned incorrect value for
AHIDB_MaxRecordSamples. Fixed.
Recording function now makes use of a soft interrupt, too.
2.19
Fixed a bug that could lead to hangups during initialisation
Minor speed improvements
2.20
Further speed optimizations
Enabled auto calibration each time the hardware is allocated
2.21
Changed buffering scheme to work better with AHI V3
Full cooperation with prelude.library
Now using a UserTag to distinguish between realtime and non-realtime:
AHIDB_UserBase+0; TRUE means realtime.
2.22
Oops! Fullduplex didn't work. Sorry, now it's fixed!
2.23
Trying to open the driver without a Prelude present lead to
crashes. Fixed.
toccata.audio
¯¯¯¯¯¯¯¯¯¯¯¯¯
2.1
First public version.
2.10
Lots of bug fixes, but there is need for many more.
2.11
More bug fixes. I think it actually is usable now...
2.12
Will now do all mixing in a software interrupt if the environment
variable AHItoccataNoTask is set to 1.
2.14
Added support for the hacked "toccata..library". It works much better
than the AHItoccataNoTask kludge.
AHIC_MonitorVolume works as it was supposed to now.
Bug in the mutal exclusive code fixed.
2.15
A little less clicks now.
wavetools.audio
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
1.10
Updated for beta 2 (AHIC_MonitorVolume, AHIC_MonitorVolume_Query)
2.0
Bumped version to 2.
Added support for AHIC_OutputVolume, AHIC_OutputVolume_Query,
AHIDB_MinMonitorVolume, AHIDB_MaxMonitorVolume, AHIDB_MinOutputVolume,
AHIDB_MaxOutputVolume, AHIDB_Inputs, AHIDB_Input, AHIDB_Outputs and
AHIDB_Output.
2.1
Wow, at last! Somebody is actually USING this driver now! Version
2.0 didn't even work, and nobody reported it until recently...
Note: The following changes were done by Johan Nyblom
<nyblom@ludd.luth.se>
2.11
Bug fixes, input gain added.
Other software
¯¯¯¯¯¯¯¯¯¯¯¯¯¯
The hook structure in PT-AHIPlay.s missed the userdata field.
PT-AHIPlay.s doesn't use AHIST_LOOP sounds anymore.
RecordTestQnD.s now uses AHIC_MonitorVolume.
ScanAudioModes updated for V2.
PT-AHIPlay.s updated to use Fixed instead of ULONG for player
frequencies.
DoubleBuffer example program added.
HarddiskRecord example program added.
The protracker replay code has been rewritten.
Protracker datatype added.
RecordTest example program added.
PlayTest example program added.
Updated the AHI-Noteplayer for Delitracker to version 1.4.
Audio handler added.
Simpleplay updated.
The protracker replay code fixed (left/righ channel swapped),
and a major bug in the example PlayerFunc was removed (didn't
save register a2!).
Protracker datatype updated. Now it actually obeys the AHI rules,
which hopefully means no more crashes with Toccata.