Check for SYS/GL during library init. Reason is that
[AROS.git] / workbench / devs / AHI / Include / SFD / ahi_lib.sfd
blob710f8c271f24bf1e2caade1e5461db9499d95172
1 ==copyright Copyright © 1994-2005 Martin Blom
2 ==id $Id$
3 ==base _AHIBase
4 ==basetype struct Library *
5 ==libname ahi.device
6 ==include <exec/types.h>
7 ==include <exec/devices.h>
8 ==include <utility/tagitem.h>
9 ==include <devices/ahi.h>
10 ==bias 42
11 ==public
13 * Functions for allocating/deallocating and controlling AudioCtrl handles
14 struct AHIAudioCtrl * AHI_AllocAudioA(struct TagItem * tagList) (a1)
15 ==varargs
16 struct AHIAudioCtrl * AHI_AllocAudio(Tag tag1, ...) (a1)
17 void AHI_FreeAudio(struct AHIAudioCtrl * AudioCtrl) (a2)
18 ==private
19 void AHI_KillAudio() ()
20 ==public
21 ULONG AHI_ControlAudioA(struct AHIAudioCtrl * AudioCtrl, struct TagItem * tagList) (a2,a1)
22 ==varargs
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)
38 ==varargs
39 BOOL AHI_GetAudioAttrs(ULONG ID, struct AHIAudioCtrl * Audioctrl, Tag tag1, ...) (d0,a2,a1)
40 ULONG AHI_BestAudioIDA(struct TagItem * tagList) (a1)
41 ==varargs
42 ULONG AHI_BestAudioID(Tag tag1, ...) (a1)
44 * Functions for the audio mode requester
45 struct AHIAudioModeRequester * AHI_AllocAudioRequestA(struct TagItem * tagList) (a0)
46 ==varargs
47 struct AHIAudioModeRequester * AHI_AllocAudioRequest(Tag tag1, ...) (a0)
48 BOOL AHI_AudioRequestA(struct AHIAudioModeRequester * Requester, struct TagItem * tagList) (a0,a1)
49 ==varargs
50 BOOL AHI_AudioRequest(struct AHIAudioModeRequester * Requester, Tag tag1, ...) (a0,a1)
51 void AHI_FreeAudioRequest(struct AHIAudioModeRequester * Requester) (a0)
53 ==version 4
55 * More functions to control the synthesizer
56 void AHI_PlayA(struct AHIAudioCtrl * Audioctrl, struct TagItem * tagList) (a2,a1)
57 ==varargs
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)
67 ==end