226 lines
6.6 KiB
Modula-2
226 lines
6.6 KiB
Modula-2
LIBRARY MMSYSTEM
|
|
|
|
DESCRIPTION 'System APIs for Multimedia'
|
|
|
|
EXETYPE WINDOWS
|
|
|
|
PROTMODE
|
|
|
|
CODE MOVEABLE DISCARDABLE LOADONCALL
|
|
DATA MOVEABLE SINGLE PRELOAD
|
|
|
|
|
|
SEGMENTS
|
|
FIX FIXED PRELOAD
|
|
INTDS CLASS 'DATA' FIXED PRELOAD
|
|
|
|
INIT MOVEABLE DISCARDABLE PRELOAD
|
|
WAVE MOVEABLE DISCARDABLE PRELOAD ;;for startup sound
|
|
|
|
_TEXT MOVEABLE DISCARDABLE PRELOAD ;; to save memory on 1Mb 286
|
|
;;;;_TEXT MOVEABLE NONDISCARDABLE PRELOAD
|
|
|
|
MCI MOVEABLE DISCARDABLE LOADONCALL
|
|
MIDI MOVEABLE DISCARDABLE LOADONCALL
|
|
MMIO MOVEABLE DISCARDABLE LOADONCALL
|
|
RARE MOVEABLE DISCARDABLE LOADONCALL
|
|
MIXER MOVEABLE DISCARDABLE LOADONCALL
|
|
|
|
HEAPSIZE 128
|
|
|
|
IMPORTS
|
|
_DebugOutput = KERNEL.328
|
|
LSTRCPYN = KERNEL.353
|
|
LocalCountFree = KERNEL.161
|
|
LocalHeapSize = KERNEL.162
|
|
GetLPErrMode = KERNEL.99
|
|
|
|
EXPORTS
|
|
WEP @1 RESIDENTNAME ;Internal
|
|
SNDPLAYSOUND @2
|
|
MMSYSTEMGETVERSION @5
|
|
DRIVERPROC @6 RESIDENTNAME ;Internal
|
|
;
|
|
; driver helper functions
|
|
;
|
|
OUTPUTDEBUGSTR @30
|
|
DRIVERCALLBACK @31
|
|
STACKENTER @32
|
|
STACKLEAVE @33
|
|
MMDRVINSTALL @34 ;Internal
|
|
;
|
|
; JOYSTICK interface
|
|
;
|
|
JOYGETNUMDEVS @101
|
|
JOYGETDEVCAPS @102
|
|
JOYGETPOS @103
|
|
JOYGETTHRESHOLD @104
|
|
JOYRELEASECAPTURE @105
|
|
JOYSETCAPTURE @106
|
|
JOYSETTHRESHOLD @107
|
|
JOYSETCALIBRATION @109
|
|
;
|
|
; MIDI interface
|
|
;
|
|
MIDIOUTGETNUMDEVS @201
|
|
MIDIOUTGETDEVCAPS @202
|
|
MIDIOUTGETERRORTEXT @203
|
|
MIDIOUTOPEN @204
|
|
MIDIOUTCLOSE @205
|
|
MIDIOUTPREPAREHEADER @206
|
|
MIDIOUTUNPREPAREHEADER @207
|
|
MIDIOUTSHORTMSG @208
|
|
MIDIOUTLONGMSG @209
|
|
MIDIOUTRESET @210
|
|
MIDIOUTGETVOLUME @211
|
|
MIDIOUTSETVOLUME @212
|
|
MIDIOUTCACHEPATCHES @213
|
|
MIDIOUTCACHEDRUMPATCHES @214
|
|
MIDIOUTGETID @215
|
|
MIDIOUTMESSAGE @216
|
|
;
|
|
; MIDI interface
|
|
;
|
|
MIDIINGETNUMDEVS @301
|
|
MIDIINGETDEVCAPS @302
|
|
MIDIINGETERRORTEXT @303
|
|
MIDIINOPEN @304
|
|
MIDIINCLOSE @305
|
|
MIDIINPREPAREHEADER @306
|
|
MIDIINUNPREPAREHEADER @307
|
|
MIDIINADDBUFFER @308
|
|
MIDIINSTART @309
|
|
MIDIINSTOP @310
|
|
MIDIINRESET @311
|
|
MIDIINGETID @312
|
|
MIDIINMESSAGE @313
|
|
;
|
|
; AUX interface
|
|
;
|
|
AUXGETNUMDEVS @350
|
|
AUXGETDEVCAPS @351
|
|
AUXGETVOLUME @352
|
|
AUXSETVOLUME @353
|
|
AUXOUTMESSAGE @354
|
|
;
|
|
; WAVE interface
|
|
;
|
|
WAVEOUTGETNUMDEVS @401
|
|
WAVEOUTGETDEVCAPS @402
|
|
WAVEOUTGETERRORTEXT @403
|
|
WAVEOUTOPEN @404
|
|
WAVEOUTCLOSE @405
|
|
WAVEOUTPREPAREHEADER @406
|
|
WAVEOUTUNPREPAREHEADER @407
|
|
WAVEOUTWRITE @408
|
|
WAVEOUTPAUSE @409
|
|
WAVEOUTRESTART @410
|
|
WAVEOUTRESET @411
|
|
WAVEOUTGETPOSITION @412
|
|
WAVEOUTGETPITCH @413
|
|
WAVEOUTSETPITCH @414
|
|
WAVEOUTGETVOLUME @415
|
|
WAVEOUTSETVOLUME @416
|
|
WAVEOUTGETPLAYBACKRATE @417
|
|
WAVEOUTSETPLAYBACKRATE @418
|
|
WAVEOUTBREAKLOOP @419
|
|
WAVEOUTGETID @420
|
|
WAVEOUTMESSAGE @421
|
|
|
|
WAVEINGETNUMDEVS @501
|
|
WAVEINGETDEVCAPS @502
|
|
WAVEINGETERRORTEXT @503
|
|
WAVEINOPEN @504
|
|
WAVEINCLOSE @505
|
|
WAVEINPREPAREHEADER @506
|
|
WAVEINUNPREPAREHEADER @507
|
|
WAVEINADDBUFFER @508
|
|
WAVEINSTART @509
|
|
WAVEINSTOP @510
|
|
WAVEINRESET @511
|
|
WAVEINGETPOSITION @512
|
|
WAVEINGETID @513
|
|
WAVEINMESSAGE @514
|
|
;
|
|
; TIME interface
|
|
;
|
|
TIMEGETSYSTEMTIME @601
|
|
TIMEGETTIME @607
|
|
TIMESETEVENT @602
|
|
TIMEKILLEVENT @603
|
|
TIMEGETDEVCAPS @604
|
|
TIMEBEGINPERIOD @605
|
|
TIMEENDPERIOD @606
|
|
;
|
|
; MCI interface
|
|
;
|
|
MCISENDCOMMAND @701
|
|
MCISENDSTRING @702
|
|
MCIGETDEVICEID @703
|
|
MCIPARSECOMMAND @704
|
|
MCILOADCOMMANDRESOURCE @705
|
|
MCIGETERRORSTRING @706
|
|
MCISETDRIVERDATA @707
|
|
MCIGETDRIVERDATA @708
|
|
MCIDRIVERYIELD @710
|
|
MCIDRIVERNOTIFY @711
|
|
MCIEXECUTE @712
|
|
MCIFREECOMMANDRESOURCE @713
|
|
MCISETYIELDPROC @714
|
|
MCIGETDEVICEIDFROMELEMENTID @715
|
|
MCIGETYIELDPROC @716
|
|
MCIGETCREATORTASK @717
|
|
|
|
;
|
|
; MIXER interface
|
|
;
|
|
MIXERGETNUMDEVS @800
|
|
MIXERGETDEVCAPS @801
|
|
MIXEROPEN @802
|
|
MIXERCLOSE @803
|
|
MIXERMESSAGE @804
|
|
MIXERGETLINEINFO @805
|
|
MIXERGETID @806
|
|
MIXERGETLINECONTROLS @807
|
|
MIXERGETCONTROLDETAILS @808
|
|
MIXERSETCONTROLDETAILS @809
|
|
|
|
;
|
|
; MMTASK interface
|
|
;
|
|
MMTASKCREATE @900
|
|
MMTASKBLOCK @902
|
|
MMTASKSIGNAL @903
|
|
MMGETCURRENTTASK @904
|
|
MMTASKYIELD @905
|
|
|
|
;
|
|
; Driver interface
|
|
;
|
|
DRVOPEN @1100
|
|
DRVCLOSE @1101
|
|
DRVSENDMESSAGE @1102
|
|
DRVGETMODULEHANDLE @1103
|
|
DRVDEFDRIVERPROC @1104
|
|
;
|
|
; MMIO
|
|
;
|
|
MMIOOPEN @1210
|
|
MMIOCLOSE @1211
|
|
MMIOREAD @1212
|
|
MMIOWRITE @1213
|
|
MMIOSEEK @1214
|
|
MMIOGETINFO @1215
|
|
MMIOSETINFO @1216
|
|
MMIOSETBUFFER @1217
|
|
MMIOFLUSH @1218
|
|
MMIOADVANCE @1219
|
|
MMIOSTRINGTOFOURCC @1220
|
|
MMIOINSTALLIOPROC @1221
|
|
MMIOSENDMESSAGE @1222
|
|
|
|
MMIODESCEND @1223
|
|
MMIOASCEND @1224
|
|
MMIOCREATECHUNK @1225
|
|
MMIORENAME @1226
|