Will be something like fmod implemented?
Music module, for background music.
Music module, for background music.
Module pub.fmod Import "libfmod.a" 'FSOUND_CAPS Const FSOUND_CAPS_HARDWARE =$1 ' This driver supports hardware accelerated 3d sound. Const FSOUND_CAPS_EAX2 =$2 ' This driver supports EAX 2 reverb. Const FSOUND_CAPS_EAX3 =$10 ' This driver supports EAX 3 reverb. 'FSOUND_CDPLAYMODES Const FSOUND_CD_PLAYCONTINUOUS =0 ' Starts from the current track And plays To End of CD. Const FSOUND_CD_PLAYONCE =1 ' Plays the specified track Then stops. Const FSOUND_CD_PLAYLOOPED =2 ' Plays the specified track looped, Forever Until stopped manually. Const FSOUND_CD_PLAYRANDOM =3 ' Plays tracks in random order 'FSOUND_DSP_PRIORITIES Const FSOUND_DSP_DEFAULTPRIORITY_CLEARUNIT =0 ' DSP CLEAR unit - done first Const FSOUND_DSP_DEFAULTPRIORITY_SFXUNIT =100 ' DSP SFX unit - done second Const FSOUND_DSP_DEFAULTPRIORITY_MUSICUNIT =200 ' DSP MUSIC unit - done third Const FSOUND_DSP_DEFAULTPRIORITY_USER =300 ' User priority, use this as reference For your own DSP units Const FSOUND_DSP_DEFAULTPRIORITY_FFTUNIT =900 ' This reads data For FSOUND_DSP_GetSpectrum, so it comes after user units Const FSOUND_DSP_DEFAULTPRIORITY_CLIPANDCOPYUNIT =1000 ' DSP CLIP And COPY unit - last 'FSOUND_MODES Const FSOUND_LOOP_OFF =$00000001 ' For non looping samples. Const FSOUND_LOOP_NORMAL =$00000002 ' For forward looping samples. Const FSOUND_LOOP_BIDI =$00000004 ' For bidirectional looping samples. (no effect If in hardware). Const FSOUND_8BITS =$00000008 ' For 8 bit samples. Const FSOUND_16BITS =$00000010 ' For 16 bit samples. Const FSOUND_MONO =$00000020 ' For mono samples. Const FSOUND_STEREO =$00000040 ' For stereo samples. Const FSOUND_UNSIGNED =$00000080 ' For user created source data containing unsigned samples. Const FSOUND_SIGNED =$00000100 ' For user created source data containing signed data. Const FSOUND_DELTA =$00000200 ' For user created source data stored as delta values. Const FSOUND_IT214 =$00000400 ' For user created source data stored using IT214 compression. Const FSOUND_IT215 =$00000800 ' For user created source data stored using IT215 compression. Const FSOUND_HW3D =$00001000 ' Attempts To make samples use 3d hardware acceleration. (If the card supports it) Const FSOUND_2D =$00002000 ' Tells software (Not hardware) based sample Not To be included in 3d processing. Const FSOUND_STREAMABLE =$00004000 ' For a streamimg sound where you feed the data To it. Const FSOUND_LOADMEMORY =$00008000 ' "name" will be interpreted as a pointer To data For streaming And samples. Const FSOUND_LOADRAW =$00010000 ' Will ignore file format And treat as raw pcm. Const FSOUND_MPEGACCURATE =$00020000 ' For FSOUND_Stream_Open - For accurate FSOUND_Stream_GetLengthMs/FSOUND_Stream_SetTime. WARNING, see FSOUND_Stream_Open For inital opening time performance issues. Const FSOUND_FORCEMONO =$00040000 ' For forcing stereo streams And samples To be mono - needed If using FSOUND_HW3D And stereo data - incurs a small speed hit For streams Const FSOUND_HW2D =$00080000 ' 2D hardware sounds. allows hardware specific effects Const FSOUND_ENABLEFX =$00100000 ' Allows DX8 FX To be played back on a sound. Requires DirectX 8 - Note these sounds cannot be played more than once, be 8 bit, be less than a certain size, Or have a changing frequency Const FSOUND_MPEGHALFRATE =$00200000 ' For FMODCE only - decodes mpeg streams using a Lower quality decode, but faster execution Const FSOUND_IMAADPCM =$00400000 ' Contents are stored compressed as IMA ADPCM Const FSOUND_VAG =$00800000 ' For PS2 only - Contents are compressed as Sony VAG format Const FSOUND_NONBLOCKING =$01000000 ' For FSOUND_Stream_Open/FMUSIC_LoadSong - Causes stream Or music To open in the background And Not block the foreground app. See FSOUND_Stream_GetOpenState Or FMUSIC_GetOpenState To determine when it IS ready. Const FSOUND_GCADPCM =$02000000 ' For Gamecube only - Contents are compressed as Gamecube DSP-ADPCM format Const FSOUND_MULTICHANNEL =$04000000 ' For PS2 And Gamecube only - Contents are interleaved into a multi-channel (more than stereo) format Const FSOUND_USECORE0 =$08000000 ' For PS2 only - Sample/Stream is forced To use hardware voices 00-23 Const FSOUND_USECORE1 =$10000000 ' For PS2 only - Sample/Stream is forced To use hardware voices 24-47 Const FSOUND_LOADMEMORYIOP =$20000000 ' For PS2 only - "name" will be interpreted as a pointer To data For streaming And samples. The address provided will be an IOP address Const FSOUND_IGNORETAGS =$40000000 ' Skips id3v2 etc tag checks when opening a stream, To reduce seek/read overhead when opening files (helps with CD performance) Const FSOUND_STREAM_NET =$80000000 ' Specifies an internet stream */ Const FSOUND_NORMAL =(FSOUND_16BITS | FSOUND_SIGNED | FSOUND_MONO) Rem FSOUND_REVERB_PRESETS FSOUND_PRESET_OFF {0, 7.5f, 1.00f, -10000, -10000, 0, 1.00f, 1.00f, 1.0f, -2602, 0.007f, { 0.0f,0.0f,0.0f }, 200, 0.011f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 0.0f, 0.0f, 0x33f } FSOUND_PRESET_GENERIC {0, 7.5f, 1.00f, -1000, -100, 0, 1.49f, 0.83f, 1.0f, -2602, 0.007f, { 0.0f,0.0f,0.0f }, 200, 0.011f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x3f } FSOUND_PRESET_PADDEDCELL {1, 1.4f, 1.00f, -1000, -6000, 0, 0.17f, 0.10f, 1.0f, -1204, 0.001f, { 0.0f,0.0f,0.0f }, 207, 0.002f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x3f } FSOUND_PRESET_ROOM {2, 1.9f, 1.00f, -1000, -454, 0, 0.40f, 0.83f, 1.0f, -1646, 0.002f, { 0.0f,0.0f,0.0f }, 53, 0.003f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x3f } FSOUND_PRESET_BATHROOM {3, 1.4f, 1.00f, -1000, -1200, 0, 1.49f, 0.54f, 1.0f, -370, 0.007f, { 0.0f,0.0f,0.0f }, 1030, 0.011f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 60.0f, 0x3f } FSOUND_PRESET_LIVINGROOM {4, 2.5f, 1.00f, -1000, -6000, 0, 0.50f, 0.10f, 1.0f, -1376, 0.003f, { 0.0f,0.0f,0.0f }, -1104, 0.004f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x3f } FSOUND_PRESET_STONEROOM {5, 11.6f, 1.00f, -1000, -300, 0, 2.31f, 0.64f, 1.0f, -711, 0.012f, { 0.0f,0.0f,0.0f }, 83, 0.017f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x3f } FSOUND_PRESET_AUDITORIUM {6, 21.6f, 1.00f, -1000, -476, 0, 4.32f, 0.59f, 1.0f, -789, 0.020f, { 0.0f,0.0f,0.0f }, -289, 0.030f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x3f } FSOUND_PRESET_CONCERTHALL {7, 19.6f, 1.00f, -1000, -500, 0, 3.92f, 0.70f, 1.0f, -1230, 0.020f, { 0.0f,0.0f,0.0f }, -2, 0.029f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x3f } FSOUND_PRESET_CAVE {8, 14.6f, 1.00f, -1000, 0, 0, 2.91f, 1.30f, 1.0f, -602, 0.015f, { 0.0f,0.0f,0.0f }, -302, 0.022f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x1f } FSOUND_PRESET_ARENA {9, 36.2f, 1.00f, -1000, -698, 0, 7.24f, 0.33f, 1.0f, -1166, 0.020f, { 0.0f,0.0f,0.0f }, 16, 0.030f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x3f } FSOUND_PRESET_HANGAR {10, 50.3f, 1.00f, -1000, -1000, 0, 10.05f, 0.23f, 1.0f, -602, 0.020f, { 0.0f,0.0f,0.0f }, 198, 0.030f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x3f } FSOUND_PRESET_CARPETTEDHALLWAY {11, 1.9f, 1.00f, -1000, -4000, 0, 0.30f, 0.10f, 1.0f, -1831, 0.002f, { 0.0f,0.0f,0.0f }, -1630, 0.030f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x3f } FSOUND_PRESET_HALLWAY {12, 1.8f, 1.00f, -1000, -300, 0, 1.49f, 0.59f, 1.0f, -1219, 0.007f, { 0.0f,0.0f,0.0f }, 441, 0.011f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x3f } FSOUND_PRESET_STONECORRIDOR {13, 13.5f, 1.00f, -1000, -237, 0, 2.70f, 0.79f, 1.0f, -1214, 0.013f, { 0.0f,0.0f,0.0f }, 395, 0.020f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x3f } FSOUND_PRESET_ALLEY {14, 7.5f, 0.30f, -1000, -270, 0, 1.49f, 0.86f, 1.0f, -1204, 0.007f, { 0.0f,0.0f,0.0f }, -4, 0.011f, { 0.0f,0.0f,0.0f }, 0.125f, 0.95f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x3f } FSOUND_PRESET_FOREST {15, 38.0f, 0.30f, -1000, -3300, 0, 1.49f, 0.54f, 1.0f, -2560, 0.162f, { 0.0f,0.0f,0.0f }, -229, 0.088f, { 0.0f,0.0f,0.0f }, 0.125f, 1.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 79.0f, 100.0f, 0x3f } FSOUND_PRESET_CITY {16, 7.5f, 0.50f, -1000, -800, 0, 1.49f, 0.67f, 1.0f, -2273, 0.007f, { 0.0f,0.0f,0.0f }, -1691, 0.011f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 50.0f, 100.0f, 0x3f } FSOUND_PRESET_MOUNTAINS {17, 100.0f, 0.27f, -1000, -2500, 0, 1.49f, 0.21f, 1.0f, -2780, 0.300f, { 0.0f,0.0f,0.0f }, -1434, 0.100f, { 0.0f,0.0f,0.0f }, 0.250f, 1.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 27.0f, 100.0f, 0x1f } FSOUND_PRESET_QUARRY {18, 17.5f, 1.00f, -1000, -1000, 0, 1.49f, 0.83f, 1.0f, -10000, 0.061f, { 0.0f,0.0f,0.0f }, 500, 0.025f, { 0.0f,0.0f,0.0f }, 0.125f, 0.70f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x3f } FSOUND_PRESET_PLAIN {19, 42.5f, 0.21f, -1000, -2000, 0, 1.49f, 0.50f, 1.0f, -2466, 0.179f, { 0.0f,0.0f,0.0f }, -1926, 0.100f, { 0.0f,0.0f,0.0f }, 0.250f, 1.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 21.0f, 100.0f, 0x3f } FSOUND_PRESET_PARKINGLOT {20, 8.3f, 1.00f, -1000, 0, 0, 1.65f, 1.50f, 1.0f, -1363, 0.008f, { 0.0f,0.0f,0.0f }, -1153, 0.012f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x1f } FSOUND_PRESET_SEWERPIPE {21, 1.7f, 0.80f, -1000, -1000, 0, 2.81f, 0.14f, 1.0f, 429, 0.014f, { 0.0f,0.0f,0.0f }, 1023, 0.021f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 80.0f, 60.0f, 0x3f } FSOUND_PRESET_UNDERWATER {22, 1.8f, 1.00f, -1000, -4000, 0, 1.49f, 0.10f, 1.0f, -449, 0.007f, { 0.0f,0.0f,0.0f }, 1700, 0.011f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 1.18f, 0.348f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x3f } FSOUND_PRESET_DRUGGED {23, 1.9f, 0.50f, -1000, 0, 0, 8.39f, 1.39f, 1.0f, -115, 0.002f, { 0.0f,0.0f,0.0f }, 985, 0.030f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 0.25f, 1.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x1f } FSOUND_PRESET_DIZZY {24, 1.8f, 0.60f, -1000, -400, 0, 17.23f, 0.56f, 1.0f, -1713, 0.020f, { 0.0f,0.0f,0.0f }, -613, 0.030f, { 0.0f,0.0f,0.0f }, 0.250f, 1.00f, 0.81f, 0.310f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x1f } FSOUND_PRESET_PSYCHOTIC {25, 1.0f, 0.50f, -1000, -151, 0, 7.56f, 0.91f, 1.0f, -626, 0.020f, { 0.0f,0.0f,0.0f }, 774, 0.030f, { 0.0f,0.0f,0.0f }, 0.250f, 0.00f, 4.00f, 1.000f, -5.0f, 5000.0f, 250.0f, 0.0f, 100.0f, 100.0f, 0x1f } FSOUND_PRESET_PS2_ROOM {1, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0.000f, 0.00f, 0.00f, 0.000f, 0.0f, 0000.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0x31f } FSOUND_PRESET_PS2_STUDIO_A {2, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0.000f, 0.00f, 0.00f, 0.000f, 0.0f, 0000.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0x31f } FSOUND_PRESET_PS2_STUDIO_B {3, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0.000f, 0.00f, 0.00f, 0.000f, 0.0f, 0000.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0x31f } FSOUND_PRESET_PS2_STUDIO_C {4, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0.000f, 0.00f, 0.00f, 0.000f, 0.0f, 0000.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0x31f } FSOUND_PRESET_PS2_HALL {5, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0.000f, 0.00f, 0.00f, 0.000f, 0.0f, 0000.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0x31f } FSOUND_PRESET_PS2_SPACE {6, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0.000f, 0.00f, 0.00f, 0.000f, 0.0f, 0000.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0x31f } FSOUND_PRESET_PS2_ECHO {7, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0.000f, 0.00f, 0.00f, 0.000f, 0.0f, 0000.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0x31f } FSOUND_PRESET_PS2_DELAY {8, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0.000f, 0.00f, 0.00f, 0.000f, 0.0f, 0000.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0x31f } FSOUND_PRESET_PS2_PIPE {9, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0, 0.000f, { 0.0f,0.0f,0.0f }, 0.000f, 0.00f, 0.00f, 0.000f, 0.0f, 0000.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0x31f } End Rem Type FSOUND_REVERB_PROPERTIES Field Environment ' 0 , 25 , 0 , sets all listener properties (WIN32/PS2 only) Field EnvSize:Float ' 1.0 , 100.0 , 7.5 , environment size in meters (WIN32 only) Field EnvDiffusion:Float ' 0.0 , 1.0 , 1.0 , environment diffusion (WIN32/XBOX) Field Room ' -10000, 0 , -1000 , room effect level (at Mid frequencies) (WIN32/XBOX/PS2) Field RoomHF ' -10000, 0 , -100 , relative room effect level at high frequencies (WIN32/XBOX) Field RoomLF ' -10000, 0 , 0 , relative room effect level at low frequencies (WIN32 only) Field DecayTime:Float ' 0.1 , 20.0 , 1.49 , reverberation decay time at Mid frequencies (WIN32/XBOX) Field DecayHFRatio:Float ' 0.1 , 2.0 , 0.83 , high-frequency To Mid-frequency decay time ratio (WIN32/XBOX) Field DecayLFRatio:Float ' 0.1 , 2.0 , 1.0 , low-frequency To Mid-frequency decay time ratio (WIN32 only) Field Reflections ' -10000, 1000 , -2602 , early reflections level relative To room effect (WIN32/XBOX) Field ReflectionsDelay:Float ' 0.0 , 0.3 , 0.007 , initial reflection Delay time (WIN32/XBOX) Field ReflectionsPan:Float[3] ' , , [0,0,0], early reflections panning vector (WIN32 only) Field Reverb ' -10000, 2000 , 200 , late reverberation level relative To room effect (WIN32/XBOX) Field ReverbDelay:Float ' 0.0 , 0.1 , 0.011 , late reverberation Delay time relative To initial reflection (WIN32/XBOX) Field ReverbPan:Float[3] ' , , [0,0,0], late reverberation panning vector (WIN32 only) Field EchoTime:Float ' .075 , 0.25 , 0.25 , echo time (WIN32/PS2 only. PS2 = Delay time For ECHO/Delay modes only) Field EchoDepth:Float ' 0.0 , 1.0 , 0.0 , echo depth (WIN32/PS2 only. PS2 = Feedback level For ECHO mode only) Field ModulationTime:Float ' 0.04 , 4.0 , 0.25 , modulation time (WIN32 only) Field ModulationDepth:Float ' 0.0 , 1.0 , 0.0 , modulation depth (WIN32 only) Field AirAbsorptionHF:Float ' -100 , 0.0 , -5.0 , change in level per meter at high frequencies (WIN32 only) Field HFReference:Float ' 1000.0, 20000 , 5000.0 , reference high frequency (hz) (WIN32/XBOX) Field LFReference:Float ' 20.0 , 1000.0, 250.0 , reference low frequency (hz) (WIN32 only) Field RoomRolloffFactor:Float ' 0.0 , 10.0 , 0.0 , like FSOUND_3D_SetRolloffFactor but For room effect (WIN32/XBOX) Field Diffusion:Float ' 0.0 , 100.0 , 100.0 , Value that controls the echo density in the late reverberation decay. (XBOX only) Field Density:Float ' 0.0 , 100.0 , 100.0 , Value that controls the modal density in the late reverberation decay (XBOX only) Field Flags ' FSOUND_REVERB_FLAGS - modifies the behavior of above properties (WIN32/PS2 only) End Type Type FSOUND_REVERB_CHANNELPROPERTIES Field Direct ' -10000, 1000, 0, direct path level (at low And Mid frequencies) (WIN32/XBOX) Field DirectHF ' -10000, 0, 0, relative direct path level at high frequencies (WIN32/XBOX) Field Room ' -10000, 1000, 0, room effect level (at low And Mid frequencies) (WIN32/XBOX/PS2) Field RoomHF ' -10000, 0, 0, relative room effect level at high frequencies (WIN32/XBOX) Field Obstruction ' -10000, 0, 0, main obstruction control (attenuation at high frequencies) (WIN32/XBOX) Field ObstructionLFRatio:Float ' 0.0, 1.0, 0.0, obstruction low-frequency level re. main control (WIN32/XBOX) Field Occlusion ' -10000, 0, 0, main occlusion control (attenuation at high frequencies) (WIN32/XBOX) Field OcclusionLFRatio:Float ' 0.0, 1.0, 0.25, occlusion low-frequency level re. main control (WIN32/XBOX) Field OcclusionRoomRatio:Float ' 0.0, 10.0, 1.5, relative occlusion control For room effect (WIN32) Field OcclusionDirectRatio:Float ' 0.0, 10.0, 1.0, relative occlusion control For direct path (WIN32) Field Exclusion ' -10000, 0, 0, main exlusion control (attenuation at high frequencies) (WIN32) Field ExclusionLFRatio:Float ' 0.0, 1.0, 1.0, exclusion low-frequency level re. main control (WIN32) Field OutsideVolumeHF ' -10000, 0, 0, outside sound cone level at high frequencies (WIN32) Field DopplerFactor:Float ' 0.0, 10.0, 0.0, like DS3D flDopplerFactor but per source (WIN32) Field RolloffFactor:Float ' 0.0, 10.0, 0.0, like DS3D flRolloffFactor but per source (WIN32) Field RoomRolloffFactor:Float ' 0.0, 10.0, 0.0, like DS3D flRolloffFactor but For room effect (WIN32/XBOX) Field AirAbsorptionFactor:Float ' 0.0, 10.0, 1.0, multiplies AirAbsorptionHF member of FSOUND_REVERB_PROPERTIES (WIN32) Field Flags ' FSOUND_REVERB_CHANNELFLAGS - modifies the behavior of properties (WIN32) End Type Type FSOUND_TOC_TAG Field name[4] ' The String "TOC", just in Case this structure is accidentally treated as a String */ Field numtracks ' The number of tracks on the CD Field minoff[100] ' The start offset of each track in minutes Field sec[100] ' The start offset of each track in seconds Field frame[100] ' The start offset of each track in frames End Type 'FSOUND_MISC_VALUES Const FSOUND_FREE =-1 ' value To play on any free channel, Or To allocate a sample in a free sample slot. Const FSOUND_UNMANAGED =-2 ' value To allocate a sample that is Not managed by FSOUND Or placed in a sample slot. Const FSOUND_ALL =-3 ' For a channel index , this flag will affect ALL channels available! Not supported by every function. Const FSOUND_STEREOPAN =-1 ' value For FSOUND_SetPan so that stereo sounds are Not played at half volume. See FSOUND_SetPan For more on this. Const FSOUND_SYSTEMCHANNEL =-1000 ' special 'channel' ID for all channel based functions that want to alter the global FSOUND software mixing output channel Const FSOUND_SYSTEMSAMPLE =-1000 ' special 'sample' ID for all sample based functions that want to alter the global FSOUND software mixing output sample 'FSOUND_MIXERTYPES Const FSOUND_MIXER_AUTODETECT =1 ' CE/PS2/GC Only - Non interpolating/low quality mixer. Const FSOUND_MIXER_BLENDMODE =2 ' Removed / obsolete. Const FSOUND_MIXER_MMXP5 =3 ' Removed / obsolete. Const FSOUND_MIXER_MMXP6 =4 ' Removed / obsolete. Const FSOUND_MIXER_QUALITY_AUTODETECT =5 Const FSOUND_MIXER_QUALITY_FPU =6 ' Win32/Linux only - Interpolating/volume ramping FPU mixer. Const FSOUND_MIXER_QUALITY_MMXP5 =7 ' Win32/Linux only - Interpolating/volume ramping P5 MMX mixer. Const FSOUND_MIXER_QUALITY_MMXP6 =8 ' Win32/Linux only - Interpolating/volume ramping ppro+ MMX mixer. Const FSOUND_MIXER_MONO =9 ' CE/PS2/GC only - MONO non interpolating/low quality mixer. For speed Const FSOUND_MIXER_QUALITY_MONO =10 ' CE/PS2/GC only - MONO Interpolating mixer. For speed Const FSOUND_MIXER_MAX =11 'FSOUND_OUTPUTTYPES Const FSOUND_OUTPUT_NOSOUND =1 ' NoSound driver, all calls To this succeed but do nothing. Const FSOUND_OUTPUT_WINMM =2 ' Windows Multimedia driver. Const FSOUND_OUTPUT_DSOUND =3 ' DirectSound driver. You need this To get EAX2 Or EAX3 support, Or FX api support. Const FSOUND_OUTPUT_A3D =4 ' A3D driver. Const FSOUND_OUTPUT_OSS =5 ' Linux/Unix OSS (Open Sound System) driver, i.e. the kernel sound drivers. Const FSOUND_OUTPUT_ESD =6 ' Linux/Unix ESD (Enlightment Sound Daemon) driver. Const FSOUND_OUTPUT_ALSA =7 ' Linux Alsa driver. Const FSOUND_OUTPUT_ASIO =8 ' Low latency ASIO driver Const FSOUND_OUTPUT_XBOX =9 ' Xbox driver Const FSOUND_OUTPUT_PS2 =10 ' PlayStation 2 driver Const FSOUND_OUTPUT_MAC =11 ' Mac SoundManager driver Const FSOUND_OUTPUT_GC =12 ' Gamecube driver Const FSOUND_OUTPUT_NOSOUND_NONREALTIME =13 ' This is the same as nosound, but the sound generation is driven by FSOUND_Update Extern "win32" 'Pre Initialization/Initialization/Enumeration Functions Function FSOUND_Init( mixrate,maxsoftwarechannels,flags ) = "FSOUND_Init@12" Function FSOUND_Close() = "FSOUND_Close@0" Function FSOUND_File_SetCallbacks( useropen,userclose,userread,userseek,usertell ) = "FSOUND_File_SetCallbacks@20" Function FSOUND_SetBufferSize( len_ms ) = "FSOUND_SetBufferSize@4" Function FSOUND_SetDriver( driver ) = "FSOUND_SetDriver@4" Function FSOUND_SetHWND( hwnd:Byte Ptr ) = "FSOUND_SetHWND@4" Function FSOUND_SetMaxHardwareChannels( maxchn ) = "FSOUND_SetMaxHardwareChannels@4" Function FSOUND_SetMemorySystem( poolmem:Byte Ptr,poollen,useralloc,userrealloc,userfree ) = "FSOUND_SetMemorySystem@20" Function FSOUND_SetMinHardwareChannels( minchn ) = "FSOUND_SetMinHardwareChannels@4" Function FSOUND_SetMixer( mixer ) = "FSOUND_SetMixer@4" Function FSOUND_SetOutput( outputtype ) = "FSOUND_SetOutput@4" 'Global run-time update functions Function FSOUND_SetPanSeperation( pansep ) = "FSOUND_SetPanSeperation@4" Function FSOUND_SetSFXMasterVolume( volume ) = "FSOUND_SetSFXMasterVolume@4" Function FSOUND_SetSpeakerMode( speakermode ) = "FSOUND_SetSpeakerMode@4" Function FSOUND_Update() = "FSOUND_Update@0" 'Global run-time information functions Function FSOUND_GetCPUUsage:Float() = "FSOUND_GetCPUUsage@0" Function FSOUND_GetChannelsPlaying() = "GetChannelsPlaying@0" Function FSOUND_GetDriver() = "FSOUND_GetDriver@0" Function FSOUND_GetDriverCaps( id,caps:Byte Ptr ) = "FSOUND_GetDriverCaps@8" Function FSOUND_GetDriverName( id ) = "FSOUND_GetDriverName@4" Function FSOUND_GetMaxSamples() = "FSOUND_GetMaxSamples@0" Function FSOUND_GetMaxChannels() = "FSOUND_GetMaxChannels@0" Function FSOUND_GetMemoryStats( currentalloced:Byte Ptr,maxalloced:Byte Ptr ) = "FSOUND_GetMemoryStats@8" Function FSOUND_GetNumDrivers() = "FSOUND_GetNumDrivers@0" Function FSOUND_GetNumHWChannels( num2d:Byte Ptr,num3d:Byte Ptr,total:Byte Ptr ) = "FSOUND_GetNumHWChannels@12" Function FSOUND_GetOutput() = "FSOUND_GetOutput@0" Function FSOUND_GetOutputHandle:Byte Ptr() = "FSOUND_GetOutputHandle@0" Function FSOUND_GetOutputRate() = "FSOUND_GetOutputRate@0" Function FSOUND_GetSFXMasterVolume() = "FSOUND_GetSFXMasterVolume@0" Function FSOUND_GetVersion:Float() = "FSOUND_GetVersion@0" Function FSOUND_GetError() = "FSOUND_GetError@0" 'Sample Functions Function FSOUND_Sample_Alloc:Byte Ptr( index,length,mode,deffreq,defvol,defpan,defpri ) = "FSOUND_Sample_Alloc@28" Function FSOUND_Sample_Free( sptr:Byte Ptr ) = "FSOUND_Sample_Free@4" Function FSOUND_Sample_Get:Byte Ptr( sampno ) = "FSOUND_Sample_Get@4" Function FSOUND_Sample_GetDefaults( sptr:Byte Ptr,deffreq:Byte Ptr,defvol:Byte Ptr,defpan:Byte Ptr,defpri:Byte Ptr ) = "FSOUND_Sample_GetDefaults@20" Function FSOUND_Sample_GetDefaultsEx( sptr:Byte Ptr,deffreq:Byte Ptr,defvol:Byte Ptr,defpan:Byte Ptr,defpri:Byte Ptr,varfreq:Byte Ptr,varvol:Byte Ptr,varpan:Byte Ptr ) = "FSOUND_Sample_GetDefaultsEx@32" Function FSOUND_Sample_GetLength( sptr:Byte Ptr ) = "FSOUND_Sample_GetLength@4" Function FSOUND_Sample_GetLoopPoints( sptr:Byte Ptr,loopstart:Byte Ptr,loopend:Byte Ptr ) Function FSOUND_Sample_GetMinMaxDistance( sptr:Byte Ptr, minval:Byte Ptr,maxval:Byte Ptr ) = "FSOUND_Sample_GetMinMaxDistance@12" Function FSOUND_Sample_GetMode( sptr:Byte Ptr ) = "FSOUND_Sample_GetMode@4" Function FSOUND_Sample_GetName( sptr:Byte Ptr ) = "FSOUND_Sample_GetName@4" Function FSOUND_Sample_Load( index,name_or_data:Byte Ptr,inputmode,offset,length ) = "FSOUND_Sample_Load@20" Function FSOUND_Sample_Lock( sptr:Byte Ptr,offset,length,ptr1:Byte Ptr,ptr2:Byte Ptr,len1:Byte Ptr,len2:Byte Ptr ) = "FSOUND_Sample_Lock@28" Function FSOUND_Sample_SetDefaults( sptr:Byte Ptr,deffreq,defvol,defpan,defpri ) = "FSOUND_Sample_SetDefaults@20" Function FSOUND_Sample_SetDefaultsEx( sptr:Byte Ptr,deffreq,defvol,defpan,defpri,varfreq,varvol,varpan ) = "FSOUND_Sample_SetDefaultsEx@32" Function FSOUND_Sample_SetMaxPlaybacks( sptr:Byte Ptr,maxval ) = "FSOUND_Sample_SetMaxPlaybacks@8" Function FSOUND_Sample_SetMinMaxDistance( sptr:Byte Ptr,minval:Float,maxval:Float ) = "FSOUND_Sample_SetMinMaxDistance@12" Function FSOUND_Sample_SetMode( sptr:Byte Ptr,mode ) = "FSOUND_Sample_SetMode@8" Function FSOUND_Sample_SetLoopPoints( sptr:Byte Ptr,loopstart,loopend ) = "FSOUND_Sample_SetLoopPoints@12" Function FSOUND_Sample_Unlock( sptr:Byte Ptr,ptr1:Byte Ptr,ptr2:Byte Ptr,len1,len2 ) = "FSOUND_Sample_Unlock@20" Function FSOUND_Sample_Upload( sptr:Byte Ptr,srcdata:Byte Ptr,mode_in ) = "FSOUND_Sample_Upload@12" 'Channel Functions Function FSOUND_PlaySound( channel,sptr:Byte Ptr ) = "FSOUND_PlaySound@8" Function FSOUND_PlaySoundEx( channel,sptr:Byte Ptr,dspunit:Byte Ptr,startpaused ) = "FSOUND_PlaySoundEx@16" Function FSOUND_StopSound( channel ) = "FSOUND_StopSound@4" Function FSOUND_SetFrequency( channel,freq ) = "FSOUND_SetFrequency@8" Function FSOUND_SetLevels( channel,frontleft,center,frontright,backleft,backright,lfe ) = "FSOUND_SetLevels@24" Function FSOUND_SetLoopMode( channel,loopmode ) = "FSOUND_SetLoopMode@8" Function FSOUND_SetMute( channel,mute ) = "FSOUND_SetMute@8" Function FSOUND_SetPan( channel,pan ) = "FSOUND_SetPan@8" Function FSOUND_SetPaused( channel,paused ) = "FSOUND_SetPaused@8" Function FSOUND_SetPriority( channel,priority ) = "FSOUND_SetPriority@8" Function FSOUND_SetReserved( channel,reserved ) = "FSOUND_SetReserved@8" Function FSOUND_SetSurround( channel,surround ) = "FSOUND_SetSurround@8" Function FSOUND_SetVolume( channel,vol ) = "FSOUND_SetVolume@8" Function FSOUND_SetVolumeAbsolute( channel,vol ) = "FSOUND_SetVolumeAbsolute@8" Function FSOUND_GetVolume( channel ) = "FSOUND_GetVolume@4" Function FSOUND_GetAmplitude( channel ) = "FSOUND_GetAmplitude@4" Function FSOUND_3D_SetAttributes( channel,pos:Byte Ptr,vel:Byte Ptr ) = "FSOUND_3D_SetAttributes@12" Function FSOUND_3D_SetMinMaxDistance( channel,minval,maxval ) = "FSOUND_3D_SetMinMaxDistance@12" Function FSOUND_SetCurrentPosition( channel,pos ) = "FSOUND_SetCurrentPosition@8" Function FSOUND_GetCurrentPosition( channel ) = "FSOUND_GetCurrentPosition@4" Function FSOUND_GetCurrentSample:Byte Ptr( channel ) = "FSOUND_GetCurrentSample@4" Function FSOUND_GetCurrentLevels( channel,l:Byte Ptr,r:Byte Ptr ) = "FSOUND_GetCurrentLevels@12" Function FSOUND_GetFrequency( channel ) = "FSOUND_GetFrequency@4" Function FSOUND_GetLoopMode( channel ) = "FSOUND_GetLoopMode@4" Function FSOUND_GetMixer() = "FSOUND_GetMixer@0" Function FSOUND_GetMute( channel ) = "FSOUND_GetMute@4" Function FSOUND_GetNumSubChannels( channel ) = "FSOUND_GetNumSubChannels@4" Function FSOUND_GetPan( channel ) = "FSOUND_GetPan@4" Function FSOUND_GetPaused( channel ) = "FSOUND_GetPaused@4" Function FSOUND_GetPriority( channel ) = "FSOUND_GetPriority@4" Function FSOUND_GetReserved( channel ) = "FSOUND_GetReserved@4" Function FSOUND_GetSubChannel( channel,subchannel ) = "FSOUND_GetSubChannel@8" Function FSOUND_GetSurround( channel ) = "FSOUND_GetSurround@4" Function FSOUND_IsPlaying( channel ) = "FSOUND_IsPlaying@8" Function FSOUND_3D_GetAttributes( channel,pos:Byte Ptr,vel:Byte Ptr ) = "FSOUND_3D_GetAttributes@12" Function FSOUND_3D_GetMinMaxDistance( channel,mindistance:Byte Ptr,maxdistance:Byte Ptr ) = "FSOUND_3D_GetMinMaxDistance@12" '3D Sound Functions Function FSOUND_3D_Listener_GetAttributes( pos:Byte Ptr,vel:Byte Ptr,fx:Byte Ptr,fy:Byte Ptr,fz:Byte Ptr,tx:Byte Ptr,ty:Byte Ptr,tz:Byte Ptr ) = "FSOUND_3D_Listener_GetAttributes@32" Function FSOUND_3D_Listener_SetAttributes( pos:Byte Ptr,vel:Byte Ptr,fx:Byte Ptr,fy:Byte Ptr,fz:Byte Ptr,tx:Byte Ptr,ty:Byte Ptr,tz:Byte Ptr ) = "FSOUND_3D_Listener_SetAttributes@32" Function FSOUND_3D_Listener_SetCurrent( current,numlisteners ) = "FSOUND_3D_Listener_SetCurrent@8" Function FSOUND_3D_SetDistanceFactor( factor ) = "FSOUND_3D_SetDistanceFactor@4" Function FSOUND_3D_SetDopplerFactor( scale ) = "FSOUND_3D_SetDopplerFactor@4" Function FSOUND_3D_SetRolloffFactor( factor ) = "FSOUND_3D_SetRolloffFactor@4" 'Stream Functions Function FSOUND_Stream_AddSyncPoint:Byte Ptr( stream:Byte Ptr,pcmoffset,name:Byte Ptr ) = "FSOUND_Stream_AddSyncPoint@12" Function FSOUND_Stream_Close( stream:Byte Ptr ) = "FSOUND_Stream_Close@4" Function FSOUND_Stream_Create:Byte Ptr( callback,lenbytes,mode,samplerate,userdata:Byte Ptr ) = "FSOUND_Stream_Create@20" Function FSOUND_Stream_CreateDSP:Byte Ptr( stream:Byte Ptr,callback,priority,userdata:Byte Ptr ) = "FSOUND_Stream_CreateDSP@16" Function FSOUND_Stream_DeleteSyncPoint( point:Byte Ptr ) = "FSOUND_Stream_DeleteSyncPoint@4" Function FSOUND_Stream_FindTagField( stream:Byte Ptr,fieldtype,name:Byte Ptr,value:Byte Ptr,length:Byte Ptr ) = "FSOUND_Stream_FindTagField@20" Function FSOUND_Stream_GetLength( stream:Byte Ptr ) = "FSOUND_Stream_GetLength@4" Function FSOUND_Stream_GetLengthMs( stream:Byte Ptr ) = "FSOUND_Stream_GetLengthMs@4" Function FSOUND_Stream_GetMode( stream:Byte Ptr ) = "FSOUND_Stream_GetMode@4" Function FSOUND_Stream_GetNumSubStreams( stream:Byte Ptr ) = "FSOUND_Stream_GetNumSubStreams@4" Function FSOUND_Stream_GetNumSyncPoints( stream:Byte Ptr ) = "FSOUND_Stream_GetNumSyncPoints@4" Function FSOUND_Stream_GetNumTagFields( stream:Byte Ptr,num:Byte Ptr ) = "FSOUND_Stream_GetNumTagFields@8" Function FSOUND_Stream_GetOpenState( stream:Byte Ptr ) = "FSOUND_Stream_GetOpenState@4" Function FSOUND_Stream_GetPosition( stream:Byte Ptr ) = "FSOUND_Stream_GetPosition@4" Function FSOUND_Stream_GetSample( stream:Byte Ptr ) = "FSOUND_STREAM@4" Function FSOUND_Stream_GetSyncPoint:Byte Ptr( stream:Byte Ptr,index ) = "FSOUND_Stream_GetSyncPoint@8" Function FSOUND_Stream_GetSyncPointInfo:Byte Ptr( point:Byte Ptr,pcmoffset:Byte Ptr ) = "FSOUND_Stream_GetSyncPointInfo@8" Function FSOUND_Stream_GetTagField( stream:Byte Ptr,num,tagtype:Byte Ptr,name:Byte Ptr,value:Byte Ptr,length:Byte Ptr ) = "FSOUND_Stream_GetTagField@24" Function FSOUND_Stream_GetTime( stream:Byte Ptr ) = "FSOUND_Stream_GetTime@4" Function FSOUND_Stream_Net_GetBufferProperties( buffersize:Byte Ptr,prebuffer_percent:Byte Ptr,rebuffer_percent:Byte Ptr ) = "FSOUND_Stream_Net_GetBufferProperties@12" Function FSOUND_Stream_Net_GetLastServerStatus( ) = "FSOUND_Stream_Net_GetLastServerStatus@0" Function FSOUND_Stream_Net_GetStatus( stream:Byte Ptr,status:Byte Ptr,bufferused:Byte Ptr,bitrate:Byte Ptr,flags:Byte Ptr ) = "FSOUND_Stream_Net_GetStatus@20" Function FSOUND_Stream_Net_SetBufferProperties( buffersize,prebuffer_percent,rebuffer_percent ) = "FSOUND_Stream_Net_SetBufferProperties@12" Function FSOUND_Stream_Net_SetMetadataCallback( stream:Byte Ptr,callback,userdata:Byte Ptr ) = "FSOUND_Stream_Net_SetMetadataCallback@12" Function FSOUND_Stream_Net_SetProxy( proxy:Byte Ptr ) = "FSOUND_Stream_Net_SetProxy@4" Function FSOUND_Stream_Open:Byte Ptr( name_or_data:Byte Ptr,mode,offset,length ) = "FSOUND_Stream_Open@16" Function FSOUND_Stream_Play( channel,stream:Byte Ptr ) = "FSOUND_Stream_Play@8" Function FSOUND_Stream_PlayEx( channel,stream:Byte Ptr,dspunit:Byte Ptr,paused ) = "FSOUND_Stream_PlayEx@16" Function FSOUND_Stream_SetBufferSize( ms ) = "FSOUND_Stream_SetBufferSize@4" Function FSOUND_Stream_SetEndCallback( stream,callback,userdata:Byte Ptr ) = "FSOUND_Stream_SetEndCallback@12" Function FSOUND_Stream_SetLoopCount( stream:Byte Ptr,count ) = "FSOUND_Stream_SetLoopCount@8" Function FSOUND_Stream_SetLoopPoints( stream:Byte Ptr,loopstart,loopend ) = "FSOUND_Stream_SetLoopPoints@12" Function FSOUND_Stream_SetMode( stream:Byte Ptr,mode ) = "FSOUND_Stream_SetMode@8" Function FSOUND_Stream_SetPosition( stream:Byte Ptr,position ) = "FSOUND_Stream_SetPosition@8" Function FSOUND_Stream_SetSubStream( stream:Byte Ptr,index ) = "FSOUND_Stream_SetSubStream@8" Function FSOUND_Stream_SetSubStreamSentence( stream:Byte Ptr,sentencelist:Byte Ptr,numitems ) = "FSOUND_Stream_SetSubStreamSentence@12" Function FSOUND_Stream_SetSyncCallback( stream:Byte Ptr,callback,userdata:Byte Ptr ) = "FSOUND_Stream_SetSyncCallback@12" Function FSOUND_Stream_SetTime( stream:Byte Ptr,ms ) = "FSOUND_Stream_SetTime@8" Function FSOUND_Stream_Stop( stream:Byte Ptr ) = "FSOUND_Stream_Stop@4" 'CD Functions Function FSOUND_CD_GetNumTracks( drive ) = "FSOUND_CD_GetNumTracks@4" Function FSOUND_CD_GetPaused( drive ) = "FSOUND_CD_GetPaused@4" Function FSOUND_CD_GetTrack( drive ) = "FSOUND_CD_GetTrack@4" Function FSOUND_CD_GetTrackLength( drive,track ) = "FSOUND_CD_GetTrackLength@8" Function FSOUND_CD_GetTrackTime( drive ) = "FSOUND_CD_GetTrackTime@4" Function FSOUND_CD_OpenTray( drive,open ) = "FSOUND_CD_OpenTray@8" Function FSOUND_CD_Play( drive,track ) = "FSOUND_CD_Play@8" Function FSOUND_CD_SetPaused( drive,paused ) = "FSOUND_CD_SetPaused@8" Function FSOUND_CD_SetPlayMode( drive,mode ) = "FSOUND_CD_SetPlayMode@8" Function FSOUND_CD_SetTrackTime( drive,ms ) = "FSOUND_CD_SetTrackTime@8" Function FSOUND_CD_SetVolume( drive,volume ) = "FSOUND_CD_SetVolume@8" Function FSOUND_CD_Stop( drive ) = "FSOUND_CD_Stop@4" 'DSP Functions Function FSOUND_DSP_ClearMixBuffer( ) = "FSOUND_DSP_ClearMixBuffer@0" Function FSOUND_DSP_Create:Byte Ptr( callback,priority,userdata:Byte Ptr ) = "FSOUND_DSP_Create@12" Function FSOUND_DSP_Free( unit:Byte Ptr ) = "FSOUND_DSP_Free@4" Function FSOUND_DSP_SetActive( unit:Byte Ptr,active ) = "FSOUND_DSP_SetActive@8" Function FSOUND_DSP_GetActive( unit:Byte Ptr ) = "FSOUND_DSP_GetActive@4" Function FSOUND_DSP_GetBufferLength( ) = "FSOUND_DSP_GetBufferLength@0" Function FSOUND_DSP_GetBufferLengthTotal( ) = "FSOUND_DSP_GetBufferLengthTotal@0" Function FSOUND_DSP_SetPriority( unit:Byte Ptr,priority ) = "FSOUND_DSP_SetPriority@8" Function FSOUND_DSP_GetPriority( unit:Byte Ptr ) = "FSOUND_DSP_GetPriority@4" Function FSOUND_DSP_GetClearUnit:Byte Ptr( ) = "FSOUND_DSP_GetClearUnit@0" Function FSOUND_DSP_GetClipAndCopyUnit:Byte Ptr( ) = "FSOUND_DSP_GetClipAndCopyUnit@0" Function FSOUND_DSP_GetMusicUnit:Byte Ptr( ) = "FSOUND_DSP_GetMusicUnit@0" Function FSOUND_DSP_GetSFXUnit:Byte Ptr( ) = "FSOUND_DSP_GetSFXUnit@0" Function FSOUND_DSP_GetFFTUnit:Byte Ptr( ) = "FSOUND_DSP_GetFFTUnit@0" Function FSOUND_DSP_GetSpectrum:Byte Ptr( ) = "FSOUND_DSP_GetSpectrum@0" Function FSOUND_DSP_MixBuffers( destbuffer:Byte Ptr,srcbuffer:Byte Ptr,buflen,freq,vol,pan,mode ) = "FSOUND_DSP_MixBuffers@28" 'FX Functions Function FSOUND_FX_Disable( channel ) = "FSOUND_FX_Disable@4" Function FSOUND_FX_Enable( channel,fxtype ) = "FSOUND_FX_Enable@8" Function FSOUND_FX_SetChorus( fxid,WetDryMix,Depth,Feedback,Frequency,Waveform,FXDelay,Phase ) = "FSOUND_FX_SetChorus@32" Function FSOUND_FX_SetCompressor( fxid,Gain,Attack,FXRelease,Threshold,Ratio,Predelay ) = "FSOUND_FX_SetCompressor@28" Function FSOUND_FX_SetDistortion( fxid,Gain,Edge,PostEQCenterFrequency,PostEQBandwidth,PreLowpassCutoff ) = "FSOUND_FX_SetDistortion@24" Function FSOUND_FX_SetEcho( fxid,WetDryMix,Feedback,LeftDelay,RightDelay,PanDelay ) = "FSOUND_FX_SetEcho@24" Function FSOUND_FX_SetFlanger( fxid,WetDryMix,Depth,Feedback,Frequency,Waveform,FXDelay,Phase ) = "FSOUND_FX_SetFlanger@32" Function FSOUND_FX_SetGargle( fxid,RateHz,WaveShape ) = "FSOUND_FX_SetGargle@12" Function FSOUND_FX_SetI3DL2Reverb( fxid,Room,RoomHF,RoomRolloffFactor,DecayTime,DecayHFRatio,Reflections,ReflectionsDelay,Reverb,ReverbDelay,Diffusion,Density,HFReference ) = "FSOUND_FX_SetI3DL2Reverb@52" Function FSOUND_FX_SetParamEQ( fxid,Center,Bandwidth,Gain ) = "FSOUND_FX_SetParamEQ@16" Function FSOUND_FX_SetWavesReverb( fxid,InGain,ReverbMix,ReverbTime,HighFreqRTRatio ) = "FSOUND_FX_SetWavesReverb@20" 'Recording Functions Function FSOUND_Record_GetDriver( ) = "FSOUND_Record_GetDriver@0" Function FSOUND_Record_GetDriverName:Byte Ptr( id ) = "FSOUND_Record_GetDriverName@4" Function FSOUND_Record_GetNumDrivers( ) = "FSOUND_Record_GetNumDrivers@0" Function FSOUND_Record_GetPosition( ) = "FSOUND_Record_GetPosition@0" Function FSOUND_Record_SetDriver( driver ) = "FSOUND_Record_SetDriver@4" Function FSOUND_Record_StartSample( sptr:Byte Ptr,loop ) = "FSOUND_Record_StartSample@8" Function FSOUND_Record_Stop( ) = "FSOUND_Record_Stop@4" 'Reverb Functions Function FSOUND_Reverb_SetProperties( props:Byte Ptr ) = "FSOUND_Reverb_SetProperties@4" Function FSOUND_Reverb_GetProperties( props:Byte Ptr ) = "FSOUND_Reverb_GetProperties@4" Function FSOUND_Reverb_SetChannelProperties( channel,prop:Byte Ptr ) = "FSOUND_Reverb_SetChannelProperties@8" Function FSOUND_Reverb_GetChannelProperties( channel,prop:Byte Ptr ) = "FSOUND_Reverb_GetChannelProperties@8" EndExtern 'FMOD Errors Const FMOD_ERR_NONE =1 Const FMOD_ERR_BUSY =2 Const FMOD_ERR_UNINITIALIZED =3 Const FMOD_ERR_INIT =4 Const FMOD_ERR_ALLOCATED =5 Const FMOD_ERR_PLAY =6 Const FMOD_ERR_OUTPUT_FORMAT =7 Const FMOD_ERR_COOPERATIVELEVEL=8 Const FMOD_ERR_CREATEBUFFER =9 Const FMOD_ERR_FILE_NOTFOUND =10 Const FMOD_ERR_FILE_FORMAT =11 Const FMOD_ERR_FILE_BAD =12 Const FMOD_ERR_MEMORY =13 Const FMOD_ERR_VERSION =14 Const FMOD_ERR_INVALID_PARAM =15 Const FMOD_ERR_NO_EAX =16 Const FMOD_ERR_CHANNEL_ALLOC =17 Const FMOD_ERR_RECORD =18 Const FMOD_ERR_MEDIAPLAYER =19 Const FMOD_ERR_CDDEVICE =20 Function FMOD_ErrorString:String(errcode) Select errcode Case FMOD_ERR_NONE Return "No errors" Case FMOD_ERR_BUSY Return "Cannot call this command after FSOUND_Init. Call FSOUND_Close first." Case FMOD_ERR_UNINITIALIZED Return "This command failed because FSOUND_Init was not called" Case FMOD_ERR_PLAY Return "Playing the sound failed." Case FMOD_ERR_INIT Return "Error initializing output device." Case FMOD_ERR_ALLOCATED Return "The output device is already in use and cannot be reused." Case FMOD_ERR_OUTPUT_FORMAT Return "Soundcard does not support the features needed for this soundsystem (16bit stereo output)" Case FMOD_ERR_COOPERATIVELEVEL Return "Error setting cooperative level for hardware." Case FMOD_ERR_CREATEBUFFER Return "Error creating hardware sound buffer." Case FMOD_ERR_FILE_NOTFOUND Return "File not found" Case FMOD_ERR_FILE_FORMAT Return "Unknown file format" Case FMOD_ERR_FILE_BAD Return "Error loading file" Case FMOD_ERR_MEMORY Return "Not enough memory " Case FMOD_ERR_VERSION Return "The version number of this file format is not supported" Case FMOD_ERR_INVALID_PARAM Return "An invalid parameter was passed to this function" Case FMOD_ERR_NO_EAX Return "Tried to use an EAX command on a non EAX enabled channel or output." Case FMOD_ERR_CHANNEL_ALLOC Return "Failed to allocate a new channel" Case FMOD_ERR_RECORD Return "Recording not supported on this device" Case FMOD_ERR_MEDIAPLAYER Return "Required Mediaplayer codec is not installed" Default Return "Unknown error" End Select End Function
Compile Error Identifier 'FSOUND_SetOutput' not found