home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Global Amiga Experience
/
globalamigaexperience.iso
/
compressed
/
development
/
clusterdemo.dms
/
clusterdemo.adf
/
Modules.lha
/
modules
/
txt
/
Audio.def
< prev
next >
Wrap
Text File
|
1994-05-25
|
3KB
|
95 lines
|##########|
|#MAGIC #|CLABLOAC
|#PROJECT #|"IMPORTALL"
|#PATHS #|"StdProject"
|#FLAGS #|xx-x-x--xx----x-----------------
|#USERSW #|--------------------------------
|#USERMASK#|--------------------------------
|#SWITCHES#|x-xx-x----------
|##########|
DEFINITION MODULE Audio;
| Groups in this module ( in this order ):
|
| AudioGrp All
(* $A- *)
FROM T_Exec IMPORT NoFreeSignal,OpenError,IOCommand,IOFlagSet,
IOFlags,IORequest,IOReturn,Message,nonstdVAL;
FROM Resources IMPORT ContextPtr;
FROM System IMPORT Regs;
CONST
| System Constants
hardChannels = 4;
minPrec = -128;
maxPrec = 127;
| values for IORequest.command
free = IOCommand( nonstdVAL + 0 );
setPrec = IOCommand( nonstdVAL + 1 );
finish = IOCommand( nonstdVAL + 2 );
perVol = IOCommand( nonstdVAL + 3 );
lock = IOCommand( nonstdVAL + 4 );
waitCycle = IOCommand( nonstdVAL + 5 );
allocate = IOCommand( 32 );
noUnit = allocate;
| values for IORequest.flags
pervol = IOFlagSet:{ IO4 };
syncCycle = IOFlagSet:{ IO5 };
noWait = IOFlagSet:{ IO6 };
writeMessages = IOFlagSet:{ IO7 };
| errors returned in IORequest.error
noAllcation = IOReturn( $F6 );
allocFailed = IOReturn( $F5 );
channelStolen = IOReturn( $F4 );
TYPE
IOAudioPtr = POINTER TO IOAudio;
IOAudio = RECORD OF IORequest
allocKey : INTEGER;
data : ANYPTR;
length : LONGCARD;
period : CARDINAL;
volume : CARDINAL;
cycles : CARDINAL;
writeMsg : Message;
END;
| OpenAudio
|
| try to open the audio.device.
| EXCEPTION NoFreeSignal OpenError
|
PROCEDURE OpenAudio(context : ContextPtr:=NIL) : IOAudioPtr;
PROCEDURE CloneAudio(request : IOAudioPtr;context : ContextPtr:=NIL):IOAudioPtr;
PROCEDURE BeginIO(request IN A1 : IOAudioPtr);
PROCEDURE AbortIO(request IN A1 : IOAudioPtr);
| CloseAudio
| close the audio device associated with the request.
| will be called if forgotten.
PROCEDURE CloseAudio(VAR request : IOAudioPtr);
GROUP
AudioGrp = hardChannels,minPrec,maxPrec,free,setPrec,finish,
perVol,lock,waitCycle,noUnit,allocate,pervol,syncCycle,
noWait,writeMessages,noAllcation,allocFailed,
channelStolen,IOAudio,IOAudioPtr,OpenAudio,CloseAudio;
All = AudioGrp;
END Audio.