(define-sdl-func (* sdl-version-t) mix-linked-version () "Mix_Linked_Version")
(define-sdl-func int mix-init ((flags int)) "Mix_Init")
(define-sdl-func void mix-quit () "Mix_Quit")
(define-sdl-func int mix-open-audio ((frequency int) (format uint16) (channels int) (chunksize int)) "Mix_OpenAudio")
(define-sdl-func int mix-open-audio-device ((frequency int) (format uint16) (channels int) (chunksize int) (device string) (allowed_changes int)) "Mix_OpenAudioDevice")
(define-sdl-func int mix-allocate-channels ((numchans int)) "Mix_AllocateChannels")
(define-sdl-func int mix-query-spec ((frequency (* int)) (format (* uint16)) (channels (* int))) "Mix_QuerySpec")
(define-sdl-func (* mix-chunk) mix-load-wav-rw ((src (* sdl-rw-ops-t)) (freesrc int)) "Mix_LoadWAV_RW")
(define-sdl-func (* mix-music) mix-load-mus ((file string)) "Mix_LoadMUS")
(define-sdl-func (* mix-music) mix-load-mus-rw ((src (* sdl-rw-ops-t)) (freesrc int)) "Mix_LoadMUS_RW")
(define-sdl-func (* mix-music) mix-load-mus-type-rw ((src (* sdl-rw-ops-t)) (type mix-music-type) (freesrc int)) "Mix_LoadMUSType_RW")
(define-sdl-func (* mix-chunk) mix-quick-load-wav ((mem (* uint8))) "Mix_QuickLoad_WAV")
(define-sdl-func (* mix-chunk) mix-quick-load-raw ((mem (* uint8)) (len uint32)) "Mix_QuickLoad_RAW")
(define-sdl-func void mix-free-chunk ((chunk (* mix-chunk))) "Mix_FreeChunk")
(define-sdl-func void mix-free-music ((music (* mix-music))) "Mix_FreeMusic")
(define-sdl-func int mix-get-num-chunk-decoders () "Mix_GetNumChunkDecoders")
(define-sdl-func string mix-get-chunk-decoder ((index int)) "Mix_GetChunkDecoder")
(define-sdl-func sdl-bool-t mix-has-chunk-decoder ((name string)) "Mix_HasChunkDecoder")
(define-sdl-func int mix-get-num-music-decoders () "Mix_GetNumMusicDecoders")
(define-sdl-func string mix-get-music-decoder ((index int)) "Mix_GetMusicDecoder")
(define-sdl-func sdl-bool-t mix-has-music-decoder ((name string)) "Mix_HasMusicDecoder")
(define-sdl-func mix-music-type mix-get-music-type ((music (* mix-music))) "Mix_GetMusicType")
(define-sdl-func void mix-set-post-mix ((mix_func void*) (arg void*)) "Mix_SetPostMix")
(define-sdl-func void mix-hook-music ((mix_func void*) (arg void*)) "Mix_HookMusic")
(define-sdl-func void mix-hook-music-finished ((music_finished void*)) "Mix_HookMusicFinished")
(define-sdl-func void* mix-get-music-hook-data () "Mix_GetMusicHookData")
(define-sdl-func void mix-channel-finished ((channel_finished void*)) "Mix_ChannelFinished")
(define-sdl-func int mix-register-effect ((chan int) (f (* mix-effect-func-t)) (d (* mix-effect-done-t)) (arg void*)) "Mix_RegisterEffect")
(define-sdl-func int mix-unregister-effect ((channel int) (f (* mix-effect-func-t))) "Mix_UnregisterEffect")
(define-sdl-func int mix-unregister-all-effects ((channel int)) "Mix_UnregisterAllEffects")
(define-sdl-func int mix-set-panning ((channel int) (left uint8) (right uint8)) "Mix_SetPanning")
(define-sdl-func int mix-set-position ((channel int) (angle sint16) (distance uint8)) "Mix_SetPosition")
(define-sdl-func int mix-set-distance ((channel int) (distance uint8)) "Mix_SetDistance")
(define-sdl-func int mix-set-reverse-stereo ((channel int) (flip int)) "Mix_SetReverseStereo")
(define-sdl-func int mix-reserve-channels ((num int)) "Mix_ReserveChannels")
(define-sdl-func int mix-group-channel ((which int) (tag int)) "Mix_GroupChannel")
(define-sdl-func int mix-group-channels ((from int) (to int) (tag int)) "Mix_GroupChannels")
(define-sdl-func int mix-group-available ((tag int)) "Mix_GroupAvailable")
(define-sdl-func int mix-group-count ((tag int)) "Mix_GroupCount")
(define-sdl-func int mix-group-oldest ((tag int)) "Mix_GroupOldest")
(define-sdl-func int mix-group-newer ((tag int)) "Mix_GroupNewer")
(define-sdl-func int mix-play-channel-timed ((channel int) (chunk (* mix-chunk)) (loops int) (ticks int)) "Mix_PlayChannelTimed")
(define-sdl-func int mix-play-music ((music (* mix-music)) (loops int)) "Mix_PlayMusic")
(define-sdl-func int mix-fade-in-music ((music (* mix-music)) (loops int) (ms int)) "Mix_FadeInMusic")
(define-sdl-func int mix-fade-in-music-pos ((music (* mix-music)) (loops int) (ms int) (position double)) "Mix_FadeInMusicPos")
(define-sdl-func int mix-fade-in-channel-timed ((channel int) (chunk (* mix-chunk)) (loops int) (ms int) (ticks int)) "Mix_FadeInChannelTimed")
(define-sdl-func int mix-volume ((channel int) (volume int)) "Mix_Volume")
(define-sdl-func int mix-volume-chunk ((chunk (* mix-chunk)) (volume int)) "Mix_VolumeChunk")
(define-sdl-func int mix-volume-music ((volume int)) "Mix_VolumeMusic")
(define-sdl-func int mix-halt-channel ((channel int)) "Mix_HaltChannel")
(define-sdl-func int mix-halt-group ((tag int)) "Mix_HaltGroup")
(define-sdl-func int mix-halt-music () "Mix_HaltMusic")
(define-sdl-func int mix-expire-channel ((channel int) (ticks int)) "Mix_ExpireChannel")
(define-sdl-func int mix-fade-out-channel ((which int) (ms int)) "Mix_FadeOutChannel")
(define-sdl-func int mix-fade-out-group ((tag int) (ms int)) "Mix_FadeOutGroup")
(define-sdl-func int mix-fade-out-music ((ms int)) "Mix_FadeOutMusic")
(define-sdl-func mix-fading mix-fading-music () "Mix_FadingMusic")
(define-sdl-func mix-fading mix-fading-channel ((which int)) "Mix_FadingChannel")
(define-sdl-func void mix-pause ((channel int)) "Mix_Pause")
(define-sdl-func void mix-resume ((channel int)) "Mix_Resume")
(define-sdl-func int mix-paused ((channel int)) "Mix_Paused")
(define-sdl-func void mix-pause-music () "Mix_PauseMusic")
(define-sdl-func void mix-resume-music () "Mix_ResumeMusic")
(define-sdl-func void mix-rewind-music () "Mix_RewindMusic")
(define-sdl-func int mix-paused-music () "Mix_PausedMusic")
(define-sdl-func int mix-set-music-position ((position double)) "Mix_SetMusicPosition")
(define-sdl-func int mix-playing ((channel int)) "Mix_Playing")
(define-sdl-func int mix-playing-music () "Mix_PlayingMusic")
(define-sdl-func int mix-set-music-cmd ((command string)) "Mix_SetMusicCMD")
(define-sdl-func int mix-set-synchro-value ((value int)) "Mix_SetSynchroValue")
(define-sdl-func int mix-get-synchro-value () "Mix_GetSynchroValue")
(define-sdl-func int mix-set-sound-fonts ((paths string)) "Mix_SetSoundFonts")
(define-sdl-func string mix-get-sound-fonts () "Mix_GetSoundFonts")
(define-sdl-func int mix-each-sound-font ((function void*) (data void*)) "Mix_EachSoundFont")
(define-sdl-func (* mix-chunk) mix-get-chunk ((channel int)) "Mix_GetChunk")
(define-sdl-func void mix-close-audio () "Mix_CloseAudio")
