Miles Sound System SDK 7.2a

Miles Sound System Reference

The Miles Sound System Reference is a hyperlinked version of the Miles Sound System SDK's printed reference manual.


Chapters

Acknowledgments
Introduction
Overview for Win32: Miles on Windows XP, Vista, 2000, NT and Win9x
Overview for Win64: Miles on Windows 64 XP and Vista
Overview for Nintendo Wii
Overview for Sony PlayStation 3
Overview for Sony PlayStation 2
Overview for Microsoft Xbox
Overview for Microsoft Xbox 360
Overview for MacOS: Miles on Macintosh
Overview for DOS: Miles on DOS with 32-bit DOS Extenders
The Digital Audio Pipeline
FAQs and How Tos
Basic Types
Quick Integration Services
System Services
Memory and File Services
Timer Services
Digital Audio Services
Creative EAX 2, 3, and 4 Providers
Miles SRS Circle Surround Provider
Miles Dolby Surround Provider
Miles DTS Provider for the Sony PS2
Digital Audio Input (Recording) Services
Digital Audio Streaming Services
Digital Filter Services
CD Audio (Redbook) Services
XMIDI Services
DLS Services
Utility Services
Low-Level Sony PlayStation 2 Support Services
The RAD_IOP API for the Sony PS2
The RAD_IOP SPU Hardware Voice API for the Sony PS2
Low-Level DOS Installation Services
Low-Level DOS Support Services
Preferences
Implementing Voice Chat
Miles Sound System Tools Reference
Extended MIDI Technical Reference
MSS Device Development Kit for DOS Sound Drivers
DOS Sound Driver Generic Initialization Interface
DOS Digital Sound Driver Interface
DOS XMIDI Sound Driver Interface
DDK Support Routines for Digital Sound Drivers
DDK Support Routines for XMIDI Sound Drivers


Chapter Detail

Acknowledgments
Introduction
Overview for Win32: Miles on Windows XP, Vista, 2000, NT and Win9x
Installation for Win32
Integrating Miles into a Win32 Build Environment
Distributing Miles with Win32 Applications
Sound under Win32
Memory management under Win32
Callbacks under Win32
Sharing the CPU under Win32
Call Logging under Win32
Miles Examples for Win32
Overview for Win64: Miles on Windows 64 XP and Vista
Installation for Win64
Integrating Miles into a Win64 Build Environment
Distributing Miles with Win64 Applications
Sound under Win64
Memory management under Win64
Callbacks under Win64
Sharing the CPU under Win64
Call Logging under Win64
Miles Examples for Win64
Overview for Nintendo Wii
Installation for Nintendo Wii
Integrating Miles into a Nintendo Wii Build Environment
Distributing Miles with Nintendo Wii Applications
Sound under Nintendo Wii
Memory management under Nintendo Wii
Callbacks under Nintendo Wii
Call Logging under Nintendo
Resource Usage on the Nintendo
MSS Example for the Nintendo Wii
Overview for Sony PlayStation 3
Installation for PlayStation 3
Integrating Miles into a PlayStation 3 Build Environment
Distributing Miles with PlayStation 3 Applications
Sound under Playstation 3
Memory management under PlayStation 3
Callbacks on Playstation 3
Call Logging under PlayStation 3
Resource Usage on the Playstation 3
MSS Example for the PlayStation 3
Overview for Sony PlayStation 2
Installation for PlayStation 2
Integrating Miles into a PlayStation 2 Build Environment
Distributing Miles with PlayStation 2 Applications
Sound under Playstation 2
Memory management under PlayStation 2
Callbacks under PlayStation 2
Call Logging under PlayStation 2
Resource Usage on the Playstation 2
MSS Example for the PlayStation 2
Overview for Microsoft Xbox
Installation for Xbox
Integrating Miles into a Xbox Build Environment
Distributing Miles with Xbox Applications
Sound under Xbox
Memory management under Xbox
Callbacks under Xbox
Sharing the CPU under Xbox
Call Logging under Xbox
Miles Example for Xbox
Overview for Microsoft Xbox 360
Installation for Xbox 360
Integrating Miles into a Xbox 360 Build Environment
Distributing Miles with Xbox 360 Applications
Sound under Xbox 360
Memory management under Xbox 360
Callbacks under Xbox 360
Sharing the CPU under Xbox 360
Call Logging under Xbox 360
Miles Example for Xbox 360
Overview for MacOS: Miles on Macintosh
Installation for MacOS
Sound under MacOS
Integrating Miles into a MacOS Build Environment
Distributing Miles with MacOS Applications
Filenames on MacOS
Memory management under MacOS
Callbacks under MacOS
Sharing the CPU under MacOS
Call Logging under MacOS
Miles Examples for MacOS
Overview for DOS: Miles on DOS with 32-bit DOS Extenders
Installation for DOS
Sound under DOS
Integrating Miles into a DOS Build Environment
Distributing Miles with DOS Applications
Memory management under DOS
Callbacks under DOS
Sharing the CPU under DOS
Call Logging under DOS
Miles Examples for DOS
The Digital Audio Pipeline
FAQs and How Tos
How do I initialize the Miles Sound System for use?
How do I play a digital sound?
How do I use multi-channel sound output in Miles?
What's the best way to port my older Miles application to MSS 7?
How do I play an XMIDI or MIDI file?
How do I play an XMIDI file with a DLS instrument set?
How do I stream a file off a hard disk or CD?
How do I play a track off a CD?
How do I loop a track off a CD?
I used an older version of Miles and now my volume and pan calls are weird - what's going on? And what's with the two types of volume functions?
What kind of audio decompression does Miles support?
What is MPEG Audio and MP3?
What MP3 encoder should I use?
I can't get Miles to play an MP3, XMA, or Ogg Vorbis file - what's going on?
How can I lower the CPU hit of playing an MP3 file?
I'm getting a glitch when I loop an MP3 or ADPCM file - what can I do?
How do I apply a low-pass filter?
How do I set a DSP filter on a sample?
How much CPU do the various filters use?
How can I play two HSAMPLEs from the same memory address?
When can I free the memory I gave to MSS?
How do I start an audio file somewhere in the middle?
How do I smoothly ramp up or ramp down the volume of a sample over time?
How do I play a 3D digital sound?
My 3D sound isn't falling off like I expected - what's going on?
How can I assign 3D positions to stereo samples?
My 3D audio is a lot louder than my 2D audio - what can I do?
How do I set an environmental reverb room style?
How does Miles do sound prioritization?
On the Sony PS2, how can I use the IOP or SPU memory to hold my audio?
I can't seem to change the volume of my XMIDI sequences, what's going on?
What's the deal with callbacks - are they threads, interrupts, system timers, or what?
How much latency does Miles have?
My sound is skipping on Windows or MacOS X - what can I do?
My application is crashing - what should I try?
Where is the Miles source code? How can I rebuild it (in debug mode)?
How can I tell what version of Miles that I have?
What is the latest version of MSS?
How do I use a Unicode path on Windows?
How do I access files from a big packed file?
I'm setting a preference and it isn't having any effect - what's going on?
I want a small installation - do I need all of the files in the \redist directories?
I'm using Windows 9x or NT - do I have to call the AIL_mem_alloc_lock function?
How careful do I have to be when shutting down?
This function returns a bunch of return data, but I only want one value - is there a simpler way to use it?
The Internet voice chat example has a lot of latency or it doesn't work on my LAN - what's going on?
What are these ASI and FLT files? What is RIB?
Basic Types
S8 describes a signed 8-bit integer.
U8 describes an unsigned 8-bit integer.
S16 describes a signed 16-bit integer.
U16 describes an unsigned 16-bit integer.
S64 describes a signed 64-bit integer.
U64 describes an unsigned 64-bit integer.
S32 describes a signed 32-bit integer.
U32 describes an unsigned 32-bit integer.
SINTa describes a signed integer that is the same size as a pointer on the current platform. Right now, only Win64 currently uses 64-bit pointers, so on everything else this is a 32-bit integer.
UINTa describes an unsigned integer that is the same size as a pointer on the current platform. Right now, only Win64 currently uses 64-bit pointers, so on everything else this is a 32-bit integer.
F32 describes a standard 32-bit floating-point number.
F64 describes a standard 64-bit double-precision floating-point number.
void describes a standard C/C++ void return type.
void * describes a standard C/C++ untyped memory pointer.
void const * describes a constant (unchangeable) C/C++ untyped memory pointer.
char describes a single character type.
char * describes a normal zero-terminated C-style string.
char const * describes a constant (unchangeable) zero-terminated C-style string.
HDIGDRIVER is a handle to an digital audio device.
HMDIDRIVER is a handle to an midi output device.
HDLSDEVICE is a handle to an DLS device.
HDIGINPUT is a handle to an digital audio input device.
HPROVIDER is a handle to an available RIB provider.
HDRIVERSTATE is a handle to an open digital audio filter.
HTIMER is a handle to a Miles timer callback.
HSAMPLE is a handle to a digital sound sample.
HAUDIO is a handle to a quick API handle (it can contain digital or MIDI data).
HSTREAM is a handle to a digital audio stream.
HREDBOOK is a handle to a CD audio (redbook) device.
HSEQUENCE is a handle to an XMIDI sequence.
HWAVESYNTH is a handle to an open wave synthesizer.
HDLSFILEID is a handle to an loaded DLS instrument set.
HPROENUM specifies a type used to enumerate through a list of RIB providers.
HINTENUM specifies a type used to enumerate through a list of properties.
AIL_DRIVER specifies a low-level digital or XMIDI DOS driver.
REALFAR specifies a lower 1 MB real mode address.
LPDIRECTSOUND describes a pointer to a DirectSound object.
LPDIRECTSOUNDBUFFER describes a pointer to a DirectSound buffer object.
HWND specifies a Windows window handle.
LPHWAVEOUT specifies a pointer to a Windows waveOut device.
LPHMIDIOUT specifies a pointer to a Windows midiOut device.
FSSpec is a MacOS file spec structure used on Classic and Carbon.
VOID_PTR describes a standard C/C++ untyped memory pointer.
CHAR_PTR describes a normal zero-terminated C-style string.
Quick Integration Services
AIL_quick_startup initializes the quick integration system.
MILES_QUICK_DIGITAL_OPEN describes how to open the digital audio system.
MILES_QUICK_MIDI_OPEN describes how to open the MIDI system.
AIL_quick_shutdown closes the quick integration API.
AIL_quick_load loads a sound file, returning a handle that can be used with the other quick API functions.
AIL_quick_fss_load loads a sound file from a Mac file spec, returning a handle that can be used with the other quick API functions.
AIL_quick_load_mem loads a sound file that is already loaded into memory, returning a handle that can be used with the other quick API functions.
AIL_quick_load_named_mem loads a sound file that is already loaded into memory, with a filename hint, returning a handle that can be used with the other quick API functions.
AIL_quick_copy copies an audio handle from an already-loaded audio handle.
AIL_quick_unload unloads a sound handle previously loaded with AIL_quick_load or AIL_quick_load_and_play.
AIL_quick_play starts the playback of an audio file previously loaded with AIL_quick_load.
AIL_quick_halt stops a currently playing audio handle.
AIL_quick_status returns the status of an audio handle.
MILES_QUICK_STATUS describes the status of a Quick API audio handle.
AIL_quick_load_and_play loads a sound file into a handle and begins playing it immediately.
AIL_quick_fss_load_and_play loads a Mac file spec sound into a handle and begins playing it immediately.
AIL_quick_type returns the type of an audio handle.
MILES_QUICK_TYPE describes the data in a Quick API audio handle.
AIL_quick_set_volume controls the volume of an audio handle.
AIL_quick_set_speed controls the playback rate of an audio handle.
AIL_quick_ms_length returns the total length in milliseconds of an audio handle.
AIL_quick_ms_position returns the current position in milliseconds of an audio handle.
AIL_quick_set_ms_position changes current playback position in milliseconds of the specified audio handle.
AIL_quick_set_reverb_levels changes the reverb levels of a digital audio sample, or a MIDI playing through the software synthesizer.
AIL_quick_set_low_pass_cut_off applies a low-pass filter to the digital audio sample.
AIL_quick_handles returns the MSS digital driver and MIDI driver handles.
System Services
AIL_set_redist_directory sets the location of your application's Miles directory.
Register_RIB registers a static library RIB interface on non-Win32 platforms such as Xbox, Sony Playstation 2 or DOS.
AIL_startup initializes the Miles Sound System and prepares for the installation and use of sound drivers.
AIL_shutdown shuts down all active sound drivers, restores normal system timer operation, and disconnects the API timer interrupt handler.
AIL_MSS_version returns the version of the Miles library.
AIL_serve provides periodic foreground service to the Miles Sound System to avoid `starvation` during periods when the application does not yield control frequently.
AIL_set_preference controls certain internal parameters used by the MSS system.
AIL_get_preference queries the current MSS internal parameters.
AIL_last_error returns a string describing the last MSS error.
AIL_background allows an application function to determine if it is currently running in `background` mode from an interrupt or thread, or if it is currently running in the `foreground`.
AIL_register_trace_callback registers an application function to receive debug trace message traffic from MSS.
AILTRACECB specifies a user-defined debug-trace callback.
AIL_platform_property retrieves and/or sets platform-specific properties for the Miles Sound System.
MSS_PLATFORM_PROPERTY is a list of available platform-specific property identifiers for use with the AIL_platform_property function.
Memory and File Services
AIL_mem_alloc_lock allocates a locked block of memory.
AIL_mem_free_lock frees a pointer previously allocated with AIL_mem_alloc_lock or AIL_file_read.
AIL_file_read loads a data file into the specified memory address, optionally allocating the memory as well.
AIL_file_fss_read loads a data file spec into the specified memory address, optionally allocating the memory as well.
AIL_file_write creates a new data file and fills it with the specified data.
AIL_file_fss_write creates a new MacOS data file spec and fills it with the specified data.
AIL_file_fss_attrib_write creates a new MacOS data file spec and fills it with the specified data.
AIL_WAV_file_write creates a new Microsoft .WAV file.
AIL_WAV_file_fss_write creates a new MacOS .WAV file spec.
AIL_file_size returns the size of the specified data file.
AIL_file_fss_size returns the size of the specified MacOS data file spec.
AIL_file_error returns the last file I/O error from AIL_file_read, AIL_file_write, or AIL_file_size.
MILES_FILE_ERRORS describes an error encountered by one of the Miles file I/O functions.
AIL_mem_use_malloc replaces the default memory allocation routines.
AIL_mem_use_free replaces the default memory freeing routine.
AILMALLOCCB specifies a pointer to a user-defined memory allocation callback.
AILFREECB specifies a pointer to a user-defined memory release callback.
AIL_set_file_callbacks replaces the synchronous (blocking) file I/O functions that Miles uses for AIL_file_read, AIL_file_size, and the high-level streaming functions.
AIL_set_file_async_callbacks replaces the file I/O handlers that Miles uses for its high-level streaming functions on certain platforms.
AIL_file_open_callback specifies a user-replaceable callback handler to open a file in MSS.
AIL_file_close_callback specifies a user-replaceable callback handler to close a file.
AIL_file_seek_callback specifies a user-replaceable callback handler to seek in a file.
MILES_FILE_SEEK_TYPE describes the type of seek to perform.
AIL_file_read_callback specifies a user-replaceable callback handler to read from a file.
AIL_file_async_read_callback specifies a user-replaceable callback handler to initiate asynchronous reads from a file.
AIL_file_async_status_callback specifies a user-replaceable callback handler to poll for completion of an asynchronous read.
AIL_vmm_lock locks the specified memory range under DOS.
AIL_vmm_unlock unlocks a piece of memory previously locked with AIL_vmm_lock.
AIL_vmm_lock_range locks the specified memory range under DOS.
AIL_vmm_unlock_range unlocks a piece of memory previously locked with AIL_vmm_lock_range.
Timer Services
AIL_ms_count returns a millisecond accurate timer count (one thousand ticks per second).
AIL_us_count returns a microsecond accurate timer count (one million ticks per second).
AIL_register_timer registers a callback function callback_fn to receive asynchronous time-slice service from a timer, and returns a handle HTIMER which may be used to start, stop, and program the function's assigned timer.
AILTIMERCB specifies a user-defined timer callback.
AIL_set_timer_user instructs the MSS timer dispatcher to pass the value user to the timer callback function associated with the timer handle timer.
AIL_set_timer_period programs a timer for callback service at periods ranging from 1 microsecond to 1,000,000,000 microseconds (approximately 15 minutes).
AIL_set_timer_frequency programs a timer for callback service at frequencies ranging from 1 Hz (Hertz, or cycles per second) to 1,000,000 Hz.
AIL_set_timer_divisor programs a timer for callback service at a rate which is given in terms of the constant value that would normally be used to program the IBM PC's 8253 Programmable Interval Timer chip for the desired interrupt rate, if the application were to access the chip directly.
AIL_interrupt_divisor returns the current value used internally by the Miles Sound System's Timer Services to program the IBM PC's 8253 Programmable Interval Timer chip for periodic INT 8 (IRQ 0) service.
AIL_start_timer initiates or resumes periodic time-slice interrupt service to the callback function registered to timer.
AIL_stop_timer stops periodic time-slice interrupt service to the callback function registered to timer.
AIL_release_timer_handle stops periodic time-slice interrupt service to the callback function registered to timer, and releases the timer's handle.
AIL_get_timer_highest_delay returns the highest delay in timer servicing under Win 32.
AIL_delay suspends foreground program execution.
AIL_lock suspends timer service to all MSS drivers and application callback functions until a matching call to AIL_unlock is made.
AIL_unlock resumes timer service to all MSS drivers and application callback functions after a matching call to AIL_lock.
AIL_start_all_timers initiates or resumes periodic time-slice interrupt service to the callback functions registered to all active timer handles.
AIL_stop_all_timers stops periodic time-slice interrupt service to the callback functions registered to all active timer handles.
AIL_release_all_timers stops periodic time-slice interrupt service to the callback functions registered to all active timer handles, and releases all active timer handles.
Digital Audio Services
AIL_open_digital_driver opens a digital driver to play 2D digital audio.
MSS_SPEAKER may be used to specify either a source (HSAMPLE/HSTREAM) channel or an HDIGDRIVER's destination speaker output channel.
MSS_MC_SPEC specifies an output channel-configuration option for use with AIL_open_digital_driver or AIL_quick_startup.
MILES_OPEN_DIGITAL_FLAGS specifies open flags for the AIL_open_digital_driver function.
AIL_close_digital_driver shuts down and closes an audio driver which was opened by a previous call to AIL_open_digital_driver.
AIL_digital_handle_release temporarily releases the hardware digital handle (either the HWAVEOUT handle, the DirectSound object, or the Sound Manager buffer) back to the system.
AIL_digital_handle_reacquire attempts to reacquire hardware digital handle (either the HWAVEOUT handle, the DirectSound object, or the Sound Manager buffer) from the system.
AIL_set_DirectSound_HWND assigns the HWND to use for DirectSound's focus control.
AIL_HWND returns the HWND that MSS has detected as your primary HWND.
AIL_set_digital_master_volume_level establishes an overall `master volume` value which is used to scale the volumes of all subsequent digital audio samples.
AIL_digital_master_volume_level returns the current digital master volume setting in use.
AIL_set_digital_master_reverb sets the global reverb settings to use.
MILES_ROOM_TYPE specifies a room type to use for the environmental reverb.
AIL_digital_master_reverb retrieves the global reverb settings to use.
AIL_set_digital_master_reverb_levels establishes the overall `master reverb` levels which are used to scale the levels of the reverb of all subsequent digital audio samples.
AIL_digital_master_reverb_levels retrieves the overall `master reverb` levels.
AIL_set_speaker_reverb_levels sets the global wet and dry reverb-response scalars at one or more speakers.
AIL_speaker_reverb_levels returns three arrays describing the wet and dry reverb-response scalars at all speakers, plus the speaker channel identifiers themselves.
AIL_calculate_3D_channel_levels gives your application direct access to the Miles 3D sound-positioner function.
MSSVECTOR3D
AIL_allocate_sample_handle searches for a free sample handle and returns it to the application for use in the playback of digital audio data.
AIL_release_sample_handle releases a sample handle previously allocated with AIL_allocate_sample_handle.
AIL_init_sample prepares a sample handle for playback of audio data.
AIL_set_sample_address specifies the starting address and length for a raw data sample.
AIL_set_sample_file initializes a sample's address, length, type, and flags to prepare for playback of memory-resident sound data.
AIL_set_named_sample_file initializes a sample's address, length, type, and flags to prepare for playback of a memory-resident sound data.
AIL_set_sample_info initializes a sample's address, length, type, and flags to prepare for playback of memory-resident sound data.
MILES_DIGITAL_FORMAT describes the type of digital audio.
MILES_DIGITAL_FLAGS describes the layout of digital audio.
AIL_start_sample starts playback of a sample from its beginning.
AIL_stop_sample stops playback of a sample.
AIL_resume_sample resumes playback of a sample which was previously stopped.
AIL_end_sample terminates playback of a sample, setting its status to SMP_DONE.
AIL_set_sample_playback_rate sets a sample's playback rate in hertz.
AIL_sample_playback_rate returns the current sample playback rate.
AIL_set_sample_volume_pan controls a sample's playback volume level and pan.
AIL_sample_volume_pan returns the current sample volume and pan, from 0 to 1.0.
AIL_set_sample_reverb_levels changes the reverb levels of a digital audio sample.
AIL_sample_reverb_levels retrieves the reverb levels of a digital audio sample.
AIL_set_sample_low_pass_cut_off applies a low-pass filter to the digital audio sample.
AIL_sample_low_pass_cut_off retrieves the current low-pass cutoff setting.
AIL_set_sample_51_volume_pan controls a sample's playback volume and pan values when using multichannel discrete output modes.
AIL_sample_51_volume_pan returns the current sample 5.1 volumes and pan, from 0 to 1.0, resulting from a prior call to AIL_set_sample_51_volume_pan or AIL_set_sample_51_volume_levels.
AIL_set_sample_volume_levels controls a sample's playback volume levels.
AIL_sample_volume_levels returns the current sample volumes, from 0 to 1.0.
AIL_set_sample_channel_levels scales the output contribution from each source channel in the specified HSAMPLE to each speaker.
AIL_sample_channel_levels returns an array of level-scaling factors for one or more combinations of source channels and destination speakers.
AIL_sample_output_levels returns the final mixer level-scaling factors for one or more combinations of source channels and destination speakers.
AIL_set_sample_51_volume_levels controls a sample's playback volume levels when using multichannel discrete output modes.
AIL_sample_51_volume_levels returns the current sample 5.1 volumes, from 0 to 1.0, on discrete multichannel platforms.
AIL_set_sample_3D_distances sets the minimum and maximum distances for a given sample handle.
AIL_sample_3D_distances returns the current minimum and maximum distances for the specified sample handle.
AIL_set_sample_3D_cone sets the sound emission cone on a sample.
AIL_sample_3D_cone retrieves the current sound emission cone of a sample.
AIL_set_sample_occlusion sets the occlusion for the specified 3D sample.
AIL_sample_occlusion retrieves the current occlusion level of the given sample.
AIL_set_sample_obstruction sets the obstruction for the specified 3D sample.
AIL_sample_obstruction retrieves the current obstruction level of the given sample.
AIL_set_sample_exclusion sets the exclusion for the specified 3D sample.
AIL_sample_exclusion retrieves the current exclusion level of the given sample.
AIL_set_listener_3D_position sets the three-dimensional position of the 3D listener.
AIL_listener_3D_position retrieves the current 3D position of the 3D listener.
AIL_set_listener_3D_velocity sets the current velocity of the 3D listener.
AIL_listener_3D_velocity retrieves the current velocity of the 3D listener.
AIL_set_listener_3D_velocity_vector sets the current velocity of the 3D listener.
AIL_update_listener_3D_position updates the 3D listener's position based on its previously set velocity and the specified delta time in milliseconds.
AIL_set_listener_3D_orientation specifies the orientation of the 3D listener.
AIL_listener_3D_orientation retrieves the orientation of the 3D listener.
AIL_set_sample_3D_position sets a sample's current position in 3D space.
AIL_sample_3D_position retrieves the current 3D position of a 3D sample.
AIL_set_sample_3D_velocity sets the current velocity of a 3D sample.
AIL_sample_3D_velocity retrieves the current velocity of a 3D sample.
AIL_set_sample_3D_velocity_vector sets the current velocity of a 3D sample.
AIL_update_sample_3D_position updates a 3D sample's position based on its previously-set velocity and the specified delta time in milliseconds.
AIL_set_sample_3D_orientation specifies the orientation of a 3D sample.
AIL_sample_3D_orientation retrieves the orientation of a 3D sample.
AIL_set_room_type sets the room type that the listener is currently in.
AIL_room_type returns the current room type.
AIL_set_3D_rolloff_factor sets the driver's global 3D rolloff factor.
AIL_3D_rolloff_factor returns the driver's current 3D rolloff factor.
AIL_set_3D_doppler_factor sets the driver's global 3D Doppler factor.
AIL_3D_doppler_factor returns the driver's current 3D Doppler factor.
AIL_set_3D_distance_factor sets the driver's global 3D distance factor.
AIL_3D_distance_factor returns the driver's current 3D distance factor.
AIL_set_sample_loop_count arranges for a sample to be restarted immediately upon completion, for a total of two or more iterations.
AIL_sample_loop_count returns the number of loop iterations remaining for the given sample.
AIL_set_sample_loop_block arranges for a sub-block of a sample to be looped.
AIL_sample_loop_block returns the beginning and ending loop offsets previously passed to AIL_set_sample_loop_block.
AIL_set_sample_position adjusts the playback position of a sample.
AIL_sample_position reports the current playback position of a sample.
AIL_set_sample_ms_position adjusts the playback position of a sample.
AIL_sample_ms_position reports the current playback position and length of a sample in milliseconds.
AIL_sample_status returns the status of a given sample handle.
MILES_DIGITAL_STATUS describes the current state of the digital audio.
AIL_set_sample_user_data sets a value for one of eight user data entries associated with each sample handle.
AIL_sample_user_data retrieves a value for one of eight user data entries associated with each sample handle.
AIL_minimum_sample_buffer_size returns the minimum usable buffer size for use with the low-level streaming function AIL_load_sample_buffer.
AIL_sample_buffer_available checks to see if any of the buffers associated with a sample handle are ready to be filled with new audio data by the AIL_load_sample_buffer function.
AIL_load_sample_buffer sets the address and length for one of the low-level streaming buffers associated with a sample handle, enabling low-level streaming mode for that sample handle.
AIL_sample_buffer_info returns detailed information about the status of the low-level streaming buffers for the specified sound handle.
AIL_sample_buffer_count returns the number of low-level streaming buffers associated with a sample.
AIL_set_sample_buffer_count sets the number of low-level streaming buffers available for use with a given sample handle.
AIL_sample_channel_count returns information about the source channels associated with a sample.
AIL_sample_granularity returns the granularity of a sample in bytes.
AIL_set_sample_adpcm_block_size sets the block size for the IMA ADPCM data.
AIL_digital_CPU_percent returns the percentage of total CPU being spent in the Miles digital processing loop.
AIL_digital_latency returns the approximate latency of a sound if it were started immediately.
AIL_set_speaker_configuration establishes the listener-relative location of the speaker array, and the falloff power factor used for sample spatialization.
AIL_speaker_configuration returns an array of 3D vectors describing the listener-relative locations of the array of speakers associated with the current output format, plus some additional information about the format.
AIL_enumerate_output_filter_driver_properties enumerates the possible driver-level properties of an output filter.
AIL_enumerate_output_filter_sample_properties enumerates the possible sample-level properties of an output filter.
AIL_output_filter_driver_property retrieves and/or sets driver-level properties for an output filter.
AIL_register_SOB_callback arranges for callback service to be provided to an application's function just before a block of sample data is merged into the hardware buffer.
AILSAMPLECB specifies a user-defined digital audio callback.
AIL_register_EOB_callback arranges for callback service to be provided to an application function immediately upon reaching the end of a sample buffer.
AIL_register_EOS_callback arranges for callback service to be provided to an application function immediately upon reaching the end of a sample.
AILFALLOFFCB specifies a user-defined 3D distance-based falloff function callback.
AIL_register_falloff_function_callback allows an application to override the system's default distance-based attenuation calculations for 3D-enabled samples.
AIL_active_sample_count returns the number of currently-playing samples.
AIL_digital_configuration returns information about the specified digital driver.
AIL_get_DirectSound_info returns the pointers to the DirectSound object currently being used by MSS.
AIL_install_DIG_INI installs and initializes the currently selected MSS .DIG driver file under DOS.
MILES_INSTALL_STATUS specifies possible results from loading a DOS driver.
AIL_install_DIG_driver_file installs and initializes an MSS-compatible .DIG driver file under DOS.
IO_PARMS indicates specific hardware settings to use when installing a digital driver
Creative EAX 2, 3, and 4 Providers
Creative's EAX 2 Properties
Creative's EAX 3 Properties
Creative's EAX 4 Properties
EAX_SAMPLE_SLOT_VOLUME used to control the sound levels for a slot that the sample should play to
EAX_SAMPLE_SLOT_VOLUMES used to control the sound levels for each the two possible slots that the sample can play into
EAX_REVERB used to control the environmental reverb filter in the EAX 4 3D provider
EAX_AUTOGAIN used to control the automatic gain control filter in the EAX 4 3D provider
EAX_AUTOWAH used to control the autowah filter in the EAX 4 3D provider
EAX_CHORUS used to control the chorus filter in the EAX 4 3D provider
EAX_DISTORTION used to control the distortion filter in the EAX 4 3D provider
EAX_ECHO used to control the echo filter in the EAX 4 3D provider
EAX_EQUALIZER used to control the equalizer filter in the EAX 4 3D provider
EAX_FLANGER used to control the flange filter in the EAX 4 3D provider
EAX_FSHIFTER used to control the frequency shifter filter in the EAX 4 3D provider
EAX_VMORPHER used to control the vocal morpher filter in the EAX 4 3D provider
EAX_PSHIFTER used to control the pitch shifter filter in the EAX 4 3D provider
EAX_RMODULATOR used to control the ring modulator filter in the EAX 4 3D provider
Miles SRS Circle Surround Provider
Miles SRS Circle Surround Provider
Miles Dolby Surround Provider
Miles Dolby Surround Provider
Miles DTS Provider for the Sony PS2
Miles DTS Provider for the Sony PS2
Digital Audio Input (Recording) Services
AIL_open_input opens a digital input channel (usually from the microphone) to receive input digital audio data.
AIL_INPUT_INFO specifies the details for performing digital input.
AIL_input_callback specifies a user callback that is called as audio data is received by the input device.
AIL_close_input closes a digital input handle.
AIL_set_input_state controls whether the digital input channel is actively recording or not.
AIL_get_input_info returns the information structure used to open the digital input channel.
Digital Audio Streaming Services
AIL_open_stream opens a stream handle based on a supported file (.WAV, Ogg Vorbis, XMA, or MP3, and others).
AIL_close_stream closes a stream handle.
AIL_service_stream services the given stream handle.
AIL_auto_service_stream turns auto-servicing on or off for a stream handle (it's turned on by default).
AIL_start_stream starts playback of the specified stream.
AIL_pause_stream pauses the playback of the specified stream handle.
AIL_stream_sample_handle returns the underlying HSAMPLE associated with a given HSTREAM instance.
AIL_set_stream_loop_count arranges for a stream to be restarted immediately upon completion, for a total of two or more iterations.
AIL_stream_loop_count returns the number of loop iterations remaining for the given stream.
AIL_set_stream_loop_block arranges for a sub-block of a stream to be looped.
AIL_set_stream_position adjusts the playback position of a stream.
AIL_stream_position reports the current playback position of a stream.
AIL_set_stream_ms_position adjusts the playback position of a stream.
AIL_stream_ms_position reports the total length and the current playback position of a stream.
AIL_stream_status returns the status of a given stream handle.
AIL_set_stream_user_data sets a value for one of eight user data entries associated with each stream handle.
AIL_stream_user_data retrieves a value for one of eight user data entries associated with each stream handle.
AIL_stream_info returns information about the given stream handle.
AIL_register_stream_callback arranges for callback service to be provided to an application function immediately upon reaching the end of a stream.
AILSTREAMCB specifies a user-defined digital audio stream callback.
Digital Filter Services
AIL_find_filter tries to locate a filter by its name.
AIL_enumerate_filters enumerates the available filter processors for display or for opening.
AIL_open_filter opens a filter to prepare it for use.
AIL_close_filter closes a previously opened filter.
AIL_set_sample_processor assigns the filter or mixer stages for a specific sample.
AIL_sample_processor returns the current filter or mixer stage provider for a specific sample.
AIL_digital_driver_processor returns the current default filter or mixer stage provider for a specific driver.
AIL_digital_output_filter returns the output filter (either per-voice or matrix) provider for a specific driver.
SAMPLESTAGE describes the stage in the sample pipeline to install the filter on.
AIL_set_digital_driver_processor assigns the default filter or mixer stages for a digital driver.
DIGDRVSTAGE describes the stage in the driver pipeline to install the filter on.
AIL_enumerate_filter_properties enumerates a filter's provider-level properties.
RIB_INTERFACE_ENTRY specifies a structure that contains RIB property information.
RIB_ENTRY_TYPE describes the type of the RIB entry.
RIB_DATA_SUBTYPE describes the variable type of the RIB entry.
AIL_enumerate_filter_sample_properties enumerates the possible sample-level filter properties.
AIL_enumerate_sample_stage_properties enumerates the possible sample-level filter properties for the filter currently assigned to a given HSAMPLE processing stage.
AIL_filter_property retrieves and/or sets the current value of the specified provider-level property.
AIL_sample_stage_property retrieves and/or sets the current value of the specified sample-level property.
Capture Filter
Low-Pass Filter
EAX Compatible Reverb
High-Pass Filter
Band-Pass Filter
All-Pass Filter
Resonator Filter
Delay Filter
Parametric Equalizer Filter
Shelving Equalizer Filter
Compressor Filter
Gain Block Filter
Volume Ramp Filter
Ring-Amplitude Modulator Filter
Phaser Filter
Chorus Filter
Flange Filter
CD Audio (Redbook) Services
AIL_redbook_open opens a Red Book CD-audio device.
AIL_redbook_open_drive opens a Red Book CD-audio device from a drive letter.
AIL_redbook_open_volume opens a Red Book CD-audio device from a MacOS volume name.
AIL_redbook_close closes the handle to the Red Book device.
AIL_redbook_eject ejects the CD currently inserted in the CD-ROM.
AIL_redbook_retract retracts the CD tray back into the CD-ROM.
AIL_redbook_id returns an ID that will uniquely identify the CD currently inserted in the Red Book device.
AIL_redbook_status returns the current status of the specified Red Book device.
MILES_REDBOOK_STATUS specifies the redbook device status.
AIL_redbook_tracks returns the number of audio tracks on the inserted CD.
AIL_redbook_track_info returns the starting and ending millisecond offsets for a given track.
AIL_redbook_position returns the current position in milliseconds of a playing Red Book device.
AIL_redbook_track returns the currently play audio track number.
AIL_redbook_play begins playback of an audio CD at the specified offset.
AIL_redbook_stop stops playback of a Red Book CD-audio device.
AIL_redbook_pause pauses the playback of a Red Book CD-audio device.
AIL_redbook_resume resumes the playback of a Red Book CD-audio device.
AIL_redbook_set_volume_level controls the volume level of the Red Book CD-audio device.
AIL_redbook_volume_level retrieves the volume level of the Red Book CD-audio device.
XMIDI Services
AIL_open_XMIDI_driver opens an driver handle to play XMIDI data files through.
MILES_OPEN_XMIDI_FLAGS specifies open flags for the AIL_open_XMIDI_driver function.
AIL_close_XMIDI_driver shuts down and closes a MIDI music driver which was opened by a previous call to AIL_open_XMIDI_driver.
AIL_MIDI_handle_release temporarily releases the hardware MIDI handle (the HMIDIOUT handle or the QuickTime MIDI handle) back to the system.
AIL_MIDI_handle_reacquire attempts to reacquire the hardware MIDI handle (the HMIDIOUT handle or the QuickTime MIDI handle) from the system.
AIL_set_XMIDI_master_volume establishes an overall `master volume` value which is used to scale the volumes of all subsequent XMIDI note events in all sequences.
AIL_XMIDI_master_volume returns the current XMIDI master volume setting in use.
AIL_allocate_sequence_handle searches for a free sequence handle and returns it to the application for use in the playback of XMIDI audio data.
AIL_release_sequence_handle frees a sequence handle for later allocation by AIL_allocate_sequence_handle.
AIL_init_sequence prepares a sequence handle for playback of XMIDI sequence data, and allows the application to specify the starting address and sequence number of the XMIDI sequence to be played.
AIL_start_sequence starts playback of a sequence from its beginning.
AIL_stop_sequence stops playback of a sequence.
AIL_resume_sequence resumes playback of a sequence which was previously stopped.
AIL_end_sequence terminates playback of a sequence, setting its status to SEQ_DONE<*MILES_SEQUENCE_STATUS>.
AIL_set_sequence_tempo specifies an increase or decrease in the normal playback tempo of a sequence.
AIL_sequence_tempo returns the current relative tempo percentage for a sequence.
AIL_set_sequence_volume establishes a scaling factor for the value of each MIDI Part Volume Control Change (controller 7) event occurring in a sequence.
AIL_sequence_volume returns the current sequence volume scaling value, from 0 (minimum) to 127 (maximum).
AIL_set_sequence_loop_count arranges for a sequence to be restarted immediately upon completion, for a total of two or more iterations.
AIL_sequence_loop_count returns the number of loop iterations remaining for the given sequence.
AIL_branch_index moves a sequence's data pointers to the location of a specified XMIDI Sequence Branch Index controller.
AIL_sequence_position returns the number of beats and measures elapsed since a given XMIDI sequence began playing.
AIL_set_sequence_ms_position moves the current playback position of a sequence to the specified millisecond count.
AIL_sequence_ms_position returns the current playback position and length of the sequence in milliseconds.
AIL_set_sequence_user_data sets a value for one of eight user data entries associated with each sequence handle.
AIL_sequence_user_data retrieves a value for one of eight user data entries associated with each sequence handle.
AIL_sequence_status returns the status of a given sequence handle.
MILES_SEQUENCE_STATUS indicates the status of an XMIDI handle.
AIL_create_wave_synthesizer creates a `virtual wave synthesizer` by associating an XMIDI driver with a digital audio driver and a library file containing digital audio samples assigned to various MIDI patches.
AIL_destroy_wave_synthesizer destroys a `virtual wave synthesizer` instance created by a previous call to the AIL_create_wave_synthesizer function.
AIL_MDI_driver_type reports the MIDI synthesis technology available with a specified.
MILES_MDI_DRIVER_TYPE describes the type of DOS MIDI driver.
AIL_set_GTL_filename_prefix informs MSS of the prefix portion of all Global Timbre Library filenames which are associated with a particular application.
AIL_timbre_status checks to see if a given timbre (synthesizer instrument) is loaded.
AIL_install_timbre forces the driver to install a single timbre (synthesizer instrument), allowing it to be used for performance in a channel of an Extended MIDI (XMIDI) sequence which contains an XMIDI Patch Bank Select controller (114) with the value bank followed by a MIDI Program Change (Patch) message with the value patch.
AIL_protect_timbre prevents the timbre bank, patch from being discarded from the synthesizer memory or local timbre cache.
AIL_unprotect_timbre disables timbre protection for the timbre bank, patch, subjecting the timbre to the action of the normal timbre replacement algorithm.
AIL_active_sequence_count returns the number of currently-playing sequences.
AIL_controller_value returns any current MIDI Control Change value for any of the channels used in the specified sequence.
MILES_MIDI_VALUE specifies a MIDI controller that can queried.
AIL_channel_notes returns the number of notes currently turned `on` in a given MIDI channel.
AIL_register_prefix_callback registers an application function to be called whenever an XMIDI Callback Prefix controller (108) is encountered in a playing XMIDI sequence.
AILPREFIXCB specifies a user-defined XMIDI prefix callback.
AIL_register_trigger_callback registers an application function to be called whenever an XMIDI Callback Trigger controller (119) is encountered in a playing XMIDI sequence.
AILTRIGGERCB specifies a user-defined XMIDI trigger callback.
AIL_register_sequence_callback registers an application function to be called immediately upon completion of playback of an XMIDI sequence.
AILSEQUENCECB specifies a user-defined XMIDI end of sequence callback.
AIL_register_event_callback registers an application function to be called immediately prior to processing each XMIDI or MIDI Channel Voice message event associated with a given driver.
AILEVENTCB specifies a user-defined XMIDI event callback.
AIL_register_beat_callback registers an application function to be called each time the relative beat count changes in any sequence played with the given driver.
AILBEATCB specifies a user-defined XMIDI beat callback.
AIL_register_timbre_callback registers an application function to be called immediately prior to installing a timbre with AIL_install_timbre or AIL_init_sequence.
AILTIMBRECB specifies a user-defined XMIDI timbre installation callback.
AIL_register_ICA_array allows the application to declares an array of 128 bytes whose entries may be used to replace XMIDI or MIDI controller values whose controller events are preceded by an XMIDI Indirect Controller Prefix controller (115).
AIL_lock_channel returns an individual MIDI channel number to the application for direct MIDI message transmission, preventing any XMIDI sequence from utilizing that physical channel until its release with AIL_release_channel.
AIL_release_channel returns a MIDI channel previously locked with AIL_lock_channel to the sequence which formerly `owned` it, if any.
AIL_map_sequence_channel causes all events in a given sequence which are associated with a given MIDI channel seq_channel to be transmitted instead on a `remapped` MIDI channel new_channel.
AIL_true_sequence_channel returns the physical MIDI channel number which receives MIDI and XMIDI messages transmitted on a logical channel sequence_channel by a given sequence S.
AIL_send_channel_voice_message transmits any desired MIDI Channel Voice message on any MIDI channel.
AIL_send_sysex_message transmits a System Exclusive message to a MIDI device driver.
AIL_midiOutOpen assigns a Windows Multimedia Extensions low-level midiOut driver (or the MIDI Mapper device) to the Windows MSS API for MIDI music performance.
AIL_install_MDI_INI installs and initializes the currently selected MSS .MDI driver file for XMIDI music performance under DOS.
AIL_install_MDI_driver_file installs and initializes an MSS-compatible .MDI driver file for XMIDI music performance under DOS.
DLS Services
AIL_DLS_open opens a handle to a downloadable sample device.
AIL_DLS_close closes a previously opened DLS device.
MILES_DLS_CLOSE_FLAGS specifies optional closing flags to AIL_DLS_close.
AIL_DLS_load_file loads an uncompressed DLS file into the specified DLS device.
AIL_DLS_load_memory loads an uncompressed DLS file memory image into the specified DLS device.
AIL_DLS_unload unloads a previously loaded DLS file ID and makes the sample memory available for other DLS files.
MILES_DLS_UNLOAD describes optional DLS unload flags.
AIL_DLS_compact compacts the memory of a hardware DLS device.
AIL_DLS_get_info retrieves information about the specified DLS device.
AILDLSINFO specifies the details for a DLS device.
AIL_DLS_sample_handle returns the underlying HSAMPLE associated with a given DLS synthesizer instance.
Utility Services
AIL_file_type returns the file type of the specified file image.
MILES_FILE_TYPE describes the type of a file.
AIL_file_type_named returns the file type of the specified file image using a filename hint.
AIL_WAV_info retrieves the audio format information for the specified file image.
AILSOUNDINFO specifies audio format details.
AIL_process_digital_audio provides high-level access to the Miles sound mixer.
AILMIXINFO
AIL_size_processed_digital_audio provides a way to determine how much output memory is necessary for a given set of input mix data.
AIL_compress_ADPCM compresses the digital sound described by the info structure into an IMA ADPCM wave file image.
AIL_decompress_ADPCM decompresses the IMA ADPCM digital sound described by the info structure into a standard PCM wave file image.
AIL_compress_ASI compresses a digital sound with an ASI encoder capable of writing the file type described by the filename_ext parameter.
AILLENGTHYCB specifies a user-defined callback that gets called during lengthy Miles operations.
MILES_LENGTHY_STATE indicates the current stage of the lengthy operation.
AILCODECSETPROP provides a way for ASI properties to be set during a compression or decompression.
AIL_decompress_ASI decompresses a digital sound with the ASI decoder for the passed file extension and returns a standard PCM wave file image.
AIL_MIDI_to_XMI converts Standard MIDI Format 0 and Format 1 sequence files to the Extended MIDI (XMIDI) format.
MILES_MIDI_TO_XMI_FLAGS specifies optional conversion flags for the AIL_MIDI_to_XMI function.
AIL_compress_DLS compresses a DLS file with either IMA ADPCM compression or with an ASI encoder specified by the compress_ext parameter.
AIL_extract_DLS extracts and decompresses the DLS data from a loaded MLS file or merged XMIDI file.
AIL_find_DLS returns pointers and sizes to the DLS and XMIDI chunks inside a merged XMIDI file image.
AIL_merge_DLS_with_XMI merges an XMIDI file and a DLS or MLS file together.
AIL_filter_DLS_with_XMI filters out unused instruments in a DLS file given one or more XMIDI files.
MILES_FILTER_DLS_FLAGS specifies options to use when filtering DLS instrument sets with an XMIDI file.
AIL_list_MIDI creates a detailed listing of a MIDI file.
MILES_LIST_MIDI_FLAGS specifies flags to use when listing a MIDI file.
AIL_list_DLS creates a detailed listing of a DLS or MLS file.
MILES_LIST_DLS_FLAGS specifies flags to use when listing a DLS file.
AIL_inspect_MP3 obtains some basic information about the structure of an MPEG-1 Layer 3 audio file, and prepares for optional header enumeration.
AIL_enumerate_MP3_frames obtains information about successive frames from an MPEG-1 Layer 3 audio file.
MP3_INFO
Low-Level Sony PlayStation 2 Support Services
AIL_set_scratchpad_policy specifies whether (and how) MSS can use the PS2's scratchpad RAM.
AIL_scratchpad_policy returns the current MSS scratchpad-usage policy.
MSS_RESOURCE_POLICY specifies a usage policy for the AIL_set_scratchpad_policy function.
The RAD_IOP API for the Sony PS2
RAD_IOPStartUp opens the RAD_IOP API for use.
SOUND_CORE_FLAGS Specifies the sound flags that RAD_IOP should use.
RAD_IOPMemoryAmount returns the amount of IOP memory in bytes that RAD_IOP will need.
RAD_IOPShutDown closes the RAD_IOP library.
RAD_IOPQueueAsyncOpenFile asynchronously opens a file handle.
RAD_IOP_ASYNC_OPEN_DATA is a structure used with the RAD_IOPQueueAsyncOpenFile function.
RAD_IOP_STATUS_VALUES Specifies the status values for the RAD_IOP asynchronous I/O functions.
RAD_IOP_OPENCALLBACK points to a function that will be called when the async open file completes.
RAD_IOPGetFileHandleToIOPMemory creates a file handle that can be used to read from IOP memory.
RAD_IOPGetFileHandleToSPUMemory creates a file handle that can be used to read from SPU memory.
RAD_IOPGetFileHandleToLSN creates a file handle that directly address a Logical Sector Number on a CD or DVD.
RAD_IOPQueueAsyncReadAtTop queues an asynchronous read to be performed in the background at the highest priority.
RAD_IOP_ASYNC_READ_DATA is a structure used to perform an asynchronous read.
RAD_IOP_ADDRESS_VALUES Specifies the type of memory that you want to read into for the RAD_IOP asynchronous I/O functions.
RAD_IOP_READCALLBACK points to a function that will be called when the async read completes.
RAD_IOPQueueAsyncReadAtBottom queues an asynchronous read to be performed in the background at the lowest priority.
RAD_IOPGetIOStatus returns the error code from a failed IO request.
RAD_IOPCancelAsyncOpen cancels a previous asynchronous file open.
RAD_IOPCancelAsyncRead cancels a previous asynchronous file read.
RAD_IOPCancelFileAsyncs cancels all previous asynchronous file reads for a specified file handle.
RAD_IOPCancelGroupOfAsyncs cancels all previous asynchronous file opens and reads for a specified group id.
RAD_IOPCancelAllAsyncs cancels all previous asynchronous file opens and reads.
RAD_IOPCloseFile closes a file handle opened with RAD_IOPQueueAsyncOpenFile.
RAD_IOPRegisterSoundCallback registers a sound data structure to call your sound interrupt callback.
RAD_IOP_SOUND_DATA is a structure used to control a sound interrupt callback.
RAD_IOP_SOUNDCALLBACK points to a function that will be called periodically to fill a streaming sound buffer.
RAD_IOPStartSound starts calling a previously registered sound callback.
RAD_IOPPauseSound pauses a previously registered sound callback.
RAD_IOPUnregisterSoundCallback unregisters a sound callback.
RAD_IOPRegisterTimerCallback registers a timer structure to call your timer interrupt callback at a certain frequency.
RAD_IOP_TIMER_DATA is a structure used to call a timer interrupt callback.
RAD_IOP_TIMERCALLBACK points to a function that will be called periodically.
RAD_IOPStartTimer starts calling a previously registered timer callback.
RAD_IOPPauseTimer pauses a previously registered timer callback.
RAD_IOPUnregisterTimerCallback unregisters a timer callback.
RAD_IOPHardwareVolumes sets the sound core hardware volumes.
RADTimerRead returns a rolling millisecond timer.
The RAD_IOP SPU Hardware Voice API for the Sony PS2
RAD_IOPSetSPUVoiceStartAddress sets the address to play from for one or more SPU voices.
RAD_IOPSetSPUVoiceLoopAddress sets the address to loop back to for one or more SPU voices.
RAD_IOPSetSPUVoiceVolume sets the volume for one or more SPU voices.
RAD_IOPSetSPUVoicePitch sets the pitch for one or more SPU voices.
RAD_IOPSetSPUVoiceADSR sets the envelope for one or more SPU voices.
RAD_IOPSetSPUVoiceMixOnOff sets the mix on-off routing for one or more SPU voices.
RAD_IOPSetSPUVoiceOnOff starts or stops the playback of one or more SPU voices.
RAD_IOPQueueAsyncSPUVoiceState asynchronously queries the state of an SPU voice.
RAD_IOP_SPU_VOICE_STATE is a structure used with the RAD_IOPQueueAsyncSPUVoiceState function.
RAD_IOP_SPU_VOICE_STATE_CALLBACK points to a function that will be called when the async query completes.
RAD_IOPQueueAsyncSPUGlobalState asynchronously queries the state of the SPU cores.
RAD_IOP_SPU_GLOBAL_STATE is a structure used with the RAD_IOPQueueAsyncSPUGlobalState function.
RAD_IOP_SPU_GLOBAL_STATE_CALLBACK points to a function that will be called when the async query completes.
RAD_IOPFindNonPlayingVoiceMask returns a bitmask that corresponds to a single non-playing voice.
Low-Level DOS Installation Services
AIL_install_DIG_driver_image installs and initializes an MSS-compatible .DIG driver file for digital audio performance.
AIL_install_MDI_driver_image Installs and initializes an MSS-compatible .MDI driver file for XMIDI music performance.
AIL_get_IO_environment searches for and evaluates a DOS environment variable which contains I/O configuration data for a particular MSS driver.
AIL_read_INI reads a standard MSS MDI.INI or DIG.INI file, parses it, and stores its contents in an application-specified AIL_INI structure.
AIL_INI returns the contents of a MSS INI file.
AIL_install_driver registers an MSS-compatible driver of any supported type with the MSS API, returning an AIL_DRIVER descriptor.
AIL_uninstall_driver shuts down and unloads an MSS-compatible driver which was previously installed by AIL_install_driver above.
Low-Level DOS Support Services
AIL_set_real_vect installs a real-mode handler real_ptr for interrupt vectnum.
AIL_set_USE16_ISR creates a 16-bit protected-mode interrupt handler for interrupt vectnum, mapped to an existing bimodal interrupt handler in real-mode memory.
AIL_disable_interrupts disables hardware interrupts (IRQs).
AIL_restore_interrupts restores the hardware interrupt state effective prior to the last call to AIL_disable_interrupts (above).
AIL_switch_stack allows a C or C++ module to change to a different stack whose size and location may be chosen by the programmer.
AIL_restore_stack returns to the default stack which was in use prior to the last call to AIL_switch_stack.
AIL_get_real_vect obtains the address of the current real-mode handler for interrupt vectnum.
AIL_call_driver performs a call to an MSS-compatible sound driver in real-mode memory.
VDI_CALL specifies the registers passed or returned from a real-mode driver call.
Preferences
MILES_PREFERENCES describes the Miles Sound System Preferences.
Implementing Voice Chat
Voxware Voice Chat Codecs
Working with Voice Input
Accessing the Codecs Directly with the RIB Interface
Performing the Compression and Decompression
Integrating the Codecs with your Networking Architecture
Mixing the Client Sound Data on the Server
Implementation Details
Bandwidth Optimization and Channel Reliability Tips
Miles Sound System Tools Reference
Miles Sound Studio
Miles Sound Player
MIDIECHO for Windows - MIDI Data Receiver and Interpreter
MIDIECHO for MacOS - MIDI Data Receiver and Interpreter
MIDIECHO for DOS - MIDI Data Receiver and Interpreter
SETSOUND - MSS Sound Configuration Utility
GLIB - Extended MIDI (XMIDI) Global Timbre Librarian
CLAD - Creative Labs and Ad Lib (TM) Converter
MIDILOG - MIDI File Event Filter
MIDIREC- Standard MIDI File Recorder
WAVELIB - Wave Synthesizer Librarian
Extended MIDI Technical Reference
XMIDI Channel Mute (107)
XMIDI Callback Prefix (108)
XMIDI Sequence Branch (109)
XMIDI Channel Lock (110)
XMIDI Channel Lock Protect (111)
XMIDI Voice Protect (112)
XMIDI Timbre Protect (113)
XMIDI Patch Bank Select (114)
XMIDI Indirect Controller Prefix (115)
XMIDI For Loop Controller (116)
XMIDI Next-Break Loop Controller (117)
XMIDI Clear Beat-Bar Count (118)
XMIDI Callback Trigger (119)
XMIDI Sequence Branch Index (120)
Extended MIDI IFF (.XMI) Structure
Extended MIDI Global Timbre Library File Format
MSS Device Development Kit for DOS Sound Drivers
DOS Sound Driver Architecture
VDI_HDR describes a DOS sound driver's Driver Header Table.
DOS Sound Driver Generic Initialization Interface
DDK Function: 300H Initialize Driver
DDK Function: 301H Get Driver Information
DDK Function: 302H Periodic Interrupt Service
DDK Function: 303H Parse Environment String
DDK Function: 304H Verify Device I/O Parameters
DDK Function: 305H Initialize Device
DDK Function: 306H Shut Down Device
DOS Digital Sound Driver Interface
DDK Function: 400H Get/Set Digital Hardware Volume
DDK Function: 401H Start Digital Playback Command
DDK Function: 402H Stop Digital Playback Request
DDK Function: 403H Start Digital Recording Command
DDK Function: 404H Stop Digital Recording Request
DDK Function: 405H Vendor-Specific Extensions
DOS XMIDI Sound Driver Interface
DDK Function: 500H Get/Set MIDI Hardware Volume
DDK Function: 501H Initialize Instrument Manager
DDK Function: 502H Transmit MIDI Data
DDK Function: 503H Install Timbre Set
DDK Function: 504H Get Timbre Status
DDK Function: 505H Protect/Unprotect Timbre
DDK Function: 506H Vendor-Specific Extensions
DDK Support Routines for Digital Sound Drivers
DDK Digital Function: INT66H_dispatch
DDK Digital Function: DIG_init
DDK Digital Function: DMAC_disable
DDK Digital Function: DMAC_enable
DDK Digital Function: DMAC_program
DDK Digital Function: ASC_val
DDK Digital Function: RAD_wait
DDK Digital Function: IRQ_hook
DDK Digital Function: IRQ_unhook
DDK Digital Function: IRQ_validate
DDK Digital Function: IRQ_acknowledge
DDK Support Routines for XMIDI Sound Drivers
DDK XMIDI Function: INT66H_dispatch
DDK XMIDI Function: MDI_init
DDK XMIDI Function: ASC_val
DDK XMIDI Function: RAD_wait
Change Log

For technical support, e-mail Miles3@radgametools.com
© Copyright 1991-2007 RAD Game Tools, Inc. All Rights Reserved.