1 ==copyright Copyright © 1994-2005 Martin Blom
4 ==basetype struct Library *
6 ==include <exec/types.h>
7 ==include <exec/devices.h>
8 ==include <utility/tagitem.h>
9 ==include <devices/ahi.h>
13 * Functions for allocating/deallocating and controlling AudioCtrl handles
14 struct AHIAudioCtrl * AHI_AllocAudioA(struct TagItem * tagList) (a1)
16 struct AHIAudioCtrl * AHI_AllocAudio(Tag tag1, ...) (a1)
17 void AHI_FreeAudio(struct AHIAudioCtrl * AudioCtrl) (a2)
19 void AHI_KillAudio() ()
21 ULONG AHI_ControlAudioA(struct AHIAudioCtrl * AudioCtrl, struct TagItem * tagList) (a2,a1)
23 ULONG AHI_ControlAudio(struct AHIAudioCtrl * AudioCtrl, Tag tag1, ...) (a2,a1)
25 * Functions to control the synthesizer
26 void AHI_SetVol(UWORD Channel, Fixed Volume, sposition Pan,
27 struct AHIAudioCtrl * AudioCtrl, ULONG Flags) (d0,d1,d2,a2,d3)
28 void AHI_SetFreq(UWORD Channel, ULONG Freq, struct AHIAudioCtrl * AudioCtrl, ULONG Flags) (d0,d1,a2,d2)
29 void AHI_SetSound(UWORD Channel, UWORD Sound, ULONG Offset, LONG Length,
30 struct AHIAudioCtrl * AudioCtrl, ULONG Flags) (d0,d1,d2,d3,a2,d4)
31 ULONG AHI_SetEffect(APTR Effect, struct AHIAudioCtrl * AudioCtrl) (a0,a2)
32 ULONG AHI_LoadSound(UWORD Sound, ULONG Type, APTR Info, struct AHIAudioCtrl * AudioCtrl) (d0,d1,a0,a2)
33 void AHI_UnloadSound(UWORD Sound, struct AHIAudioCtrl * Audioctrl) (d0,a2)
34 ULONG AHI_NextAudioID(ULONG Last_ID) (d0)
36 * Functions to query the audio mode database
37 BOOL AHI_GetAudioAttrsA(ULONG ID, struct AHIAudioCtrl * Audioctrl, struct TagItem * tagList) (d0,a2,a1)
39 BOOL AHI_GetAudioAttrs(ULONG ID, struct AHIAudioCtrl * Audioctrl, Tag tag1, ...) (d0,a2,a1)
40 ULONG AHI_BestAudioIDA(struct TagItem * tagList) (a1)
42 ULONG AHI_BestAudioID(Tag tag1, ...) (a1)
44 * Functions for the audio mode requester
45 struct AHIAudioModeRequester * AHI_AllocAudioRequestA(struct TagItem * tagList) (a0)
47 struct AHIAudioModeRequester * AHI_AllocAudioRequest(Tag tag1, ...) (a0)
48 BOOL AHI_AudioRequestA(struct AHIAudioModeRequester * Requester, struct TagItem * tagList) (a0,a1)
50 BOOL AHI_AudioRequest(struct AHIAudioModeRequester * Requester, Tag tag1, ...) (a0,a1)
51 void AHI_FreeAudioRequest(struct AHIAudioModeRequester * Requester) (a0)
55 * More functions to control the synthesizer
56 void AHI_PlayA(struct AHIAudioCtrl * Audioctrl, struct TagItem * tagList) (a2,a1)
58 void AHI_Play(struct AHIAudioCtrl * Audioctrl, Tag tag1, ...) (a2,a1)
60 * Find out how many bytes a sample frame occupy
61 ULONG AHI_SampleFrameSize(ULONG SampleType) (d0)
63 * Semi-private functions to manage the audio mode database
64 ULONG AHI_AddAudioMode(struct TagItem * AHIPrivate) (a0)
65 ULONG AHI_RemoveAudioMode(ULONG AHIPrivate) (d0)
66 ULONG AHI_LoadModeFile(STRPTR AHIPrivate) (a0)